/* Love Teeth Dental Chessington - Invisalign open day landing page.
   Sits on top of colors_and_type.css (Love Teeth design system tokens). */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;overflow-x:clip}
body{margin:0;background:var(--lt-paper);color:var(--color-fg);font-family:var(--font-montserrat);font-size:var(--text-17);line-height:1.8;overflow-x:clip}
img{max-width:100%;display:block}
a{color:var(--color-link);text-underline-offset:3px}
a:hover{color:var(--lt-magenta-700)}
button{font-family:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--lt-magenta-500);outline-offset:2px}
image-slot{color:var(--lt-magenta-600)}

.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 32px}
.sec{position:relative;padding:var(--lt-space-9) 0}
.sec--blush{background:var(--color-bg-blush)}
.sec--soft{background:var(--color-bg-soft)}
.shead{max-width:820px;margin:0 auto var(--lt-space-7);text-align:center;display:flex;flex-direction:column;gap:var(--lt-space-4);align-items:center}
.h2{margin:0;font-weight:700;font-size:clamp(30px,3.6vw,var(--text-46));line-height:1.16;letter-spacing:-.01em;color:var(--lt-ink-900);text-wrap:balance}
.h3{margin:0;font-weight:700;font-size:var(--text-21);line-height:1.3;color:var(--lt-ink-900)}
.lead{margin:0;font-size:var(--text-18);line-height:1.75;color:var(--color-fg-muted);text-wrap:pretty}
.pk{color:var(--lt-magenta-600)}
.ul{background-image:linear-gradient(transparent 64%,var(--lt-pink-300) 64%,var(--lt-pink-300) 92%,transparent 92%);background-repeat:no-repeat;padding:0 2px}

/* ---------- Buttons: pink pill (primary), outline pill (secondary) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:14px 30px;border-radius:var(--lt-radius-pill);border:2px solid transparent;font-family:var(--font-montserrat);font-weight:700;font-size:var(--text-14);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background 200ms ease-out,transform 200ms ease-out,box-shadow 200ms ease-out,color 200ms;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none}
.btn--primary{background:var(--lt-magenta-600);color:var(--lt-paper);box-shadow:var(--lt-shadow-button)}
.btn--primary:hover{background:var(--lt-magenta-700);color:var(--lt-paper)}
.btn--primary:active{transform:scale(.98);box-shadow:none}
.btn--secondary{background:var(--lt-paper);color:var(--lt-ink-900);border-color:var(--lt-ink-900)}
.btn--secondary:hover{background:var(--lt-ink-900);color:var(--lt-paper)}
.btn--white{background:var(--lt-paper);color:var(--lt-magenta-700)}
.btn--white:hover{background:var(--lt-pink-100);color:var(--lt-magenta-700)}
.btn--block{width:100%}
.cta-row{display:flex;justify-content:center;margin-top:var(--lt-space-7)}

/* ---------- Icon chip (pink circle) ---------- */
.ic{width:56px;height:56px;border-radius:50%;background:var(--lt-pink-100);color:var(--lt-magenta-600);display:grid;place-items:center;flex:none}
.ic svg{width:24px;height:24px}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ticks li{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;line-height:1.6}
.ticks .tk{width:26px;height:26px;border-radius:50%;background:var(--lt-magenta-600);color:var(--lt-paper);display:grid;place-items:center;margin-top:1px}
.ticks .tk svg{width:14px;height:14px}

/* ---------- Promo bar + header ---------- */
.promo{background:var(--lt-magenta-600);color:var(--lt-paper);min-height:42px;display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 20px;font-size:var(--text-14);font-weight:600;line-height:1.4;text-align:center}
.promo b{font-weight:800}
.promo svg{width:18px;height:18px;flex:none}
.hdr{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.hdr__row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:88px;gap:var(--lt-space-4)}
.hdr__phone{justify-self:start;display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:var(--text-16);color:var(--lt-ink-900);text-decoration:none}
.hdr__phone span.ic{width:38px;height:38px}
.hdr__phone span.ic svg{width:17px;height:17px}
.hdr__logo img{height:60px;width:auto}
.hdr__end{justify-self:end;display:flex;align-items:center;gap:var(--lt-space-3)}
.hdr__end .btn{min-height:48px;padding:12px 24px;font-size:var(--text-13)}
.hdr__icon{display:none;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--lt-pink-100);color:var(--lt-magenta-600);text-decoration:none}
.hdr__icon svg{width:19px;height:19px}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--lt-ink-900)}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:52% 30%}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.45) 42%,rgba(0,0,0,.1) 62%,rgba(0,0,0,0) 100%),var(--lt-scrim-image)}
.hero__spark{position:absolute;width:44px;height:44px;color:var(--lt-paper);opacity:.9;pointer-events:none;z-index:1}
.hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,450px);gap:var(--lt-space-7);align-items:center;padding-top:var(--lt-space-8);padding-bottom:calc(var(--lt-space-9) + 40px);min-height:680px}
.hero__copy{display:flex;flex-direction:column;gap:var(--lt-space-5);max-width:600px;color:var(--lt-paper)}
.hero h1{margin:0;font-weight:800;font-size:clamp(38px,4.6vw,var(--text-58));line-height:1.05;letter-spacing:-.015em;color:var(--lt-paper);text-wrap:balance}
.hero h1 .ul{background-image:linear-gradient(transparent 70%,var(--lt-magenta-600) 70%,var(--lt-magenta-600) 92%,transparent 92%)}
.hero__sub{margin:0;font-size:var(--text-18);line-height:1.7;font-weight:500;color:var(--lt-paper);text-wrap:pretty}
.hero__date{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;padding:10px 20px 10px 10px;border-radius:var(--lt-radius-pill);background:var(--lt-paper);color:var(--lt-ink-900);font-size:var(--text-15);font-weight:700;line-height:1.35}
.hero__date .ic{width:38px;height:38px;background:var(--lt-magenta-600);color:var(--lt-paper)}
.hero__date .ic svg{width:18px;height:18px}
.count{display:flex;gap:var(--lt-space-3)}
.count__c{min-width:76px;padding:10px 8px 8px;border-radius:var(--lt-radius-md);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);text-align:center;color:var(--lt-paper)}
.count__n{display:block;font-weight:800;font-size:var(--text-28);line-height:1.1;font-variant-numeric:tabular-nums}
.count__u{display:block;font-size:var(--text-12);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.count__l{margin:0 0 -8px;font-size:var(--text-13);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lt-paper)}

