/* fm-civilex - Serrano Litigation. Likeness rebuild, original CSS. */
@font-face{font-family:"Manrope";src:url("../fonts/manrope-400.woff2") format("woff2");font-weight:400;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-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("../fonts/inter-tight-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  --ink:#2C2E29;
  --ink-80:rgba(44,46,41,.8);
  --ink-75:rgba(44,46,41,.75);
  --ink-60:rgba(44,46,41,.6);
  --ink-30:rgba(44,46,41,.3);
  --ink-05:rgba(44,46,41,.05);
  --black:#000000;
  --grey:#666666;
  --dark:#3E2A1F;
  --dark-16:rgba(62,42,31,.16);
  --accent:#C64806;
  --blush:#EBE5E2;
  --blush-2:#EBE4E1;
  --paper:#F2ECE9;
  --paper-2:#FAF7F5;
  --notch:#FBF9F8;
  --white:#fff;
  --line:rgba(222,220,218,.6);
  --r-sm:4px; --r-md:6px; --r-lg:8px; --r-xl:12px; --r-2xl:24px;
  --gut:58px;
  --wrap:1325px;
  --hdr:86px;
  --e:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:"Inter",system-ui,sans-serif;font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,h5,p,figure,ul,ol{margin:0}
ul{padding:0;list-style:none}
.skip{position:absolute;left:-9999px;top:0;background:var(--dark);color:#fff;padding:10px 16px;z-index:200}
.skip:focus{left:8px;top:8px}
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--dark);outline-offset:3px}

/* --- type ------------------------------------------------------------ */
.d1,.d2,.d3{font-family:"Manrope",system-ui,sans-serif;font-weight:400;color:var(--black)}
.d1{font-size:56px;line-height:67.2px;letter-spacing:-1.12px}
.d2{font-size:42px;line-height:50.4px;letter-spacing:-.96px}
.d3{font-size:32px;line-height:38.4px;letter-spacing:-.8px}
.mute{color:var(--ink-60)}
.h20{font-family:"Manrope",system-ui,sans-serif;font-weight:400;font-size:20px;line-height:30px;color:var(--ink)}
.lead{font-size:16px;line-height:24px;color:var(--grey)}
.sm{font-size:14px;line-height:21px}
.xs{font-size:12px;line-height:18px}
.eyebrow-slot{display:block;height:21px;margin-bottom:29px}
.eyebrow-slot.on{font-size:14px;line-height:21px;font-weight:500;letter-spacing:.6px;text-transform:uppercase;color:var(--dark)}
.eyebrow{font-size:14px;line-height:21px;font-weight:500;letter-spacing:.6px;text-transform:uppercase;color:var(--ink);padding-bottom:20px}
.eyebrow.ghost{visibility:hidden}
@media (min-width:1440px){.eyebrow.ghost-d{visibility:hidden}}

.wrap{width:92%;margin-inline:auto}
@media (min-width:1440px){.hero .wrap{width:1325px}}
.center{text-align:center}

/* --- buttons: label sits still, a fill rises from the bottom on hover -- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;
  border:0;border-radius:var(--r-sm);padding:13px 24px;font-size:16px;line-height:20px;
  overflow:clip;cursor:pointer;background:transparent;isolation:isolate}
.btn span{position:relative;z-index:2}
.btn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:0;z-index:1;
  border-radius:var(--r-sm);transition:height .34s var(--e)}
.btn:hover::after,.btn:focus-visible::after{height:100%}
.btn-p{color:#fff;background:var(--dark)}
.btn-p::after{background:var(--accent)}
.btn-s{color:var(--dark);background:var(--dark-16);backdrop-filter:blur(9px)}
.btn-s::after{background:var(--black)}
.btn-s:hover,.btn-s:focus-visible{color:#fff}

/* --- header ---------------------------------------------------------- */
.hdr{position:fixed;top:0;left:0;right:0;height:var(--hdr);z-index:6;background:rgba(242,236,233,.6)}
.hdr-in{height:100%;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;height:44px}
.brand .seal{width:44px;height:44px;flex:none}
.brand .wm{font-family:"Manrope",system-ui,sans-serif;font-size:24px;line-height:44px;letter-spacing:-.4px;color:var(--ink)}
.nav{display:flex;align-items:center;gap:0;margin-left:90px;margin-right:auto}
.nav-a{position:relative;display:block;padding:12px 24px;font-family:"Inter Tight",system-ui,sans-serif;
  font-size:18px;line-height:20px;color:rgba(44,46,41,.7)}
.nav-a .roll{position:relative;display:block;height:20px;overflow:hidden}
.nav-a .t{display:block;transition:transform .34s var(--e)}
.nav-a .t2{position:absolute;left:0;top:0;transform:translateY(100%)}
.nav-a:hover .t1,.nav-a:focus-visible .t1{transform:translateY(-100%)}
.nav-a:hover .t2,.nav-a:focus-visible .t2{transform:translateY(0)}
.nav-a[aria-current]{color:var(--ink)}
.hdr .btn{font-size:16px}
.hdr-tel{display:inline-flex;align-items:center;gap:8px;margin-right:24px;padding:13px 0;font-family:"Inter Tight",system-ui,sans-serif;font-size:16px;line-height:20px;color:var(--ink)}
.hdr-tel svg{width:18px;height:18px;flex:none}
.hdr-tel:hover span{text-decoration:underline;text-underline-offset:3px}
.nav-tel{display:none}
@media (max-width:1180px){.hdr-tel span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hdr-tel{margin-right:18px}}
.burger{display:none;width:36px;height:46px;align-items:center;justify-content:center;background:none;border:0;cursor:pointer}
.burger i{display:block;width:22px;height:1.5px;background:var(--ink);position:relative}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:22px;height:1.5px;background:var(--ink)}
.burger i::before{top:-7px}.burger i::after{top:7px}
.topspace{height:71px;background:var(--white)}
.topspace.inner{height:100px;background:var(--paper)}

