/* =============================================================================
   fm-northridge - Ashcombe & Co. (fictional corporate / M&A law firm)
   Likeness rebuild. Original CSS, written for this theme only.
   ========================================================================== */
@font-face{font-family:"Hedvig Letters Serif";src:url("../fonts/hedvig-letters-serif-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Quattrocento Sans";src:url("../fonts/quattrocento-sans-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"TASA Orbiter";src:url("../fonts/tasa-orbiter-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TASA Orbiter";src:url("../fonts/tasa-orbiter-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --paper:#FAFAF9; --paper-2:#E4E4E3; --white:#FFFFFF;
  --ink:#0F0F0F; --ink-2:#0F0E0D; --dark:#0D0D0D; --black:#000000; --deep:#030303;
  --body:#33312C; --body-dark:#E9E9E8;
  --muted:#66615A; --muted-lg:#8F8B85; --muted-dark:#A09C97; --muted-card:#817D78;
  --line:#E0DFDC; --line-2:#D2D1CE; --line-dark:rgba(250,250,249,.17);
  --ff-d:"Hedvig Letters Serif",Georgia,"Times New Roman",serif;
  --ff-b:"TASA Orbiter","Helvetica Neue",Arial,sans-serif;
  --ff-l:"Quattrocento Sans","Helvetica Neue",Arial,sans-serif;
  --gut:40px; --maxw:1600px; --navh:80px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ff-b);font-size:17px;line-height:23.8px;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,h6,p,figure,ul{margin:0;padding:0}
ul{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}

/* ---------- type ---------- */
.d-xl,.d-l,.d-1,.h2,.h3,.h4,.h5s,.stmt,.stmt-s,.metric,.stat,.quote,.quote-s{font-family:var(--ff-d);font-weight:400}
.d-xl{font-size:82px;line-height:90.2px;letter-spacing:-.82px}
.d-l{font-size:68px;line-height:81.6px;letter-spacing:-.68px}
.d-1{font-size:48px;line-height:57.6px;letter-spacing:-.96px}
.h2{font-size:62px;line-height:74.4px;letter-spacing:-.62px}
.h3{font-size:48px;line-height:57.6px;letter-spacing:-.96px}
.h4{font-size:32px;line-height:38.4px;letter-spacing:-.32px}
.h5s{font-size:24px;line-height:31.2px;letter-spacing:-.24px}
.stmt{font-size:42px;line-height:50.4px}
.stmt-s{font-size:36px;line-height:46.8px;letter-spacing:-.36px}
.metric{font-size:106px;line-height:137.8px;letter-spacing:-3.18px}
.stat{font-size:36px;line-height:46.8px;letter-spacing:-.36px}
.quote{font-size:32px;line-height:38.4px;letter-spacing:-.32px}
.quote-s{font-size:24px;line-height:28.8px;letter-spacing:-.24px}
.h5{font-family:var(--ff-b);font-size:22px;line-height:28.6px;font-weight:500;letter-spacing:-.22px}
.h6{font-family:var(--ff-b);font-size:17px;line-height:22.1px;font-weight:500;letter-spacing:-.17px}
.body{font-size:17px;line-height:23.8px}
.sm{font-size:15px;line-height:19.5px}
.fine{font-size:14px;line-height:18.2px}
.lab{font-family:var(--ff-l);font-size:13px;line-height:16.9px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted)}
.lab-d{color:var(--muted-dark)}
.lab-p{color:var(--paper)}
.num{font-size:12px;line-height:15.6px;color:var(--muted)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;height:48px;padding:0 20px;border-radius:0;
  font-family:var(--ff-b);font-size:14px;line-height:18.2px;font-weight:500;letter-spacing:0;
  transition:background-color .35s var(--ease),color .35s var(--ease);white-space:nowrap}
.btn svg{width:12px;height:12px;flex:none;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translate(2px,-2px)}
.btn-l{background:var(--paper);color:var(--ink-2)}
.btn-l:hover{background:#ECEBE8}
.btn-d{background:var(--ink);color:var(--paper)}
.btn-d:hover{background:#26241F}
.tlink{display:inline-flex;align-items:center;gap:10px;font-size:17px;line-height:23.8px}
.tlink svg{width:13px;height:13px;transition:transform .35s var(--ease)}
.tlink:hover svg{transform:translate(2px,-2px)}
.tlink::after{content:"";position:absolute}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto;height:var(--navh);z-index:60;background:transparent;
  transform:translateY(0);transition:transform .45s var(--ease),background-color .4s var(--ease),border-color .4s var(--ease);
  border-bottom:1px solid transparent}
.hdr .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hdr.is-solid{background:var(--dark)}
.hdr.is-hidden{transform:translateY(-90px)}
.hdr.is-light{background:#FAFAFA;border-bottom-color:var(--line)}
.mark{font-family:var(--ff-b);font-weight:400;font-size:18px;line-height:1;letter-spacing:.16em;color:var(--paper);white-space:nowrap}
.hdr.is-light .mark{color:var(--ink)}
.hdr.is-light .hdr-cta{background:var(--ink);color:var(--paper)}
.hdr.is-light .hdr-cta:hover{background:#26241F}
.nav{display:flex;align-items:center;gap:32px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0}
.nav>li>a,.nav>li>button{display:inline-flex;align-items:center;gap:6px;font-size:14px;line-height:18.2px;font-weight:500;color:var(--paper);opacity:1;transition:opacity .3s var(--ease)}
.hdr.is-light .nav>li>a,.hdr.is-light .nav>li>button{color:var(--ink)}
.nav>li>a:hover,.nav>li>button:hover{opacity:.62}
.nav .chev{width:11px;height:11px;transition:transform .3s var(--ease)}
.nav li.open .chev{transform:rotate(180deg)}
.hdr-cta{margin-left:auto}
.burger{display:none;width:30px;height:18px;position:relative}
.burger i{position:absolute;left:0;right:0;height:1.5px;background:var(--paper);transition:transform .35s var(--ease),opacity .25s}
.hdr.is-light .burger i{background:var(--ink)}
.burger i:nth-child(1){top:2px}.burger i:nth-child(2){bottom:2px}
.mopen .burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mopen .burger i:nth-child(2){transform:translateY(-6px) rotate(-45deg)}

/* dropdown */
.drop{position:fixed;left:0;right:0;top:calc(var(--navh) + 16px);z-index:55;background:var(--dark);
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}
.drop.open{opacity:1;visibility:visible;transform:none}
.drop .wrap{padding-top:40px;padding-bottom:60px;display:grid;grid-template-columns:minmax(0,291fr) minmax(0,582fr) minmax(0,487fr);gap:0}
.drop .dlab{color:var(--muted-dark);width:195px;height:17px;align-self:start}
.drop-list a{display:block;width:min(487px,100%);height:64px;border-bottom:1px solid var(--line-dark);
  font-family:var(--ff-d);font-size:24px;line-height:31.2px;letter-spacing:-.24px;color:var(--paper);
  transition:padding-left .35s var(--ease),opacity .35s var(--ease)}
.drop-list li+li{margin-top:8px}
.drop-list a:hover{padding-left:10px;opacity:.72}
.drop-side{width:min(487px,100%)}
.drop-card{display:block;width:min(487px,100%);height:274px;overflow:hidden;background:var(--deep)}
.drop-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.drop-side:hover .drop-card img{transform:scale(1.021)}
.drop-side .dtitle{display:flex;align-items:center;gap:8px;margin-top:16px;height:24px;font-size:14px;line-height:24px;font-weight:500;color:var(--paper)}
.drop-side .dtitle svg{width:12px;height:12px}
.drop-side .ddesc{display:block;margin-top:8px;height:18px;font-size:14px;line-height:18.2px;color:var(--muted-dark)}

/* mobile sheet */
.sheet{position:fixed;inset:0;z-index:58;background:var(--dark);padding:101px 16px 40px;visibility:hidden;
  transform:translateY(-100%);transition:transform .5s var(--ease),visibility .5s;overflow-y:auto}
.sheet.open{transform:none;visibility:visible}
.sheet a{display:block;color:var(--paper);font-family:var(--ff-b);font-size:22px;line-height:28.6px;
  font-weight:500;letter-spacing:-.22px;height:29px;margin-bottom:16px;transition:opacity .3s var(--ease)}
.sheet a:hover{opacity:.7}


/* ---------- hero (home) ---------- */
.hero{position:relative;height:100vh;min-height:720px;background:var(--black);overflow:hidden;color:var(--paper)}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s var(--ease)}
.hero-slide.on{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:100% 40%}
.scrim-b{position:absolute;inset:auto 0 0;height:460px;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.66) 22%,rgba(0,0,0,0) 100%)}
.scrim-l{position:absolute;inset:0;background:linear-gradient(100deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 28%,rgba(0,0,0,.14) 58%,rgba(0,0,0,.04) 100%)}
.scrim-f{position:absolute;inset:0;background:rgba(0,0,0,.16)}
.hero .wrap{position:relative;height:100%;z-index:2;display:flex;flex-direction:column;justify-content:flex-start}
.hero-body{position:absolute;left:50%;top:50%;transform:translate(-50%,calc(-50% - 20px));width:min(100% - (var(--gut) * 2),1520px)}
.hero-t{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s var(--ease),visibility .8s}
.hero-t.on{opacity:1;visibility:visible;position:relative}
.hero-t .lab{color:var(--muted-dark)}
.hero-t h1,.hero-t .d-1{margin-top:24px;max-width:680px;color:var(--paper)}
.hero-t .body{margin-top:24px;max-width:500px;color:var(--body-dark)}
.hero-t .btn{margin-top:24px}
.hero-tabs{position:absolute;left:50%;transform:translateX(-50%);width:min(100% - (var(--gut) * 2),1520px);bottom:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;z-index:2}
.hero-tab{position:relative;display:block;padding-top:13px;text-align:left;color:var(--paper);opacity:.62;transition:opacity .4s var(--ease)}
.hero-tab .h6{display:block;line-height:22.1px}
.hero-tab.on,.hero-tab:hover{opacity:1}
.hero-tab::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:rgba(250,250,249,.34)}
.hero-tab i{position:absolute;top:0;left:0;height:1px;width:0;background:var(--paper);display:block}
.hero-tab.on i{animation:tabfill 5s linear forwards}
@keyframes tabfill{from{width:0}to{width:100%}}