.fcard{background:var(--lt-paper);border-radius:var(--lt-radius-xl);box-shadow:var(--lt-shadow-pop);padding:var(--lt-space-6);display:flex;flex-direction:column;gap:var(--lt-space-4)}
.fcard__t{margin:0;font-weight:800;font-size:var(--text-28);line-height:1.2;color:var(--lt-ink-900)}
.fcard__s{margin:-6px 0 0;font-size:var(--text-15);line-height:1.6;color:var(--color-fg-muted)}
.form{display:flex;flex-direction:column;gap:var(--lt-space-3)}
.field label{display:block;margin-bottom:6px;font-size:var(--text-14);font-weight:700;color:var(--lt-ink-900)}
.field label i{font-style:normal;color:var(--lt-danger)}
.field input{width:100%;height:54px;padding:0 16px;border-radius:var(--lt-radius-sm);border:1.5px solid var(--lt-grey-300);background:var(--lt-paper);font-family:var(--font-montserrat);font-size:var(--text-16);color:var(--lt-ink-900);transition:border-color 200ms}
.field input:focus{outline:none;border-color:var(--lt-magenta-600);box-shadow:0 0 0 3px var(--lt-pink-100)}
.form .btn{margin-top:var(--lt-space-2)}
.form__note{margin:0;text-align:center;font-size:var(--text-14);line-height:1.5;color:var(--color-fg-muted)}
.form__done{display:flex;flex-direction:column;gap:var(--lt-space-3);text-align:center;align-items:center;padding:var(--lt-space-4) 0}
.form__done .ic{width:64px;height:64px;background:var(--lt-magenta-600);color:var(--lt-paper)}
.form__done p{margin:0;color:var(--color-fg-muted);font-size:var(--text-16);line-height:1.6}

/* ---------- USP strip (overlaps hero) ---------- */
.usps{position:relative;z-index:3;margin-top:-88px}
.usps__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--lt-space-4)}
.usp{background:var(--lt-paper);border-radius:var(--lt-radius-lg);box-shadow:var(--lt-shadow-card);padding:var(--lt-space-5);display:flex;align-items:center;gap:var(--lt-space-4);transition:transform 200ms ease-out,box-shadow 200ms ease-out}
.usp:hover{transform:translateY(-2px);box-shadow:var(--lt-shadow-pop)}
.usp p{margin:0;font-weight:700;font-size:var(--text-16);line-height:1.4;color:var(--lt-ink-900)}

/* ---------- Reviews ---------- */
.rv__top{display:flex;align-items:center;justify-content:center;gap:var(--lt-space-4);flex-wrap:wrap}
.rv__score{display:inline-flex;align-items:center;gap:12px;padding:10px 20px;border-radius:var(--lt-radius-pill);background:var(--lt-paper);box-shadow:var(--lt-shadow-card);font-weight:700;font-size:var(--text-16);color:var(--lt-ink-900)}
.gmark{width:24px;height:24px;flex:none}
.stars{display:inline-flex;gap:2px;color:var(--color-rating-star)}
.stars svg{width:18px;height:18px;fill:currentColor}
.rv__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lt-space-5);max-width:1000px;margin:0 auto}
.rv{position:relative;background:var(--lt-paper);border-radius:var(--lt-radius-lg);box-shadow:var(--lt-shadow-card);padding:var(--lt-space-6);display:flex;flex-direction:column;gap:var(--lt-space-4)}
.rv__head{display:flex;align-items:center;gap:var(--lt-space-3)}
.rv__av{width:48px;height:48px;border-radius:50%;background:var(--lt-magenta-600);color:var(--lt-paper);display:grid;place-items:center;font-weight:800;font-size:var(--text-18)}
.rv__n{margin:0;font-weight:700;font-size:var(--text-16);line-height:1.3;color:var(--lt-ink-900)}
.rv__m{margin:0;font-size:var(--text-13);line-height:1.3;color:var(--color-fg-muted)}
.rv__head .gmark{margin-left:auto}
.rv blockquote{margin:0;font-size:var(--text-17);line-height:1.75;color:var(--lt-ink-700)}
.rv__q{position:absolute;right:28px;bottom:6px;font-size:120px;line-height:1;font-weight:800;color:var(--lt-pink-100);pointer-events:none}
.rv__widget{margin:var(--lt-space-6) auto 0;max-width:1000px;border:2px dashed var(--lt-pink-300);border-radius:var(--lt-radius-lg);padding:var(--lt-space-5);text-align:center;font-size:var(--text-14);font-weight:600;color:var(--lt-magenta-700);background:var(--lt-paper)}

/* ---------- What's included ---------- */
.inc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:var(--lt-space-6);align-items:start}
.inc__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--lt-space-4)}
.inc__item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--lt-space-5);align-items:center;background:var(--lt-paper);border-radius:var(--lt-radius-lg);box-shadow:var(--lt-shadow-card);padding:var(--lt-space-5) var(--lt-space-6)}
.inc__item--lead{background:var(--lt-magenta-600);box-shadow:var(--lt-shadow-button)}
.inc__item--lead .h3,.inc__item--lead p,.inc__item--lead .inc__val{color:var(--lt-paper)}
.inc__item--lead .ic{background:var(--lt-paper)}
.inc__item p{margin:6px 0 0;font-size:var(--text-16);line-height:1.6;color:var(--color-fg-muted)}
.inc__val{font-weight:800;font-size:var(--text-18);line-height:1.2;color:var(--lt-magenta-600);text-align:right;white-space:nowrap}
.inc__sum{position:sticky;top:120px;background:var(--lt-paper);border-radius:var(--lt-radius-xl);box-shadow:var(--lt-shadow-pop);padding:var(--lt-space-7) var(--lt-space-6);display:flex;flex-direction:column;gap:var(--lt-space-4);text-align:center;align-items:center;overflow:hidden}
.inc__sum::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:var(--lt-magenta-600)}
.inc__k{margin:0;font-size:var(--text-14);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-fg-muted)}
.inc__big{margin:0;font-weight:800;font-size:clamp(48px,5vw,64px);line-height:1;letter-spacing:-.02em;color:var(--lt-magenta-600)}
.inc__big small{display:block;font-size:var(--text-16);letter-spacing:0;color:var(--lt-ink-900);font-weight:700;margin-bottom:8px}
.inc__sum p{margin:0;font-size:var(--text-15);line-height:1.6;color:var(--color-fg-muted)}

/* ---------- Benefits ---------- */
.ben{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--lt-space-8);align-items:center}
.ben__img{border-radius:var(--lt-radius-lg);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--lt-shadow-pop)}
.ben__img img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.ben__copy{display:flex;flex-direction:column;gap:var(--lt-space-5)}
.ben__copy .h2{text-align:left}
.ben__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ben__list li{display:grid;grid-template-columns:56px 1fr;gap:var(--lt-space-4);padding:var(--lt-space-4) 0;border-top:1px solid var(--color-border)}
.ben__list li:first-child{border-top:0;padding-top:0}
.ben__list p{margin:4px 0 0;font-size:var(--text-16);line-height:1.7;color:var(--color-fg-muted)}
.ben__copy .btn{align-self:flex-start}

