@font-face{font-family:"Instrument Sans";src:url("../fonts/instrument-sans-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("../fonts/instrument-sans-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("../fonts/instrument-sans-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Caslon Condensed";src:url("../fonts/libre-caslon-condensed-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Caslon Condensed";src:url("../fonts/libre-caslon-condensed-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Caslon Condensed";src:url("../fonts/libre-caslon-condensed-italic-400.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Libre Caslon Condensed";src:url("../fonts/libre-caslon-condensed-italic-500.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap}

/* fm-lexedge - Whitlock Reyes LLP. Cream-paper condensed-Caslon law likeness.
   Every value measured from the reference at 1440x900 and a true 390x844 device context. */
/* @font-face block is prepended at build time (no extra request) */

:root{
  --ink:#0A0A0B;
  --paper:#F6F3EC;
  --white:#FFFFFF;
  --sand:#E1DCD2;
  --sand-deep:#E6E0DA;
  --field:#EBEBEB;
  --bone:#F7F6F5;

  --ink-88:rgba(10,10,11,.88);
  --ink-70:rgba(10,10,11,.70);
  --ink-64:rgba(10,10,11,.64);
  --ink-16:rgba(10,10,11,.16);
  --ink-08:rgba(10,10,11,.08);
  --ink-04:rgba(10,10,11,.04);
  --paper-88:rgba(246,243,236,.88);
  --paper-72:rgba(246,243,236,.72);
  --paper-16:rgba(246,243,236,.16);
  --paper-08:rgba(246,243,236,.08);

  --display:"Libre Caslon Condensed",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;

  --gut:32px;
  --r-xl:32px; --r-lg:24px; --r-md:16px; --r-sm:12px; --r-xs:8px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur:.45s;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:24px;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4,p,figure,ul,ol,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;z-index:60;background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:0 0 12px 0}
.skip:focus{left:0}

/* ---------- shell ---------- */
.container{max-width:1440px;margin:0 auto;padding:0 var(--gut)}
.band{position:relative}
.band--dark{background:var(--ink);color:var(--paper)}
.band--r40{border-radius:40px}
.band--rt{border-radius:40px 40px 0 0}
.band--rb{border-radius:0 0 40px 40px}
.band--paper{background:var(--paper)}

/* ---------- type ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:13.2px;font-weight:500;letter-spacing:0}
.eyebrow::before{content:"";width:10px;height:10px;background:currentColor;flex:0 0 10px}
.eyebrow--center{justify-content:center}
.band--dark .eyebrow{color:#fff}

.d96{font-family:var(--display);font-weight:400;font-size:96px;line-height:109.92px;letter-spacing:0}
.d64{font-family:var(--display);font-weight:400;font-size:64px;line-height:67.968px}
.d52{font-family:var(--display);font-weight:400;font-size:52px;line-height:59.956px}
.d40{font-family:var(--display);font-weight:400;font-size:40px;line-height:44px}
.d28{font-family:var(--display);font-weight:400;font-size:28px;line-height:31.976px}
.d24{font-family:var(--display);font-weight:400;font-size:24px;line-height:28px}
.ital{font-style:italic}
.ln{display:block}
.title{text-transform:capitalize}
.title-c{text-align:center}
.lead20{font-size:20px;line-height:28px;font-weight:400}
.body16{font-size:16px;line-height:24px;font-weight:400;color:var(--ink-88)}
.band--dark .body16{color:var(--paper-88)}
.muted{color:var(--ink-64)}
.band--dark .muted{color:var(--paper-72)}
.label14{font-size:14px;line-height:19.6px;font-weight:500}

/* ---------- pill buttons (label swaps up on hover, mirroring the reference) ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  height:48px;padding:0 20px;border-radius:32px;overflow:hidden;
  font-size:16px;line-height:20px;font-weight:600;white-space:nowrap;flex:0 0 auto;
  transition:background-color var(--dur) var(--ease);
}
.btn .swap{display:block;position:relative;height:20px;overflow:hidden}
.btn .swap span{display:block;height:20px;transition:transform var(--dur) var(--ease)}
.btn .swap span+span{position:absolute;left:0;top:100%;width:100%}
.btn:hover .swap span{transform:translateY(-100%)}
.btn--dark{background:var(--ink-88);color:var(--paper)}
.btn--dark:hover{background:var(--ink)}
.btn--ghost{background:var(--ink-16);color:var(--ink)}
.btn--ghost:hover{background:rgba(10,10,11,.24)}
.btn--paper{background:var(--paper);color:var(--ink)}
.btn--paper:hover{background:var(--white)}
.btn--sm{height:44px}
.btn--wide{width:100%}

.arrows{display:flex;gap:16px}
.arrow{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--paper);transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}
.arrow:hover{transform:translateY(-2px)}
.arrow[disabled]{opacity:.35;cursor:default;transform:none}
.band--dark .arrow{background:var(--paper-16);color:var(--paper)}
.arrow svg{width:20px;height:20px}

/* ---------- header (reference: position relative, scrolls away, no blur) ---------- */
.hdr{position:relative;z-index:20;height:84px;background:var(--paper)}
.hdr__in{max-width:1440px;margin:0 auto;padding:0 var(--gut);height:84px;display:grid;grid-template-columns:363px 1fr auto;align-items:center;gap:0}
.hdr__in .nav{justify-self:start}
.hdr__in .hdr__cta{justify-self:end}
.wordmark{font-family:var(--sans);font-weight:600;font-size:20px;line-height:24px;letter-spacing:-.5px;white-space:nowrap}
.nav{display:flex;align-items:center;gap:2px}
.nav a{padding:9px 12px;border-radius:8px;font-size:14px;line-height:19.6px;font-weight:500;transition:background-color var(--dur) var(--ease)}
.nav a:hover{background:var(--ink-04)}
.nav a[aria-current="page"]{background:var(--ink-08)}
.hdr__cta{height:44px;font-size:14px;line-height:18.9px;padding:0 16px}
.hdr__cta .swap,.hdr__cta .swap span{height:19px}
.burger{display:none;width:28px;height:28px;align-items:center;justify-content:center}
.burger span{display:block;width:20px;height:1.5px;background:var(--ink);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:20px;height:1.5px;background:var(--ink)}
.burger span::before{top:-6px}.burger span::after{top:6px}
.mnav{display:none}

/* ---------- preloader (mirrors the reference curtain + % counter) ---------- */
.pre{display:none;position:fixed;inset:0;z-index:90;background:var(--ink);color:var(--paper);align-items:center;justify-content:space-between;padding:0 19px;transform:translateY(0)}
.pre__bar{position:absolute;left:19px;right:19px;bottom:20px;height:3px;background:var(--paper);transform:scaleX(0);transform-origin:left center}
.pre__num{font-family:var(--display);font-size:52px;line-height:52px;font-weight:400}
.pre__mark{font-family:var(--sans);font-weight:600;font-size:20px;letter-spacing:-.5px}
html.js .pre{display:flex}
.pre.is-done{transform:translateY(-100%);transition:transform .7s cubic-bezier(.76,0,.24,1)}
.no-pre .pre{display:none}

/* ---------- hero ---------- */
.hero{background:var(--paper);min-height:762px;position:relative;display:flex;align-items:flex-start}
.hero__in{max-width:1440px;margin:0 auto;padding:112px var(--gut) 40px;width:100%;position:relative}
.hero__copy{min-height:610px;max-width:min(688px,calc(50vw - 40px));display:flex;flex-direction:column;position:relative;z-index:1}
.hero h1{max-width:676px;margin-bottom:20px}
.hero__lead{max-width:445px;margin-bottom:32px}
.hero__cta{display:flex;gap:12px;margin-bottom:auto}
.hero__proof{padding-top:32px}
.avatars{display:flex;margin-bottom:12px}
.avatars img,.avatars .more{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--paper)}
.avatars>*+*{margin-left:-12px}
.avatars .more{background:var(--ink);color:var(--paper);display:grid;place-items:center;font-size:11px;font-weight:600}
.hero__trust{font-size:20px;line-height:28px;font-weight:500}
.hero__media{position:absolute;top:0;right:min(0px,calc((1440px - 100vw) / 2));width:50vw;height:762px}
.hero__media>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero__card{
  position:absolute;left:32px;bottom:48px;width:445px;max-width:calc(100% - 64px);min-height:136px;z-index:2;
  background:var(--paper);border-radius:12px;padding:8px;display:flex;gap:8px;
}
.hero__card img{width:120px;height:120px;border-radius:8px;object-fit:cover;flex:0 0 120px}
.hero__cardbody{flex:1;display:flex;flex-direction:column;padding:0 8px 0 8px;position:relative}
.hero__cardttl{font-size:16px;line-height:24px;font-weight:500;padding-top:0}
.tag{align-self:flex-start;margin-top:auto;height:25px;padding:0 10px;border-radius:32px;background:var(--ink-16);font-size:12px;line-height:25px;font-weight:500}
.hero__cardgo{position:absolute;right:0;bottom:0;width:24px;height:24px}

/* ---------- about ---------- */
.about__in{padding-top:120px;padding-bottom:64px}
.about__head{display:grid;grid-template-columns:348px 1fr;gap:0;margin-bottom:64px}
.about__head h2{max-width:1028px}
.about__grid{display:grid;grid-template-columns:349px 239px 259px 1fr;gap:0;align-items:start}
.about__grid figure:nth-of-type(2){margin-left:20px}
.about__grid figure img{width:239px;height:332px;object-fit:cover;border-radius:var(--r-lg)}
.about__say{padding-left:32px;max-width:530px}
.about__say p{margin-bottom:32px;max-width:498px}
.about__rate{padding-top:196px}
.about__rate .d52{display:block;margin-bottom:12px}
.stars{display:flex;gap:7px;margin-bottom:14px}
.stars svg{width:22px;height:22px}
.about__rate p{font-size:20px;line-height:28px;color:var(--ink-88)}

/* marquee */
.marquee{overflow:hidden;margin-top:64px;padding:32px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;width:max-content;animation:marq 38s linear infinite}
.marquee__set{display:flex;align-items:center;gap:128px;padding-right:128px}
.marquee__set span{font-family:var(--display);font-size:28px;line-height:40px;color:rgba(10,10,11,.42);white-space:nowrap}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- services (dark carousel) ---------- */
.svc__in{padding-top:120px;padding-bottom:105px}
.svc__head{text-align:center;margin-bottom:64px}
.svc__head .eyebrow{margin-bottom:21px}
.tabs{display:flex;justify-content:center;margin-bottom:64px}
.tabs__in{display:inline-flex;gap:0;padding:2px;border-radius:60px;background:var(--paper-16)}
.tabs button{height:44px;padding:0 20px;border-radius:32px;font-size:16px;line-height:20px;font-weight:600;color:var(--paper);transition:background-color var(--dur) var(--ease)}
.tabs button[aria-selected="true"]{background:var(--paper-16)}
.rail{position:relative;overflow:hidden}
.rail--bleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.rail--bleed .rail__track{padding-left:max(var(--gut),calc(50vw - 688px))}
.rail--bleed .rail__nav{padding-left:max(var(--gut),calc(50vw - 688px));padding-right:max(var(--gut),calc(50vw - 688px))}
.rail--mid .rail__track{padding-left:max(var(--gut),calc(50vw - 455px))}
.rail__track{display:flex;gap:128px;transition:transform .6s var(--ease)}
.svc__card{flex:0 0 min(910px,calc(100vw - 2 * var(--gut)));height:500px;border-radius:var(--r-xl);background:var(--paper-08);padding:8px;display:grid;grid-template-columns:443px 1fr;gap:40px}
.svc__card img{width:100%;height:484px;object-fit:cover;border-radius:var(--r-lg)}
.svc__cardbody{padding:40px 40px 40px 0;display:flex;flex-direction:column}
.svc__cardbody h3{margin-bottom:14px}
.svc__cardbody p{max-width:379px;margin-bottom:auto;color:var(--paper-88)}
.svc__cardbody .btn{align-self:flex-start}
.rail__nav{display:flex;justify-content:center;gap:16px;margin-top:52px}

/* ---------- process ---------- */
.proc__in{padding-top:120px;padding-bottom:42px}
.proc__head{margin-bottom:64px}
.proc__head .eyebrow{margin-bottom:21px}
.proc .rail__track{gap:20px}
.rail--tall .proc__card{height:497px}
.proc__card{flex:0 0 445px;height:445px;background:var(--white);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column}
.proc__card .num{margin-bottom:auto}
.proc__card h3{margin-bottom:16px}
.proc__card p{color:var(--ink-88)}
.proc .rail__nav{justify-content:flex-start;margin-top:50px}

/* ---------- why choose (sticky column + stacked cards) ---------- */
.why__in{padding-top:120px;padding-bottom:64px}
.why__grid{display:grid;grid-template-columns:509px 1fr;gap:0;align-items:start}
.why__side{position:sticky;top:120px;height:720px;width:445px;display:flex;flex-direction:column;justify-content:space-between}
.why__side .eyebrow{margin-bottom:21px}
.why__side h2{max-width:445px}
.whynav{display:flex;flex-direction:column;gap:12px}
.whynav a{display:flex;align-items:center;gap:12px;width:328px;height:64px;padding:0 20px;border-radius:var(--r-md);background:var(--paper);font-size:16px;line-height:24px;font-weight:500;transition:background-color var(--dur) var(--ease)}
.whynav a.is-on{background:var(--sand)}
.whynav svg{width:20px;height:20px;flex:0 0 20px}
.why__cards{display:flex;flex-direction:column;gap:64px}
.why__card{scroll-margin-top:100px;display:grid;grid-template-columns:minmax(0,419fr) minmax(0,431fr);gap:12px;height:698px;background:var(--white);border-radius:var(--r-xl);padding:7px}
.why__card img{width:100%;height:684px;object-fit:cover;border-radius:var(--r-xl)}
.why__cardbody{padding:25px 32px 32px 33px;display:flex;flex-direction:column}
.why__cardbody h3{margin-bottom:14px;max-width:355px}
.why__cardbody>p{max-width:355px;margin-bottom:auto;color:var(--ink-88)}
.getbox{background:var(--sand);border-radius:var(--r-md);padding:20px;max-width:355px}
.getbox b{display:block;font-size:16px;line-height:24px;font-weight:500;margin-bottom:12px}
.getbox p{font-size:16px;line-height:24px;color:var(--ink-64)}

/* ---------- attorneys ---------- */
.team__in{padding-top:120px;padding-bottom:120px}
.team__head{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:64px}
.team__head .eyebrow{margin-bottom:21px}
.team__head h2{max-width:1223px;min-width:0}
.team__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.person{background:var(--white);border-radius:var(--r-lg);padding:8px;display:flex;flex-direction:column}
.person__ph{position:relative;border-radius:var(--r-md);overflow:hidden;aspect-ratio:429/537}
.person__ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:filter var(--dur) var(--ease),transform var(--dur) var(--ease)}
.person:hover .person__ph img,.person:focus-within .person__ph img{filter:blur(9px);transform:scale(1.09)}
.person__scrim{--audit-bg:255,255,255;position:absolute;inset:0;background:rgba(0,0,0,.32);display:grid;place-items:center;opacity:0;transition:opacity var(--dur) var(--ease)}
.person:hover .person__scrim,.person:focus-within .person__scrim{opacity:1}
.person__scrim span{height:52px;padding:0 20px;border-radius:32px;background:var(--white);color:var(--ink);display:inline-flex;align-items:center;font-size:16px;font-weight:500}
.person__bar{margin-top:8px;background:var(--sand);border-radius:var(--r-md);padding:16px;display:flex;align-items:center;gap:12px;min-height:84px}
.person__bar h2,.person__bar h3{font-family:var(--sans);font-size:20px;line-height:28px;font-weight:500}
.person__bar .role{display:flex;align-items:center;gap:10px;font-size:16px;line-height:24px;color:var(--ink-64)}
.person__bar .role::before{content:"";width:18px;height:2px;background:currentColor;flex:0 0 18px}
.person__soc{margin-left:auto;display:flex;gap:8px}
.person__soc a{width:48px;height:48px;border-radius:10px;background:var(--paper);display:grid;place-items:center;transition:background-color var(--dur) var(--ease)}
.person__soc a:hover{background:var(--white)}
.person__soc svg{width:20px;height:20px}

/* ---------- achievements ---------- */
.ach__in{padding-top:120px;padding-bottom:120px}
.ach__head{text-align:center;margin-bottom:64px}
.ach__head .eyebrow{margin-bottom:21px}
.ach__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ach__card{height:400px;border-radius:var(--r-lg);background:var(--paper-08);padding:32px;display:flex;flex-direction:column}
.ach__card .num{font-family:var(--display);font-size:64px;line-height:67.968px;letter-spacing:-2.56px;color:var(--paper);margin-bottom:auto}
.ach__card p{font-size:20px;line-height:28px;color:var(--paper)}
.band--paper .ach__card{background:var(--sand)}
.band--paper .ach__card .num,.band--paper .ach__card p{color:var(--ink)}

/* ---------- case notes ---------- */
.case__in{padding-top:120px;padding-bottom:93px}
.case__head{text-align:center;margin-bottom:64px}
.case__head .eyebrow{margin-bottom:21px}
.case__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.case__card{background:var(--paper-08);border-radius:var(--r-xl);padding:8px;display:flex;flex-direction:column}
.case__card img{width:100%;aspect-ratio:662/480;object-fit:cover;border-radius:var(--r-lg)}
.case__body{padding:32px 24px 24px}
.case__body h3{color:var(--bone);margin-bottom:12px}
.case__body p{color:rgba(246,243,236,.72);margin-bottom:24px}

/* ---------- testimonials ---------- */
.tst__in{padding-top:120px;padding-bottom:16px}
.tst__head{text-align:center;margin-bottom:64px}
.tst__head .eyebrow{margin-bottom:21px}
.tst .rail__track{gap:128px}
.tst__card{flex:0 0 min(910px,calc(100vw - 2 * var(--gut)));height:600px;background:var(--white);border-radius:var(--r-xl);padding:8px;display:grid;grid-template-columns:411px 1fr;gap:40px}
.tst__ph{position:relative;border-radius:var(--r-lg);overflow:hidden}
.tst__ph img{width:100%;height:100%;object-fit:cover}
.tst__ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(180deg,rgba(8,8,9,0) 0%,rgba(8,8,9,.82) 78%)}
.tst__who{--audit-bg:26,25,24;position:absolute;left:32px;bottom:26px;color:var(--paper);z-index:1}
.tst__who b{display:block;font-size:16px;line-height:24px;font-weight:500}
.tst__who span{display:flex;align-items:center;gap:10px;font-size:16px;line-height:24px;color:var(--paper-88)}
.tst__who span::before{content:"";width:18px;height:2px;background:currentColor;flex:0 0 18px}
.tst__body{padding:32px 32px 32px 0;display:flex;flex-direction:column}
.tst__body h3{margin-bottom:14px}
.tst__body>p{max-width:411px;margin-bottom:auto;color:var(--ink-88)}
.tst__stats{display:flex;gap:0}
.tst__stats>div{width:206px;flex:0 0 206px}
.tst__stats b{display:block;font-size:20px;line-height:21.24px;font-weight:500;letter-spacing:-.8px;margin-bottom:4px}
.tst__stats span{font-size:16px;line-height:24px;font-weight:500;color:var(--ink-64)}

/* ---------- faq ---------- */
.faq__in{padding-top:120px;padding-bottom:120px}
.faq__grid{display:grid;grid-template-columns:509px 1fr;gap:0;align-items:start}
.faq__side{width:445px;display:flex;flex-direction:column;min-height:600px}
.faq__side .eyebrow{margin-bottom:21px}
.faq__side h2{margin-bottom:auto;max-width:445px}
.faq__box{background:var(--sand-deep);border-radius:var(--r-sm);padding:24px;max-width:445px}
.faq__box h3{font-family:var(--display);font-size:24px;line-height:28px;font-weight:500;margin-bottom:12px}
.faq__box p{font-size:16px;line-height:24px;color:var(--ink-64);margin-bottom:24px}
.faq__box .btn{background:var(--paper);color:var(--ink);gap:10px}
.faq__box .btn svg{width:20px;height:20px}
.faq__list{display:flex;flex-direction:column;gap:16px}
.qa{background:var(--white);border-radius:var(--r-sm);overflow:hidden}
.qa__q{width:100%;display:flex;align-items:center;gap:24px;text-align:left;padding:24px;min-height:88px}
.qa__q h3{flex:1;font-family:var(--display);font-size:24px;line-height:28px;font-weight:500}
.qa__ico{width:40px;height:40px;flex:0 0 40px;border-radius:20px;background:var(--ink-04);display:grid;place-items:center;transition:background-color var(--dur) var(--ease)}
.qa__ico svg{width:20px;height:20px}
.qa[open] .qa__ico{background:var(--ink-16)}
.qa__a{padding:0 24px 28px;font-size:16px;line-height:24px;color:var(--ink-64);max-width:819px}

/* ---------- blog ---------- */
.blog__in{padding-top:120px;padding-bottom:120px}
.blog__head{text-align:center;margin-bottom:64px}
.blog__head .eyebrow{margin-bottom:21px}
.blog__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.post img{width:100%;aspect-ratio:678/562;object-fit:cover;border-radius:var(--r-xl);margin-bottom:24px}
.post .meta{font-size:16px;line-height:24px;color:var(--ink-64);margin-bottom:12px}
.post h3{transition:opacity var(--dur) var(--ease)}
.post:hover h3{opacity:.65}

/* ---------- consult form band ---------- */
.form__band{position:relative}
.form__in{padding-top:120px;padding-bottom:120px}
.form__shell{position:relative;border-radius:var(--r-xl);overflow:hidden;min-height:841px;display:grid;grid-template-columns:700px 1fr;gap:0;padding:20px}
.form__bg{position:absolute;inset:0;z-index:0}
.form__bg img{width:100%;height:100%;object-fit:cover}
.form__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(52% 48% at 16% 88%,rgba(150,148,142,.30) 0%,rgba(10,10,11,0) 100%),linear-gradient(100deg,rgba(9,9,10,.975) 0%,rgba(9,9,10,.972) 55%,rgba(9,9,10,.968) 100%)}
.form__copy{--audit-bg:15,15,16;position:relative;z-index:1;color:var(--paper);padding:32px 32px 12px 32px;display:flex;flex-direction:column}
.form__copy .eyebrow{margin-bottom:21px;color:#fff}
.form__copy h1,.form__copy h2{margin-bottom:38px}
.form__ticks{display:flex;flex-direction:column;gap:11px;margin-bottom:auto}
.form__ticks li{display:flex;gap:10px;align-items:center;font-size:20px;line-height:28px;font-weight:500}
.form__ticks svg{width:28px;height:28px;flex:0 0 28px}
.form__who{display:flex;flex-direction:column;gap:0;padding-bottom:20px}
.form__who img{width:200px;height:200px;border-radius:var(--r-md);object-fit:cover;margin-bottom:12px}
.form__who b{font-size:20px;line-height:28px;font-weight:500}
.form__who .role{display:flex;align-items:center;gap:10px;font-size:16px;line-height:24px;color:rgba(246,243,236,.72);margin-bottom:14px}
.form__who .role::before{content:"";width:18px;height:2px;background:currentColor;flex:0 0 18px}
.form__who .tel{display:flex;align-items:center;gap:10px;font-size:16px;line-height:24px;font-weight:500;color:var(--paper-88);margin-bottom:14px}
.form__who .tel svg{width:20px;height:20px}
.form__who .textlink{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;height:40px;padding:0 16px;border-radius:32px;border:1px solid var(--paper-16);align-self:flex-start;font-size:14px;line-height:18.9px;font-weight:600}
.form__card{position:relative;z-index:1;background:var(--white);border-radius:var(--r-lg);padding:32px;align-self:start;margin-top:23px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.f-full{grid-column:1/-1}
.field label{display:block;font-size:14px;line-height:19.6px;font-weight:500;margin-bottom:6px}
.field input,.field select,.field textarea{
  width:100%;height:48px;border:0;border-radius:var(--r-xs);background:var(--paper);
  font-family:var(--sans);font-size:16px;line-height:24px;font-weight:500;color:var(--ink);padding:0 20px;
}
.field textarea{height:160px;padding:14px 20px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-64);font-weight:500}
.field select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%230A0A0B' stroke-width='1.6'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:20px}
.check{display:flex;align-items:center;gap:12px;font-size:14px;line-height:19.6px;font-weight:500;margin:20px 0}
.check input{width:18px;height:18px;accent-color:var(--ink)}
.form__submit{width:100%;height:48px;border-radius:100px;background:var(--ink);color:var(--paper);font-size:16px;font-weight:600}
.form__note{margin-top:14px;font-size:14px;line-height:19.6px;color:var(--ink-64)}
.form__ok{display:none;margin-top:16px;padding:14px 18px;border-radius:12px;background:var(--sand);font-size:14px;line-height:19.6px;font-weight:500}
.form__ok.is-on{display:block}

/* light variant of the consultation band (the reference contact hero) */
.form__band--light .form__shell{background:transparent;min-height:756px;padding:0;grid-template-columns:720px 1fr}
.form__band--light .form__copy{--audit-bg:246,243,236;color:var(--ink);padding:0 32px 0 0}
.form__band--light .form__copy h1{margin-bottom:55px}
.form__band--light .form__quote{margin-top:auto}
.form__band--light .form__copy .eyebrow{color:var(--ink)}
.form__band--light .form__ticks li{color:var(--ink)}
.form__band--light .form__card{margin-top:0;box-shadow:0 1px 2px rgba(10,10,11,.04)}
.form__quote{--audit-bg:225,220,210;background:var(--sand);border-radius:var(--r-sm);padding:24px;max-width:445px}
.form__quote p{font-size:20px;line-height:28px;font-weight:400;color:var(--ink);margin-bottom:24px}
.form__quoteby{display:flex;align-items:center;gap:12px}
.form__quoteby img{width:48px;height:48px;border-radius:10px;object-fit:cover}
.form__quoteby b{display:block;font-size:16px;line-height:24px;font-weight:500}

/* ---------- closing CTA + footer (one dark shell) ---------- */
.close{
  --audit-bg:118,118,115;
  position:relative;background:
    radial-gradient(36% 15% at 100% 0%, rgba(228,228,225,.55) 0%, rgba(228,228,225,0) 100%),
    radial-gradient(46% 15% at 8% 11%, rgba(226,226,223,.60) 0%, rgba(226,226,223,0) 100%),
    radial-gradient(52% 24% at 104% 55%, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),
    radial-gradient(70% 46% at 106% 80%, #000 0%, #000 34%, rgba(0,0,0,0) 100%),
    radial-gradient(42% 15% at 106% 23%, rgba(10,10,11,.80) 0%, rgba(10,10,11,0) 100%),
    linear-gradient(171deg, #818180 0px, #7F7F7D 360px, #7B7B79 430px, #6E6E6C 500px, #5F5F5D 560px, #3A3A39 660px, #151516 760px, #050506 880px, #000 100%);
  border-radius:40px 40px 0 0;padding:0 var(--gut) 31px;margin-top:0;
}
.close__in{max-width:1440px;margin:0 auto}
.cta{height:926px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--paper);padding:0 30px}
.cta .eyebrow{--audit-bg:101,101,99;position:relative;z-index:0;margin-bottom:38px;color:var(--paper);padding:0;background:none}
.cta__eyebrow::after{content:"";position:absolute;left:50%;top:50%;width:420px;height:140px;transform:translate(-50%,-50%);z-index:-1;pointer-events:none;background:radial-gradient(50% 50% at 50% 50%,rgba(10,10,11,.23) 0%,rgba(10,10,11,.15) 38%,rgba(10,10,11,.05) 70%,rgba(10,10,11,0) 100%)}
.cta h2{max-width:1316px;margin-bottom:48px}
.foot{--audit-bg:255,255,255;background:var(--white);border-radius:var(--r-xl);padding:120px 32px 65px;min-height:1044px;display:flex;flex-direction:column}
.foot__top{display:grid;grid-template-columns:550px 261px 260px 1fr;gap:0}
.foot__mark{width:48px;height:48px;border-radius:12px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-family:var(--display);font-size:22px;line-height:1;margin-bottom:64px}
.foot__brand h2{max-width:414px;margin-bottom:32px}
.subscribe{display:flex;align-items:center;width:414px;height:52px;border-radius:180px;background:var(--field);padding:0 4px 0 16px}
.subscribe input{flex:1;height:44px;border:0;background:none;font-family:var(--sans);font-size:14px;line-height:19.6px;color:var(--ink)}
.subscribe input::placeholder{color:var(--ink-64)}
.subscribe button{width:72px;height:44px;border-radius:32px;background:var(--ink);color:var(--paper);display:grid;place-items:center}
.subscribe svg{width:24px;height:24px}
.foot__col h3{font-size:14px;line-height:19.6px;font-weight:500;color:var(--ink-64);text-transform:uppercase;letter-spacing:.02em;margin-bottom:25px}
.foot__col li+li{margin-top:16px}
.foot__col a,.foot__col span{font-size:16px;line-height:20px;font-weight:500}
.foot__col a{transition:opacity var(--dur) var(--ease)}
.foot__col a:hover{opacity:.6}
.foot__addr{font-size:16px;line-height:24px;font-weight:500;color:var(--ink-88);margin-bottom:22px;max-width:220px}
.pillbtn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 20px;border-radius:32px;background:var(--ink-16);font-size:14px;line-height:19.6px;font-weight:500;margin-bottom:12px;max-width:100%}
.pillbtn span{word-break:break-word}
.pillbtn svg{width:20px;height:20px}
.foot__bottom{margin-top:auto;padding-top:64px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot__legal{display:flex;align-items:center;gap:10px;font-size:14px;line-height:19.6px;color:var(--ink-64);flex-wrap:wrap}
.foot__legal a{color:var(--ink-64)}
.foot__legal a:hover{color:var(--ink)}
.foot__soc{display:flex;gap:16px}
.foot__soc svg{width:24px;height:24px}
.disclaimer{margin-top:20px;font-size:14px;line-height:19.6px;color:var(--ink-64);max-width:900px}

.pad-xl{padding-top:160px;padding-bottom:140px}
.pad-lg{padding-top:120px;padding-bottom:120px}
.brandpad{padding:124px var(--gut)}

/* ---------- shared small parts ---------- */
.role{display:flex;align-items:center;gap:10px;font-size:16px;line-height:24px;color:var(--ink-64)}
.role::before{content:"";width:18px;height:2px;background:currentColor;flex:0 0 18px}
.det-wide{width:100%;height:700px;object-fit:cover;border-radius:40px}
.rounded{width:100%;height:568px;object-fit:cover;border-radius:var(--r-lg)}
.purpose{display:grid;grid-template-columns:minmax(0,509fr) minmax(0,445fr) minmax(0,422fr);min-height:558px}
.purpose h3{max-width:215px}
.purpose .beliefs{margin-top:0;position:relative;top:281px}
.purpose__say{padding-left:63px;max-width:413px}
.purpose__say p{margin-top:256px;max-width:350px}
.purpose-ph{width:100%;max-width:445px;height:556px;object-fit:cover;border-radius:var(--r-lg)}
.beliefs{display:flex;flex-direction:column;gap:12px;font-family:var(--display);font-size:28px;line-height:34px;color:var(--ink-64)}
.beliefs li{transition:color var(--dur) var(--ease)}
.beliefs li.is-on{color:var(--ink);display:flex;align-items:center;gap:12px}
.beliefs li.is-on::before{content:"";width:16px;height:16px;flex:0 0 16px;border-left:2px solid currentColor;border-bottom:2px solid currentColor}
.awards{display:grid;grid-template-columns:minmax(0,490fr) minmax(0,886fr);gap:0;align-items:end;min-height:544px}
.awards__ph{width:100%;max-width:350px}
.awards__ph img{width:100%;max-width:330px;height:212px;object-fit:cover;border-radius:var(--r-md)}
.awards__ph figcaption{margin-top:24px;max-width:330px}
.awards__ph b{display:block;font-size:16px;line-height:24px;font-weight:500;color:var(--paper);margin-bottom:8px}
.awards__ph span{font-size:16px;line-height:24px;color:var(--paper-72)}
.awards__tbl{width:100%;border-collapse:collapse;text-align:left}
.awards__tbl th{height:68px;font-size:16px;line-height:24px;font-weight:500;color:var(--paper-72);padding:0;vertical-align:middle}
.awards__tbl td{height:68px;font-size:16px;line-height:24px;font-weight:500;color:var(--paper-88);padding:0;border-top:1px solid var(--paper-16);vertical-align:middle}
.awards__tbl td:last-child,.awards__tbl th:last-child{text-align:right;white-space:nowrap}

/* ---------- inner page heads ---------- */
.phead{padding-top:120px;padding-bottom:64px;text-align:center}
.phead .eyebrow{margin-bottom:21px}
.phead h1{max-width:1376px;margin:0 auto}
.phead .meta{margin-top:24px;font-size:16px;line-height:24px;font-weight:500;color:var(--ink-64)}

/* services page: sticky scale stack */
.stack{padding-bottom:12px;overflow-x:clip;padding-top:54px}
.stack__item{position:sticky;top:100px;margin-bottom:20px}
.stack__card{
  height:550px;background:var(--white);border-radius:var(--r-xl);padding:8px;
  display:grid;grid-template-columns:minmax(0,644fr) minmax(0,644fr);gap:40px;transform-origin:50% 0;
}
.stack__card img{width:100%;height:534px;object-fit:cover;border-radius:var(--r-lg)}
.stack__body{padding:40px 40px 40px 0;display:flex;flex-direction:column}
.stack__body h2{margin-bottom:14px}
.stack__body p{max-width:644px;margin-bottom:auto;color:var(--ink-88)}
.stack__body .btn{align-self:flex-start}

/* detail page body */
.det__hero img{width:100%;height:700px;object-fit:cover;border-radius:40px}
.det{padding:64px 0 0}
.det__row{display:grid;grid-template-columns:465px 1fr;gap:0;padding-bottom:46px}
.det__row h2{max-width:445px}
.det__row .col p{max-width:911px;font-size:20px;line-height:28px;margin-bottom:17px}
.det__row .col p.sub{color:var(--ink-64)}
.det__row .col p.strong{font-weight:500;margin-bottom:10px}
.numgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.numcard{background:var(--white);border-radius:var(--r-md);padding:24px;min-height:284px;display:flex;flex-direction:column}
.numcard .n{font-family:var(--display);font-size:28px;line-height:31.976px;margin-bottom:auto}
.numcard h3{font-family:var(--display);font-size:22px;line-height:26px;font-weight:400;margin-bottom:10px}
.numcard p{font-size:16px;line-height:24px;color:var(--ink-64)}
.numcard--short{min-height:294px}
.quotecard{--audit-bg:10,10,11;position:relative;border-radius:20px;overflow:hidden;background:var(--ink);min-height:436px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,414px);gap:0;padding:8px}
.quotecard blockquote{padding:36px 24px 24px;display:flex;flex-direction:column;color:var(--paper)}
.quotecard blockquote p{font-family:var(--display);font-size:28px;line-height:31.976px;margin-bottom:auto;max-width:430px}
.quotecard cite{font-style:normal;font-size:16px;line-height:24px;font-weight:500;color:var(--paper)}
.quotecard img{width:100%;height:420px;object-fit:cover;border-radius:var(--r-lg)}

/* contact page */
.touch__in{padding-top:120px;padding-bottom:120px}
.touch__head{text-align:center;margin-bottom:64px}
.offices-head{margin-bottom:96px}
.touch__head .eyebrow{margin-bottom:21px}
.touch__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.touch__card{background:var(--white);border-radius:var(--r-lg);padding:24px;min-height:446px;display:flex;flex-direction:column}
.touch__card svg{width:32px;height:32px;margin-bottom:auto}
.touch__card h3{margin-bottom:24px;word-break:break-word}
.touch__card p{font-size:16px;line-height:24px;color:var(--ink-64)}
.offices{display:flex;flex-direction:column;gap:61px;padding:0 94px}
.office{background:var(--white);border-radius:var(--r-xl);padding:6px;display:grid;grid-template-columns:minmax(0,539fr) minmax(0,599fr);gap:50px;min-height:463px}
.office img{width:100%;height:448px;object-fit:cover;border-radius:var(--r-xl)}
.office__body{padding:20px 24px 24px 0;display:flex;flex-direction:column}
.office__body h3{margin-bottom:auto}
.office__body a{display:block;font-size:20px;line-height:28px;font-weight:500;color:var(--ink-88)}
.office__body a+a{margin-top:12px}
.office__addr{margin-top:auto;padding-top:24px;font-size:16px;line-height:24px;font-weight:500;color:var(--ink-64)}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .hero__in{grid-template-columns:1fr}
  .about__head,.about__grid,.why__grid,.faq__grid,.det__row,.touch__grid{grid-template-columns:1fr}
  .form__shell{grid-template-columns:1fr}
  .foot__top{grid-template-columns:1fr 1fr}
}

@media (max-width:900px){
  :root{--gut:20px}
  .nav{display:none}
  .burger{display:flex}
  .hdr{height:76px}
  .hdr__in{height:76px;display:flex;grid-template-columns:none;justify-content:space-between;gap:12px}
  .hero__copy{max-width:none}
  .hdr__cta{font-size:14px}
  .mnav{display:none;position:fixed;inset:76px 0 0;z-index:30;background:var(--paper);padding:24px 20px;overflow:auto}
  .mnav.is-on{display:block}
  .mnav a{display:block;padding:16px 0;font-family:var(--display);font-size:32px;line-height:36px;border-bottom:1px solid var(--ink-08)}

  .d96{font-size:52px;line-height:59.54px}
  .d64{font-size:40px;line-height:44px}
  .d52{font-size:36px;line-height:41.5px}
  .d40{font-size:30px;line-height:34px}
  .d28{font-size:24px;line-height:28px}
  .lead20{font-size:18px;line-height:32.4px}
  .eyebrow{font-size:10px;line-height:12px}
  .eyebrow::before{width:8px;height:8px;flex:0 0 8px}

  .hero{min-height:0}
  .hero__in{padding:50px 20px 0;display:block}
  .hero__copy{min-height:0}
  .hero h1{max-width:350px;margin-bottom:20px}
  .hero__lead{max-width:350px;margin-bottom:24px}
  .hero__cta{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:40px}
  .hero__cta .btn{align-self:flex-start}
  .hero__proof{padding-top:0;margin-bottom:40px}
  .hero__in{padding:50px 20px 30px}
  .hero__media{position:relative;width:100%;height:393px;top:auto;right:auto}
  .hero__card{left:20px;right:20px;bottom:20px;width:auto;min-height:153px}
  .hero__card img{width:100px;height:137px;flex:0 0 100px}

  .about__in{padding-top:60px;padding-bottom:20px}
  .about__head{display:block;margin-bottom:28px}
  .about__grid{display:block}
  .about__grid figure{display:inline-block;margin:0 10px 20px 0}
  .about__grid figure:nth-of-type(2){margin-left:0}
  .about__grid figure img{width:132px;height:184px}
  .about__say,.about__rate{padding:0;grid-column:auto}
  .about__rate{padding-top:4px;margin-bottom:24px}
  .marquee{margin-top:28px;padding:8px 0}
  .marquee__set{gap:64px;padding-right:64px}

  .svc__in,.proc__in,.why__in,.team__in,.ach__in,.case__in,.tst__in,.faq__in,.blog__in,.form__in,.touch__in{padding-top:70px;padding-bottom:60px}
  .svc__head,.ach__head,.case__head,.tst__head,.blog__head,.touch__head,.proc__head,.team__head{margin-bottom:28px}
  .tabs{margin-bottom:32px;overflow:auto;justify-content:flex-start;margin-left:-20px;margin-right:-20px;padding:0 20px}
  .tabs__in{flex:0 0 auto}
  .tabs button{height:40px;padding:0 16px;font-size:14px}
  .rail__track{gap:20px}
  .svc__card{flex:0 0 350px;height:auto;display:block;padding:6px}
  .svc__card img{width:100%;height:230px}
  .svc__cardbody{padding:20px 14px 14px}
  .svc__cardbody p{max-width:none;margin-bottom:24px}
  .rail__nav{margin-top:32px}

  .proc__card{flex:0 0 350px;height:320px;padding:20px}
  .team__head{display:block}
  .team__head .btn{margin-top:24px}
  .team__grid,.ach__grid,.case__grid,.blog__grid,.touch__grid,.numgrid{grid-template-columns:1fr}
  .team__grid,.case__grid,.blog__grid{gap:16px}
  .person__ph{aspect-ratio:429/430}
  .post img{margin-bottom:16px;aspect-ratio:678/470}
  .case__card img{aspect-ratio:662/380}
  .case__body{padding:20px 14px 14px}
  .case--tall .case__card img{aspect-ratio:662/436}
  .awards{display:block}
  .awards__ph{margin-bottom:32px}
  .awards__ph img{width:100%;height:220px}
  .awards__tbl th:nth-child(2),.awards__tbl td:nth-child(2){display:none}
  .beliefs{font-size:22px!important;line-height:28px!important}
  .det-wide{height:280px;border-radius:24px}
  .rounded{height:360px}
  .purpose-ph{width:100%;height:260px}
  .purpose{display:block;min-height:0}
  .purpose h3{max-width:none}
  .purpose .beliefs{top:0;margin-top:20px}
  .purpose__say{padding-left:0;max-width:none}
  .purpose__say p{margin-top:24px;max-width:none}
  .awards{display:block;min-height:0}
  .awards__ph{width:auto}
  .band--r40,.band--rt,.band--rb{border-radius:24px}
  .rail--bleed .rail__track,.rail--mid .rail__track{padding-left:var(--gut)}
  .ach__card{height:auto;min-height:126px;padding:20px}
  .ach__grid{gap:12px}
  .ach__card .num{font-size:44px;line-height:48px;letter-spacing:-1.6px}
  .ach__card p{font-size:17px;line-height:24px}
  .why__grid{display:block}
  .why__side{position:static;height:auto;width:auto;margin-bottom:24px}
  .whynav{display:none}
  .why__card{display:block;height:auto;padding:6px}
  .why__card img{width:100%;height:172px}
  .why__cardbody{padding:20px 14px 14px}
  .why__cardbody h3,.why__cardbody>p,.getbox{max-width:none}
  .why__cardbody>p{margin-bottom:24px}
  .why__cards{gap:16px}

  .tst__card{flex:0 0 350px;height:auto;display:block;padding:6px}
  .tst__ph{height:240px;margin-bottom:16px}
  .tst__body{padding:0 14px 14px}
  .tst__body>p{max-width:none;margin-bottom:24px}
  .tst__stats{gap:32px}

  .faq__side{width:auto;min-height:0;margin-bottom:24px}
  .faq__side h2{margin-bottom:24px}
  .faq__box{max-width:none}
  .qa__q{padding:20px;gap:14px;min-height:72px}
  .qa__q h3{font-size:19px;line-height:24px}
  .qa__a{padding:0 20px 22px}

  .form__shell{display:block;padding:14px;min-height:0}
  .form__band--light .form__shell{padding:0;min-height:0}
  .form__band--light .form__in{padding-top:40px;padding-bottom:40px}
  .form__band--light .form__copy h1{margin-bottom:24px}
  .form__quote p{margin-bottom:16px}
  .form__band--light .form__copy{padding:0 0 24px}
  .form__quote{max-width:none;padding:18px}
  .form__copy{padding:16px 14px 12px}
  .form__card{padding:18px}
  .pad-xl,.pad-lg{padding-top:64px;padding-bottom:56px}
  .brandpad{padding:92px var(--gut)}
  .fgrid{gap:10px}
  .field textarea{height:118px}
  .form__ticks{gap:8px}
  .check{margin:14px 0}
  .awards__tbl th,.awards__tbl td{height:36px}
  .awards__ph img{height:128px}
  .awards__ph figcaption{margin-top:16px}
  .rail--tall .proc__card{height:478px}
  .fgrid{grid-template-columns:1fr}
  .form__who img{width:84px;height:84px}

  .close{padding:0 16px 24px;border-radius:24px 24px 0 0}
  .cta{height:auto;padding:44px 8px}
  .cta__eyebrow::after{width:300px;height:110px}
  .cta .eyebrow{margin-bottom:24px}
  .cta h2{margin-bottom:32px}
  .foot{padding:48px 20px 32px;min-height:0;border-radius:var(--r-lg)}
  .foot__top{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  .foot__mark{margin-bottom:20px}
  .foot__brand{grid-column:1/-1;margin-bottom:32px}
  .subscribe{width:100%}
  .foot__col{margin-bottom:28px}
  .foot__col:last-child{grid-column:1/-1}
  .foot__col li+li{margin-top:12px}
  .foot__bottom{padding-top:24px}
  .disclaimer{margin-top:16px}

  .phead{padding-top:70px;padding-bottom:40px}
  body[data-page="attorneys"] .phead .d52{font-size:27px;line-height:33px}
  body[data-page="attorneys"] .phead .eyebrow{margin-bottom:16px}
  body[data-page="attorneys"] .person__ph{aspect-ratio:auto;height:351px}
  body[data-page="attorneys"] .person__bar{height:84px;min-height:84px;overflow:hidden}
  body[data-page="attorneys"] .person__bar h2,body[data-page="attorneys"] .person__bar h3{font-size:17px;line-height:22px}
  body[data-page="attorneys"] .person__bar .role{font-size:14px;line-height:20px}
  body[data-page="services"] .phead .d64{font-size:32px;line-height:37px}
  body[data-page="services"] .phead{padding-top:60px;padding-bottom:30px}
  body[data-page="attorneys"] .phead{padding-top:56px;padding-bottom:30px}
  body[data-page="about"] .phead{padding-top:96px;padding-bottom:58px}
  .stack__item{position:static}
  .stack__card{display:block;height:auto;min-height:574px;padding:6px}
  .stack__card img{width:100%;height:280px}
  .stack__body{padding:20px 14px 14px}
  .stack__body p{margin-bottom:24px}
  .det__hero img{height:280px;border-radius:24px}
  .det__row{display:block;padding-bottom:22px}
  .det__row h2{margin-bottom:20px}
  .det__row .col p{font-size:16px;line-height:25px;margin-bottom:14px}
  .numcard{min-height:0;padding:16px}
  .numgrid{gap:14px}
  .quotecard{display:block;min-height:0;padding:6px}
  .quotecard img{width:100%;height:280px}
  .offices{padding:0;gap:26px}
  .office{display:block;min-height:0}
  .office img{width:100%;height:250px}
  .office__body{padding:16px 14px 12px}
  .office__body h3{margin-bottom:20px}
  .touch__card{min-height:0}
  .touch__card svg{margin-bottom:18px}
  .touch__card{padding:16px}
  .touch__card h3{margin-bottom:16px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .marquee__track{animation:none;transform:none}
  .pre{display:none}
  .stack__card{transform:none!important}
  .rail__track{transition:none}
}

/* ================= review round (approved deviations) ================= */

/* 2. header: nav centred between the wordmark and the CTA, even gaps */
.hdr__in{grid-template-columns:1fr auto 1fr}
.hdr__in .nav{justify-self:center}
.nav{gap:6px}
.hdr__end{display:none}
.hdr__tel{display:none}

/* mobile header: wordmark left, call + burger flush right, nothing between */
@media (max-width:900px){
  .hdr__in{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .hdr__cta{display:none}
  .hdr__end{display:flex;align-items:center;gap:8px;margin-left:auto}
  .hdr__tel{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--paper)}
  .hdr__tel svg{width:20px;height:20px}
  .burger{width:44px;height:44px}
}

/* 3. hero video attempted twice and rejected at the taste gate (camera push-in); still image kept */

/* 4. hero case-note card: bigger type, a real button */
.hero__card{min-height:184px;bottom:40px;padding:10px;gap:12px;align-items:stretch}
.hero__card img{width:132px;height:auto;align-self:stretch;flex:0 0 132px;border-radius:10px}
.hero__cardbody{gap:10px;padding:2px 6px 2px 0;justify-content:flex-start}
.hero__cardttl{font-size:18px;line-height:26px;font-weight:500}
.hero__card .tag{margin-top:0;order:-1}
.hero__cardbtn{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:12px 18px;border-radius:32px;background:var(--ink);color:var(--paper);font-size:14px;line-height:20px;font-weight:600;white-space:nowrap}
.hero__cardbtn svg{width:18px;height:18px}
.hero__card:hover .hero__cardbtn{background:#23232399}

/* 5. Google review line */
.grev{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 18px 0 14px;border-radius:32px;background:var(--ink-04);border:1px solid var(--ink-08);transition:background-color var(--dur) var(--ease)}
.grev:hover{background:var(--ink-08)}
.grev__g{display:inline-flex;width:20px;height:20px}
.grev__g svg{width:20px;height:20px}
.grev__stars{display:inline-flex;gap:3px;color:var(--ink)}
.grev__stars svg{width:15px;height:15px}
.grev b{font-size:16px;line-height:24px;font-weight:600}
.grev__n{font-size:14px;line-height:20px;color:var(--ink-64)}

/* 6. a fuller hero paragraph */
.hero__lead{max-width:520px}

/* 8. practice carousel: centred active card, dimmed neighbours, infinite loop */
[data-tabrail] .rail__track{cursor:grab}
[data-tabrail] .rail__track.is-drag{cursor:grabbing;transition:none}
.svc__card{opacity:.3;transition:opacity .45s var(--ease)}
.svc__card.is-active{opacity:1}

/* 9. stages band: cards tightened so the copy fills them, opening image tile */
.proc__card{height:396px;justify-content:flex-start}
.proc__card .num{margin-bottom:28px}
.proc__card--img{padding:0;overflow:hidden;background:var(--sand)}
.proc__card--img img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-lg)}

/* 14. hero case card must not exceed the media panel between 901 and 1000 (donor overflow) */
@media (min-width:901px) and (max-width:1000px){
  .hero__card{left:20px;right:20px;width:auto;bottom:24px}
}

/* 12. footer content spans the full container */
.foot{padding:104px 40px 56px}
.foot__top{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);gap:40px}
.foot{min-height:0}
.foot__brand h2{max-width:100%}
.subscribe{width:min(414px,100%)}
.foot__addr{max-width:100%}

/* 13. pre-footer CTA: same dark as the case-notes band, half the height */
.close{background:var(--ink);padding-bottom:24px}
.cta{height:auto;padding:104px 30px 96px}
.cta .eyebrow{margin-bottom:24px}
.cta__eyebrow::after{display:none}
.cta h2{max-width:900px;margin-bottom:20px}
.cta__sub{max-width:560px;margin:0 auto 36px;font-size:18px;line-height:28px;color:var(--paper-88)}
.cta__row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center}
.cta__tel{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 20px;border-radius:32px;border:1px solid var(--paper-16);color:var(--paper);font-size:16px;font-weight:500}
.cta__tel svg{width:20px;height:20px}
.cta__tel:hover{background:var(--paper-08)}

@media (max-width:900px){
  .foot{padding:64px 20px 40px}
  .foot__top{gap:24px}
  .cta{padding:64px 20px 56px}
  .hero__card{min-height:0}
  .hero__card img{width:100px;flex:0 0 100px}
  .proc__card{height:auto;min-height:340px}
}

/* ================= two-line text wordmark ================= */
.wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:22px}
.wordmark small{font-size:10.5px;line-height:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.62}
/* inherited donor defect: at phone widths the nowrap card button (186px) outgrew the 178px card body and dragged the title past the card edge */
@media (max-width:480px){.hero__cardbody{min-width:0}.hero__card img{width:86px;flex:0 0 86px}.hero__cardbtn{padding:12px 14px;gap:6px}}
/* ================= Inner pages (rebuild pass 2): the lexedge originals' own tiers =================
   Measured on the live original at 1440 / 1439 / 1280 / 1200 / 1180 / 930 / 810 / 809 / 715 / 390:
   desktop >= 1440, tablet 810 to 1439 (single-column article, H1 51px, two-up cards, static stack),
   phone < 810 (H1 40px, row titles 20px, cards still two-up). No new components. */

/* kept from pass 1 because the original does the same: the article keeps its 32px gutters
   (the donor's .det shorthand zeroed them), and the light consultation eyebrow marker is unclipped at 390 */
.container.det{padding-left:var(--gut);padding-right:var(--gut)}
.form__band--light .form__shell{border-radius:0}
.det__row{scroll-margin-top:24px}

/* meta line = breadcrumb + phone; related cards are the original's title-only numbered cards as links */
.phead .meta a{text-decoration:underline;text-decoration-color:var(--ink-16);text-underline-offset:3px}
.phead .meta a:hover{text-decoration-color:currentColor}
a.numcard{transition:background-color var(--dur) var(--ease)}
a.numcard:hover{background:var(--sand)}
.det__row .col p + .numgrid{margin-top:24px}
.det__when{font-size:16px!important;line-height:24px!important;font-weight:500;margin-bottom:24px!important}
.det__cta{margin:8px 0 20px!important}
.det__row .col p.strong a{text-decoration:none}
.touch__card h3 a{text-decoration:none}
.form__quote .role a{color:inherit}
.office__inl{display:inline!important;font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important;color:inherit!important;margin:0!important;text-decoration:underline;text-underline-offset:3px}
.rail--tall .proc__card{justify-content:space-between}

/* tablet tier, 810 to 1439 */
@media (min-width:810px) and (max-width:1439px){
  .phead{padding-top:64px}
  .phead .d64{font-size:51px;line-height:54px}
  .det__hero img{height:auto;aspect-ratio:1376/700}
  .det__row{display:block;padding-bottom:46px}
  .det__row h2{max-width:none;margin-bottom:40px}
  .det__row .col p{font-size:20px;line-height:28px}
  .numgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .numgrid--short{grid-template-columns:repeat(3,minmax(0,1fr))}
  .numcard{min-height:284px;padding:24px}
  .numcard--short{min-height:294px}
  .quotecard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,397px);min-height:316px;padding:8px}
  .quotecard img{height:300px}
  .stack__item{position:static}
  .stack__card{transform:none!important;display:grid;height:auto;min-height:357px;grid-template-columns:minmax(0,430fr) minmax(0,440fr);gap:24px;padding:8px}
  .stack__card img{height:341px}
  .stack__body{padding:24px 24px 24px 0}
  .stack__body h2{font-size:32px;line-height:35px}
  .stack__body p{font-size:16px;line-height:24px;margin-bottom:auto}
}
@media (min-width:810px) and (max-width:1199px){
  .det__row h2.d40{font-size:32px;line-height:35px}
}