/* ---------- section head (hairline + eyebrow) ---------- */
.bhead{padding-top:30px;border-top:1px solid var(--line)}
.bhead-d{border-top-color:var(--line-dark)}
.bhead-2{border-top-color:var(--line-2)}

/* ---------- word reveal ---------- */
.rv span{display:inline-block;opacity:.3;transition:opacity .2s ease-out}
.rv span.lit{opacity:1}
.rv.in span{opacity:1}

/* ---------- welcome band ---------- */
.welcome{background:var(--paper);padding:98px 0 80px}
.welcome .stmt{margin-top:60px;color:var(--ink)}
.welcome .lead{margin-top:59px;max-width:640px;color:var(--body)}
.welcome .btn{margin-top:60px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:60px;padding:50px 0 50px}
.mcard{position:relative;border-left:1px solid var(--line-2);padding:10px 0 0 62px;min-height:279px}
.mcard .num{position:absolute;left:20px;top:10px}
.mcard .metric{display:block;color:var(--ink)}
.mcard .lab{display:block;margin-top:114px}

/* ---------- expertise band ---------- */
.dark-band{background:var(--dark);color:var(--paper)}
.expertise{padding:98px 0 124px}
.expertise .h2{margin-top:98px}
.ex-intro{margin-top:68px;display:flex;align-items:flex-start;justify-content:space-between;gap:40px}
.ex-intro p{max-width:640px;color:var(--body-dark)}
.ex-intro .btn{margin-top:24px;flex:none}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:98px}
.card figure{overflow:hidden;background:var(--deep)}
.card img{width:100%;height:243px;object-fit:cover;transition:transform 1.1s var(--ease)}
.card:hover img{transform:scale(1.021)}
.card .crow{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line-dark);padding-top:57px;margin-top:0}
.card .crow svg{width:20px;height:20px;flex:none;transition:transform .4s var(--ease)}
.card:hover .crow svg{transform:translateX(5px)}
.card p{margin-top:9px;color:var(--muted-card)}