/* ---------- Journey slider ---------- */
.jhead{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--lt-space-6);margin-bottom:var(--lt-space-6)}
.jhead .shead{margin:0;text-align:left;align-items:flex-start}
.jtrack{list-style:none;margin:0 calc(50% - 50vw) 0 0;padding:4px 0 var(--lt-space-5);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,31%);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.jtrack::-webkit-scrollbar{display:none}
.jcard{scroll-snap-align:start;background:var(--lt-paper);border-radius:var(--lt-radius-lg);box-shadow:var(--lt-shadow-card);overflow:hidden;display:flex;flex-direction:column}
.jcard__img{aspect-ratio:16/11;overflow:hidden;background:var(--lt-pink-100)}
.jcard__img img{width:100%;height:100%;object-fit:cover}
.jcard__body{padding:var(--lt-space-5) var(--lt-space-5) var(--lt-space-6);display:flex;flex-direction:column;gap:var(--lt-space-2)}
.jcard__n{width:44px;height:44px;border-radius:50%;background:var(--lt-magenta-600);color:var(--lt-paper);display:grid;place-items:center;font-weight:800;font-size:var(--text-17);margin-top:-46px;border:4px solid var(--lt-paper);box-sizing:content-box}
.jcard p{margin:0;font-size:var(--text-16);line-height:1.7;color:var(--color-fg-muted)}
.jctl{display:flex;align-items:center;gap:var(--lt-space-3)}
.jbtn{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;padding:0;border:2px solid var(--lt-magenta-600);background:var(--lt-paper);color:var(--lt-magenta-600);cursor:pointer;transition:background 200ms,color 200ms}
.jbtn svg{width:20px;height:20px}
.jbtn:hover:not(:disabled),.jbtn--on{background:var(--lt-magenta-600);color:var(--lt-paper)}
.jbtn:disabled{opacity:.35;cursor:default}

/* ---------- Dr KP standout ---------- */
.kp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--lt-space-8);align-items:center}
.kp__img{position:relative}
.kp__img>img{width:100%;aspect-ratio:4/4.4;object-fit:cover;object-position:center 30%;border-radius:var(--lt-radius-lg);box-shadow:var(--lt-shadow-pop)}
.kp__badge{position:absolute;right:-20px;bottom:28px;background:var(--lt-paper);border-radius:var(--lt-radius-lg);box-shadow:var(--lt-shadow-pop);padding:var(--lt-space-4) var(--lt-space-5);display:flex;align-items:center;gap:var(--lt-space-3);max-width:290px}
.kp__badge b{display:block;font-weight:800;font-size:var(--text-16);line-height:1.3;color:var(--lt-ink-900)}
.kp__badge span{display:block;font-size:var(--text-13);line-height:1.4;color:var(--color-fg-muted)}
.kp__copy{display:flex;flex-direction:column;gap:var(--lt-space-4)}
.kp__copy .h2{text-align:left}
.kp__copy p{margin:0;font-size:var(--text-17);line-height:1.8;color:var(--lt-ink-700)}
.kp__copy .btn{align-self:flex-start;margin-top:var(--lt-space-3)}

/* ---------- Why choose ---------- */
.why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--lt-space-5)}
.wcard{background:var(--lt-paper);border-radius:var(--lt-radius-lg);box-shadow:var(--lt-shadow-card);padding:var(--lt-space-6);display:flex;flex-direction:column;gap:var(--lt-space-3);transition:transform 200ms ease-out,box-shadow 200ms ease-out}
.wcard:hover{transform:translateY(-2px);box-shadow:var(--lt-shadow-pop)}
.wcard p{margin:0;font-size:var(--text-16);line-height:1.7;color:var(--color-fg-muted)}

/* ---------- Finance (ways to pay) ---------- */
.fin__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--lt-space-5)}
.pay{background:var(--lt-paper);border-radius:var(--lt-radius-lg);box-shadow:var(--lt-shadow-card);padding:var(--lt-space-7) var(--lt-space-5);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--lt-space-3)}
.pay .ic{width:72px;height:72px;border-radius:var(--lt-radius-lg)}
.pay .ic svg{width:32px;height:32px}
.pay__k{margin:0;font-weight:800;font-size:var(--text-15);color:var(--lt-magenta-600)}
.pay p{margin:0;font-size:var(--text-16);line-height:1.7;color:var(--color-fg-muted)}
.fin__copy{max-width:820px;margin:var(--lt-space-6) auto 0;text-align:center;display:flex;flex-direction:column;gap:var(--lt-space-3);align-items:center}
.fin__copy p{margin:0;font-size:var(--text-16);line-height:1.75;color:var(--color-fg-muted)}
.fine{font-size:var(--text-14)!important;line-height:1.6!important}

/* ---------- How it works ---------- */
.how{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--lt-space-8);align-items:center}
.how__copy{display:flex;flex-direction:column;gap:var(--lt-space-4)}
.how__copy .h2{text-align:left}
.how__copy p{margin:0;font-size:var(--text-17);line-height:1.8;color:var(--lt-ink-700)}
.how__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--lt-space-3);margin-top:var(--lt-space-3)}
.stat{background:var(--lt-pink-100);border-radius:var(--lt-radius-lg);padding:var(--lt-space-4);text-align:center}
.stat b{display:block;font-weight:800;font-size:var(--text-32);line-height:1.1;color:var(--lt-magenta-600)}
.stat span{display:block;margin-top:4px;font-size:var(--text-14);line-height:1.4;font-weight:600;color:var(--lt-ink-900)}
.how__img{border-radius:var(--lt-radius-lg);overflow:hidden;aspect-ratio:3/2;box-shadow:var(--lt-shadow-pop)}
.how__img img{width:100%;height:100%;object-fit:cover}

/* ---------- FAQ ---------- */
.faq{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:var(--lt-space-3)}
.faq details{background:var(--lt-paper);border-radius:var(--lt-radius-lg);box-shadow:var(--lt-shadow-card)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--lt-space-4);min-height:68px;padding:var(--lt-space-4) var(--lt-space-5);cursor:pointer;font-weight:700;font-size:var(--text-18);line-height:1.4;color:var(--lt-ink-900)}
.faq summary::-webkit-details-marker{display:none}
.faq__ic{width:36px;height:36px;border-radius:50%;background:var(--lt-pink-100);color:var(--lt-magenta-600);display:grid;place-items:center;flex:none;transition:transform 200ms ease-out,background 200ms}
.faq__ic svg{width:18px;height:18px}
.faq details[open] .faq__ic{transform:rotate(45deg);background:var(--lt-magenta-600);color:var(--lt-paper)}
.faq details p{margin:0;padding:0 var(--lt-space-5) var(--lt-space-5);font-size:var(--text-16);line-height:1.75;color:var(--color-fg-muted)}