/* phone tier, below 810 */
@media (max-width:809px){
  .phead{padding-top:46px;padding-bottom:40px}
  .phead .d64{font-size:40px;line-height:42px}
  .det__hero img{height:500px;border-radius:24px}
  .det-wide{height:450px;border-radius:24px} /* original /about hero at 390 is a tall ~350x450 crop */
  .det__row h2.d40{font-size:20px;line-height:22px;margin-bottom:24px}
  .det__row .col p{font-size:16px;line-height:24px}
  .numgrid,.numgrid--short{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .numcard,.numcard--short{padding:20px;min-height:300px}
  .numcard .n{font-size:20px;line-height:23px}
  .numcard h3{font-size:16px;line-height:19px}
  .numcard p{font-size:14px;line-height:20px}
  .stack__card img{height:305px}
  .stack__body h2{font-size:20px;line-height:23px}
  .stack__body p{font-size:14px;line-height:20px}
}

/* ---- practice pages composed from the /about + homepage bands (pass 3, 2026-09-26) ---- */
/* About page head: H1 left (as /about), lead right bottom-aligned, wide image below */
.phead--about{text-align:left;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:64px;align-items:end}
.phead--about h1{margin:0}
.phead__lead{max-width:540px}
.phead__img{padding-bottom:64px}
/* dark "how we started" copy column (same measurements as attorney.html) */
.start__copy .title{margin:21px 0 38px}
.start__copy .lead20{max-width:540px;color:var(--paper-88)}
.start__copy .lead20+.lead20{margin-top:20px}
.start__copy .pr-sub{max-width:540px;margin-top:24px;font-family:var(--display);font-style:italic;font-size:28px;line-height:34px;color:var(--paper)}
.start__sig{margin-top:38px}
.start__sig b{font-size:20px;line-height:28px;font-weight:500}
.start__sig .role{color:var(--paper-72)}
.start__fig{max-width:568px;margin-left:auto}
.marq__eb{display:flex;justify-content:center;margin-bottom:32px}
.marquee--flush{margin-top:0}
/* purpose: list slot = related pages (links), say column = who-it-is-for copy */
.beliefs a{color:inherit;text-decoration:none;transition:color var(--dur) var(--ease)}
.beliefs a:hover{color:var(--ink)}
.purpose--copy .purpose__say{max-width:413px}
.purpose--copy .purpose__say>*{max-width:350px;font-size:16px;line-height:24px;color:var(--ink-64);margin-top:12px}
.purpose--copy .purpose__say>:first-child{margin-top:256px}
.purpose--copy .purpose__say .pr-strong{color:var(--ink);font-weight:500;margin-top:24px}
.purpose--copy .purpose__say>.pr-strong:first-child{margin-top:256px}
.purpose--copy .purpose__say .pr-strong+p{margin-top:8px}
.purpose--copy .purpose__say .pr-sub{color:var(--ink)}
/* process rail lead (a row's intro line above the rail) */
.proc__lead{max-width:640px;margin-top:24px;font-size:16px;line-height:24px;color:var(--ink-64)}
/* dark recognition table -> facts table: two columns, rows grow with the copy */
.ach__pre{max-width:720px;margin:24px auto 0;color:var(--paper-72)}
.awards--facts{align-items:end;min-height:0}
.awards--facts .awards__ph{padding-bottom:22px}
.facts th,.facts td{height:auto;padding:22px 0;vertical-align:top}
.facts thead th{height:68px;padding:0;vertical-align:middle}
.facts tbody th{width:34%;padding-right:32px;font-size:16px;line-height:24px;font-weight:500;color:var(--paper);border-top:1px solid var(--paper-16);text-align:left}
.facts tbody td{font-weight:400;color:var(--paper-72)}
.facts td:last-child,.facts th:last-child{text-align:left;white-space:normal}
.facts__grp th{padding:56px 0 16px;border-top:0!important;width:auto!important}
.facts__grp h3{color:var(--paper)}
.facts__grp p{margin-top:12px;font-weight:400;color:var(--paper-72)}
/* dark case notes carrying two question rows (no button) */
.case--copy .case__body p{margin-bottom:12px}
.case--copy .case__body p:last-child{margin-bottom:0}
.case--copy .case__body .pr-sub{color:var(--bone)}
/* home "the difference": cards grow with the copy; image keeps the card height */
.why--copy .why__card{height:auto;min-height:698px;align-items:stretch}
.why--copy .why__card img{height:100%;min-height:684px}
.why--copy .whynav a{height:auto;min-height:64px;padding:12px 20px;width:360px}
.why--copy .why__side{height:auto;min-height:720px;gap:48px}
.why__txt{margin-bottom:auto;padding-bottom:24px}
.why__txt p{max-width:355px;color:var(--ink-88)}
.why__txt p+p{margin-top:12px}
.why__txt .pr-strong{font-weight:500;color:var(--ink);margin-top:20px}
.why__txt .pr-strong+p{margin-top:6px}
.why--copy .getbox p+p{margin-top:12px}
.why--copy .getbox p{color:var(--ink-88)}
.faq__box .faq__dra{font-size:14px;line-height:20px}
@media (min-width:810px) and (max-width:1439px){
  .phead--about{grid-template-columns:1fr;gap:24px}
  .why--copy .whynav a{width:300px}
}
@media (max-width:900px){
  .purpose--copy .purpose__say>:first-child,.purpose--copy .purpose__say>.pr-strong:first-child{margin-top:24px}
  .purpose--copy .purpose__say>*{max-width:none}
  .purpose--copy .beliefs{margin-bottom:24px}
  .awards--facts .awards__ph{position:static}
  .facts thead{display:none}
  .facts tbody tr,.facts tbody th,.facts tbody td{display:block;width:auto!important}
  .facts tbody th{padding:20px 0 6px;padding-right:0}
  .facts tbody td{padding:0 0 20px;border-top:0;display:block!important}
  .facts__grp th{padding:40px 0 8px}
  .why--copy .why__card{min-height:0}
  .why--copy .why__card img{height:172px;min-height:0}
  .why--copy .why__side{min-height:0}
  .start__copy .pr-sub{font-size:22px;line-height:28px}
}
@media (max-width:809px){
  .phead--about{grid-template-columns:1fr;gap:20px}
  .phead__img{padding-bottom:40px}
}
@media (max-width:1180px){ .why--copy .why__side{min-height:0;gap:24px} }