/* ---------- approach band ---------- */
.approach{background:var(--paper);padding:98px 0 123px}
.ap-head{margin-top:98px;display:grid;grid-template-columns:minmax(0,726fr) minmax(0,634fr);gap:0;align-items:start}
.ap-head .h2{max-width:600px}
.ap-head .lead{color:var(--body);max-width:min(602px,100%);margin-top:7px}
.ap-head .btn{margin-top:38px}
.carousel{margin-top:146px;display:grid;grid-template-columns:minmax(0,726fr) minmax(0,634fr);gap:0;align-items:start}
.ap-tabs{width:min(480px,100%)}
.ap-tab{width:100%;text-align:left;border-bottom:1px solid var(--line-2);padding:11px 0 10px;margin-bottom:19px;position:relative;display:block}
.ap-tab:first-child{border-top:1px solid var(--line-2)}
.ap-tab .h6{color:var(--ink);transition:color .3s var(--ease)}
.ap-tab .apd{display:block;max-height:0;overflow:hidden;opacity:0;transition:max-height .55s var(--ease),opacity .4s var(--ease)}
.ap-tab .apd p{padding-top:12px;color:var(--body)}
.ap-tab.on .apd{max-height:120px;opacity:1}
.ap-tab i{position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--ink);display:block}
.ap-tab.on i{animation:tabfill 5s linear forwards}
.ap-mob{display:none}
.ap-stage{position:relative;height:458px;background:var(--ink);overflow:hidden}
.ap-scene{position:absolute;inset:0;opacity:0;transition:opacity .9s var(--ease)}
.ap-scene.on{opacity:1}
.ap-scene img{width:100%;height:100%;object-fit:cover}
.ap-scene .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(3,3,3,.86) 0%,rgba(3,3,3,.28) 46%,rgba(3,3,3,.42) 100%)}
.ap-scene .cli{position:absolute;top:32px;left:32px;color:var(--paper);font-size:22px;line-height:28.6px;font-weight:500;letter-spacing:-.22px}
.ap-metric{position:absolute;left:32px;right:32px;bottom:32px;color:var(--paper)}
.ap-metric .row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:10px;border-bottom:1px solid rgba(250,250,249,.45)}
.ap-metric .stat{font-size:48px;line-height:57.6px;letter-spacing:-.96px}
.ap-metric .lab{padding-top:20px}
.ap-metric .lab{color:var(--paper)}

