/* fm-lively: Larkspur Legal Group. Likeness rebuild, full-width variant (owner order).
   Tiers: phone < 810, tablet 810-1199, desktop >= 1200 (reference breakpoints).
   Desktop container: 1072px from 1200 to 1440 (reference identity), then grows 0.75px per
   viewport px to a 1680px cap. Horizontal geometry inside a .wrap scales via --k (1/1072 of it). */

/* metric-matched fallbacks so the font swap does not reflow (values measured, see README) */
@font-face{font-family:"DM Sans FB";src:local("Arial");size-adjust:103.9%;ascent-override:95.3%;descent-override:29.8%;line-gap-override:0%}
@font-face{font-family:"Inter FB";src:local("Arial");size-adjust:105%;ascent-override:92.4%;descent-override:22.9%;line-gap-override:0%}
@font-face{font-family:"Inter Display FB";src:local("Arial");size-adjust:94.6%;ascent-override:102.5%;descent-override:25.4%;line-gap-override:0%}
@font-face{font-family:"Playfair FB";src:local("Georgia");size-adjust:100.9%;ascent-override:107%;descent-override:24.8%;line-gap-override:0%}
@font-face{font-family:"Electrolize FB";src:local("Arial");size-adjust:104.8%;ascent-override:86.8%;descent-override:25.8%;line-gap-override:0%}

:root{
  --navy:#0D1C29; --navy-80:rgba(13,28,41,.8);
  --gold:#D3AF37;            /* fills, icons, stars */
  --gold-text:#A88722;       /* gold text on light: deepened from #D3AF37 (2.11:1 on white) */
  --gold-soft:rgba(211,175,55,.7);
  --paper:#FFFFFF; --card:#F2F2F2; --ink:#000; --ink-80:rgba(0,0,0,.8); --ink-60:rgba(0,0,0,.6);
  --stat-ink:#1B2942; --muted:#595959;
  --f-dm:"DM Sans","DM Sans FB",Arial,sans-serif;
  --f-inter:"Inter","Inter FB",Arial,sans-serif;
  --f-idisp:"Inter Display","Inter Display FB",Arial,sans-serif;
  --f-play:"Playfair Display","Playfair FB",Georgia,serif;
  --f-logo:"Electrolize","Electrolize FB",Arial,sans-serif;
  --cap:1680px;
  --k:calc(100cqw / 1072);
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-inter);font-size:16px;line-height:1.2;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p{margin:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
ul{list-style:none;margin:0;padding:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--gold);color:var(--navy);padding:10px 16px;border-radius:8px;font:500 16px var(--f-dm)}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.wrap{width:min(var(--cap),max(1072px,calc(1072px + (100% - 1440px) * .75)));margin-inline:auto;container-type:inline-size}