/* ---------- Final CTA ---------- */
.final{position:relative;overflow:hidden;background:var(--lt-magenta-600);color:var(--lt-paper);text-align:center;padding:var(--lt-space-9) 0}
.final .wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--lt-space-5)}
.final .h2{color:var(--lt-paper);max-width:820px}
.final p{margin:0;max-width:680px;font-size:var(--text-18);line-height:1.7;font-weight:500;color:var(--lt-paper)}
.final__spark{position:absolute;color:var(--lt-paper);opacity:.22;pointer-events:none}
.final__actions{display:flex;gap:var(--lt-space-3);flex-wrap:wrap;justify-content:center}
.btn--ghost{background:transparent;color:var(--lt-paper);border-color:var(--lt-paper)}
.btn--ghost:hover{background:var(--lt-paper);color:var(--lt-magenta-700)}

/* ---------- Find us ---------- */
.find{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--lt-space-6);align-items:stretch}
.find__card{background:var(--lt-paper);border-radius:var(--lt-radius-lg);box-shadow:var(--lt-shadow-card);padding:var(--lt-space-6);display:flex;flex-direction:column;gap:var(--lt-space-5)}
.find__card .h3{font-size:var(--text-28)}
.find__rate{display:flex;align-items:center;gap:10px;font-weight:700;font-size:var(--text-15);color:var(--lt-ink-900)}
.find__row{display:grid;grid-template-columns:44px 1fr;gap:var(--lt-space-3);align-items:start}
.find__row .ic{width:44px;height:44px}
.find__row .ic svg{width:19px;height:19px}
.find__row p{margin:0;font-size:var(--text-16);line-height:1.6;color:var(--lt-ink-700)}
.find__row b{display:block;font-size:var(--text-15);color:var(--lt-ink-900)}
.find__row a{font-weight:700}
.hours{list-style:none;margin:4px 0 0;padding:0;font-size:var(--text-15);color:var(--lt-ink-700)}
.hours li{display:flex;justify-content:space-between;gap:var(--lt-space-4);padding:4px 0;border-bottom:1px solid var(--color-border)}
.hours li span:last-child{font-weight:600;color:var(--lt-ink-900);text-align:right}
.find__btns{display:flex;gap:var(--lt-space-3);flex-wrap:wrap}
.find__btns .btn{min-height:48px;padding:12px 22px;font-size:var(--text-13)}
.find__map{border-radius:var(--lt-radius-lg);overflow:hidden;box-shadow:var(--lt-shadow-card);min-height:460px;background:var(--lt-pink-100)}
.find__map iframe{width:100%;height:100%;min-height:460px;border:0;display:block}

/* ---------- Footer ---------- */
.ftr{background:var(--lt-paper);border-top:1px solid var(--color-border);padding:var(--lt-space-7) 0 var(--lt-space-5);text-align:center}
.ftr__logo{display:inline-block;margin-bottom:var(--lt-space-5)}
.ftr__logo img{height:56px;width:auto}
.ftr__links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 0;margin-bottom:var(--lt-space-4)}
.ftr__links a{font-size:var(--text-14);font-weight:500;color:var(--lt-ink-900);text-decoration:none;padding:2px 12px;border-left:1px solid var(--lt-grey-300)}
.ftr__links a:first-child{border-left:0}
.ftr__links a:hover{color:var(--lt-magenta-600);text-decoration:underline}
.ftr__legal{max-width:980px;margin:0 auto var(--lt-space-3);font-size:var(--text-13);line-height:1.7;color:var(--color-fg-muted)}
.ftr__base{display:flex;align-items:center;justify-content:space-between;gap:var(--lt-space-4);flex-wrap:wrap;max-width:1100px;margin:var(--lt-space-5) auto 0;padding-top:var(--lt-space-4);border-top:1px solid var(--color-border);font-size:var(--text-13);color:var(--color-fg-muted)}
.ftr__social{display:flex;gap:10px}
.ftr__social a{width:40px;height:40px;border-radius:50%;background:var(--lt-pink-100);color:var(--lt-magenta-600);display:grid;place-items:center}
.ftr__social svg{width:18px;height:18px}
.ftr__base a{color:var(--lt-magenta-600);font-weight:600}

/* ---------- Mobile sticky bar ---------- */
.mbar{display:none}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,410px);gap:var(--lt-space-6)}
  .usps__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jtrack{grid-auto-columns:minmax(300px,44%)}
  .inc{grid-template-columns:1fr}
  .inc__sum{position:static;order:-1}
}
@media (max-width:900px){
  .wrap{padding:0 20px}
  .sec{padding:var(--lt-space-8) 0}
  .shead{margin-bottom:var(--lt-space-6)}
  .promo{font-size:var(--text-13);min-height:38px}
  .hdr__row{height:68px;grid-template-columns:auto 1fr auto}
  .hdr__phone{display:none}
  .hdr__logo{justify-self:start}
  .hdr__logo img{height:42px}
  .hdr__end .btn{display:none}
  .hdr__icon{display:grid}
  .hero{background:var(--lt-paper)}
  .hero__bg{position:relative;inset:auto;height:220px}
  .hero__bg::after{background:var(--lt-scrim-image)}
  .hero__bg img{object-position:50% 28%}
  .hero__spark{display:none}
  .hero__grid{grid-template-columns:1fr;min-height:0;gap:var(--lt-space-5);padding-top:var(--lt-space-5);padding-bottom:var(--lt-space-6)}
  .hero__copy{color:var(--lt-ink-900);gap:var(--lt-space-4)}
  .hero h1{color:var(--lt-ink-900);font-size:34px}
  .hero h1 .ul{background-image:linear-gradient(transparent 64%,var(--lt-pink-300) 64%,var(--lt-pink-300) 92%,transparent 92%)}
  .hero__sub{color:var(--color-fg-muted);font-size:var(--text-16);font-weight:400}
  .hero__date{background:var(--lt-pink-100);font-size:var(--text-14)}
  .count__l{color:var(--lt-ink-900)}
  .count__c{background:var(--lt-paper);border-color:var(--lt-pink-300);color:var(--lt-ink-900);min-width:0;flex:1}
  .fcard{padding:var(--lt-space-5);box-shadow:var(--lt-shadow-card);border-radius:var(--lt-radius-lg)}
  .hero__copy .count-wrap{order:5}
  .usps{margin-top:0;padding-bottom:var(--lt-space-2)}
  .usps__grid{grid-template-columns:1fr;gap:var(--lt-space-3)}
  .usp{padding:var(--lt-space-4)}
  .rv__grid,.why,.fin__grid,.how__stats{grid-template-columns:1fr}
  .how__stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stat b{font-size:var(--text-22)}
  .stat span{font-size:var(--text-12)}
  .inc__item{grid-template-columns:auto minmax(0,1fr);padding:var(--lt-space-5)}
  .inc__val{grid-column:2;text-align:left}
  .ben,.kp,.how,.find{grid-template-columns:1fr;gap:var(--lt-space-6)}
  .ben__img{aspect-ratio:4/3}
  .kp__badge{right:12px;bottom:12px;left:12px;max-width:none}
  .jhead{flex-direction:column;align-items:flex-start;gap:var(--lt-space-4)}
  .jtrack{grid-auto-columns:84%}
  .btn{white-space:normal;text-align:center}
  .ben__copy .btn,.kp__copy .btn{align-self:stretch}
  .find__map,.find__map iframe{min-height:320px}
  .faq summary{font-size:var(--text-16);padding:var(--lt-space-4)}
  .faq details p{padding:0 var(--lt-space-4) var(--lt-space-4)}
  .mbar{display:grid;grid-template-columns:auto 1fr;gap:var(--lt-space-2);position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--lt-paper);box-shadow:0 -6px 20px rgba(0,0,0,.1);transform:translateY(110%);transition:transform 260ms ease-out}
  .mbar.show{transform:none}
  .mbar .btn{min-height:50px;padding:10px 16px}
  .mbar__call{width:50px;height:50px;border-radius:50%;background:var(--lt-pink-100);color:var(--lt-magenta-600);display:grid;place-items:center}
  .mbar__call svg{width:20px;height:20px}
  body.has-mbar{padding-bottom:76px}
}