/* ---------- quote band ---------- */
.quoteband{position:relative;height:900px;overflow:hidden;color:var(--paper);background:var(--black)}
.quoteband>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.quoteband .ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.34) 100%)}
.quoteband .wrap{position:relative;height:100%;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding-top:98px;padding-bottom:47px}
.cli-mark{font-size:20px;line-height:24px;font-weight:500;letter-spacing:-.2px;display:flex;align-items:center;gap:9px}
.cli-mark svg{width:17px;height:17px}
.quoteband blockquote{margin:0;max-width:952px}
.quoteband .qq{margin-top:48px}
.qname{margin-top:48px}
.qname .lab{margin-top:0;color:var(--muted-lg)}
.stats{margin-left:auto;width:680px;max-width:100%}
.stats .srow{display:flex;align-items:baseline;justify-content:space-between;gap:24px;height:47px;padding-left:48px;border-bottom:1px solid rgba(250,250,249,.45)}
.stats .srow .lab{transform:translateY(-15px)}
.stats .srow+.srow{margin-top:21px}
.stats .lab{color:var(--paper)}

/* ---------- blog band ---------- */
.blog{background:var(--paper-2);padding:98px 0 214px}
.blog-head{margin-top:98px;display:flex;align-items:flex-start;justify-content:space-between;gap:40px}
.blog-head .h2{color:var(--ink)}
.blog-head .btn{margin-top:27px;flex:none}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:70px}
.post{display:block}
.post .ptop{border-top:1px solid var(--line-2);padding-top:15px}
.post figure{margin-top:31px;overflow:hidden;background:var(--ink)}
.post img{width:100%;height:248px;object-fit:cover;transition:transform 1.1s var(--ease)}
.post:hover img{transform:scale(1.021)}
.post .pdate{margin-top:13px;color:var(--muted)}
.post h3,.post .h5s{margin-top:14px;color:var(--ink);transition:opacity .3s var(--ease)}
.post:hover .h5s{opacity:.66}
.post .pex{margin-top:13px;color:var(--muted)}
.blog-alt{padding-bottom:232px}
.blog-paper{background:var(--paper)}
.blog-paper .post .ptop,.blog-paper .bhead{border-top-color:var(--line)}