/* --- hero ------------------------------------------------------------ */
.hero{position:relative;padding:80px 0 156px;background:linear-gradient(rgba(255,254,253,.3) 0%,rgba(242,236,233,.89) 100%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,401fr) minmax(0,450fr) minmax(0,430fr);gap:22px;min-height:609px}
.hero-copy{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:24px;width:100%}
.hero-copy .d1{width:583px;max-width:none;position:relative;z-index:3}
.hero-copy .lead{margin-top:7px;width:401px;max-width:100%;position:relative;z-index:3}
.h1wrap{position:relative}
.hero-notch{position:absolute;z-index:-1;left:calc(var(--gut) * -1);top:8px;pointer-events:none;display:block}
.photo-notch{display:none}
/* the reference bakes the notch into the photo, so it only paints where the photo is */
@media (min-width:1440px){.hero-notch{clip-path:inset(0 0 0 481px)}}
.btn-row{display:flex;gap:8px;padding:44px 0;margin-top:12px}
.avatars{display:flex;align-items:center;gap:14px;margin-top:12px}
.av-stack{display:flex}
.av-stack img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,.7)}
.av-stack img+img{margin-left:-21px}
.avatars p{font-size:14px;line-height:21px;color:var(--ink-80);max-width:200px}
.hero-media{position:relative;z-index:1;border-radius:var(--r-xl);overflow:hidden;height:609px}
.hero-media>img{position:absolute;left:15px;top:5px;width:536px;height:744px;max-width:none;object-fit:cover}
.hero-media .ov{position:absolute;inset:42px;display:flex;flex-direction:column;justify-content:space-between}
.hero-side{display:flex;flex-direction:column;justify-content:flex-start;padding-top:79px}
.hero-side .h20{color:var(--black)}
.hero-side .lead{margin-top:8px}
.hero-card{position:relative;margin-top:20px;height:424px;border-radius:var(--r-xl);overflow:hidden}
.hero-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-card .ov{position:absolute;inset:32px;display:flex;flex-direction:column;justify-content:space-between}
.chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px}
.chip{background:rgba(44,46,41,.66);backdrop-filter:blur(17px);border-radius:var(--r-sm);padding:8px 12px;
  color:#fff;font-size:14px;line-height:21px}
.dots{display:grid;grid-template-columns:12px 12px;gap:4px;width:28px}
.dots i{width:12px;height:12px;border-radius:50%;background:var(--ink-30);display:block}
.dots.deep i{background:var(--ink-60)}
.dots i.on{background:#fff}
.dots.tr{align-self:flex-end;justify-self:end;margin-left:auto}
.ring{position:absolute;left:50%;bottom:-112px;transform:translateX(-50%);width:240px;height:240px;
  border-radius:50%;background:var(--white);display:grid;place-items:center;z-index:5}
.ring-in{position:relative;width:220px;height:220px;border-radius:50%;background:var(--dark);display:grid;place-items:center}
.ring-in svg.rot{position:absolute;inset:0;width:220px;height:220px;animation:spin 26s linear infinite}
.ring-in text{font-family:"Inter",sans-serif;font-size:14px;letter-spacing:1.12px;fill:var(--paper)}
.ring-btn{width:80px;height:80px;border-radius:50%;background:var(--paper);display:grid;place-items:center;color:var(--dark)}
.ring-btn svg{width:22px;height:22px}
@keyframes spin{to{transform:rotate(360deg)}}

/* --- stats / consultation -------------------------------------------- */
.band{position:relative}
.stats{background:var(--paper-2);padding:156px 0}
.stats .eyebrow{padding-bottom:25px}
.split{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:10px;align-items:start}
.split .d2{padding-top:4px}
.d2.cap402{max-width:402px}
.split-r{display:flex;flex-direction:column;gap:32px;padding-top:24px;max-width:420px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:72px}
.stat-card{position:relative;height:515px;border-radius:var(--r-xl);background:var(--ink-05);overflow:hidden;
  display:flex;flex-direction:column;justify-content:space-between}
.stat-fill{position:absolute;left:0;right:0;bottom:0;height:124px;background:var(--dark)}
.stat-card:nth-child(2) .stat-fill{height:200px}
.stat-card:nth-child(3) .stat-fill{height:264px}
.stat-card:nth-child(4) .stat-fill{height:350px}
.stat-num{position:relative;padding:32px;font-family:"Manrope",sans-serif;font-size:40px;line-height:48px;
  letter-spacing:-.8px;color:var(--ink);display:flex}
.reel{display:inline-block;height:48px;overflow:hidden}
.reel span{display:block;height:48px}
html:not(.js) .reel span{transform:translateY(-144px)}
.stat-card h3{position:relative;padding:32px;font-family:"Manrope",sans-serif;font-weight:400;font-size:20px;
  line-height:30px;color:#fff;white-space:pre-line}

/* --- services -------------------------------------------------------- */
.services{background:var(--blush-2);padding:156px 0}
.services.on-paper{background:var(--paper)}
/* reference practice band ends 115px below the caption top (its caption overflows the band box) */
@media (min-width:1440px) and (max-width:1919px){.services{padding-bottom:115px}.services.on-paper{padding-bottom:125px}}
.svc-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}
.svc-top>div:first-child{padding-top:19px}
.svc-list{display:flex;flex-direction:column;gap:2px}
.svc-row{position:relative;display:flex;align-items:center;justify-content:space-between;padding:18px 10px;gap:16px}
.svc-row h3,.svc-row .n{font-family:"Manrope",sans-serif;font-weight:400;font-size:20px;line-height:30px;color:var(--ink-75);transition:color .3s var(--e)}
.svc-row::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--line)}
.svc-row .bar{position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--ink);transition:width .45s var(--e);z-index:1}
.svc-row:hover h3,.svc-row:hover .n{color:var(--ink)}
.svc-row:hover .bar{width:100%}
.svc-feat{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:72px}
.on-paper .svc-feat{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding-left:6px}
.on-paper .svc-feat .shot{height:504px}

.svc-feat a{display:flex;flex-direction:column;gap:12px}
.svc-feat .shot{border-radius:var(--r-xl);overflow:hidden;height:514px}
.svc-feat img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--e)}
.svc-feat a:hover img{transform:scale(1.03)}