/* ---------- Hero v2: photo in its own column so nothing sits over her face ---------- */
.hero{background:var(--color-bg-blush);overflow:visible}
.hero__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.78fr) minmax(0,400px);grid-template-areas:"copy photo form";gap:var(--lt-space-6);align-items:center;min-height:0;padding-top:var(--lt-space-8);padding-bottom:calc(var(--lt-space-9) + 24px)}
.hero__copy{grid-area:copy;color:var(--lt-ink-900)}
.hero h1{color:var(--lt-ink-900);font-size:clamp(36px,3.9vw,var(--text-58))}
.hero h1 .ul{background-image:linear-gradient(transparent 64%,var(--lt-pink-300) 64%,var(--lt-pink-300) 92%,transparent 92%)}
.hero__sub{color:var(--color-fg-muted);font-weight:500}
.hero__date{box-shadow:var(--lt-shadow-card)}
.count__l{color:var(--lt-ink-900)}
.count__c{background:var(--lt-paper);border-color:var(--lt-pink-300);color:var(--lt-ink-900)}
.hero__photo{grid-area:photo;position:relative;aspect-ratio:3/4;border-radius:var(--lt-radius-xl);overflow:hidden;box-shadow:var(--lt-shadow-pop);align-self:stretch;max-height:600px}
.hero__photo img{width:100%;height:100%;object-fit:cover;object-position:49% 35%}
.hero__spark{width:40px;height:40px}
.hero .fcard{grid-area:form}
.hero .count--mob{grid-area:count}
@media (max-width:1100px){
  .hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,400px);grid-template-areas:"copy form" "photo photo";align-items:start;padding-top:var(--lt-space-5)}
  .hero__photo{aspect-ratio:auto;height:260px;max-height:none}
  .hero__photo img{object-position:49% 32%}
}
@media (max-width:900px){
  .hero{background:var(--lt-paper)}
  .hero__grid{grid-template-columns:1fr;grid-template-areas:"photo" "copy" "form" "count";padding-top:var(--lt-space-4);padding-bottom:var(--lt-space-6);gap:var(--lt-space-5)}
  .hero__photo{height:220px;border-radius:var(--lt-radius-lg);box-shadow:none}
  .hero__photo img{object-position:49% 30%}
  .hero__spark{display:block;width:30px;height:30px}
  .hero h1{font-size:34px}
}

/* Form card sits in front of the USP strip */
.hero__grid{z-index:auto}
.hero .fcard{position:relative;z-index:5}

.inc__item.inc__item--lead p,.inc__item.inc__item--lead .h3{color:var(--lt-paper)}

.inc__big{font-size:clamp(64px,7vw,88px)}
.inc__big small{font-size:var(--text-18)}

.wcard{align-items:center;text-align:center}

/* Finance: photo background with dark scrim */
#finance{background:var(--lt-ink-900) url("img/team-lounge.jpg") center 40%/cover no-repeat;isolation:isolate}
#finance::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(26,26,26,.78) 0%,rgba(26,26,26,.68) 50%,rgba(26,26,26,.82) 100%)}
#finance .h2,#finance .fin__copy p{color:var(--lt-paper)}
#finance .h2 .ul{background-image:linear-gradient(transparent 64%,var(--lt-magenta-600) 64%,var(--lt-magenta-600) 92%,transparent 92%)}

/* Brand sparkles scattered through the page */
.sec>.wrap{position:relative;z-index:1}
#reviews::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F8AFCB' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 6% 18%/64px 64px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EC4592' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 93% 70%/34px 34px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F8AFCB' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 88% 14%/22px 22px no-repeat}
#offer::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EC4592' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 4% 82%/40px 40px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F8AFCB' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 96% 12%/72px 72px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F8AFCB' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 2% 10%/24px 24px no-repeat}
#benefits::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F8AFCB' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 97% 20%/52px 52px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EC4592' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 49% 92%/26px 26px no-repeat}
#journey::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F8AFCB' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 3% 14%/46px 46px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EC4592' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 95% 8%/28px 28px no-repeat}
#why::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EC4592' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 5% 24%/30px 30px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F8AFCB' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 95% 86%/70px 70px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F8AFCB' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 91% 12%/24px 24px no-repeat}
#how::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F8AFCB' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 2% 88%/58px 58px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EC4592' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 52% 10%/24px 24px no-repeat}
#faq::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F8AFCB' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 7% 70%/66px 66px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EC4592' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 94% 22%/34px 34px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F8AFCB' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 90% 88%/22px 22px no-repeat}
#find-us::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EC4592' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 96% 14%/30px 30px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F8AFCB' d='M12 0c.6 6.2 5.8 11.4 12 12-6.2.6-11.4 5.8-12 12-.6-6.2-5.8-11.4-12-12C6.2 11.4 11.4 6.2 12 0Z'/%3E%3C/svg%3E") 3% 30%/48px 48px no-repeat}
@media (max-width:900px){.sec::after{opacity:.6;background-size:28px 28px!important}}

/* Countdown label spacing */
.count__l{margin:0 0 10px}
/* Total savings card follows the list once the layout stacks */
@media (max-width:1100px){.inc__sum{order:0}}