/* ---------- cta band + footer ---------- */
.ctaband{background:var(--dark);color:var(--paper);height:128px;display:flex;align-items:center}
.ctaband .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px}
.ftr{background:var(--dark);color:var(--paper);padding:64px 0 0}
.fcols{display:grid;grid-template-columns:repeat(3,1fr);gap:39px}
.fcol{border-left:1px solid var(--line-dark);padding-left:34px;min-height:185px}
.fcol .lab{color:rgba(255,252,245,.62)}
.fcol li{margin-top:14.2px;line-height:0}
.fcol li:first-child{margin-top:27px}
.fcol a{display:inline-block;font-size:14px;line-height:16.8px;position:relative}
.fcol a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:currentColor;transition:right .35s var(--ease)}
.fcol a:hover::after{right:0}
.fmark{padding:56px 0 0;min-height:242px;display:flex;flex-direction:column;justify-content:space-between}
.fmark .disc{max-width:760px;color:var(--muted-lg);font-size:13px;line-height:19px}
.fmark .wordmark{font-family:var(--ff-b);font-size:27px;line-height:32px;letter-spacing:.2em;color:var(--paper)}
.fbot{border-top:1px solid var(--line-dark);padding:22px 0 22px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.fbot,.fbot a{color:var(--muted-lg);font-size:14px;line-height:18.2px}

/* ---------- page heroes ---------- */
.phero{background:var(--dark);color:var(--paper);position:relative;overflow:hidden}
.phero-about{height:1034px;padding-top:160px}
.phero-about h1{margin-top:68px;max-width:1000px}
.strip{position:absolute;left:0;right:0;top:620px;height:398px;overflow:hidden}
.strip-track{display:flex;gap:16px;width:2880px;transform:translateX(-720px);will-change:transform}
.strip figure{width:708px;height:398px;flex:none;overflow:hidden;background:var(--deep)}
.strip img{width:100%;height:100%;object-fit:cover}
.phero-svc{height:100vh;min-height:720px;padding-top:0}
.svc-intro{position:absolute;left:50%;top:50%;transform:translate(-50%,calc(-50% + 5px));width:min(100% - (var(--gut) * 2),1520px)}
.phero-svc .pimg{position:absolute;inset:0}
.phero-svc .pimg img{width:100%;height:100%;object-fit:cover;object-position:64% 30%}
.phero-svc .sc{position:absolute;inset:0;background:linear-gradient(97deg,rgba(13,13,13,.94) 0%,rgba(13,13,13,.8) 24%,rgba(13,13,13,.18) 58%,rgba(13,13,13,.06) 100%)}
.phero-svc .sc2{position:absolute;inset:auto 0 0;height:360px;background:linear-gradient(to top,rgba(13,13,13,.8),rgba(13,13,13,0))}
.phero-svc .wrap{position:relative;z-index:2;height:100%}
.phero-svc .lead{margin-top:32px;max-width:640px;color:var(--paper)}
.phero-svc .btn{margin-top:31px}
.svc-title{position:absolute;left:50%;transform:translateX(-50%);width:min(100% - (var(--gut) * 2),1520px);bottom:40px}
.phero-svc h1{width:90%;max-width:none}
.phero-ttl{padding-top:196px;padding-bottom:0}
.phero-ttl .thead{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start;margin-top:50px}
.phero-ttl h1{max-width:1000px}
.phero-ttl .thead p{text-align:left;color:var(--paper);margin-top:33px}
.phero-ttl .mainimg{margin-top:84px;height:720px;overflow:hidden;background:var(--deep)}
.phero-ttl .mainimg img{width:100%;height:100%;object-fit:cover;object-position:62% 42%}
.phero-cta{display:inline-flex;align-items:center;gap:8px}
.phero-cta svg{width:11px;height:11px}

/* ---------- about page ---------- */
.aboutband{position:relative;background:var(--paper);padding:98px 0 132px}
.obfig{position:absolute;right:40px;top:245px;width:255px;height:351px;overflow:hidden;background:var(--line);will-change:transform}
.obfig img{width:100%;height:100%;object-fit:cover}
.aboutband .stmt-s{margin-top:100px;max-width:1020px;color:var(--ink)}
.aboutband .lead{margin-top:60px;max-width:640px;color:var(--body)}
.aboutband .btn{margin-top:76px}
.aboutband .metrics{margin-top:44px}
.imgfeature{position:relative;height:900px;overflow:hidden;color:var(--paper);background:var(--black)}
.imgfeature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.imgfeature .ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.58) 44%,rgba(0,0,0,.3) 100%)}
.imgfeature .wrap{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding-top:48px;padding-bottom:48px}
.imgfeature h2{max-width:816px;margin-top:0}
.team{background:var(--paper);padding:98px 0 80px}
.team .h2{margin-top:98px}
.tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:100px}
.tcard figure{overflow:hidden;background:var(--line)}
.tcard img{width:100%;height:400px;object-fit:cover;object-position:50% 22%}
.tcard .tn{margin-top:60px;font-family:var(--ff-d);font-size:16px;line-height:22.4px;color:var(--ink)}
.tcard .lab{margin-top:5px}
.tcard p{margin-top:15px;color:var(--muted);max-width:260px}
.careers{background:var(--ink);color:var(--paper);padding:98px 0 132px}
.careers-head{margin-top:98px;display:grid;grid-template-columns:minmax(0,670fr) minmax(0,640fr);gap:50px;align-items:start}
.careers-head .h2{max-width:670px}
.careers-head p{color:var(--paper)}
.jobs{margin-top:160px}
.job{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,227px) minmax(0,344px) auto;gap:24px;align-items:flex-start;min-height:96px;
  border-top:1px solid var(--line-dark);padding:12px 0;transition:padding-left .4s var(--ease)}
.job .btn{margin-top:-12px}
.job .sm{padding-top:5px}
.job:last-child{border-bottom:1px solid var(--line-dark)}
.job:hover{padding-left:10px}
.job .sm{color:var(--paper)}

/* ---------- services page ---------- */
.overview{background:var(--paper);padding:98px 0 144px}
.overview .stmt-s{margin-top:100px;max-width:1020px}
.overview .lead{margin-top:60px;max-width:640px;color:var(--ink)}
.overview .btn{margin-top:76px}
.svcband{background:var(--dark);color:var(--paper);padding:98px 0 180px}
.svcband .h2{margin-top:98px}
.svcband .lead{margin-top:69px;max-width:640px;color:var(--body-dark)}
.svcrows{margin-top:202px}
.svcrow{display:grid;grid-template-columns:240px 1fr 32px;gap:100px;align-items:start;padding-right:48px;
  border-bottom:1px solid var(--line-dark);padding-bottom:58px;margin-bottom:94px;transition:opacity .35s var(--ease)}