/* ---------- type roles ---------- */
.d64{font:500 64px/70.4px var(--f-play);letter-spacing:-2.56px;color:var(--navy)}
.d50{font:500 50px/70px var(--f-play);color:var(--navy)}
.lead18{font:300 18px/27px var(--f-inter);color:var(--ink-80)}
.eb{display:flex;align-items:center;gap:10px;font:300 18px/27px var(--f-inter);color:var(--ink);margin-bottom:12px}
.eb i{font-style:normal;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:400 16px/19.2px var(--f-inter)}
.eb--light{color:#fff}.eb--light i{background:#fff;color:var(--navy)}
.eb--plain{margin-bottom:10px}

/* ---------- buttons + roll labels ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;height:50px;padding:0 18px;border-radius:8px;background:var(--gold);color:var(--navy);font:500 18px/28.8px var(--f-dm);letter-spacing:-.36px;transition:background-color .4s,color .4s;white-space:nowrap}
.btn svg{width:20px;height:20px;flex:none}
.btn:hover{background:rgba(212,175,55,.65);color:rgba(13,28,41,.7)}
.btn--w200{width:200px}
.btn--ghost{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn--ghost:hover{background:rgba(255,255,255,.1);color:rgba(255,255,255,.5)}
.btn--sm{height:44px}
.btn--back{padding:0 18px 0 20px}
.roll{display:inline-block;height:28.8px;overflow:hidden;font:500 18px/28.8px var(--f-dm);letter-spacing:-.36px;color:#fff}
.roll span{display:block;transition:transform .4s var(--ease)}
.roll span::after{content:attr(data-t);display:block;color:var(--gold-soft)}
.roll:hover span,.roll:focus-visible span{transform:translateY(-28.8px)}
.ul-link{font:500 16px/24px var(--f-dm);letter-spacing:-.16px;color:#000;text-decoration:underline;text-underline-offset:3px;transition:color .4s}
.ul-link:hover{color:rgba(0,0,0,.48)}

/* ---------- header (reference: static bar in the page frame; house floor: headroom return) ---------- */
.hdr{position:relative;height:90px;z-index:50}
.hdr--over{position:absolute;left:0;right:0;top:0}
.hdr__bar{height:90px;background:var(--navy);transition:transform .35s var(--ease),height .3s}
.hdr--over .hdr__bar{background:transparent;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.08)}
.hdr__in{height:100%;display:grid;grid-template-columns:30.2239% auto minmax(0,1fr) auto;align-items:center}
.logo{display:inline-flex;align-items:center;gap:11px;color:#fff;width:max-content}
.logo svg{width:41px;height:28px;flex:none}
.logo b{font:400 30px/33px var(--f-logo);letter-spacing:-1.2px;white-space:nowrap}
.nav{display:flex;gap:46px;padding-left:13px}
.hdr__cta{grid-column:4;min-width:166px}
.burger.circ-btn{display:none}
.hdr.is-fixed .hdr__bar{position:fixed;left:0;right:0;top:0;height:70px;background:var(--navy);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.hdr.is-hidden .hdr__bar{transform:translateY(-100%)}
.hdr.is-fixed .btn{height:44px}

/* mobile menu (reference: full-screen navy, centred links, 44px gold close circle) */
.mnav{position:fixed;inset:0;z-index:120;background:var(--navy);display:none;flex-direction:column}
.mnav.open{display:flex}
.mnav__top{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.mnav__links{display:flex;flex-direction:column;align-items:center;gap:24px;margin-top:40px}
.mnav__links .roll{font-size:18px}
.mnav__cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:36px}
.mnav__cta .btn{min-width:220px}
.mnav__tel{font:500 18px/28.8px var(--f-dm);color:#fff}
.circ-btn{width:44px;height:44px;border-radius:39px;background:rgba(211,175,55,.95);display:grid;place-items:center}
.circ-btn svg{width:28px;height:28px;color:#fff}

/* ---------- hero ---------- */
.hero{position:relative;height:max(900px,100vh);overflow:hidden;background:var(--navy);color:#fff}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:80% 50%}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,14,22,.78) 0%,rgba(9,14,22,.55) 42%,rgba(9,14,22,.08) 72%,rgba(9,14,22,0) 100%),linear-gradient(0deg,rgba(9,14,22,.55),rgba(9,14,22,0) 38%)}
.hero .wrap{position:relative;height:100%}
.hero__copy{position:absolute;left:0;top:calc(217px + (max(900px,100vh) - 900px) / 2);width:calc(var(--k) * 700)}
.badge{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 18px 0 18px;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:500 18px/28.8px var(--f-dm);letter-spacing:-.36px}
.badge em{font:600 12px/14.4px var(--f-inter);font-style:normal;background:var(--gold);color:var(--navy);height:32px;padding:0 10px;border-radius:6px;display:grid;place-items:center;letter-spacing:.2px}
.hero h1{margin-top:24px;font:500 64px/70.4px var(--f-play);letter-spacing:-2.56px;color:#fff}
.hero h1 span{display:block}
.hero__lead{margin-top:36px;max-width:687px;font:400 16px/24px var(--f-dm);color:rgba(255,255,255,.75)}
.trust{display:flex;align-items:center;gap:12px;margin-top:32px}
.avs{display:flex}
.avs img{width:54px;height:54px;border-radius:50%;border:2px solid rgba(13,28,41,.9);object-fit:cover}
.avs img+img{margin-left:-10px}
.trust__t{font:300 18px/27px var(--f-inter)}
.stars{display:flex;align-items:center;gap:8px;font:300 18px/28.8px var(--f-idisp)}
.stars svg{height:12px;width:auto;color:var(--gold)}
.hero__btns{display:flex;gap:35px;margin-top:32px}
.adv{position:absolute;right:0;bottom:28px;width:494px;height:208px;border-radius:14px;padding:20px;display:flex;gap:20px;background:rgba(70,52,22,.62);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.adv__ph{position:relative;width:168px;height:168px;flex:none}
.adv__ph img{width:168px;height:168px;border-radius:8px;object-fit:cover}
.adv__call{position:absolute;right:0;bottom:0;width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--gold)}
.adv__call svg{width:17px;height:17px}
.adv h2{font:500 22px/35.2px var(--f-idisp);color:#fff;white-space:nowrap}
.adv p{font:300 18px/28.8px var(--f-idisp);color:rgba(255,255,255,.94)}
.adv a.adv__lnk{display:inline-flex;align-items:center;gap:12px;margin-top:6px;font:500 18px/28.8px var(--f-idisp);color:#fff;border-bottom:1px solid #fff;transition:color .4s,border-color .4s}
.adv a.adv__lnk:hover{color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.6)}
.adv a.adv__lnk svg{width:16px;height:16px;color:var(--gold)}

.adv--m{display:none}
.hero__row{display:block}
/* ---------- generic 2-col section grid ---------- */
.sec{padding:100px 0}
.g2{display:grid;grid-template-columns:minmax(0,506fr) minmax(0,506fr);column-gap:calc(var(--k) * 60)}

/* about */
.about__img img{width:100%;aspect-ratio:506/400;object-fit:cover;border-radius:14px}
.about .d64{margin-top:0}
.about .lead18{margin-top:30px;color:var(--ink-60)}
.feats{margin-top:72px;display:flex;flex-direction:column;gap:30px}
.feat{display:grid;grid-template-columns:42px 1fr;column-gap:15px}
.feat__ic{width:42px;height:42px;border-radius:50%;background:var(--gold);display:grid;place-items:center;color:#fff}
.feat__ic svg{width:22px;height:22px}
.feat h3{font:500 22px/35.2px var(--f-idisp);color:var(--navy)}
.feat p{margin-top:5px;font:400 18px/27px var(--f-inter);color:var(--ink-80)}
.stats{margin-top:30px;display:flex;flex-direction:column;gap:10px}
.stat{background:var(--card);border-radius:14px;height:115px;padding:20px}
.stat__top{display:flex;align-items:flex-start;gap:8px}
.stat__n{font:500 40px/36px var(--f-idisp);color:var(--gold-text);display:flex}
.stat__n sup{font-size:22px;line-height:1;margin-left:3px;top:0;color:var(--navy);font-weight:400;position:relative;top:-4px}
.stat__l{font:500 18px/28.8px var(--f-idisp);color:var(--stat-ink);margin-top:7px}
.stat p{margin-top:10px;font:300 18px/28.8px var(--f-idisp);color:var(--muted)}

/* why */
.why .g-why{display:grid;grid-template-columns:minmax(0,506fr) minmax(0,20fr) minmax(0,506fr) minmax(0,40fr)}
.why__l{grid-column:1}
.why__r{grid-column:3;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.why .d50{margin-top:0}
.why .lead18{margin-top:15px}
.why .btn{margin-top:50px}
.wcard{background:var(--card);height:180px;padding:15px 16px 0;border-radius:2px;display:flex;flex-direction:column}
.wcard__ic{width:32px;height:32px;border-radius:6px;background:var(--navy);display:grid;place-items:center;color:#fff}
.wcard__ic svg{width:18px;height:18px}
.wcard h3{margin-top:auto;font:400 16px/24px var(--f-dm);color:#000}
.wcard p{margin:10px 0 15px;font:400 12px/18px var(--f-inter);color:var(--navy-80);min-height:54px}

/* team */
.team .g-team{display:grid;grid-template-columns:minmax(0,536fr) minmax(0,536fr);column-gap:calc(var(--k) * 10);margin-right:calc(var(--k) * -10)}
.team__l{display:flex;flex-direction:column}
.team .lead18{margin-top:15px}
.team__btn{margin-top:10px}
.tgrid{display:grid;grid-template-columns:1fr 1fr;column-gap:10px;row-gap:10px}
.tcard{display:flex;flex-direction:column;align-items:center;height:252px;text-align:center}
.tcard img{width:195px;height:195px;border-radius:50%;object-fit:cover}
.tcard b{margin-top:21px;font:500 18px/28.8px var(--f-dm);letter-spacing:-.36px;color:#000;transition:color .4s}
.tcard small{font:400 12px/18px var(--f-inter);color:var(--ink-80)}
.tcard:hover b{color:rgba(0,0,0,.4)}

/* services */
.svc__head .d50{max-width:calc(var(--k) * 506)}
.sgrid{margin-top:64px;display:grid;grid-template-columns:1fr 1fr;column-gap:calc(var(--k) * 20);row-gap:20px}
.scard{position:relative;height:325px;border-radius:6px;overflow:hidden;color:#fff;display:block}
.scard img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
.scard::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(13,28,41,.86) 0%,rgba(13,28,41,.74) 55%,rgba(13,28,41,.5) 100%)}
.scard__in{position:absolute;inset:0;z-index:2;padding:36px 20px 0;display:flex;flex-direction:column}
.scard__ic{width:44px;height:44px;border-radius:50%;background:var(--gold);display:grid;place-items:center;color:var(--navy)}
.scard__ic svg{width:24px;height:24px}
.scard h3{margin-top:67px;font:700 24px/28.8px var(--f-inter);color:#fff;transition:color .4s}
.scard p{margin-top:12px;font:400 14px/21px var(--f-dm);letter-spacing:-.14px;color:rgba(255,255,255,.92);max-width:486px}
.scard u{margin-top:auto;margin-bottom:28px;align-self:flex-start;font:400 14px/21px var(--f-dm);text-decoration:none;border-bottom:1px solid #fff}
.scard:hover h3{color:rgba(255,255,255,.6)}
.svc .btn,.sgrid+.btn{margin-top:64px}

/* process */
.proc .g-proc{display:grid;grid-template-columns:minmax(0,10fr) minmax(0,521fr) minmax(0,23fr) minmax(0,506fr) minmax(0,12fr);align-items:start}
.proc__l{grid-column:2;position:sticky;top:100px;padding-top:11px}
.proc__r{grid-column:4;display:flex;flex-direction:column;gap:54px}
.proc .lead18{margin-top:15px}
.proc .btn{margin-top:50px}
.step img{width:100%;aspect-ratio:506/400;object-fit:cover;border-radius:14px}
.step .step__n{margin-top:27px;font:400 24px/28.8px var(--f-inter);color:#000;letter-spacing:0}
.step h3{margin-top:10px;font:600 20px/32px var(--f-dm);letter-spacing:-.4px;color:#000}
.step p{margin-top:17px;font:400 16px/24px var(--f-dm);color:var(--ink-80)}
.step .ul-link{display:inline-block;margin-top:18px}

/* milestones (reference: awards list) */
.ms .g2{align-items:end}
.ms__l{grid-row:1/3;align-self:end;padding-bottom:20px}
.ms__l img{margin-top:12px;width:100%;aspect-ratio:506/400;object-fit:cover;border-radius:14px}
.ms__r .d50{margin-top:0}
.ms__list{margin-top:70px;display:flex;flex-direction:column;gap:30.5px}
.ms__row{height:58px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:14px;padding:0 12px;transition:background-color .3s,color .3s}
.ms__row .n{font:400 24px/38.4px var(--f-dm);letter-spacing:-.48px;color:var(--gold-text)}
.ms__row .t{font:600 20px/32px var(--f-dm);letter-spacing:-.4px;color:var(--navy)}
.ms__row .y{font:500 18px/28.8px var(--f-dm);letter-spacing:-.36px;color:var(--navy)}
.ms__row:hover,.ms__row.is-on{background:var(--navy)}
.ms__row:hover .n,.ms__row:hover .t,.ms__row:hover .y,.ms__row.is-on .n,.ms__row.is-on .t,.ms__row.is-on .y{color:#fff}

/* testimonials marquee (reference: drifts right at 40px/s, no hover pause) */
.testi{padding:100px 0 120px}
.testi .d64{max-width:calc(var(--k) * 506)}
.tq{margin-top:118px;overflow:hidden}
.tq__track{display:flex;width:max-content;animation:tq var(--tq-dur,37.8s) linear infinite}
.tq__set{display:flex;gap:40px;padding-right:40px}
@keyframes tq{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.tcq{width:212px;flex:none}
.tcq__who{display:flex;gap:14px;align-items:center}
.tcq__who img{width:54px;height:54px;border-radius:50%;object-fit:cover}
.tcq__who b{display:block;font:500 18px/28.8px var(--f-dm);letter-spacing:-.36px;color:var(--navy)}
.tcq__who small{display:block;font:400 12px/18px var(--f-inter);color:var(--ink-80);white-space:nowrap}
.tcq__stars{margin-top:17px;display:flex;gap:4px}
.tcq__stars svg{width:14px;height:14px;color:#F2C230}
.tcq__stars svg.off{color:#C9C9C9}
.tcq p{margin-top:22px;font:400 16px/24px var(--f-dm);color:var(--ink-80)}

/* FAQ */
.faq .lead18{margin-top:15px}
.acc{display:flex;flex-direction:column;gap:10px}
.acc__it{background:var(--navy);border-radius:8px;color:#fff}
.acc__q{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13.5px 14px 13.5px 18px;text-align:left;font:500 18px/28.8px var(--f-dm);letter-spacing:-.36px;color:rgba(255,255,255,.95)}
.acc__pm{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.12);flex:none;display:grid;place-items:center}
.acc__pm svg{width:14px;height:14px}
.acc__pm .v{transition:opacity .2s}
.acc__it.open .acc__pm .v{opacity:0}
.acc__a{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .22s ease,visibility 0s linear .22s}
.acc__it.open .acc__a{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .22s ease,visibility 0s}
.acc__a>div{overflow:hidden}
.acc__a p{margin:0 18px;padding:17px 0 20px;border-top:1px solid rgba(255,255,255,.12);font:400 16px/24px var(--f-dm);color:rgba(245,245,245,.72)}

/* CTA band */
.cta{position:relative;height:669px;color:#fff;overflow:hidden;display:flex;align-items:center}
.cta__bg{position:absolute;inset:0}
.cta__bg img{width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.cta__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,14,10,.84) 0%,rgba(18,14,10,.66) 45%,rgba(18,14,10,.16) 75%,rgba(18,14,10,.05) 100%)}
.cta .wrap{position:relative}
.cta__c{max-width:calc(var(--k) * 506)}
.cta .d50{color:#fff}
.cta .lead18{margin-top:15px;color:rgba(240,240,240,.94)}
.cta .btn{margin-top:40px}
.cta--inset{height:auto;display:block;background:none;padding:0 0 64px}
.cta--inset .cta__box{position:relative;height:689px;border-radius:0;overflow:hidden;display:flex;align-items:center}
.cta--inset .cta__c{position:relative;margin-left:calc(var(--k) * 64)}

/* footer */
.ft{background:var(--navy);color:#fff;padding:64px 0 0}
.ft__g{display:grid;grid-template-columns:minmax(0,446fr) minmax(0,318fr) minmax(0,308fr);padding-bottom:32px}
.ft__since{display:flex;align-items:center;gap:10px;margin-top:20px;font:400 16px/24px var(--f-dm);color:rgba(245,245,245,.85)}
.ft__since::before{content:"";width:54px;height:1px;background:#fff}
.ft__desc{margin-top:28px;max-width:308px;font:400 16px/24px var(--f-dm);color:rgba(255,255,255,.8)}
.ft .ft__h{margin-top:40px;font:700 34px/47.6px var(--f-play);letter-spacing:-1.36px;text-transform:uppercase}
.ft__rows{margin-top:29px;display:flex;flex-direction:column;gap:10px;font:400 16px/24px var(--f-dm);color:rgba(255,255,255,.8)}
.ft__addr{margin-top:29px;font:400 16px/24px var(--f-dm);color:rgba(255,255,255,.8)}
.ft__rows a:hover{color:#fff}
.ft__bot{border-top:1px solid rgba(255,255,255,.1);min-height:67px;display:flex;align-items:center;justify-content:space-between;padding-top:4px}
.ft__copy{font:400 16px/24px var(--f-dm);color:rgba(255,255,255,.8)}
.ft__nav{display:flex;gap:46px;padding-right:13px}
.ft__disc{border-top:1px solid rgba(255,255,255,.06);padding:16px 0 26px;font:400 13px/20px var(--f-dm);color:rgba(255,255,255,.66)}
.ft__disc a{text-decoration:underline;text-underline-offset:2px}

/* ---------- inner pages ---------- */
.pg{padding:60px 0 64px}
.pg--top150{padding-top:60px}
.ptitle{text-align:center}
.ptitle .lead18{max-width:697px;margin:16px auto 0}
.pg .sgrid{margin-top:64px;row-gap:37.5px}
.back{margin-top:64px}
.sd__h1{font:500 64px/70.4px var(--f-play);letter-spacing:-2.56px;color:var(--navy)}
.sd__ban{margin-top:10px;width:100%;aspect-ratio:1072/495;object-fit:cover;border-radius:0 0 110px 110px}
.rt{margin-top:36px}
.rt h2{font:700 34px/47.6px var(--f-play);letter-spacing:-1.36px;color:#000}
.rt h3{margin-top:40px;font:900 34px/47.6px var(--f-play);letter-spacing:-1.36px;color:#000}
.rt p{margin-top:20px;font:400 16px/19.2px var(--f-inter);color:#000}
.rt p+p{margin-top:32px}
.rt p.b{font-weight:700;margin-top:0}
.pd__no{font:700 24px/33.6px var(--f-dm);letter-spacing:-.96px;color:#8A8A8A}
.pd__ban{margin-top:64px;width:100%;aspect-ratio:1072/525;object-fit:cover;border-radius:24px}
.pd .rt{margin-top:64px}
.tix .eb--plain{font:300 18px/27px var(--f-inter);color:#000}
.tix .d50{margin-top:10px}
.tix .lead18{margin-top:20px}
.tix__grid{margin-top:64px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:calc(var(--k) * 32);row-gap:32px}
.tix .tcard{height:252px}
.at__back{margin-bottom:110px}
.pg.at{padding-bottom:110px}
.at__g{display:grid;grid-template-columns:minmax(0,506fr) minmax(0,526fr);column-gap:calc(var(--k) * 40);align-items:center;min-height:421px}
.at__role{font:600 24px/33.6px var(--f-dm);letter-spacing:-.48px;color:rgba(28,37,50,.8)}
.at__g h1{margin-top:20px}
.at__ct{margin-top:34px;display:flex;flex-direction:column;gap:10px}
.at__ct a{display:flex;align-items:center;gap:10px;font:400 18px/27px var(--f-inter);color:rgba(28,37,50,.85)}
.at__ct svg{width:27px;height:24px;color:var(--gold)}
.at__sum{margin-top:34px;font:400 16px/24px var(--f-inter);letter-spacing:-.64px;color:rgba(28,37,50,.85)}
.at__img{width:100%;aspect-ratio:526/361;object-fit:cover;border-radius:24px}
.at .rt{margin-top:32px}
.ct{position:relative;color:#fff;padding:60px 0 64px;overflow:hidden}
.ct__bg{position:absolute;inset:0}
.ct__bg img{width:100%;height:100%;object-fit:cover}
.ct__bg::after{content:"";position:absolute;inset:0;background:rgba(10,18,27,.82)}
.ct .wrap{position:relative}
.ct__top{align-items:end}
.ct__top .eb--plain{color:#fff;margin-bottom:10px}
.ct__top .d50{color:#fff;max-width:492px}
.ct__intro{font:300 18px/27px var(--f-inter);color:#fff;padding-bottom:0}
.ct__g{margin-top:54px}
.ct__row{display:flex;align-items:center;gap:14px;font:300 18px/28.8px var(--f-idisp);color:#EDEDED}
.ct__row+.ct__row{margin-top:20px}
.ct__row svg{width:20px;height:22px;color:var(--gold);flex:none}
.map{margin-top:20px;width:100%;aspect-ratio:506/405;border-radius:14px;overflow:hidden;background:#E9E4D8;display:block}
.map svg{width:100%;height:100%;display:block}
.form{display:grid;grid-template-columns:1fr 1fr;column-gap:calc(var(--k) * 30);row-gap:20px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld--full{grid-column:1/-1}
.fld label{font:400 12px/18px var(--f-inter);color:#EACB6E}
.fld input,.fld select,.fld textarea{height:40px;border:1px solid transparent;border-radius:6px;background:#fff;padding:0 12px;font:400 16px/20px var(--f-inter);color:#1B2942;width:100%}
.fld textarea{height:200px;padding:10px 12px;resize:vertical}
.fld ::placeholder{color:#8A8F96}
.fld.err input,.fld.err textarea{border-color:#FF8A7A;box-shadow:0 0 0 2px rgba(255,138,122,.45)}
.fld .msg{display:none;font:500 13px/18px var(--f-inter);color:#FFB4A8}
.fld.err .msg{display:block}
.submit{grid-column:1/-1;margin-top:10px;height:50px;border-radius:25px;background:var(--gold);color:var(--stat-ink);font:500 18px/28.8px var(--f-idisp);transition:background-color .4s}
.submit:hover{background:rgba(212,175,55,.75)}
.form__note{grid-column:1/-1;font:400 13px/19px var(--f-inter);color:rgba(255,255,255,.88)}
.lg{padding:60px 0 64px}
.lg__col{max-width:calc(var(--k) * 950);margin:0 auto}
.lg__col img{width:100%;aspect-ratio:950/543;object-fit:cover;border-radius:24px}
.lg__col .lead18{margin-top:32px}
.lg__col .lead18:first-of-type{margin-top:60px}
.lg__sec2{margin-top:128px}
.lg__col h2{margin-top:60px;font:400 24px/38.4px var(--f-dm);letter-spacing:-.48px;color:var(--navy)}
.lg__col h2+.lead18{margin-top:10px}
.lg__col h2~h2{margin-top:32px}
.lg .back{margin-left:calc(var(--k) * -56);margin-top:60px}
.full{position:relative;height:900px;color:#fff;display:grid;place-items:center;text-align:center;overflow:hidden;margin-top:-90px;padding-top:90px}
.full__bg{position:absolute;inset:0}
.full__bg img{width:100%;height:100%;object-fit:cover}
.full__bg::after{content:"";position:absolute;inset:0;background:rgba(18,34,52,.7)}
.full--dark .full__bg::after{background:rgba(8,10,14,.6)}
.full__c{position:relative;padding:0 20px}
.full__big{font:400 150px/165px var(--f-dm);letter-spacing:-6px;text-transform:uppercase}
.full p{margin:10px auto 0;max-width:723px;font:300 18px/27px var(--f-inter);color:rgba(255,255,255,.92)}
.full .btn{margin-top:30px}
.hdr--inner-over{position:relative;z-index:50}

/* ---------- mobile CTA bar (house floor) ---------- */
.mbar{display:none}

/* ---------- reveal system (html.js scoped; no-JS and reduced-motion render complete) ---------- */
.js .rv{opacity:0;transform:translateY(100px)}
.js .scard.rv{transform:translateY(50px)}
.js .scard.rv.in{transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}
.js .rv.in{opacity:1;transform:none;transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);transition-delay:var(--d,0s)}
.hero .hv{animation:hv .9s var(--ease) both;animation-delay:var(--d,.25s)}
.hero .hvt{animation:hvt .9s var(--ease) both;animation-delay:var(--d,.25s)}
@keyframes hv{from{opacity:0;transform:translateY(95px)}to{opacity:1;transform:none}}
@keyframes hvt{from{transform:translateY(95px)}to{transform:none}}
/* with JS (html.js set before first paint) the h1 and lead fade with the rise, as the reference does; without JS they stay painted */
.js .hero .hvt{animation-name:hv}

/* =================== TABLET 810-1199 =================== */
@media (max-width:1199px){
  .wrap{width:auto;padding-inline:32px}
  .hdr__in{display:flex;justify-content:space-between;max-width:770px;margin-inline:auto;padding-inline:0}
  .hdr .wrap{padding-inline:20px}
  .nav,.hdr__cta{display:none}
  .burger.circ-btn{display:grid}
  .hero{height:800px}
  .hero .wrap{padding-inline:64px}
  .hero__copy{position:relative;top:0;left:auto;width:auto;max-width:707px;padding-top:200px}
  .hero__lead{max-width:664px}
  .hero h1{font-size:48px;line-height:52.8px;letter-spacing:-1.92px;margin-top:20px}
  .hero__lead{margin-top:22px}
  .trust{margin-top:28px}
  .hero__btns{margin-top:28px;align-items:center}
  .adv{position:static;background:none;border:0;padding:0;width:auto;height:auto;-webkit-backdrop-filter:none;backdrop-filter:none}
  .adv__ph,.adv__ph img{width:90px;height:90px;border-radius:50%}
  .adv__ph img{border:2px solid rgba(255,255,255,.7)}
  .adv__call{width:30px;height:30px;right:-4px;bottom:-2px}
  .adv--d{display:none}
  .adv--m{display:block}
  .hero__row{display:flex;align-items:center;gap:40px}
  .d64,.sd__h1,.at__g h1{font-size:48px;line-height:52.8px;letter-spacing:-1.92px}
  .sec{padding:32px 0 64px}
  .g2,.why .g-why,.team .g-team,.proc .g-proc{display:block;margin-right:0}
  .about .wrap{max-width:746px;padding-inline:32px}
  .about .d64{max-width:682px}
  .feats{margin-top:60px}
  .about__img{margin-top:60px}
  .why .wrap{max-width:810px}
  .why__r{margin-top:64px}
  .why .d50{font-size:50px}
  .team .lead18,.faq .lead18{max-width:none}
  .tgrid{margin-top:64px;grid-template-columns:repeat(2,minmax(0,350px));justify-content:start;column-gap:0}
  .team__btn{display:flex;justify-content:center;margin-top:20px}
  .team__l{display:block}
  .sgrid{grid-template-columns:1fr;row-gap:20px}
  .scard p{max-width:none}
  .proc__l{position:static;max-width:521px;padding-inline:10px}
  .proc__r{margin-top:64px}
  .step img{aspect-ratio:960/400}
  .ms .g2{display:flex;flex-direction:column;align-items:stretch}
  .ms__l{padding-bottom:0;align-self:stretch}
  .ms__l img{aspect-ratio:960/400}
  .ms__r{margin-top:64px}
  .ms__list{margin-top:40px}
  .testi .d64,.svc__head .d50,.cta__c,.ms__l,.lg__col{max-width:none}
  .tq{margin-top:40px}
  .faq .acc{margin-top:40px}
  .cta .wrap{padding-inline:32px;width:100%}
  .cta--inset .cta__c{margin-left:32px}
  .ft .wrap{padding-inline:64px}
  .ft__g{grid-template-columns:minmax(0,318fr) minmax(0,578fr);row-gap:0}
  .ft__brand{grid-column:1/-1}
  .ft__nav{padding-right:0}
  .ft__bot{flex-direction:column;align-items:flex-start;gap:14px;padding:20px 0}
  .tix__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .about__img img{aspect-ratio:682/400}
  .cta{height:800px}
  .testi{padding:64px 0 104px}
  .ct .ct__top{text-align:center;align-items:center}
  .ct__top .d50{max-width:none}
  .ct .ct__g{flex-direction:column-reverse}
  .map{aspect-ratio:960/400}
  .at__g{display:flex;flex-direction:column-reverse;align-items:stretch;gap:40px}
  .at__back{margin-bottom:60px}
  .ct__top,.ct__g{display:flex;flex-direction:column;gap:32px}
  .lg__col{max-width:none}
  .lg .back{margin-left:0}
  .full__big{font-size:120px;line-height:132px}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--navy);border-top:1px solid rgba(255,255,255,.1)}
  .mbar a{flex:1;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:10px;font:500 17px/1 var(--f-dm)}
  .mbar a svg{width:18px;height:18px}
  .mbar__call{border:1px solid rgba(255,255,255,.3);color:#fff}
  .mbar__go{background:var(--gold);color:var(--navy)}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  body.menu-open .mbar{display:none}
}

/* =================== PHONE < 810 =================== */
@media (max-width:809px){
  .wrap,.about .wrap,.why .wrap,.cta .wrap,.ft .wrap,.hero .wrap{padding-inline:20px;max-width:none}
  .hdr .wrap{padding-inline:20px}
  .hdr__in{max-width:none}
  .logo svg{width:41px}
  .hero{height:auto;min-height:664px}
  .hero__bg img{object-position:28% 50%}
  .hero__bg::after{background:linear-gradient(0deg,rgba(9,14,22,.72),rgba(9,14,22,.55))}
  .hero__copy{padding:118px 0 40px;max-width:none}
  .badge{height:48px;font-size:16px;padding:0 14px}
  .hero h1{font-size:34px;line-height:37.4px;letter-spacing:-1.36px;margin-top:22px}
  .hero__lead{font-size:14px;line-height:16.8px;margin-top:18px}
  .trust{margin-top:24px;align-items:flex-start}
  .trust__t{font-size:18px}
  .hero__btns{flex-direction:column;gap:10px;align-items:stretch;margin-top:24px}
  .hero__btns .btn{width:100%}
  .hero__row{flex-direction:column;align-items:center;gap:22px}
  .hero__row .hero__btns{width:100%}
  .d64,.sd__h1,.at__g h1{font-size:34px;line-height:37.4px;letter-spacing:-1.36px}
  .d50,.why .d50{font-size:32px;line-height:44.8px}
  .lead18{font-size:14px;line-height:21px;letter-spacing:-.28px}
  .sec{padding:20px 0 40px}
  .about .lead18{margin-top:18px}
  .feats{margin-top:40px}
  .about__img{margin-top:40px}
  .stat{height:auto;min-height:144px}
  .why__r{grid-template-columns:1fr;margin-top:40px}
  .wcard{height:184px;border-radius:4px}
  .wcard h3{font-size:14px;line-height:16.8px}
  .wcard p{min-height:0}
  .why .btn{margin-top:28px}
  .tgrid{grid-template-columns:1fr;margin-top:40px}
  .tix__grid{grid-template-columns:1fr}
  .sgrid,.pg .sgrid{margin-top:40px}
  .scard{height:325px}
  .scard h3{margin-top:auto}
  .scard p{margin-bottom:18px}
  .scard u{margin-top:0;margin-bottom:22px}
  .scard__in{padding-top:20px}
  .proc__l{padding-inline:10px}
  .proc__r{margin-top:40px;gap:40px}
  .step img{aspect-ratio:350/400}
  .step p:not(.step__n){font-size:14px;line-height:16.8px}
  .ms__row{padding:0 12px}
  .ms__row .n{font:600 20px/32px var(--f-dm);color:#8F7118}
  .ms__row .t{font:500 18px/28.8px var(--f-dm)}
  .ms__row .y{font-size:16px}
  .ms__list{gap:12px}
  .testi{padding:20px 0 40px}
  .acc__q{align-items:flex-start}
  .cta{height:auto;padding:60px 0}
  .cta--inset{padding:0 0 40px}
  .cta--inset .cta__box{height:auto;padding:60px 0}
  .cta--inset .cta__c{margin-left:20px;margin-right:20px}
  .ft{padding-top:24px}
  .ft .ft__h{margin-top:32px}
  .ft__g{display:block}
  .ft__nav{flex-direction:column;gap:20px;padding-left:13px}
  .ft__since{font-size:14px}
  .pg{padding:60px 0 40px}
  .ptitle{text-align:left}
  .ptitle .lead18{margin-left:0}
  .sd__ban{border-radius:0 0 50px 50px;aspect-ratio:350/300}
  .rt h3{margin-top:32px}
  .pd__ban{aspect-ratio:350/300;border-radius:18px;margin-top:40px}
  .pd .rt{margin-top:40px}
  .at__back{margin-bottom:102px}
  .pg.at{padding-bottom:110px}
  .at__img{aspect-ratio:350/391}
  .cta--inset .cta__box{padding:36px 0 30px}
  .cta--inset{padding-bottom:19px}
  .form{grid-template-columns:1fr}
  .ct__intro{font-size:14px;line-height:21px;letter-spacing:-.28px}
  .ct{padding-bottom:22px}
  .ct .form{row-gap:14px}
  .ct .map{aspect-ratio:350/268}
  .form__note{font-size:12px;line-height:16px}
  .cta--inner:not(.cta--inset){padding-bottom:121px}
  .cta--inner:not(.cta--inset){padding-top:100px}
  .cta--inner .lead18{margin-top:20px}
  .cta--inner .btn{margin-top:48px}
  .ms__l img{aspect-ratio:350/400}
  .ct .ct__top{text-align:left;align-items:stretch}
  .ct .ct__g{flex-direction:column}
  .about__img img{aspect-ratio:350/400}
  .map{aspect-ratio:350/300}
  .full{height:664px}
  .full__big{font-size:68px;line-height:76px;letter-spacing:-2.7px}
  .full p{font-size:16px;line-height:24px}
  .lg__col .lead18{font-size:16px;line-height:24px}
  .lg__col h2{font-size:22px;line-height:32px}
}

@media (prefers-reduced-motion:reduce){
  .js .rv{opacity:1;transform:none}
  .hero .hv,.hero .hvt{animation:none}
  .tq__track{animation:none}
  .roll span,.btn,.hdr__bar,.ms__row,.acc__a{transition:none}
  html{scroll-behavior:auto}
}

@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("../fonts/playfair-display-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("../fonts/playfair-display-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("../fonts/playfair-display-900.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"Electrolize";src:url("../fonts/electrolize-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Display";src:url("../fonts/inter-display-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Display";src:url("../fonts/inter-display-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