/* ---------- Mobile usability pass (desktop untouched) ---------- */
@media (max-width:900px){
  .promo__x{display:none}
  .hero__photo{height:180px}
  .hero__copy{gap:var(--lt-space-3)}
  .hero__date{align-self:stretch;border-radius:var(--lt-radius-lg);padding:10px 14px 10px 10px}
  .count-wrap.count--mob{background:var(--lt-blush-50);border-radius:var(--lt-radius-lg);padding:var(--lt-space-4)}
  .count{gap:var(--lt-space-2)}
  .count__n{font-size:var(--text-22)}
  .usps{padding-top:0}
  .usps__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lt-space-3)}
  .usp{flex-direction:column;align-items:flex-start;gap:var(--lt-space-2);padding:var(--lt-space-4)}
  .usp .ic{width:44px;height:44px}
  .usp .ic svg{width:20px;height:20px}
  .usp p{font-size:var(--text-14);line-height:1.4}
  .rv{padding:var(--lt-space-5)}
  .rv blockquote{font-size:var(--text-16);line-height:1.7}
  .rv__score{flex-wrap:wrap;justify-content:center;border-radius:var(--lt-radius-lg);font-size:var(--text-14)}
  .inc{gap:var(--lt-space-5)}
  .inc__list{gap:var(--lt-space-3)}
  .inc__item{gap:var(--lt-space-2) var(--lt-space-4);padding:var(--lt-space-4)}
  .inc__item .ic{width:44px;height:44px;align-self:start}
  .inc__item .ic svg{width:20px;height:20px}
  .inc__item .h3{font-size:var(--text-17)}
  .inc__item p{font-size:var(--text-15)}
  .inc__val{font-size:var(--text-16)}
  .inc__sum{padding:var(--lt-space-6) var(--lt-space-5)}
  .ben{gap:var(--lt-space-5)}
  .ben__img{aspect-ratio:16/10}
  .ben__list li{grid-template-columns:44px 1fr;gap:var(--lt-space-3)}
  .ben__list .ic{width:44px;height:44px}
  .ben__list .ic svg{width:20px;height:20px}
  .ben__list .h3{font-size:var(--text-17)}
  .ben__list p{font-size:var(--text-15)}
  .kp{gap:var(--lt-space-5)}
  .kp__img>img{aspect-ratio:4/3.6}
  .kp__copy p{font-size:var(--text-16)}
  .why{gap:var(--lt-space-3)}
  .wcard{display:grid;grid-template-columns:44px 1fr;column-gap:var(--lt-space-4);row-gap:2px;align-items:start;text-align:left;padding:var(--lt-space-4)}
  .wcard .ic{grid-row:span 2;width:44px;height:44px}
  .wcard .ic svg{width:20px;height:20px}
  .wcard .h3{font-size:var(--text-17)}
  .wcard p{font-size:var(--text-15)}
  .fin__grid{gap:var(--lt-space-3)}
  .pay{display:grid;grid-template-columns:52px 1fr;column-gap:var(--lt-space-4);row-gap:0;align-items:center;text-align:left;padding:var(--lt-space-4)}
  .pay .ic{grid-row:span 2;width:52px;height:52px;border-radius:var(--lt-radius-md)}
  .pay .ic svg{width:24px;height:24px}
  .pay .h3{font-size:var(--text-17)}
  .fin__copy .btn{align-self:stretch}
  .how{gap:var(--lt-space-5)}
  .how__copy p{font-size:var(--text-16)}
  .how__stats{grid-template-columns:1fr;gap:var(--lt-space-2)}
  .stat{display:flex;align-items:baseline;gap:var(--lt-space-3);text-align:left;padding:var(--lt-space-3) var(--lt-space-4)}
  .stat b{font-size:var(--text-22);white-space:nowrap}
  .stat span{margin:0;font-size:var(--text-14)}
  .how__img{order:-1;aspect-ratio:16/10}
  .final{padding:var(--lt-space-8) 0}
  .final p{font-size:var(--text-16)}
  .final__actions{flex-direction:column;align-self:stretch}
  .final__actions .btn{width:100%}
  .find__card{padding:var(--lt-space-5);gap:var(--lt-space-4)}
  .find__btns{flex-direction:column}
  .find__btns .btn{width:100%}
  .jcard__body{padding:var(--lt-space-4) var(--lt-space-4) var(--lt-space-5)}
  .ftr__links a{font-size:var(--text-13);padding:2px 8px}
}

/* ---------- Square corners throughout (client brand) ---------- */
:root{--lt-radius-xs:0;--lt-radius-sm:0;--lt-radius-md:0;--lt-radius-lg:0;--lt-radius-xl:0;--lt-radius-pill:0}
.btn,.hero__date,.rv__score,.count__c,.fcard,.usp,.rv,.inc__item,.inc__sum,.ben__img,.jcard,.kp__img>img,.kp__badge,.wcard,.pay,.pay .ic,.stat,.how__img,.faq details,.find__card,.find__map,.hero__photo,.field input,.rv__widget,.count-wrap.count--mob{border-radius:0}

/* Hero: wider container + benefit bullets */
@media (min-width:901px){.hero__grid.wrap{max-width:1480px;padding-left:40px;padding-right:40px}}
.hero__ticks{gap:10px}
.hero__ticks li{font-size:var(--text-17);font-weight:600;color:var(--lt-ink-900)}
@media (max-width:900px){.hero__ticks li{font-size:var(--text-16)}}

/* Review quote mark sits behind the text, top right */
.rv>*{position:relative;z-index:1}
.rv .rv__q{position:absolute;z-index:0;right:20px;top:auto;bottom:-24px;font-size:110px;opacity:.7}
.rv{padding-bottom:var(--lt-space-7)}

/* Mobile hero: one-line bullets, shorter photo so the form shows above the fold */
@media (max-width:900px){
  .hero__photo{height:120px}
  .hero__grid{gap:var(--lt-space-4);padding-top:var(--lt-space-3)}
  .hero h1{font-size:30px}
  .hero__copy{gap:var(--lt-space-3)}
  .hero__tx{display:none}
  .hero__ticks{gap:8px}
  .hero__ticks li{font-size:var(--text-15);white-space:nowrap;align-items:center}
  .hero__date{padding:8px 14px 8px 8px}
}
@media (max-width:900px){.hero .fcard>.fcard__t{display:none}}
@media (max-width:1100px){.inc__sum{position:relative}}

/* Logo drop zones over photos */
.hero__badge{position:absolute;left:16px;bottom:16px;width:120px;height:166px;z-index:2}
.kp__logo{position:absolute;left:20px;bottom:20px;width:150px;height:208px;z-index:2}
.hero__badge image-slot,.kp__logo image-slot{color:var(--lt-paper)}
@media (max-width:1100px){.hero__badge{width:90px;height:125px}}
@media (max-width:900px){.hero__badge{left:10px;bottom:8px;width:60px;height:104px}.kp__logo{left:12px;bottom:12px;width:110px;height:152px}}