.svcrow:last-child{margin-bottom:0}
.svcrow figure{overflow:hidden;background:var(--deep)}
.svcrow img{width:240px;height:131px;object-fit:cover;transition:transform 1.1s var(--ease)}
.svcrow:hover img{transform:scale(1.05)}
.svcrow .sc{padding-top:18px}
.svcrow .body{margin-top:10px;color:var(--paper)}
.svcrow .arw{align-self:center;width:32px;height:32px;transition:transform .4s var(--ease)}
.svcrow:hover .arw{transform:translateX(6px)}
.svcrow .arw svg{width:32px;height:32px}
.wband{background:var(--white);padding:98px 0 186px;text-align:center}
.wband .bhead{border-top:0;padding-top:0}
.wband .lab{display:block}
.wband .h2{margin-top:68px;max-width:800px;margin-left:auto;margin-right:auto}
.wband .lead{margin-top:48px;max-width:480px;margin-left:auto;margin-right:auto;color:var(--body)}
.wband .btn{margin-top:63px}
.tcard-lg{margin-top:53px;border:1px solid var(--line-2);display:grid;grid-template-columns:minmax(0,611fr) minmax(0,749fr);text-align:left;min-height:596px}
.tcard-lg figure{margin:24px;overflow:hidden;background:var(--line)}
.tcard-lg figure img{width:100%;height:548px;object-fit:cover;object-position:50% 26%}
.tcard-lg .tc-body{border-left:1px solid var(--line-2);padding:71px 32px 18px;display:flex;flex-direction:column}
.tcard-lg .quote-s{margin-top:43px;max-width:555px;color:var(--ink)}
.tcard-lg .tn{margin-top:48px}
.tcard-lg .tstats{margin-top:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:40px}
.tcard-lg .tstats div+div{border-left:1px solid var(--line-2);padding-left:37px}
.tcard-lg .tstats .lab{margin-top:12px}

/* ---------- practice detail ---------- */
.pcontent{background:var(--paper);padding:120px 0 152px}
.pcontent .stmt-s{max-width:1224px}
.pcontent .bhead{margin-top:101px}
.pgrid{display:grid;grid-template-columns:minmax(0,340fr) minmax(0,680fr) minmax(0,340fr);gap:0;margin-top:59px}
.pgrid .pbody .body{color:var(--ink)}
.pgrid .pbody .h5s{margin-top:44px}
.pgrid .pbody .h5s+.body{margin-top:21px}
.pgrid .pimg{padding-left:min(85px,25%)}
.pgrid .pimg figure{width:min(255px,100%);height:319px;overflow:hidden;background:var(--line)}
.pgrid .pimg img{width:100%;height:100%;object-fit:cover}
.pgrid .tlink{margin-top:93px;color:var(--ink)}
.others{background:var(--dark);color:var(--paper);padding:98px 0 168px}
.others-grid{margin-top:98px;display:grid;grid-template-columns:minmax(0,476fr) minmax(0,884fr);gap:0}
.others-grid .h2{max-width:408px}
.orow{display:grid;grid-template-columns:140px 1fr;gap:60px;align-items:flex-start;
  border-bottom:1px solid var(--line-dark);padding:32px 0 35px;transition:padding-left .4s var(--ease)}
.orow>div{padding-top:6px}
.orow+.orow{margin-top:22px}
.orow:hover{padding-left:8px}
.orow figure{width:140px;height:79px;overflow:hidden;background:var(--deep)}
.orow img{width:100%;height:100%;object-fit:cover}
.orow p{margin-top:11px;color:var(--muted-dark)}

/* ---------- contact ---------- */
.ctitle{background:var(--paper);padding:180px 0 0;height:327px}
.ctitle h1{margin-top:48px}
.cband{background:var(--paper);padding:80px 0 200px}
.cgridwrap{display:grid;grid-template-columns:minmax(0,640fr) minmax(0,600fr);gap:120px;align-items:start}
.cphoto{height:800px;overflow:hidden;background:var(--line)}
.cphoto img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.cright{max-width:640px}
.cright .lead{margin-top:24px;color:var(--body);max-width:430px}
.cgrid{margin-top:70px;display:grid;grid-template-columns:1fr 1fr;row-gap:15px}
.ccell{border-left:1px solid var(--line-2);padding:30px 32px 34px;min-height:192px}
.ccell .sm a{color:inherit}
.ccell:nth-child(-n+2){border-bottom:1px solid var(--line-2)}
.ccell:last-child{grid-column:1 / -1}
.ccell svg{width:21px;height:21px;color:var(--ink)}
.ccell .h5{margin-top:26px}
.ccell .sm{margin-top:8px;color:var(--ink)}
.ccell a.sm:hover{opacity:.66}

/* ---------- misc ---------- */
.sec-lab{display:block}
.mobfig{display:none}
.arrow-sq{width:20px;height:20px}

/* =========================== tablet =========================== */
@media (max-width:1240px){
  .nav{position:static;transform:none;gap:22px}
  .ap-head,.carousel{grid-template-columns:1fr 1fr;gap:56px}
  .ap-tabs{width:100%}
  .cgridwrap{grid-template-columns:1fr 1fr;gap:48px}
  .pgrid{grid-template-columns:1fr 2fr;gap:40px}
  .pgrid .pimg{display:none}
  .others-grid{grid-template-columns:1fr 1fr;gap:40px}
  .careers-head{grid-template-columns:1fr 1fr;gap:32px}
  .job{grid-template-columns:1fr 130px 130px auto;gap:16px}
  .tcard-lg{grid-template-columns:1fr 1fr}
  .tgrid{grid-template-columns:repeat(2,1fr);gap:40px 20px}
  .drop .wrap{grid-template-columns:200px 1fr}
  .drop-side{display:none}
}
@media (max-width:1040px){
  .d-xl{font-size:62px;line-height:70px}
  .h2{font-size:48px;line-height:58px}
  .d-l{font-size:52px;line-height:62px}
  .metric{font-size:84px;line-height:110px;letter-spacing:-2.4px}
  .svcrow{grid-template-columns:200px 1fr 32px;gap:48px}
  .stats{width:100%}
}