/* --- why ------------------------------------------------------------- */
.why{padding:156px 0;background:linear-gradient(180deg,#FCFAF9 0%,#FAF7F5 40%,#FBF8F6 100%)}
.head-c{display:flex;flex-direction:column;align-items:center;text-align:center}
.head-c .d2{max-width:900px}
.head-c .lead{margin-top:12px;max-width:400px}
.head-c .btn{margin-top:56px}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:72px}
.why-card{height:515px;border-radius:var(--r-xl);padding:32px;display:flex;flex-direction:column;justify-content:space-between}
.why-card:nth-child(odd){background:var(--paper)}
.why-card:nth-child(even){background:var(--paper-2)}
.why-grid .why-card:nth-child(4){background:var(--paper-2)}
.why-grid .why-card:nth-child(5){background:var(--paper)}
.why-grid .why-card:nth-child(6){background:var(--paper-2)}
.ico{width:52px;height:52px;border-radius:var(--r-md);background:var(--dark);color:#fff;display:grid;place-items:center;flex:none}
.ico svg{width:24px;height:24px}
.why-card .h20{color:var(--ink)}
.why-card p{margin-top:8px;font-size:16px;line-height:24px;color:var(--ink-75)}

/* --- testimonials ---------------------------------------------------- */
.testi{background:var(--paper);padding:112px 0 156px;overflow:hidden}
.testi .head-c .lead{max-width:1021px}
.team .head-c .lead{max-width:790px}
.testi .head-c{padding-bottom:102px}
.marquee{margin-top:120px;position:relative;height:412px}
.mq-track{display:flex;gap:70px;width:max-content;position:absolute;left:0;top:-28px;animation:slide 76s linear infinite}
.tcard{width:435px;flex:none;padding:42px 32px;border-radius:var(--r-xl);
  display:flex;flex-direction:column;gap:56px;min-height:412px;box-shadow:0 18px 40px rgba(44,46,41,.06)}
.tcard:nth-child(odd){background:var(--white);transform:rotate(-8deg)}
.tcard:nth-child(even){background:var(--dark);transform:rotate(8deg)}
.tcard .clip{position:absolute;top:6px;left:50%;margin-left:-20px;width:40px;height:54px;color:rgba(44,46,41,.28)}
.tcard{position:relative}
.tcard .qhead{display:flex;justify-content:flex-end}
.tcard .qmark{width:61px;height:61px;color:rgba(44,46,41,.25)}
.tcard:nth-child(even) .qmark{color:rgba(242,236,233,.35)}
.tcard:nth-child(even) .clip{color:rgba(242,236,233,.5)}
.tq{margin-top:-30px;font-size:16px;line-height:24px;color:var(--ink-75)}
.tcard:nth-child(even) .tq{color:rgba(242,236,233,.78)}
.tauth{display:flex;align-items:center;gap:8px;margin-top:auto}
.tauth img{width:47px;height:47px;border-radius:50%;object-fit:cover}
.tauth b{display:block;font-size:14px;line-height:21px;font-weight:500;color:var(--ink)}
.tauth span{display:block;font-size:12px;line-height:18px;color:var(--grey)}
.tcard:nth-child(even) b{color:#fff}
.tcard:nth-child(even) span{color:rgba(242,236,233,.8)}
@keyframes slide{from{transform:translateX(-1515px)}to{transform:translateX(0)}}

/* --- team ------------------------------------------------------------ */
.team{padding:156px 0 112px;position:relative;overflow:hidden}
.vactor{position:absolute;width:490px;height:490px;opacity:.5;color:rgba(44,46,41,.06)}
.vactor.l{left:-82px;top:373px}
.vactor.r{right:-82px;top:373px}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:72px}
.tm{position:relative;height:456px;border-radius:var(--r-xl);overflow:hidden;padding:32px;display:flex;flex-direction:column;justify-content:space-between}
.tm>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tm .fade{position:absolute;left:0;right:0;bottom:0;height:200px;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.94) 60%,#fff 100%);transition:height .4s var(--e)}
.tm:hover .fade{height:250px}
.tm .soc{position:relative;display:flex;gap:5px;justify-content:flex-end}
.tm .soc .tile{width:38px;height:38px;border-radius:var(--r-sm);background:var(--blush);display:grid;place-items:center;color:var(--ink)}
.tm .soc svg{width:18px;height:18px}
.tm .who{position:relative}
.tm .who b{display:block;font-size:16px;line-height:28px;font-weight:500;letter-spacing:-.12px;color:var(--ink)}
.tm .who span{display:block;font-size:14px;line-height:21px;color:var(--grey)}
.creds{margin-top:12px;background:var(--paper);border-radius:var(--r-xl);padding:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cred{background:var(--paper-2);border-radius:var(--r-lg);padding:42px 32px;display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:64px;min-height:280px}
.cred .ico{background:var(--blush);color:var(--dark)}
.cred .h20{line-height:28px}
.cred p{margin-top:4px;font-size:16px;line-height:24px;color:var(--ink-75)}

/* --- blog ------------------------------------------------------------ */
.blogband{background:var(--paper-2);padding:112px 0 156px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 20px;margin-top:72px}
.post{display:flex;flex-direction:column;gap:8px}
.meta{display:flex;align-items:center;gap:18px;background:var(--ink-05);border-radius:var(--r-lg);padding:10px 24px}
.meta p{font-family:"Inter",sans-serif;font-size:18px;line-height:27px;color:var(--grey)}
.meta i{width:6px;height:6px;border-radius:50%;background:var(--ink);display:block}
.post .shot{border-radius:var(--r-lg);overflow:hidden;height:374px}
.post .shot img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--e)}
.post:hover .shot img{transform:scale(1.03)}
.post .h20{padding:0 12px;margin-top:4px}
.post .ex{padding:0 12px;font-size:16px;line-height:24px;color:var(--grey)}

/* --- contact --------------------------------------------------------- */
.contactband{background:var(--paper);padding:112px 0}
.c-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}
.c-left{display:flex;flex-direction:column}
.c-left .lead{margin-top:12px;max-width:520px}
.c-rows{margin-top:82px;display:flex;flex-direction:column;gap:24px}
.c-row{display:flex;gap:12px;align-items:center}
.c-row>div{flex:1;min-width:0}
.c-line{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px}
.c-line i{width:4px;height:4px;border-radius:50%;background:var(--ink-30);display:block}
.c-row .ico{width:64px;height:64px}
.c-row b{display:block;font-size:16px;line-height:24px;font-weight:400;color:var(--ink)}
.c-row>div>span,.c-row>div>a,.c-line a{display:block;font-size:14px;line-height:21px;color:var(--ink-75)}
.c-row>div>a:hover,.c-line a:hover{color:var(--ink)}
.form{background:var(--paper-2);border-radius:var(--r-xl);padding:32px;display:flex;flex-direction:column;gap:32px}
.f2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 16px}
.field{display:flex;flex-direction:column;gap:10px}
.field p{font-size:14px;line-height:21px;color:var(--ink-75)}
.field input,.field select,.field textarea{background:var(--blush);border:0;border-radius:var(--r-lg);
  padding:16px;font-size:14px;line-height:21px;color:var(--ink);width:100%}
