/* wf-riskslimits: Marchetti Crane (likeness rebuild, our own code)
   Units: em against the fluid body size (1.1111vw, 13.889px floor under 1250, 16px cap at 1440+),
   which is how the reference scales every band. Display sizes carry x0.979 to hold the reference
   cap height with Inter Tight (cap .7275) standing in for Helvetica Now Display (cap .712). */
@font-face{font-family:"Inter Tight";src:url("../fonts/inter-tight-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("../fonts/inter-tight-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("../fonts/inter-tight-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("../fonts/inter-tight-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Satoshi";src:url("../fonts/satoshi-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
/* metric-matched fallbacks so the swap does not move lines */
@font-face{font-family:"IT Fallback";src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:93.5%;ascent-override:103.6%;descent-override:25.8%;line-gap-override:0%}
@font-face{font-family:"Sat Fallback";src:local("Arial"),local("Helvetica");size-adjust:97%;ascent-override:100%;descent-override:26%;line-gap-override:0%}

:root{
  --navy:#19345b;      /* ink / primary (ref rgb 25,52,91) */
  --ink:#222222;       /* nav + menu labels (ref) */
  --tan:#b2966f;       /* accent fills and hairline (ref rgb 178,150,111) */
  --tan-d:#a0845d;     /* display digits: ref tan 2.84:1 on white, deepened to 3.5:1 */
  --tan-t:#8a6f4a;     /* small tan text + fills under white text: 4.71:1 */
  --paper:#fbfbfb;     /* grey band (ref) */
  --grey:#f2f2f2;      /* hairlines, number discs (ref) */
  --div:#e0e0e0;       /* stat dividers (ref) */
  --field:#e4e4e4;     /* input borders (ref) */
  --muted:rgba(25,52,91,.72); /* ref .6 = 3.8:1, deepened */
  --white:#fff;
  --sans:"Inter Tight","IT Fallback",Arial,sans-serif;
  --num:"Satoshi","Sat Fallback",Arial,sans-serif;
  --oq:cubic-bezier(.25,.46,.45,.94);   /* outQuad */
  --os:cubic-bezier(.39,.575,.565,1);   /* outSine */
  --oqt:cubic-bezier(.165,.84,.44,1);   /* outQuart */
  --ic:cubic-bezier(.55,.055,.675,.19); /* cover wipe (ref curve) */
  --ioe:cubic-bezier(.87,0,.13,1);      /* inOutExpo */
  --ease:cubic-bezier(.2,.7,.2,1);
  --hdr:106px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:120px}
body{margin:0;min-height:100%;background:#fff;color:var(--navy);font-family:var(--sans);font-weight:400;font-size:1.1111111vw;line-height:20px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media (min-width:1440px){body{font-size:16px}}
@media (max-width:1250px){body{font-size:13.8888889px}}
img{max-width:100%;height:auto;display:block;border:0}
a{color:var(--navy);text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,h4{font-weight:400;margin:0}
p{margin:0 0 10px;font-size:1.11em;line-height:1.55}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--navy);color:#fff;padding:12px 16px;font-size:15px}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--tan-t);outline-offset:3px}

.h1{font-size:3.9160em;line-height:1.2258;font-weight:300;letter-spacing:-.0125em;margin:10px 0 20px}
.h2{font-size:2.7216em;line-height:1.2258;font-weight:400;margin:15px 0 30px;letter-spacing:-.004em}
.sub{display:block;font-size:1em;line-height:20px;letter-spacing:.1em;text-transform:uppercase}
.wrap{position:relative;width:100%;max-width:1350px;margin:0 auto;padding:0 3%}
.center{display:flex;flex-direction:column;align-items:center;text-align:center}
.mw-s{max-width:26em;margin:0 auto}.mw-m{max-width:38em;margin:0 auto}.mw-l{max-width:43em;margin:0 auto}
.pad{padding:6.25em 0}.pad--nt{padding-top:0}.pad--nb{padding-bottom:0}.pad--ht{padding-top:3.12em}
section{position:relative}

/* ---------------- header (fixed; headroom: hides on scroll down, returns on scroll up) ---------------- */
.hdr{position:fixed;left:0;right:0;top:0;z-index:60;background:#fff;border:1px solid var(--grey);padding:1.3em 0;transition:transform .3s var(--oq),opacity .3s var(--oq)}
.hdr.is-hid{transform:translateY(-100%);opacity:0}
.hdr__in{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;max-width:1350px;margin:0 auto;padding:0 3%;min-height:62px}
.logo{display:inline-flex;align-items:center;gap:10px;width:140px;color:var(--navy)}
.logo__mk{flex:0 0 auto;width:40px;height:40px;border:1.5px solid var(--tan);border-radius:50%;display:flex;align-items:center;justify-content:center;font:500 13px/1 var(--sans);letter-spacing:.04em;color:var(--navy)}
.logo__mk b{font-weight:500;color:var(--tan-t)}
.logo__tx{display:flex;flex-direction:column;gap:6px;font:500 10.5px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;white-space:nowrap}
.logo__tx span+span{color:var(--navy)}
.logo__tx i{font-style:normal;color:var(--tan-t)}
.nav{display:flex;align-items:center}
.nav__a{display:block;padding:20px;font-size:16px;line-height:20px;color:var(--ink);transition:color .3s ease}
.nav__a:hover,.nav__a[aria-current="page"]{color:var(--tan-t)}
.hdr__r{justify-self:end;display:flex;align-items:center;gap:22px}
.hdr__tel{display:inline-flex;align-items:center;gap:10px;font-size:16px;line-height:20px;color:var(--ink);white-space:nowrap;min-height:44px;transition:color .3s ease}
.hdr__tel svg{width:20px;height:20px;color:var(--tan-t)}
.hdr__tel:hover{color:var(--tan-t)}
.hdr__cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 1.25em;background:var(--navy);color:#fff;font-size:13px;line-height:1;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:background-color .3s ease}
.hdr__cta:hover{background:var(--tan-t)}
.burger{display:none;position:relative;width:47px;height:50px;padding:18px 9px 18px 18px;border:0;background:none;cursor:pointer;justify-self:end}
.burger i{display:block;width:20px;height:2px;background:#000a1d;transition:transform .34s var(--oq),opacity 0s}
.burger i:nth-child(2){margin:4px 0}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mnav{display:none}

/* ---------------- home hero (owner edit: full-bleed photo, CTA buttons at right) ---------------- */
.hero{padding-top:6em}
.hero>.pad{padding-bottom:0}
.hero__row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:5em}
.hero__txt{min-width:0}
.hero__txt p{margin-bottom:10px}
.hero__ctas{display:grid;gap:12px;margin-top:10px;flex:0 0 auto;width:16.5em}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:4em;padding:0 1.4em;font-size:1em;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;transition:background-color .3s ease,color .3s ease,border-color .3s ease}
.btn--fill{background:var(--navy);color:#fff}
.l-sm{display:none}
.btn--fill:hover{background:var(--tan-t)}
.btn--line{border:1px solid var(--navy);color:var(--navy);letter-spacing:.04em}
.btn--line:hover{border-color:var(--tan-t);color:var(--tan-t)}
.btn__ic{position:relative;overflow:hidden;width:22px;height:22px;flex:0 0 22px}
.btn__ic svg{position:absolute;inset:0;width:22px;height:22px;transition:transform .3s var(--oq)}
.btn__ic svg+svg{transform:translateY(100%)}
.btn:hover .btn__ic svg:first-child{transform:translateY(-100%)}
.btn:hover .btn__ic svg+svg{transform:translateY(0);transition-delay:.1s}
.hero__cover{position:relative;padding-top:20px;padding-bottom:6.25em}
.hero__line{position:absolute;left:0;right:0;top:0;height:1px;background:var(--grey)}
.hero__img{position:relative;overflow:hidden;width:100%;height:calc((min(100vw,1350px) - 6vw) * .41537)}
.hero__img img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.hero__anchor{position:absolute;left:0;right:0;top:0;height:0;pointer-events:none}
.hero__hp{position:relative;height:0}
.hero__anchor .hire{pointer-events:auto;right:8em;top:-5.21em}

/* "hire us" disc (hero + inner page tops) */
.hire{position:absolute;display:flex;align-items:center;justify-content:center;width:10.42em;height:10.42em;padding:1.18em;border-radius:50%;background:#fff;z-index:3}
.hire__a{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:1px solid var(--grey);border-radius:50%;text-align:center;letter-spacing:.1em;text-transform:uppercase;font-size:1em;line-height:20px;color:var(--navy);isolation:isolate}
.hire__a::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--tan-t);transform:scale(0);transition:transform .3s var(--oq);z-index:-1}
.hire__a span{transition:color .3s var(--oq) .1s}
.hire__a:hover::before,.hire__a:focus-visible::before{transform:scale(1)}
.hire__a:hover span,.hire__a:focus-visible span{color:#fff;transition-delay:0s}

/* ---------------- inner page top ---------------- */
.ptop{padding-top:6em}
.ptop__head .sub{margin-bottom:0}
.ptop__cov{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:6em;padding:0 2.08em}
.ptop__line{width:100%;height:1px;margin-bottom:20px;background:var(--grey)}
.ptop__img{position:relative;overflow:hidden;width:100%}
.ptop__img img,.cov-img{width:100%;aspect-ratio:1425/506;max-height:35em;object-fit:cover}
.ptop__cov .hire{top:-5.21em;left:auto;right:auto}
.ptop--c .ptop__cov{margin-top:3em;padding:0}
.ptop--c .ptop__frame{position:relative;width:100%;max-width:calc(1680px + 4.16em);margin:0 auto;padding:0 2.08em}
.ptop--c .ptop__img img{aspect-ratio:1353/451}

/* white wipe that uncovers a photo (ref "cover slides left") */
.wipe{position:absolute;inset:0;background:#fff;transform-origin:0 50%;transform:scaleX(0);pointer-events:none;z-index:2}

/* ---------------- numbers ---------------- */
.nums,.locs-b{isolation:isolate;overflow-x:clip}
.nums__grid{display:flex;justify-content:space-around;align-items:center;margin:2.78em 0 3.12em;padding:3.82em 0;border-top:1px solid var(--grey);border-bottom:1px solid var(--grey)}
.num{position:relative;display:grid;grid-template-columns:1fr;row-gap:1em;align-items:center;text-align:center;font-weight:500}
.num__d{font-family:var(--num);font-weight:500;color:var(--tan-d);font-size:4.17em;line-height:1.4}
.num__g{position:absolute;right:50%;bottom:-8px;z-index:-1;transform:translate(50%,0);font-family:var(--num);font-weight:500;color:rgba(250,250,250,.7);font-size:8.34em;line-height:1.5;white-space:nowrap}
.num__l{font-size:16px;line-height:20px;color:var(--navy)}
.nums__div{width:1px;height:55px;background:var(--div)}

/* ---------------- practice rows: Custerpoint concept A "journal rows", ported (owner edit) ---------------- */
.svc{background:var(--paper)}
.ca{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(30px,5vw,80px);align-items:start}
.ca__side{position:sticky;top:8.5em}
.ca__side .h2{margin:15px 0 22px}
.ca__side p{max-width:26em;margin:0 0 30px;font-size:1.11em;line-height:1.55;color:var(--navy)}
.ca__count{display:block;font-family:var(--num);font-weight:500;font-size:clamp(56px,6vw,88px);line-height:.9;color:var(--navy);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ca__count+p{margin-top:18px}
.ulink{display:inline-flex;align-items:center;gap:12px;font-size:1em;line-height:20px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);padding:4px 0;border-bottom:1px solid var(--tan);transition:color .3s ease,border-color .3s ease}
.ulink svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.ulink:hover{color:var(--tan-t);border-color:var(--tan-t)}
.ulink:hover svg{transform:translateX(4px)}
.ca__list{border-top:1px solid var(--div)}
.ca__row{display:grid;grid-template-columns:136px minmax(0,1fr) 28px;gap:34px;align-items:center;padding:34px 0;border-bottom:1px solid var(--div);color:var(--navy)}
.ca__img{display:block;width:136px;aspect-ratio:1;overflow:hidden;background:var(--grey)}
.ca__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.ca__tx{min-width:0}
.ca__meta{display:flex;flex-wrap:wrap;row-gap:6px;align-items:center;gap:12px;font-weight:500;font-size:12px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:14px}
.ca__meta i{display:block;width:24px;height:1px;background:var(--tan)}
.ca__meta span:last-child{color:var(--muted)}
.ca__t{display:block;font-size:clamp(22px,2.1vw,28px);font-weight:500;line-height:1.2;letter-spacing:-.01em;color:var(--navy);text-wrap:balance;transition:color .25s var(--ease)}
.ca__x{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:16px;line-height:1.55;margin-top:10px;max-width:60ch}
.ca__go{color:var(--navy);transition:transform .3s var(--ease)}
.ca__go svg{width:24px;height:24px;display:block}
.ca__row:hover .ca__t,.ca__row:focus-visible .ca__t{color:var(--tan-t)}
.ca__row:hover .ca__go{transform:translateX(6px)}
.ca__row:hover .ca__img img{transform:scale(1.06)}
.svcp .ca{margin-top:5em}

/* ---------------- values / process (photo + card of four) ---------------- */
.fw{position:relative;margin:1.04em auto 0;padding:0 2.08em}
.fw__img{position:relative;overflow:hidden}
.fw__img img{width:100%;aspect-ratio:1425/526;max-height:35em;object-fit:cover}
.vals__wrap{position:relative;max-width:1350px;margin:0 auto;padding:0 3%}
.vals__grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin-top:-10em;padding:2.08em 0;background:#fff;box-shadow:0 1px 20px rgba(0,0,0,.05)}
.val__top{margin:0 2.08em;padding-bottom:2.08em;border-bottom:1px solid var(--grey);text-align:center}
.val__main{display:flex;flex-direction:column;align-items:flex-start;padding:3.47em 2.04em 0;border-right:1px solid var(--grey)}
.val__n{display:flex;align-items:center;justify-content:center;width:2.78em;height:2.78em;margin-bottom:3.47em;border-radius:50%;background:var(--grey);font-size:1em;line-height:20px}
.val__main p{margin:0 0 10px}

/* ---------------- closing CTA band + footer ---------------- */
.cta{padding-top:6.25em}
@media (max-width:991px){.cta{padding-top:5em}}
@media (max-width:767px){.cta{padding-top:4em}.ftr .ftr__a{white-space:normal}}
@media (max-width:479px){.cta{padding-top:3em}}
.cta__img{position:relative;overflow:hidden}
.cta__img img{width:100%;aspect-ratio:1425/574;max-height:40em;object-fit:cover}
.cta__ov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:rgba(0,0,0,.6);z-index:1}
.cta__ov .wrap{max-width:1350px}
.cta__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;justify-content:space-between;max-width:80%;margin-bottom:2em}
.cta__grid .h2{color:#fff;margin-bottom:20px}
.cta__grid p{color:#fff;font-weight:300;margin:0 0 10px}
.ring{position:relative;justify-self:end;align-self:end;display:inline-flex;align-items:center;justify-content:flex-end;gap:19px;height:5.5em;min-width:5.5em;padding-right:2.4em;color:#fbfbfb;font-size:1em;line-height:1.2em;font-weight:300;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}
.ring svg.ring__arw{width:8px;height:13px;flex:0 0 8px}
.ring__c{position:absolute;right:0;top:50%;width:5.5em;height:5.5em;transform:translateY(-50%) rotate(-90deg);overflow:visible;pointer-events:none}
.ring__c circle{fill:none;stroke-width:1}
.ring__c .b{stroke:rgba(255,255,255,.4)}
.ring__c .f{stroke:#fff;stroke-dasharray:277;stroke-dashoffset:277;transition:stroke-dashoffset 1.2s var(--ioe)}
.ring:hover .ring__c .f,.ring:focus-visible .ring__c .f{stroke-dashoffset:0}
.ring span{position:relative;z-index:1}

.ftr{position:relative;margin-top:-4.17em;padding-bottom:1em;z-index:2}
.ftr--flat{margin-top:0;border-top:1px solid var(--grey)}
.ftr__ov{position:absolute;left:0;top:0;bottom:0;width:75%;background:#fff}
.ftr__grid{position:relative;display:grid;grid-template-columns:.5fr .5fr .5fr;column-gap:4.17em;row-gap:16px;max-width:75%;padding:4.17em 0;background:#fff}
.ftr__col{display:flex;flex-direction:column;align-items:flex-start}
.ftr__col .logo{width:152px}
.ftr__grid>.ftr__col:nth-child(2){justify-self:center}
.ftr__blurb{max-width:12em;margin-top:1.39em;color:var(--muted);font-size:1em;line-height:1.55}
.ftr__h{margin:0 0 1.11em;font-size:1.2em;line-height:20px;font-weight:500}
.ftr__a{margin-bottom:.8em;font-size:1.11em;line-height:20px;transition:color .3s ease;white-space:nowrap}
.ftr__a:hover{color:var(--tan-t)}
.ftr__a abbr{text-decoration:none}
@media (min-width:768px){.ftr__a wbr{display:none}}
.ftr__legal{position:absolute;right:2.08em;top:calc(4.17em + 26px);bottom:1em;width:calc(25% - 4.16em);display:flex;flex-direction:column;justify-content:space-between;gap:14px;color:var(--muted);font-size:13px;line-height:1.5}
.ftr--flat .ftr__legal{top:26px}
.ftr__legal p{font-size:12.5px;line-height:1.5;margin:0}
.ftr__cred{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 16px;white-space:nowrap;font-size:1em;color:var(--muted)}
.ftr__cred a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}

/* ---------------- about: referral logos ---------------- */
.logos__row{display:flex;justify-content:center;align-items:center;margin-top:2.78em;padding:3em 0;border-top:1px solid var(--grey);border-bottom:1px solid var(--grey)}
.lg{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 1 auto;min-width:0;width:130px;height:78px;margin:0 5em;color:#111;text-align:center;font-size:16px}
.lg svg{width:2.125em;height:auto}
.lg svg{display:block}
.lg--a b{display:block;font-weight:600;font-size:1em;line-height:1;letter-spacing:-.01em;margin-top:.375em;white-space:nowrap}
.lg--a small{display:block;font-weight:500;font-size:.41em;line-height:1;letter-spacing:.24em;text-transform:uppercase;margin-top:.6em;border-top:1px solid #111;padding-top:.6em;white-space:nowrap}
.lg--b b{display:block;font-weight:600;font-size:2.125em;line-height:.9;letter-spacing:-.06em}
.lg--b small{display:block;font-weight:600;font-size:.5625em;line-height:1;letter-spacing:.36em;text-transform:uppercase;margin-top:.8em;white-space:nowrap}
.lg--c b{display:block;font-weight:300;font-size:1.3125em;line-height:1;letter-spacing:.02em;white-space:nowrap}
.lg--c b em{font-style:normal;font-weight:600}
.lg--c small{display:block;font-weight:500;font-size:.5em;line-height:1;letter-spacing:.42em;margin-top:1em}

/* ---------------- about: attorney rows ---------------- */
.team__list{margin-top:5em}
.team__row{display:grid;grid-template-columns:.75fr 1.25fr .25fr;gap:16px;align-items:center;justify-content:space-between;padding:1.74em 0 1.74em 1.74em;border-bottom:1px solid var(--grey);text-align:left}
.team__row:first-child{border-top:1px solid var(--grey)}
.team__n{font-size:1.1em;font-weight:500;line-height:20px}
.team__d{max-width:30em;color:var(--muted);line-height:1.4;font-size:1em}
.team__o{font-size:1em;line-height:20px}

/* ---------------- about: story (2-col, scroll box, arch photo) ---------------- */
.story__grid{display:grid;grid-template-columns:1fr 1fr;column-gap:4.17em;row-gap:16px;align-items:center;max-width:1100px;margin:0 auto}
.story__grid .h2{margin-bottom:0}
.story__scroll{overflow:auto;max-height:420px;margin-top:2em;padding-right:3em}
.story__scroll p{margin:0}
.story__scroll p+p{margin-top:1.55em}
.story__fig{position:relative;justify-self:end;width:374px;max-width:100%}
.arch{aspect-ratio:373/566;border:1px solid var(--tan);border-radius:999px;padding:18px}
.arch img{width:100%;height:100%;object-fit:cover;border-radius:999px}
.stamp{position:absolute;left:-9%;bottom:0;display:flex;align-items:center;justify-content:center;width:8.5em;height:8.5em;border-radius:50%;background:var(--tan-t);color:#fff;font-weight:300;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;text-align:center;transition:transform .2s ease}
.stamp:hover{transform:rotate(-30deg)}

/* ---------------- accordion band (services grammar: stars, head, two ruled columns) ---------------- */
.stars{display:flex;justify-content:center;margin-bottom:20px}
.stars svg{width:16px;height:15px;margin:0 4px;color:var(--tan)}
.acc{display:grid;grid-template-columns:1fr 1fr;column-gap:6.25em;row-gap:16px;align-items:start;margin-top:5em}
.acc__item{border-bottom:1px solid var(--grey);transition:border-color .2s ease}
.acc__item:hover{border-bottom-color:rgba(178,150,111,.5)}
.acc__btn{display:flex;width:100%;justify-content:space-between;align-items:center;gap:20px;padding:1.4em 0;border:0;background:none;cursor:pointer;text-align:left;font-size:1.53em;line-height:1.2;font-weight:500;color:var(--ink)}
.plus{position:relative;flex:0 0 20px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:transform .3s var(--oq)}
.plus i{position:absolute;background:var(--tan)}
.plus i:first-child{width:20px;height:2px}
.plus i+i{width:2px;height:20px;transition:opacity .1s var(--oq)}
.acc__btn[aria-expanded="true"] .plus{transform:rotate(90deg)}
.acc__btn[aria-expanded="true"] .plus i+i{opacity:0}
.acc__panel{overflow:hidden;height:0;transition:height .3s var(--oq)}
.acc__panel p{font-size:.999em;line-height:1.55;margin:0;padding:0 3.5em 1.8em 0}
.no-js .acc__panel{height:auto}

/* ---------------- contact ---------------- */
.card{position:relative;display:grid;grid-template-columns:.5fr .75fr;column-gap:6em;row-gap:16px;width:100%;margin-top:-7em;padding:4.17em;background:#fff;box-shadow:0 1px 20px rgba(0,0,0,.05);z-index:3}
.card .h2{margin-top:15px}
.quick{display:flex;flex-direction:column;align-items:flex-start;margin-top:3.47em}
.quick a{display:grid;grid-template-columns:35px auto;gap:16px;align-items:center;margin-bottom:1.39em;font-size:1em;line-height:20px;min-height:44px}
.quick__i{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:50%;background:rgba(178,150,111,.6);color:#fff;transition:background-color .3s var(--oq)}
.quick__i svg{width:18px;height:18px}
.quick a:hover .quick__i{background:var(--tan)}
.form{display:grid;grid-template-columns:1fr 1fr;column-gap:1.5em;row-gap:16px}
.fld{display:flex;flex-direction:column}
.fld--w{grid-column:1/-1}
.fld label{margin-bottom:10px;font-size:16px;line-height:20px}
.fld input,.fld textarea{width:100%;min-height:3.13em;padding:8px 12px;border:1px solid var(--field);border-radius:8px;background:#fff;font:inherit;font-size:14px;color:var(--navy);transition:border-color .2s ease}
.fld textarea{min-height:10em;padding-top:12px;resize:vertical;margin-bottom:4px}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--tan-t);box-shadow:0 0 0 2px rgba(178,150,111,.25)}
.fld [aria-invalid="true"]{border-color:#b3261e}
.fld__err{min-height:0;margin-top:6px;color:#b3261e;font-size:13px;line-height:1.3}
.fld__err:empty{display:none}
.form__go{grid-column:1/-1}
.submit{width:100%;max-width:14em;min-height:3.13em;border:0;border-radius:8px;background:var(--tan-t);color:#fff;font:500 16px/1 var(--sans);cursor:pointer;transition:background-color .3s ease}
.submit:hover{background:#735b3b}
.form__note{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.form__msg{display:none;padding:22px 24px;background:var(--grey);color:var(--navy);font-size:16px;line-height:1.5}
.form__msg.on{display:block}
.form__msg b{display:block;font-weight:500;margin-bottom:4px}
.form__fail{display:none;grid-column:1/-1;padding:12px 15px;background:#fbeaea;color:#8e1d15;font-size:14px;line-height:1.4}
.form__fail.on{display:block}
.locs{display:flex;flex-direction:column;align-items:center}
.locs__grid{display:flex;justify-content:space-around;width:100%;margin-top:5em}
.loc{position:relative;isolation:isolate}
.loc p{margin:0}
.loc strong{font-weight:500}
.loc .num__g{right:90%}

/* ---------------- 404 ---------------- */
.nf{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--hdr) + 40px) 72px 80px;background:#f4f4f4;color:#111;position:relative}
.nf__k{position:absolute;left:72px;top:calc(var(--hdr) + 40px);font-size:16px}
.nf h1{font-size:3.5em;line-height:1.1;font-weight:600;letter-spacing:-.02em;margin:0 0 24px}
.nf p{font-size:18px;margin:0}

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

/* ---------------- motion start states (only when JS runs and motion is allowed) ---------------- */
.js [data-rv="fade"]{opacity:0}
.js [data-rv="fade"].in{opacity:1;transition:opacity .8s var(--os) .3s}
.js [data-rv="up"]{opacity:0;transform:translateY(40px)}
.js [data-rv="up"].in{opacity:1;transform:none;transition:opacity .6s var(--os) .3s,transform .6s var(--os) .3s}
.js [data-rv="left"]{opacity:0;transform:translateX(-100px)}
.js [data-rv="left"].in{opacity:1;transform:none;transition:opacity 1s var(--oqt),transform 1s var(--oqt)}
.js [data-rv="scale"]{transform:scale(0)}
.js [data-rv="scale"].in{transform:none;transition:transform .4s var(--os) .3s}
.js .wipe{transform:scaleX(1)}
.js .in>.wipe,.js .wipe.in{transform:scaleX(0);transition:transform 1s var(--ic) .3s}
.js .stars svg{opacity:0}
.js .stars.in svg{opacity:1;transition:opacity .4s var(--oq)}
.js .stars.in svg:nth-child(1){transition-delay:.2s}.js .stars.in svg:nth-child(2){transition-delay:.4s}.js .stars.in svg:nth-child(3){transition-delay:.6s}.js .stars.in svg:nth-child(4){transition-delay:.8s}.js .stars.in svg:nth-child(5){transition-delay:1s}

/* ---------------- tiers (reference breakpoints 991 / 767 / 479) ---------------- */
@media (max-width:1199px){
  .hdr__tel span{display:none}
  .hdr__tel{width:44px;justify-content:center}
  .hdr__tel svg{width:22px;height:22px}
  .hdr__r{gap:10px}
}
@media (max-width:991px){
  .h1{font-size:3.4265em;line-height:1.1236;font-weight:400}
  .pad{padding:5em 0}.pad--nt{padding-top:0}.pad--nb{padding-bottom:0}.pad--ht{padding-top:2em}
  .logo{width:120px}
  .logo__mk{width:34px;height:34px;font-size:11px}
  .logo__tx{font-size:9px;gap:5px}
  .nav__a{padding:20px 12px}
  .hdr__cta{padding:0 1em;font-size:12px}
  .ptop__cov{margin-top:5em}
  .ptop--c .ptop__cov{margin-top:2em}
  .ptop__cov .hire{top:-4.4em;width:9.5em;height:9.5em}
  .ptop__img img{max-height:none;min-height:350px}
  .mw-m{max-width:36em}
  .hero__cover{padding-bottom:5em}
  .ca{grid-template-columns:1fr;gap:40px}
  .ca__side{position:static}
  .fw__img img{max-height:none;min-height:350px}
  .val__top{margin:0 1em;padding-bottom:1em}
  .val__main{padding:2em 1em 0}
  .val__n{width:2em;height:2em;margin-bottom:2em}
  .cta__grid{max-width:90%;grid-template-columns:1.25fr 1fr}
  .cta__img img{max-height:none;min-height:400px}
  .ftr__grid{max-width:80%}
  .ftr__ov{width:83%}
  .ftr__legal{position:relative;right:auto;top:auto;bottom:auto;width:auto;max-width:1350px;margin:0 3%;padding:18px 0 4px;border-top:1px solid var(--grey)}
  .ftr--flat .ftr__legal{top:auto}
  .ftr__cred{justify-content:flex-start}
  .team__row{grid-template-columns:.6fr 1.25fr .25fr}
  .team__d{margin-right:30px}
  .story__scroll{max-height:380px}
  .stamp{left:0;bottom:5%;width:7.5em;height:7.5em}
  .acc{margin-top:3em;column-gap:3.5em}
  .card{padding:2em 1.77em 1.77em;column-gap:4em}
  .form{column-gap:1em;row-gap:10px}
  .fld textarea{min-height:8em}
  .locs__grid{margin-top:4em}
}
@media (max-width:767px){
  :root{--hdr:82px}
  .h1{font-size:2.937em;font-weight:400}
  .pad{padding:4em 0}.pad--nt{padding-top:0}.pad--nb{padding-bottom:0}
  .hdr{padding:1em 0}
  .hdr__in{grid-template-columns:1fr auto;min-height:50px}
  .nav,.hdr__r{display:none}
  .burger{display:block}
  .mnav{position:fixed;left:0;right:0;top:var(--mtop,80px);bottom:0;z-index:59;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 0 60px;background:#fff;text-align:center;visibility:hidden;opacity:0;transform:translateY(-12px);transition:opacity .4s ease,transform .4s ease,visibility 0s linear .4s}
  .mnav.open{visibility:visible;opacity:1;transform:none;transition:opacity .4s ease,transform .4s ease,visibility 0s}
  .mnav a{display:flex;justify-content:center;padding:20px;font-size:20px;line-height:20px;color:var(--ink)}
  .mnav a[aria-current="page"]{color:var(--tan-t)}
  .mnav .mnav__tel{margin-top:14px;gap:12px;align-items:center}
  .mnav .mnav__tel svg{width:22px;height:22px;color:var(--tan-t)}
  .hero__row{flex-direction:column;align-items:stretch;gap:0;margin-bottom:4em}
  .hero__txt{padding-right:calc(40px + 4em)}
  .hero__ctas{grid-template-columns:1fr 1fr;width:100%;margin-top:18px;margin-bottom:24px}
  .btn{min-height:52px;padding:0 12px;font-size:13px;letter-spacing:.06em}
  .l-lg{display:none}.l-sm{display:inline}
  .hero__anchor .hire{top:-4.5em;width:9em;height:9em}
  .hero__cover{padding-bottom:4em}
  .ptop__cov{padding:0}
  .ptop--c .ptop__frame{padding:0}
  .ptop__cov .hire{width:9em;height:9em}
  .nums__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;justify-items:center;margin-bottom:2em;padding:3em 0}
  .nums__div{display:none}
  .mw-m{max-width:28em}
  .ca__side .h2{margin-bottom:16px}
  .ca__row{grid-template-columns:92px minmax(0,1fr);gap:18px;padding:22px 0;align-items:start}
  .ca__img{width:92px}
  .ca__go{display:none}
  .ca__t{font-size:19px}
  .ca__meta{font-size:11px;margin-bottom:10px;gap:8px}
  .ca__meta i{width:14px}
  .ca__x{display:none}
  .fw{padding:0}
  .vals__grid{grid-template-columns:1fr 1fr;row-gap:30px}
  .val__top{margin:0 2em;padding-bottom:2em}
  .val__main{padding:2em}
  .cta__img{min-height:0}
  .fw.cta__fw{padding:0}
  .cta__ov{padding:20px}
  .cta__grid{max-width:80%;grid-template-columns:1fr;justify-items:start}
  .cta__grid p{max-width:460px}
  .ring{justify-self:start;margin-left:103px;padding-right:40px;height:80px;min-width:80px}
  .ring__c{width:80px;height:80px}
  .ftr{margin-top:0;padding-bottom:2em}
  .ftr__ov{width:100%}
  .ftr__grid{max-width:100%;margin-top:0;padding:3.5em 0 3em 1em;column-gap:3em}
  .lg{width:100px;height:60px;margin:0 2em;font-size:12.3px}
  .team__list{margin-top:3em}
  .team__row{padding-left:0}
  .story__grid{grid-template-columns:1fr;row-gap:60px}
  .story__fig{justify-self:start}
  .acc{column-gap:2.5em}
  .card{grid-template-columns:1fr;row-gap:40px}
  .locs__grid{flex-direction:column;align-items:center;margin-top:0;text-align:center}
  .loc{margin:30px 0}
  .loc .num__g{right:80%;font-size:7em}
  .nf{padding:calc(var(--hdr) + 40px) 24px 120px}
  .nf__k{left:24px}
  /* house floor: always-on mobile CTA bar */
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:58;display:grid;grid-template-columns:1fr 1.35fr;gap:8px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--grey);box-shadow:0 -6px 18px rgba(25,52,91,.08)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
  .mbar__call{border:1px solid var(--navy);color:var(--navy)}
  .mbar__call svg{width:18px;height:18px}
  .mbar__go{background:var(--navy);color:#fff}
  body.menu-open .mbar{display:none}
}
@media (max-width:479px){
  .h1{font-size:2.4475em;line-height:1.2258}
  .h2{font-size:2.4475em}
  .pad{padding:3em 0}.pad--nt{padding-top:0}.pad--nb{padding-bottom:0}
  .wrap,.vals__wrap{padding:0 4%}
  .hdr__in{padding:0 3%}
  .hero__txt{padding-right:calc(40px + 3.5em)}
  .hero__img{min-height:250px}
  .hero__anchor .hire{top:-4em;right:0;width:8em;height:8em;padding:.88em}
  .ptop__cov{margin-top:4em}
  .ptop--c .ptop__cov{margin-top:1em}
  .ptop__cov .hire{top:-4em;width:8em;height:8em;padding:.88em}
  .hire__a{font-size:12px}
  .sub{font-size:13px}
  .lg{width:90px;height:54px;margin:0 1em;font-size:11px}
  .mw-m{max-width:21em}
  .num__d{font-size:4em}
  .num__g{bottom:6px;font-size:7em}
  .ptop__img img{min-height:300px}
  .fw__img img{min-height:300px}
  .vals__grid{margin-top:-7em}
  .cta__grid{max-width:100%}
  .cta__img img{min-height:450px}
  .ring{margin-left:100px;padding-right:35px}
  .ftr__col{align-items:center}
  .ftr__grid{padding-bottom:3em;padding-left:0;justify-items:center;row-gap:30px;grid-template-columns:1fr;text-align:center}
  .ftr__blurb{text-align:center}
  .ftr__legal{margin:0 4%;align-items:center;text-align:center}
  .ftr__cred{justify-content:center}
  .team__row{grid-template-columns:1fr;justify-items:center;text-align:center;padding:1.74em 2em}
  .story__fig{max-width:300px;justify-self:center}
  .acc{grid-template-columns:1fr;row-gap:0}
  .acc__btn{padding-left:10px;padding-right:10px;font-size:1.45em}
  .acc__panel p{padding-left:10px}
  .plus i:first-child{width:18px}.plus i+i{height:18px}
  .card{margin-top:-5em}
  .form{grid-template-columns:1fr;row-gap:5px}
  .fld textarea{min-height:9em}
  .submit{max-width:none}
  .locs{text-align:center}
  .nf h1{font-size:2.6em}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important;scroll-behavior:auto!important}
  .js [data-rv]{opacity:1!important;transform:none!important}
  .js .wipe{transform:scaleX(0)!important}
  .js .stars svg{opacity:1}
  .hdr.is-hid{transform:none;opacity:1}
}