/* =========================== phone =========================== */
@media (max-width:809px){
  :root{--gut:16px;--navh:57px}
  .nav,.hdr-cta{display:none}
  .burger{display:block}
  .drop{display:none}
  .mark{font-size:18px}
  .d-xl{font-size:68px;line-height:81.6px;letter-spacing:-.68px}
  .d-l{font-size:68px;line-height:81.6px;letter-spacing:-.68px}
  .d-1{font-size:32px;line-height:38.4px;letter-spacing:-.64px}
  .h2{font-size:40px;line-height:48px;letter-spacing:-.4px}
  .h3{font-size:32px;line-height:38.4px;letter-spacing:-.64px}
  .stmt{font-size:30px;line-height:39px;letter-spacing:-.3px}
  .metric{font-size:68px;line-height:88.4px;letter-spacing:-2.04px}
  .quote{font-size:26px;line-height:31.2px;letter-spacing:-.26px}
  .stat{font-size:36px;line-height:46.8px}

  .hero{height:100vh;min-height:0}
  .hero-body{transform:translate(-50%,calc(-50% - 8px))}
  .hero-t h1{margin-top:24px}
  .hero-t .body{margin-top:24px;max-width:none}
  .hero-t .btn{margin-top:24px}
  .hero-tabs{bottom:16px;gap:11px}
  .hero-tab{padding-top:0;height:1px;font-size:0}
  .hero-tab span{display:none}
  .hero-slide img{object-position:58% 32%}

  .welcome{padding:98px 0 60px}
  .welcome .stmt{margin-top:60px}
  .welcome .lead{margin-top:56px}
  .welcome .btn{margin-top:50px}
  .metrics{grid-template-columns:1fr;gap:40px;margin-top:60px;padding:80px 0 20px}
  .mcard{min-height:219px;padding:10px 0 0 30px}
  .mcard .num{left:14px}
  .mcard .lab{margin-top:115px}

  .expertise{padding:64px 0 90px}
  .expertise .h2{margin-top:60px}
  .ex-intro{flex-direction:column;margin-top:48px;gap:0}
  .ex-intro .btn{margin-top:38px}
  .cards{grid-template-columns:1fr;gap:76px;margin-top:60px}
  .card img{height:201px}
  .card .crow{padding-top:38px}

  .approach{padding:98px 0 90px}
  .ap-head{grid-template-columns:1fr;gap:0;margin-top:60px}
  .ap-head .lead{margin-top:48px}
  .ap-head .btn{margin-top:38px}
  .carousel{grid-template-columns:1fr;gap:0;margin-top:60px}
  .ap-stage{display:none}
  .ap-tab{border:0;padding:0;margin-bottom:115px}
  .ap-tab:first-child{border-top:0}
  .ap-tab i{display:none}
  .ap-tab .apd{max-height:none;opacity:1;overflow:visible}
  .ap-tab .apd p{padding-top:12px}
  .ap-mob{display:block;margin-top:36px;position:relative;height:400px;overflow:hidden;background:var(--ink)}
  .ap-mob img{width:100%;height:100%;object-fit:cover}
  .ap-mob .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(3,3,3,.86) 0%,rgba(3,3,3,.26) 52%,rgba(3,3,3,.4) 100%)}
  .ap-mob .cli{position:absolute;top:32px;left:32px;color:var(--paper);font-size:20px;font-weight:500}
  .ap-mob .ap-metric{left:32px;right:32px;bottom:29px}

  .quoteband{height:844px}
  .quoteband .wrap{padding-top:48px;padding-bottom:64px}
  .quoteband .qq{margin-top:56px}
  .stats .srow{padding-left:0}

  .blog{padding:98px 0 100px}
  .blog-head{flex-direction:column;gap:0;margin-top:60px}
  .blog-head .btn{margin-top:38px}
  .posts{grid-template-columns:1fr;gap:64px;margin-top:70px}
  .post img{height:201px}

  .ctaband{height:auto;padding:40px 0 39px}
  .ctaband .wrap{flex-direction:column;align-items:flex-start;gap:31px}
  .ftr{padding:64px 0 0}
  .fcols{grid-template-columns:1fr;gap:34px}
  .fcol{min-height:0;padding-left:34px}
  .fmark{min-height:113px;padding-top:40px;gap:28px}
  .fmark .wordmark{font-size:38px;line-height:46px}
  .fbot{flex-direction:column;align-items:flex-start;gap:8px;padding:22px 0 40px}

  .mobfig{display:block;margin-top:81px;height:492px;overflow:hidden;background:var(--line)}
  .mobfig img{width:100%;height:100%;object-fit:cover}
  .obfig{position:static;width:auto;height:492px;margin-top:32px}
  .aboutband .obfig+.btn{margin-top:34px}
  .aboutband .mobfig+.btn,.overview .mobfig+.btn{margin-top:34px}
  .phero-about{height:auto;padding-top:140px;padding-bottom:15px}
  .phero-about h1{margin-top:68px;font-size:32px;line-height:38.4px;letter-spacing:-.64px}
  .strip{position:relative;top:0;margin-top:130px;height:103px}
  .strip-track{width:780px;transform:translateX(-195px);gap:16px}
  .strip figure{width:183px;height:103px}
  .phero-svc{height:97vh;min-height:0;padding-top:140px}
  .svc-intro{position:static;transform:none;width:auto}
  .phero-svc .wrap{display:block}
  .phero-svc .lead{margin-top:20px}
  .svc-title{position:static;transform:none;width:auto}
  .phero-svc h1{width:auto;margin-top:48px}
  .phero-svc .pimg img{object-position:62% 26%}
  .phero-ttl{padding-top:130px}
  .phero-ttl .thead{grid-template-columns:1fr;gap:20px;margin-top:48px}
  .phero-ttl .thead p{text-align:left;padding-top:0;margin-top:0}
  .phero-ttl .mainimg{margin-top:84px;height:720px}
  .phero-ttl h1{font-size:46px;line-height:50.6px;letter-spacing:-.46px}

  .aboutband{padding:64px 0 40px}
  .aboutband .stmt-s{margin-top:56px}
  .aboutband .lead{margin-top:48px}
  .aboutband .btn{margin-top:56px}
  .imgfeature{height:100vh}
  .imgfeature .wrap{padding-top:48px;padding-bottom:64px}
  .team{padding:64px 0 80px}
  .team .h2{margin-top:77px}
  .tgrid{grid-template-columns:1fr;gap:64px;margin-top:96px}
  .tcard img{height:400px}
  .tcard .tn{margin-top:40px}
  .careers{padding:64px 0 90px}
  .careers-head{grid-template-columns:1fr;gap:28px;margin-top:77px}
  .jobs{margin-top:88px}
  .job{grid-template-columns:1fr;gap:18px;padding:28px 0 34px;min-height:0;align-items:flex-start}
  .job .btn{margin-top:6px}
  .job .jmeta{display:flex;gap:28px}

  .overview{padding:64px 0 70px}
  .overview .stmt-s{margin-top:56px}
  .svcband{padding:64px 0 100px}
  .svcband .h2{margin-top:77px}
  .svcband .lead{margin-top:96px}
  .svcrows{margin-top:104px}
  .svcrow{grid-template-columns:1fr;gap:24px;padding-right:0;padding-bottom:40px;margin-bottom:67px}
  .svcrow .arw{display:none}
  .svcrow figure{width:120px}
  .svcrow img{width:120px;height:80px}
  .svcrow .sc{padding-top:0}
  .wband{padding:64px 0 157px}
  .wband .h2{margin-top:64px}
  .tcard-lg{grid-template-columns:1fr;margin-top:72px;min-height:0}
  .tcard-lg figure{margin:24px}
  .tcard-lg figure img{height:310px}
  .tcard-lg .tc-body{border-left:0;border-top:1px solid var(--line-2);padding:40px 16px 32px}
  .tcard-lg .tstats{grid-template-columns:1fr;gap:24px;padding-top:56px}
  .tcard-lg .tstats div+div{border-left:0;padding-left:0;border-top:1px solid var(--line-2);padding-top:24px}

  .pcontent{padding-top:80px}
  .pgrid{grid-template-columns:1fr;margin-top:59px}
  .pgrid .pimg{display:block;padding-left:0;margin-top:48px}
  .pgrid .pimg figure{width:100%;height:492px}
  .others{padding:64px 0 100px}
  .others-grid{grid-template-columns:1fr;gap:56px;margin-top:104px}
  .orow{grid-template-columns:1fr;gap:24px;padding:0 0 36px}
  .orow+.orow{margin-top:36px}
  .orow figure{width:120px;height:80px}
  .orow>div{padding-top:0}

  .ctitle{padding-top:160px;height:408px}
  .ctitle h1{margin-top:44px}
  .cband{padding:20px 0 180px}
  .cgridwrap{grid-template-columns:1fr;gap:56px}
  .cphoto{height:448px}
  .cgrid{grid-template-columns:1fr;margin-top:56px}
  .ccell{min-height:0;padding:40px 24px 44px}
  .ccell:nth-child(-n+2){border-bottom:1px solid var(--line-2)}
}

/* =========================== reduced motion =========================== */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .rv span{opacity:1 !important;filter:none !important}
  .hero-slide,.ap-scene{transition:none}
  .hero-tab i,.ap-tab i{animation:none;width:100%}
  .hdr{transform:none !important}
}