/* ---------- Before and after marquee ---------- */
.ba{position:relative;z-index:1;margin-top:var(--lt-space-7);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
.ba__track{list-style:none;margin:0;padding:var(--lt-space-2) 0;display:flex;gap:var(--lt-space-4);width:max-content;animation:baScroll 70s linear infinite}
.ba:hover .ba__track{animation-play-state:paused}
.ba__item{position:relative;flex:none;height:300px;aspect-ratio:4/3;overflow:hidden;background:var(--lt-ink-900);box-shadow:var(--lt-shadow-card)}
.ba__item img{width:100%;height:100%;object-fit:cover}
.ba__tag{position:absolute;bottom:10px;padding:4px 10px;background:var(--lt-paper);color:var(--lt-ink-900);font-size:var(--text-12);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ba__tag--b{left:10px}
.ba__tag--a{left:calc(50% + 10px);background:var(--lt-magenta-600);color:var(--lt-paper)}
@keyframes baScroll{to{transform:translateX(calc(-50% - var(--lt-space-4) / 2))}}
@media (prefers-reduced-motion:reduce){.ba{overflow-x:auto}.ba__track{animation:none}}
@media (max-width:900px){.ba{margin-top:var(--lt-space-6)}.ba__item{height:200px}.ba__track{animation-duration:55s}}

/* ---------- Team ---------- */
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lt-space-6);max-width:1000px;margin:0 auto}
.tcard{background:var(--lt-paper);box-shadow:var(--lt-shadow-card);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}
.tcard__img{min-height:100%;aspect-ratio:4/5;background:var(--lt-pink-100)}
.tcard__body{padding:var(--lt-space-5);display:flex;flex-direction:column;gap:6px}
.tcard__role{margin:0;font-size:var(--text-15);font-weight:600;line-height:1.4;color:var(--lt-magenta-700)}
.tcard__gdc{margin:0 0 var(--lt-space-2);font-size:var(--text-13);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-fg-muted)}
.tcard__d{margin:0;font-size:var(--text-15);line-height:1.7;color:var(--color-fg-muted)}
@media (max-width:1100px){.tcard{grid-template-columns:1fr}.tcard__img{aspect-ratio:4/3}}
@media (max-width:900px){.team{grid-template-columns:1fr;gap:var(--lt-space-4)}}

.ba-sec{position:relative;padding:var(--lt-space-8) 0 0}
.ba-sec .ba{margin-top:0}
#reviews{padding-top:var(--lt-space-8)}
@media (max-width:900px){.ba-sec{padding-top:var(--lt-space-6)}#reviews{padding-top:var(--lt-space-7)}}

/* Invisalign Diamond Apex logo over photos */
.hero__badge,.kp__logo{height:auto;object-fit:contain;filter:drop-shadow(0 0 2px rgba(255,255,255,.95)) drop-shadow(0 0 10px rgba(255,255,255,.75))}
.hero__badge{width:110px}
.kp__logo{width:140px}
@media (max-width:1100px){.hero__badge{width:90px;height:auto}}
@media (max-width:900px){.hero__badge{width:56px;height:auto}.kp__logo{width:100px;height:auto}}
.tcard__img img{width:100%;height:100%;object-fit:cover;object-position:center 20%}

/* Logo badges: override the photo img rules so they stay small, bottom-left */
.hero__photo img.hero__badge,.kp__img>img.kp__logo{position:absolute;top:auto;right:auto;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0;box-shadow:none;z-index:2}
.hero__photo img.hero__badge{left:14px;bottom:14px;width:72px}
.kp__img>img.kp__logo{left:16px;bottom:16px;width:96px}
@media (max-width:900px){.hero__photo img.hero__badge{left:8px;bottom:8px;width:40px}.kp__img>img.kp__logo{left:10px;bottom:10px;width:72px}}

/* Logo badges on a white plate */
.hero__photo img.hero__badge,.kp__img>img.kp__logo{background:var(--lt-paper);padding:10px;box-shadow:var(--lt-shadow-card);filter:none;box-sizing:content-box}
.hero__photo img.hero__badge{width:64px}
.kp__img>img.kp__logo{width:84px;padding:12px}
@media (max-width:900px){.hero__photo img.hero__badge{width:36px;padding:6px}.kp__img>img.kp__logo{width:60px;padding:8px}}

/* Team cards: contain the photo so it can't spill into the text */
.tcard{align-items:stretch}
.tcard__img{position:relative;overflow:hidden;aspect-ratio:auto;min-height:340px;height:auto}
.tcard__img>img,.tcard__img>image-slot{position:absolute;inset:0;width:100%;height:100%}
@media (max-width:1100px){.tcard__img{min-height:0;aspect-ratio:4/3}}

.tcard{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);overflow:hidden}
.tcard__img{min-width:0;width:100%}
@media (max-width:1100px){.tcard{grid-template-columns:minmax(0,1fr)}}
.tcard__img{contain:size}
@media (max-width:1100px){.tcard__img{aspect-ratio:auto;height:300px}}
@media (max-width:900px){.tcard__img{height:260px}}
@media (max-width:1100px){.tcard{grid-template-rows:auto 1fr;align-content:start}}
.how__list{margin-top:var(--lt-space-2)}
.how__list li{font-size:var(--text-17);color:var(--lt-ink-700)}
.how__list b{color:var(--lt-magenta-600);font-weight:800}
.inc__big{font-size:clamp(76px,8.6vw,116px);line-height:.95}
.inc__big small{font-size:var(--text-18)}
@media (max-width:900px){.inc__big{font-size:76px}}

/* Hero form card in brand ink */
.hero .fcard{background:var(--lt-ink-900)}
.hero .fcard .fcard__t,.hero .fcard .form__done p,.hero .fcard .form__note{color:var(--lt-paper)}
.hero .fcard .form__done a{color:var(--lt-pink-300)}
.hero .fcard .field input{border-color:var(--lt-paper)}
.hero .fcard .field input:focus{border-color:var(--lt-magenta-500);box-shadow:0 0 0 3px rgba(233,26,107,.45)}

/* Review cards in brand ink */
.rv{background:var(--lt-ink-900)}
.rv .rv__n,.rv blockquote{color:var(--lt-paper)}
.rv .rv__m{color:var(--lt-grey-300)}
.rv .rv__q{color:var(--lt-magenta-600);opacity:.35}
.rv .gmark{background:var(--lt-paper);border-radius:50%;padding:3px;box-sizing:content-box}

/* Why choose section on brand ink */
#why{background:var(--lt-ink-900)}
#why .h2{color:var(--lt-paper)}
#why .h2 .ul{background-image:linear-gradient(transparent 64%,var(--lt-magenta-600) 64%,var(--lt-magenta-600) 92%,transparent 92%)}
#why::after{opacity:.5}