.field input,.field select{height:53px}
.form>.btn{align-self:flex-start}
.field textarea{min-height:200px;resize:vertical}
.field ::placeholder{color:rgba(44,46,41,.72)}
.form .fine{font-size:14px;line-height:21px;color:var(--grey)}
.contactband.v3 .form{background:var(--dark);box-shadow:inset 0 0 0 1px rgba(242,236,233,.14)}
.contactband.v3 .field,.contactband.v3 .field p,.contactband.v3 .form .fine{color:rgba(242,236,233,.8)}
.contactband.v3 .form>.btn{background:#fff;color:var(--dark);backdrop-filter:none}
.contactband.v3 .form>.btn::after{background:var(--accent)}
.contactband.v3 .form>.btn:hover,.contactband.v3 .form>.btn:focus-visible{color:#fff}
/* inline error state, in the form's own language: a hairline on the field plus a 12px note */
.f-err{display:block;font-size:12px;line-height:18px;color:#9E3A06}
.f-err[hidden]{display:none}
.field.is-err input,.field.is-err textarea,.field.is-err select{box-shadow:inset 0 0 0 1.5px #9E3A06}
.contactband.v3 .f-err{color:#FFD2BA}
.contactband.v3 .field.is-err input,.contactband.v3 .field.is-err textarea{box-shadow:inset 0 0 0 1.5px #FFB896}
.cta-form{flex-wrap:wrap}
.cta-form .cta-err{flex:1 0 100%;padding:6px 16px 4px;text-align:left}
.cta-form.is-err{box-shadow:inset 0 0 0 1.5px #9E3A06}
.ok{display:none;background:var(--dark);color:#fff;border-radius:var(--r-lg);padding:16px 20px;font-size:14px;line-height:21px}
.ok.show{display:block}

/* --- CTA ------------------------------------------------------------- */
.cta{padding:156px 0;position:relative;overflow:hidden}
.cta .d2{max-width:700px;margin-inline:auto}
.cta .lead{margin-top:12px;max-width:780px;margin-inline:auto}
.cta-form{margin:56px auto 0;width:520px;position:relative;display:flex;align-items:center;
  background:var(--ink-05);border-radius:var(--r-lg);padding:4px}
.cta-form input{flex:1;background:transparent;border:0;padding:12px 16px;font-size:14px;line-height:21px;color:var(--ink)}
.cta-form .btn{flex:none}
.cta-note{margin-top:20px;display:flex;align-items:center;justify-content:center;gap:14px}
.cta-note .av-stack img{width:20px;height:20px;border-radius:var(--r-sm);border:0}
.cta-note .av-stack img+img{margin-left:-6px}
.cta-note p{font-size:14px;line-height:21px;color:var(--ink-80)}
.cta-note b{font-weight:500;color:var(--ink)}
.cta-img{position:absolute;border-radius:2px;overflow:hidden;opacity:.92}
.cta-img img{width:100%;height:100%;object-fit:cover}
.ci1{left:165px;top:112px;width:120px;height:120px}
.ci2{left:307px;top:311px;width:82px;height:82px}
.ci3{left:165px;top:446px;width:120px;height:120px}
.ci4{right:165px;top:112px;width:120px;height:120px}
.ci5{right:307px;top:311px;width:82px;height:82px}
.ci6{right:165px;top:431px;width:135px;height:135px}

/* --- footer ---------------------------------------------------------- */
.ftr{background:var(--paper);padding:112px 0}
.ftr-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.ftr .brand{height:62px}
.ftr .brand .seal{width:62px;height:62px}
.ftr .brand .wm{font-size:34px;line-height:62px}
.ftr-blurb{margin-top:24px;max-width:513px;font-size:16px;line-height:24px;color:var(--grey)}
.socials{margin-top:32px;display:flex;gap:12px}
.socials a{width:38px;height:38px;border-radius:50%;background:var(--blush);display:grid;place-items:center;color:var(--ink)}
.socials svg{width:18px;height:18px}
.ftr-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ftr-cols{padding-right:6px}
.ftr-cols h2{font-size:14px;line-height:21px;font-weight:500;letter-spacing:.4px;color:var(--dark);text-transform:uppercase}
.ftr-cols ul{margin-top:10px;display:flex;flex-direction:column;gap:12px}
.ftr-cols li{line-height:21px}
.ftr-cols a{position:relative;font-size:14px;line-height:21px;color:var(--grey)}
.ftr-cols a::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--ink);transition:width .3s var(--e)}
.ftr-cols a:hover{color:var(--ink)}
.ftr-cols a:hover::after{width:100%}
.ftr-rule{margin-top:56px;height:1px;background:rgba(44,46,41,.12)}
.ftr-bot{padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ftr-bot p,.ftr-bot a{font-size:14px;line-height:21px;color:var(--grey)}
.ftr-legal{display:flex;align-items:center;gap:24px}
.ftr-legal i{width:6px;height:6px;border-radius:50%;background:var(--ink-30);display:block}
.ftr-disc{margin-top:24px;font-size:12px;line-height:18px;color:var(--grey);max-width:980px}

/* --- inner page heroes ----------------------------------------------- */
.phero{background:var(--paper);padding:80px 0 112px;display:flex;flex-direction:column;gap:112px}
.phero .inner{width:min(1360px,100% - 80px);margin-inline:auto;padding-bottom:24px}
.phero .d1{max-width:750px}
.phero .lead{margin-top:12px;max-width:750px}
.pchips{margin-top:56px;display:flex;flex-wrap:wrap;gap:12px;max-width:940px}
@media (min-width:1470px){.pchips{max-width:none;flex-wrap:nowrap}}
.pchip{border:1px solid rgba(44,46,41,.1);background:rgba(250,247,245,.6);border-radius:var(--r-sm);
  padding:8px 12px;font-size:14px;line-height:21px;color:var(--ink)}
.pchip b{font-weight:400;color:var(--ink-75)}
.phero .bleed{width:min(100%,1880px);margin-inline:auto}
.pband{width:100%;aspect-ratio:1440 / 688;max-height:880px;border-radius:var(--r-xl);overflow:hidden}
.pband img{width:100%;height:100%;object-fit:cover}

/* --- process (about) -------------------------------------------------- */
.process{background:var(--paper);padding:156px 0}
.process .d2{max-width:700px}
.process .lead{margin-top:12px;max-width:700px}
.mute-m{color:inherit}
.m-only{display:none}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:72px}
.pcard{background:var(--dark);border-radius:var(--r-xl);padding:32px;min-height:383px;
  display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.pcard .n{font-family:"Manrope",sans-serif;font-size:20px;line-height:30px;color:#fff}
.pcard h3{font-family:"Manrope",sans-serif;font-weight:400;font-size:20px;line-height:30px;color:#fff}
.pcard p{margin-top:8px;font-size:16px;line-height:24px;color:rgba(255,255,255,.72)}

/* --- blog index + article -------------------------------------------- */
.blogindex{background:var(--paper-2);padding:112px 0 156px}
.blogindex .full{width:min(1440px,100%)}
/* reference: a fixed 1440 container, centred above 1440 and clipped off both edges below it
   (x-240 at 960). We mirror >=1440 exactly and keep house gutters where the reference breaks. */
@media (min-width:1440px){
  .pg-blog .contactband .wrap{width:min(1440px,100%)}
  .pg-blog .ci1,.pg-blog .ci3{left:253px}.pg-blog .ci2{left:398px}
  .pg-blog .ci4,.pg-blog .ci6{right:253px}.pg-blog .ci5{right:398px}
}
@media (max-width:1439px){.blogindex .full{width:92%}}

.blogindex .d1{max-width:749px}
.blogindex .lead{margin-top:12px;max-width:749px}
.blogindex .blog-grid{margin-top:72px}
.article{padding:156px 20px 120px;display:flex;flex-direction:column;gap:56px}
.article .aw{width:min(1400px,100%);margin-inline:auto}
.article .bannerwrap{margin-top:-16px}
.banner{border-radius:var(--r-2xl);overflow:hidden;height:600px}
.banner img{width:100%;height:100%;object-fit:cover}
.article .body>*+*{margin-top:20px}
.article .body h2{font-family:"Manrope",sans-serif;font-weight:400;font-size:32px;line-height:38.4px;letter-spacing:-.8px;color:var(--black);margin-top:56px}
.article .body h3{font-family:"Manrope",sans-serif;font-weight:400;font-size:20px;line-height:30px;color:var(--black);margin-top:40px}
.article .body p,.article .body li{font-size:18px;line-height:27px;color:var(--grey)}
.article .body ul{margin-top:16px;list-style:disc;padding-left:23px}
.article .body li::marker{color:var(--ink-30)}
.article .body figure{margin:32px 0 0}
.article .body figure img{width:749px;max-width:100%;height:453px;object-fit:cover;border-radius:var(--r-lg)}

/* --- article modules (house format inside the reference article column) --- */
.article .body .lede{font-family:"Manrope",sans-serif;font-size:24px;line-height:36px;letter-spacing:-.3px;color:var(--ink)}
.article .body .kt,.article .body .pq,.article .body .steps,.article .body .tbl-wrap,.article .body .faq{margin-top:40px}
.kt{background:var(--paper);border-radius:var(--r-xl);padding:32px}
.kt-h{font-size:14px;line-height:21px;font-weight:500;letter-spacing:.6px;text-transform:uppercase;color:var(--dark)}
.article .body .kt ul{margin-top:20px;list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.kt li{display:flex;gap:14px;align-items:flex-start}
.kt li svg{flex:none;width:36px;height:36px;padding:8px;border-radius:var(--r-md);background:var(--dark);color:#fff}
.article .body .kt li span{font-size:16px;line-height:24px;color:var(--ink)}
.pq{margin:0;padding:8px 0 8px 32px;border-left:2px solid var(--dark)}
.article .body .pq p{font-family:"Manrope",sans-serif;font-size:28px;line-height:38px;letter-spacing:-.6px;color:var(--ink)}
.article .body .pq .pq-by{margin-top:14px;font-size:14px;line-height:21px;color:var(--grey)}
.article .body .steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.steps li{background:var(--paper-2);border-radius:var(--r-xl);padding:32px;display:flex;gap:24px;align-items:flex-start}
.steps .sn{font-family:"Manrope",sans-serif;font-size:20px;line-height:30px;color:var(--dark);flex:none;width:28px}
.article .body .steps h3{margin:0;font-size:20px;line-height:30px}
.article .body .steps p{margin-top:6px;font-size:16px;line-height:24px}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:16px;line-height:24px}
.tbl thead th{background:var(--paper);text-align:left;padding:14px 20px;font-size:14px;line-height:21px;font-weight:500;letter-spacing:.4px;text-transform:uppercase;color:var(--dark)}
.tbl thead th:first-child{border-radius:var(--r-lg) 0 0 var(--r-lg)}
.tbl thead th:last-child{border-radius:0 var(--r-lg) var(--r-lg) 0}
.tbl tbody th,.tbl td{padding:16px 20px;text-align:left;border-bottom:1px solid rgba(44,46,41,.12);vertical-align:top}
.tbl tbody th{font-family:"Manrope",sans-serif;font-weight:400;font-size:18px;line-height:27px;color:var(--ink)}
.tbl td{color:var(--ink-75)}
.article .body .tbl-note{margin-top:12px;font-size:14px;line-height:21px}
.faq details{border-bottom:1px solid rgba(44,46,41,.12)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.article .body .faq h3{margin:0;font-size:20px;line-height:30px;color:var(--ink)}
.faq .pm{position:relative;flex:none;width:36px;height:36px;border-radius:var(--r-md);background:var(--blush)}
.faq .pm::before,.faq .pm::after{content:"";position:absolute;left:11px;top:17px;width:14px;height:1.6px;background:var(--dark);transition:transform .3s var(--e)}
.faq .pm::after{transform:rotate(90deg)}
.faq details[open] .pm::after{transform:rotate(0deg)}
.article .body .faq p{padding:0 60px 24px 0}
.article .body .a-note{margin-top:40px;padding-top:24px;border-top:1px solid rgba(44,46,41,.12);font-size:14px;line-height:21px}

/* --- 404 (reference: one 1400x631 r18 dark card at y156, footer at y907) -- */
.nf{padding:156px 20px 120px}
.nf-card{max-width:1400px;height:631px;margin:0 auto;background:var(--dark);border-radius:18px;
  display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:80px;color:#fff}
.nf-num{font-family:"Inter",sans-serif;font-size:200px;line-height:240px;letter-spacing:-8px;color:#fff}
.nf-h{font-family:"Inter",sans-serif;font-weight:400;font-size:48px;line-height:58px;letter-spacing:-1.92px;color:#fff;margin-top:20px}
.nf-lead{font-family:"Inter Tight",sans-serif;font-size:16px;line-height:19.2px;color:rgba(255,255,255,.6);margin-top:12px}
.btn-nf{margin-top:76px;color:#fff;background:rgba(242,236,233,.3)}
.btn-nf::after{background:var(--accent)}

/* --- house floor: always-on mobile CTA bar (hidden above the tablet breakpoint) -- */
.mbar{display:none}

/* --- cursor ---------------------------------------------------------- */
.cursor{position:fixed;left:0;top:0;width:0;height:0;z-index:90;pointer-events:none;opacity:0}
.cursor.on{opacity:1}
.cursor .dot{position:absolute;left:-7px;top:-7px;width:15px;height:15px;border-radius:50%;background:var(--dark)}

/* --- reveals ---------------------------------------------------------
   The reference paints every content band at rest (probed at 0/200/300/500 ms
   and after settle: opacity 1, transform none on card, heading and media
   layers). Only the stat cards are scroll-scrubbed. The .rv hook is kept for
   builder ingestion but carries no entrance animation, to match. */
.rv{opacity:1;transform:none}

/* --- responsive ------------------------------------------------------ */
/* --- wide >=1920 (reference switches at exactly 1920: 1440 container, no gutter, larger type) --- */
@media (min-width:1920px){
  .wrap,.hero .wrap{width:1440px}
  .hdr-in{width:1440px}
  .head-c .d2{max-width:1040px}
  .d2.cap402{max-width:470px}
  .d2{font-size:48px;line-height:57.6px;letter-spacing:-1.1px}
  .svc-row h3,.svc-row .n,.stat-card h3,.why-card .h20,.post .h20,.svc-feat .h20,.hero-side .h20{font-size:24px;line-height:36px}
  /* hero: band 939, photo card 514x713 at +70, side 456 wide bottom-aligned, h1 150 below the card top */
  .hero{padding:70px 0 156px}
  .topspace:not(.inner){height:70px}
  .hero-grid{padding:0 11px;grid-template-columns:413px 514px 469px;column-gap:11px;min-height:713px}
  .hero-side{margin-left:13px;padding-top:0;justify-content:flex-end}
  .hero-side .lead{margin-top:4px}
  .hero-card{margin-top:24px}
  .hero-copy{justify-content:flex-start;padding-top:150px;padding-bottom:0}
  .hero-media{height:713px}
  .hero-media>img{left:3px;top:3px;width:612px;height:850px}
  /* practice */
  .services{padding:206px 0 159px}
  .svc-top>div:first-child{padding-top:36px}
  .on-paper .svc-feat{padding-left:0;gap:10px}
  .on-paper .svc-feat .shot{height:514px}
  /* CTA scatter sits 253 / 398 from the viewport edges */
  .ci1,.ci3{left:calc(50% - 707px)}.ci2{left:calc(50% - 562px)}
  .ci4,.ci6{right:calc(50% - 707px)}.ci5{right:calc(50% - 562px)}
  /* inner heroes */
  .phero{padding-top:70px}
  .phero .inner{width:1440px}
  .phero{gap:88px}
  /* article */
  .article .body h2{font-size:40px;line-height:48px;letter-spacing:-1px}
  .article .body h3{font-size:24px;line-height:36px}
}

/* --- header below 1440: the reference swaps the nav for a burger from 1439 down --- */
@media (max-width:1439px){
  .nav{display:none}
  .nav.open{display:flex;position:fixed;left:0;right:0;top:86px;flex-direction:column;align-items:stretch;
    margin:0;padding:8px 4% 24px;background:rgba(242,236,233,.96);backdrop-filter:blur(12px);z-index:59}
  .nav.open .nav-a{padding:14px 0;font-size:20px}
  .nav.open .nav-a .t2{display:none}
  .nav.open .nav-tel{display:block;color:var(--ink)}
  .burger{display:flex;order:3;margin-left:20px}
  .hdr .btn{order:2}
  .hdr-tel{order:1;margin-left:auto}
  .hdr{background:var(--paper)}
  .topspace,.topspace.inner{height:80px}
  .mute-m{color:var(--ink-60)}
  .hero-notch{display:none}
}

/* --- reference h1 step: 45/54 from 810 to 1199, 56/67.2 from 1200 --- */
@media (min-width:810px) and (max-width:1199px){
  .hero-copy .d1,.phero .d1{font-size:45px;line-height:54px;letter-spacing:-.9px}
}
/* --- tablet 810-1439 (reference 1280: 4% gutters, stacked hero, 2-up grids) --- */
@media (min-width:810px) and (max-width:1439px){
  .d2{font-size:40px;line-height:48px;letter-spacing:-.9px}
  .h20,.svc-row h3,.svc-row .n,.stat-card h3,.why-card .h20,.post .h20,.svc-feat .h20{font-size:22px;line-height:33px}
  .avatars p,.chip,.cta-note p{font-size:12px;line-height:18px}
  /* hero */
  .hero{padding:70px 0 156px}
  .hero-grid{grid-template-columns:1fr;gap:0;min-height:0}
  .hero-copy{display:block;padding-bottom:0}
  .hero-copy .d1{width:auto}
  .hero-copy .lead{margin-top:20px;width:402px}
  .btn-row{padding:0;margin-top:44px}
  .avatars{margin-top:44px}
  .avatars p{max-width:240px}
  .hero-media{margin-top:24px;height:713px}
  .hero-media>img{left:0;top:0;width:100%;height:100%;object-position:50% 30%}
  .hero-media .chips{flex-wrap:nowrap}
  .hero-side{padding-top:24px;justify-content:flex-start}
  .hero-side .h20{font-size:22px;line-height:33px}
  .hero-side .lead{margin-top:4px;max-width:300px}
  .hero-card{margin-top:24px;height:424px}
  /* consultation: centred head, 2x2 cards */
  .stats{padding:156px 0}
  .split{grid-template-columns:1fr;text-align:center;justify-items:center;gap:10px}
  .split .d2{padding-top:0}
  .d2.cap402{max-width:420px;margin-inline:auto}
  .split-r{align-items:center;gap:7px;padding-top:0;max-width:630px}
  .stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:73px}
  .stat-card:nth-child(1) .stat-fill{height:130px}
  /* practice */
  .services,.services.on-paper{padding:156px 0 112px}
  .svc-top{grid-template-columns:1fr;gap:20px}
  .svc-top>div:first-child,.on-paper .svc-top>div:first-child{padding-top:0}
  .svc-feat,.on-paper .svc-feat{grid-template-columns:1fr 1fr;gap:10px;margin-top:72px;padding-left:0}
  .svc-feat .shot,.on-paper .svc-feat .shot{height:514px}
  /* why */
  .head-c .btn{margin-top:98px;padding:8px 18px;font-size:16px}
  .head-c .d2{max-width:600px}
  .svc-top .d2{max-width:560px}
  .why-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:36px}
  /* team */
  .team-grid{grid-template-columns:1fr 1fr;gap:12px}
  .creds{grid-template-columns:1fr 1fr}
  .cred{min-height:256px;gap:40px;padding:32px}
  .tm .who span{font-size:12px;line-height:18px}
  /* journal */
  .blog-grid{grid-template-columns:1fr 1fr;gap:32px 20px}
  .blogband{padding:112px 0 156px}
  .head-c .lead{max-width:790px}
  .testi .head-c .lead{max-width:470px}
  .why .head-c .lead,.blogband .head-c .lead{max-width:600px}
  .marquee{margin-top:79px}
  /* contact: stacked, full-width form */
  .contactband{padding:112px 0}
  .c-grid{grid-template-columns:1fr;gap:69px}
  .c-rows{margin-top:22px}
  .contactband.v3 .c-left .lead{max-width:none}
  .c-row>div>span,.c-row>div>a,.c-line a,.field p,.form .fine{font-size:12px;line-height:18px}
  /* CTA */
  .cta{padding:156px 0}
  .cta .d2{max-width:600px}
  .cta-form{margin-top:56px;width:520px}
  .ci2,.ci5{display:none}
  .ci1,.ci3{left:80px}.ci4{right:80px}.ci6{right:50px}
  .ci1,.ci4{top:10px}.ci3{top:auto;bottom:11px}.ci6{top:auto;bottom:10px}
  /* inner heroes: 4% gutter, full-bleed 1440:688 photo, chips in one row */
  .phero{padding:70px 0 70px;gap:58px}
  .phero .inner{width:92%;padding-bottom:0}
  .phero .lead{margin-top:6px;max-width:620px}
  .pchips{margin-top:38px;max-width:none;flex-wrap:nowrap}
  .pchip{font-size:12px;line-height:18px}
  .pg-contact .phero{gap:70px}
  .pband{border-radius:0}
  /* process: centred head, 2-up cards */
  .process{padding:156px 0}
  .process .p-head{text-align:center}
  .process .d2,.process .lead{margin-inline:auto}
  .pgrid{margin-top:72px}
  .pcard{min-height:383px}
  /* article template */
  .article{padding-top:120px}
  .article .d1{font-size:40px;line-height:48px;letter-spacing:-.9px}
  .phero .d1{max-width:750px}
  .article .body h2{font-size:27px;line-height:32.4px;letter-spacing:-.6px}
  .article .body h3{font-size:22px;line-height:33px}
  .article .body .kt ul{grid-template-columns:1fr 1fr 1fr}
  /* footer */
  .ftr{padding:80px 0}
  .ftr-top{grid-template-columns:1fr;gap:32px}
  .ftr-cols{padding-right:27px}
  .ftr-bot a{font-size:12px}
  .ftr-cols a{font-size:12px;line-height:18px}
  .ftr-cols li{line-height:18px}
  .ftr-cols ul{gap:8px}
  .ftr-rule{margin-top:22px}
  .ftr-bot{flex-direction:column;align-items:stretch;gap:6px}
  .ftr-legal{justify-content:flex-end}
}
@media (max-width:809px){
  :root{--gut:16px;--hdr:86px}
  /* single-column resets (were in the retired 1240 block) */
  .hero-side{grid-column:auto}
  .hero-copy,.hero-copy .d1,.hero-copy .lead{width:100%}
  .split{grid-template-columns:1fr}
  .svc-top{grid-template-columns:1fr;gap:40px}
  .c-grid{grid-template-columns:1fr}
  .ftr-top{grid-template-columns:1fr;gap:56px}
  .cta-img{display:none}
  .nav{display:none}
  .nav.open{display:flex;position:fixed;left:0;right:0;top:86px;flex-direction:column;align-items:stretch;
    margin:0;padding:8px 16px 24px;background:rgba(242,236,233,.96);backdrop-filter:blur(12px);z-index:59}
  .nav.open .nav-a{padding:14px 0;font-size:20px}
  .nav.open .nav-a .t2{display:none}
  .burger{display:flex;order:3;margin-left:20px}
  .hdr .btn{order:2}
  .hdr{background:var(--paper)}
  .topspace{height:80px}
  .topspace.inner{height:80px}
  .d1{font-size:34px;line-height:40.8px}
  .d2{font-size:28px;line-height:33.6px}
  .d3{font-size:26px;line-height:32px}
  .lead,.why-card p,.cred p,.tq,.post .ex,.ftr-blurb{font-size:15px;line-height:22.5px}
  .avatars p,.cta-note p{font-size:12px;line-height:18px}
  .chip{font-size:12px;line-height:18px}
  .hero{padding:60px 0 156px}
  .hero-grid{grid-template-columns:1fr;gap:12px;min-height:0}
  .hero-copy{padding-bottom:20px}
  .btn-row{padding:30px 0;flex-wrap:wrap}
  .hero-media{height:370px}
  .hero-media>img{left:0;top:0;width:100%;height:100%;object-position:62% 38%}
  .hero-media .chips{display:none}
  .photo-notch{display:block;position:absolute;left:0;top:89px;z-index:2}
  .hero-media .ov{inset:20px}
  .hero-side{padding-top:12px}
  .hero-card{height:424px;margin-top:24px}
  .ring{width:180px;height:180px}
  .ring-in{width:160px;height:160px}
  .ring-in svg.rot{width:160px;height:160px}
  .ring-btn{width:64px;height:64px}
  .stats{padding:156px 0 120px}
  .stat-grid{grid-template-columns:1fr;gap:10px}
  .stat-card{height:400px}
  .services{padding:120px 0}
  .svc-feat,.on-paper .svc-feat{grid-template-columns:1fr;margin-top:56px;padding-left:0;gap:10px}
  .on-paper .svc-feat .shot{height:340px}
  .svc-feat .shot{height:340px}
  .why{padding:120px 0}
  .why-grid,.team-grid,.blog-grid,.pgrid,.creds{grid-template-columns:1fr}
  .why-card{height:auto;min-height:360px;gap:64px}
  .testi{padding:112px 0 120px}
  .marquee{margin-top:72px;height:380px}
  .tcard{width:300px;padding:32px 24px;gap:32px;min-height:380px}
  .mq-track{gap:44px}
  @keyframes slide{from{transform:translateX(-1032px)}to{transform:translateX(0)}}
  .team{padding:110px 0 112px}
  .tm{height:380px}
  .creds{padding:12px}
  .blogband{padding:80px 0 120px}
  .post .shot{height:374px}
  .contactband{padding:112px 0 80px}
  .c-rows{margin-top:40px;gap:16px}
  .form{padding:18px;gap:24px}
  .f2{grid-template-columns:1fr 1fr;gap:16px 12px}
  .cta{padding:180px 0}
  .ci1,.ci3,.ci4,.ci6{display:block}
  .ci1{left:20px;top:10px;width:120px;height:120px}
  .ci4{right:20px;top:10px;width:120px;height:120px}
  .ci3{left:20px;top:607px;width:120px;height:120px}
  .ci6{right:20px;top:593px;width:135px;height:135px}
  .cta-form{margin-top:72px}
  .cta-note{margin-top:32px}
  .cta-form{width:100%;flex-wrap:wrap}
  .cta-form input{width:100%;flex:1 0 100%}
  .cta-form .btn{width:100%;margin-top:4px}
  .phero{padding:60px 0 80px;gap:72px}
  .phero .inner{width:calc(100% - 32px)}
  .pband{height:320px}
  .process{padding:120px 0}
  .pcard{min-height:300px;gap:64px}
  /* post template at 390 (reference): 28/33.6 title at 20,156, 350x350 r24 banner 40px below */
  .article{padding:156px 20px 100px;gap:56px}
  .article .d1{font-size:28px;line-height:33.6px;letter-spacing:-.96px}
  .banner{height:auto;aspect-ratio:1 / 1;border-radius:24px}
  .article .body h2{font-size:24px;line-height:28.8px;letter-spacing:-.5px;margin-top:40px}
  .article .body h3{font-size:20px;line-height:30px}
  .ftr{padding:80px 0}
  .ftr-cols{grid-template-columns:1fr;gap:32px}
  .ftr-bot{flex-direction:column;align-items:flex-start;gap:12px}
  .vactor{display:none}
  .cursor{display:none}
}
/* --- 09-29: tablet/mobile variants measured on the live reference (true 390) --- */
@media (max-width:809px){
  .hdr-tel{display:none}
  .nav.open .nav-tel{display:block;color:var(--ink)}
  /* mobile CTA bar: Call + primary action, safe-area aware, hidden under the open menu */
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:10px;align-items:center;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid rgba(44,46,41,.12)}
  .mbar-call{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;
    border-radius:var(--r-sm);background:var(--dark-16);color:var(--dark);font-size:16px;line-height:20px}
  .mbar-call svg{width:18px;height:18px}
  .mbar-book{flex:1;min-height:48px}
  body{padding-bottom:calc(69px + env(safe-area-inset-bottom))}
  body.menu-open .mbar{display:none}

  /* contact band, shared mobile metrics (reference: 12/18 labels, 8px label gap, 32px rows) */
  .field{gap:8px}
  .field p{font-size:12px;line-height:18px}
  .f2{gap:32px 12px}
  .form .fine{font-size:12px;line-height:18px}
  .c-grid{gap:72px}
  .c-rows{margin-top:20px;gap:24px}
  .c-row{align-items:flex-start}
  .c-row>div{padding-top:3px}
  .c-row b{font-size:15px;line-height:22.5px}
  .c-row>div>span,.c-row>div>a,.c-line a{font-size:12px;line-height:18px}
  /* about / contact / insights variant: four fields stacked, date + company two-up */
  .contactband.alt .form{padding:32px}
  .contactband.alt .f2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
  .contactband.alt .f2 .field:not(.half){grid-column:1 / -1}
  .contactband.alt .f2 .field:nth-child(3),.contactband.alt .f2 .half{margin-top:16px}

  /* CTA: three-line headline, photos anchored to the band foot as on the reference */
  .cta{padding:156px 0}
  .cta .d2{max-width:none}
  .ftr-cols a{font-size:12px;line-height:18px}
  .ftr-cols li{line-height:18px}
  /* consultation head centred at 390 (reference) */
  .split{justify-items:center;text-align:center}
  .split-r{align-items:center}
  .d2.cap402{margin-inline:auto}
  .form{gap:32px}
  .ci3{top:auto;bottom:11px}
  .ci6{top:auto;bottom:10px}
  .cta.alt .cta-form{flex-wrap:nowrap;margin-top:56px}
  .cta.alt .cta-form input{flex:1;width:auto}
  .cta.alt .cta-form .btn{width:auto;margin-top:0}

  /* inner page hero (about, contact): two-tone h1, full-width chips, 1440:688 bleed photo */
  .pg-inner .phero{padding:57px 0 58px;gap:46px}
  .pg-inner .phero .inner{padding-bottom:0}
  .pg-inner .phero .lead{margin-top:5px}
  .mute-m{color:var(--ink-60)}
  .m-only{display:inline}
  .pchips{margin-top:30px;flex-direction:column;gap:6px;max-width:none}
  .pchip{display:block;font-size:12px;line-height:18px}
  .pband{height:auto;aspect-ratio:1440 / 688}

  /* about practice band: painted eyebrow, 350px features */
  .services.on-paper{padding:70px 0 72px}
  .on-paper .svc-top>div:first-child{padding-top:0}
  .on-paper .svc-feat{margin-top:72px;gap:11px}
  .on-paper .svc-feat .shot{height:350px}

  /* process: centred three-line head, 383px cards */
  .process{padding:70px 0 69px}
  .process .p-head{text-align:center}
  .process .d2{max-width:300px;margin-inline:auto}
  .process .lead{margin-inline:auto}
  .pcard{min-height:383px}
  .pcard p{font-size:15px;line-height:22.5px}

  /* article modules */
  .article .body .lede{font-size:19px;line-height:28.5px}
  .article .body .kt ul,.article .body .steps{grid-template-columns:1fr}
  .kt{padding:24px}
  .steps li{padding:24px}
  .article .body .pq p{font-size:22px;line-height:30px}
  .pq{padding-left:20px}
  .tbl{font-size:14px;line-height:21px}
  .tbl thead th,.tbl tbody th,.tbl td{padding:12px 12px}
  .tbl tbody th{font-size:16px;line-height:24px}
  .article .body .faq h3{font-size:18px;line-height:27px}
  .article .body .faq p{padding-right:0}

  /* 404: 350x430 card at y156, footer at y706 */
  .nf-card{height:430px;padding-top:56px}
  .nf-num{font-size:100px;line-height:120px;letter-spacing:-4px}
  .nf-h{font-size:32px;line-height:42px;letter-spacing:-1.28px}
  .nf-lead{padding:0 4px}
  .btn-nf{margin-top:40px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important}
  .mq-track{animation:none;transform:none}
  .ring-in svg.rot{animation:none}
  .cursor{display:none}
}