/* Fix: ".inc__sum p" was overriding the big figure's size */
.inc__sum p.inc__big{font-size:clamp(76px,8.6vw,116px);line-height:.95}
.inc__sum p.inc__big small{font-size:var(--text-18)}
@media (max-width:900px){.inc__sum p.inc__big{font-size:76px}}
#finance .shead .lead{color:var(--lt-paper)}
.ba{-webkit-mask-image:none;mask-image:none}

/* ---------- Thank-you page ---------- */
.tyl{position:relative;overflow:hidden;min-height:620px;display:flex;align-items:flex-end;background:var(--lt-ink-900)}
.tyl__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.tyl__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 20%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.88) 100%)}
.tyl__spark{position:absolute;width:44px;height:44px;color:var(--lt-paper);opacity:.9;z-index:1}
.tyl__inner{position:relative;z-index:2;padding-top:var(--lt-space-9);padding-bottom:var(--lt-space-8);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--lt-space-4)}
.tyl__check{width:64px;height:64px;border-radius:50%;background:var(--lt-magenta-600);color:var(--lt-paper);display:grid;place-items:center;box-shadow:var(--lt-shadow-button)}
.tyl__check svg{width:30px;height:30px}
.tyl h1{margin:0;max-width:820px;font-weight:800;font-size:clamp(36px,4.4vw,var(--text-58));line-height:1.08;letter-spacing:-.015em;color:var(--lt-paper);text-wrap:balance}
.tyl h1 .ul{background-image:linear-gradient(transparent 70%,var(--lt-magenta-600) 70%,var(--lt-magenta-600) 92%,transparent 92%)}
.tyl__sub{margin:0;max-width:640px;font-size:var(--text-18);line-height:1.7;font-weight:500;color:var(--lt-paper)}
.tyl__date{align-self:center}
.tyl__btns{display:flex;gap:var(--lt-space-3);flex-wrap:wrap;justify-content:center;margin-top:var(--lt-space-2)}
.tyl__steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--lt-space-5)}
.tyl__step{position:relative;background:var(--lt-paper);box-shadow:var(--lt-shadow-card);padding:var(--lt-space-7) var(--lt-space-5) var(--lt-space-6);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--lt-space-3)}
.tyl__n{position:absolute;top:-22px;left:50%;transform:translateX(-50%);margin:0}
.tyl__step p{margin:0;font-size:var(--text-16);line-height:1.7;color:var(--color-fg-muted)}
@media (max-width:900px){
  .tyl{min-height:0;flex-direction:column;align-items:stretch;background:var(--lt-ink-900)}
  .tyl__bg{position:relative;inset:auto;height:220px}
  .tyl__shade{display:none}
  .tyl__spark{display:none}
  .tyl__inner{padding-top:var(--lt-space-6);padding-bottom:var(--lt-space-7)}
  .tyl h1{font-size:32px}
  .tyl__sub{font-size:var(--text-16)}
  .tyl__btns{flex-direction:column;align-self:stretch}
  .tyl__btns .btn{width:100%}
  .tyl__steps{grid-template-columns:1fr;gap:var(--lt-space-7)}
}

/* KP section video */
.kp__img>video.kp__video{display:block;width:100%;aspect-ratio:4/4.4;object-fit:cover;background:var(--lt-ink-900);box-shadow:var(--lt-shadow-pop)}
@media (max-width:900px){.kp__img>video.kp__video{aspect-ratio:4/3.6}}
.kp__img>img.kp__logo{bottom:64px}
/* No wrapping in header phone and date pills */
.hdr__phone{white-space:nowrap}
.hero__date span:last-child{white-space:nowrap}
/* Thank-you hero: photo in its own band so nothing covers faces */
.tyl{display:block;min-height:0}
.tyl__bg{position:relative;inset:auto;height:clamp(240px,32vw,460px);object-position:center 28%}
.tyl__shade{display:none}
.tyl__spark{top:auto!important;bottom:calc(100% - clamp(240px,32vw,460px) + 18px);right:24px!important}
.tyl__inner{padding-top:var(--lt-space-7);padding-bottom:var(--lt-space-8)}
@media (max-width:900px){.tyl__bg{height:200px}.tyl__inner{padding-top:var(--lt-space-5)}}
.form__consent{margin:var(--lt-space-2) 0 0;font-size:var(--text-14);line-height:1.5;color:var(--color-fg-muted)}
.hero .fcard .form__consent{color:var(--lt-paper)}
.hero .fcard .form__consent a{color:var(--lt-pink-300)}
.form__consent+.btn{margin-top:var(--lt-space-1)}

/* KP video: frame follows the video's own shape, no cropping */
.kp__img>video.kp__video{aspect-ratio:auto;height:auto;object-fit:contain}
@media (max-width:900px){.kp__img>video.kp__video{aspect-ratio:auto;height:auto}}

/* Video play button */
.kp__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:84px;height:84px;display:grid;place-items:center;padding:0;border:0;background:var(--lt-magenta-600);color:var(--lt-paper);cursor:pointer;box-shadow:var(--lt-shadow-button);transition:background 200ms ease-out,transform 200ms ease-out}
.kp__play svg{width:36px;height:36px;margin-left:4px}
.kp__play:hover{background:var(--lt-magenta-700);transform:translate(-50%,-50%) scale(1.04)}
.kp__play:active{transform:translate(-50%,-50%) scale(.98)}
@media (max-width:900px){.kp__play{width:64px;height:64px}.kp__play svg{width:28px;height:28px}}

/* Thank-you: shorter photo band so the copy sits above the fold */
.tyl__bg{height:clamp(170px,19vw,270px);object-position:center 32%}
.tyl__spark{bottom:auto!important;top:calc(clamp(170px,19vw,270px) - 62px)!important}
.tyl__inner{padding-top:var(--lt-space-5);padding-bottom:var(--lt-space-7);gap:var(--lt-space-3)}
.tyl__check{width:52px;height:52px}
.tyl__check svg{width:26px;height:26px}
@media (max-width:900px){
  .tyl__bg{height:130px;object-position:center 30%}
  .tyl__spark{display:none}
  .tyl__inner{padding:var(--lt-space-4) 20px var(--lt-space-6);gap:var(--lt-space-3)}
  .tyl__check{width:44px;height:44px}
  .tyl__check svg{width:22px;height:22px}
  .tyl h1{font-size:28px}
  .tyl__sub{font-size:var(--text-15);line-height:1.6}
  .tyl__date{font-size:var(--text-14)}
  .tyl__date span:last-child{white-space:normal}
  .tyl__btns{gap:var(--lt-space-2)}
  .tyl__steps{gap:var(--lt-space-6)}
  .tyl__step{padding:var(--lt-space-6) var(--lt-space-4) var(--lt-space-5)}
}
