:root{
  --c-bg:#F5F2ED;
  --c-surface:#FFFFFF;
  --c-text:#14181C;
  --c-primary:#1F3A5F;
  --c-secondary:#5A6570;
  --c-accent:#E4571B;
  --c-accent-dark:#C74A14;
  --c-ink:#14181C;
  --c-chalk:#F5F2ED;
  --c-hairline:rgba(90,101,112,.25);
  --c-hairline-strong:rgba(90,101,112,.45);
  --c-ledger:rgba(31,58,95,.45);
  --c-chalk-80:rgba(245,242,237,.8);
  --c-chalk-70:rgba(245,242,237,.7);
  --c-chalk-55:rgba(245,242,237,.55);
  --c-chalk-14:rgba(245,242,237,.14);
  --c-chalk-08:rgba(245,242,237,.08);
  --c-ink-55:rgba(20,24,28,.55);
  --f-display:'Archivo','Helvetica Neue',Helvetica,Arial,sans-serif;
  --f-body:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:2.75rem;--sp-8:3.5rem;--sp-9:4.5rem;--sp-10:6rem;--sp-11:8rem;
  --radius:4px;
  --radius-lg:6px;
  --wrap:1200px;
  --wrap-narrow:780px;
  --measure:62ch;
  --header-h:72px;
  --mo-dur:420ms;
  --mo-ease:cubic-bezier(0.22,0.85,0.32,1);
  --mo-dist:16px;
  --mo-stagger:70ms;
  --mo-fast:200ms;
  --mo-link:180ms;
}
@media (max-width:900px){:root{--header-h:60px}}

*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--c-bg);
  color:var(--c-text);
  font-family:var(--f-body);
  font-weight:400;
  font-size:clamp(1.0625rem,.25vw + 1rem,1.125rem);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%;height:auto}
svg{fill:none}
button,input,select,textarea{font:inherit;color:inherit}
ul,ol{padding:0}

h1,h2,h3,h4{font-family:var(--f-display);color:var(--c-text);text-wrap:balance}
h1{font-weight:800;font-size:clamp(2.5rem,6vw,4.6rem);line-height:.98;letter-spacing:-.02em}
h2{font-weight:700;font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.05;letter-spacing:-.015em}
h3{font-weight:700;font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.25;letter-spacing:-.005em}
h4{font-weight:600;font-size:1.0625rem;line-height:1.3}
.h-display{font-family:var(--f-display);font-weight:800}
.label-caps{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:.02em;line-height:1.1}
.lead{font-size:clamp(1.125rem,.6vw + 1rem,1.3rem);line-height:1.55}
.meta{font-family:var(--f-body);font-size:.9375rem;color:var(--c-secondary)}
.measure{max-width:var(--measure)}
p + p{margin-top:var(--sp-4)}
strong{font-weight:600}

a{color:var(--c-primary);text-decoration:none}
a:hover{color:var(--c-accent-dark)}
.prose a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;border-radius:2px}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}
.wrap--narrow{max-width:var(--wrap-narrow)}
.section{padding-block:clamp(4rem,8vw,7.5rem)}
.section--tight{padding-block:clamp(2.5rem,5vw,4rem)}
.section--flush-top{padding-top:0}
.section--rule{border-top:1px solid var(--c-hairline)}
.section--surface{background:var(--c-surface)}
.section--dark{background:var(--c-ink);color:var(--c-chalk)}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:var(--c-chalk)}
.section--dark .meta,.section--dark .muted{color:var(--c-chalk-70)}
.section--dark a{color:var(--c-chalk)}
.section--dark .ridge-kicker{color:var(--c-chalk-70)}
.section--dark .scope-ledger{color:var(--c-chalk-55);border-color:var(--c-chalk-14)}
.section--dark .scope-ledger::after{background:var(--c-chalk-14)}
.muted{color:var(--c-secondary)}
.accent{color:var(--c-accent)}
.stack > * + *{margin-top:var(--sp-4)}
.stack-lg > * + *{margin-top:var(--sp-6)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.divider-rule{height:1px;background:var(--c-hairline);border:0}
.divider-rule--primary{height:3px;background:var(--c-primary);border:0}

.grid{display:grid;gap:clamp(1.25rem,2.5vw,2rem)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid--sidebar{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
@media (max-width:1000px){.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--sidebar{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){.grid--2,.grid--3,.grid--4,.grid--sidebar{grid-template-columns:minmax(0,1fr)}}

.card{background:var(--c-surface);border:1px solid var(--c-hairline);border-radius:var(--radius);padding:clamp(1.25rem,2.6vw,2rem)}
.card--flat{background:transparent;border-color:var(--c-hairline)}
.card.card--dark{background:var(--c-ink);border-color:var(--c-chalk-14);color:var(--c-chalk)}
.card.card--dark h3,.card.card--dark h4{color:var(--c-chalk)}
.card.card--dark .scope-ledger{color:var(--c-chalk-55);border-color:var(--c-chalk-14)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:44px;padding:.75rem 1.4rem;font-family:var(--f-display);font-weight:600;font-size:15px;line-height:1.2;border:1px solid transparent;border-radius:var(--radius);text-decoration:none;cursor:pointer;transition:background-color var(--mo-fast) linear,color var(--mo-fast) linear,border-color var(--mo-fast) linear,transform var(--mo-dur) var(--mo-ease)}
.btn--primary{background:var(--c-accent);color:var(--c-ink);border-color:var(--c-accent)}
.btn--primary:hover,.btn--primary:focus-visible{background:var(--c-accent-dark);border-color:var(--c-accent-dark);color:var(--c-ink);transform:translateY(-2px)}
.btn--solid{background:var(--c-primary);color:var(--c-chalk);border-color:var(--c-primary)}
.btn--solid:hover,.btn--solid:focus-visible{background:#18304F;color:var(--c-chalk);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--c-primary);border-color:var(--c-primary)}
.btn--ghost:hover,.btn--ghost:focus-visible{background:rgba(31,58,95,.08);color:var(--c-primary)}
.btn--ghost-dark{background:transparent;color:var(--c-chalk);border-color:var(--c-chalk-55)}
.btn--ghost-dark:hover,.btn--ghost-dark:focus-visible{background:var(--c-chalk-08);color:var(--c-chalk);border-color:var(--c-chalk)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-4);align-items:center}

.wordmark{display:inline-flex;flex-direction:column;line-height:1;color:inherit}
.wordmark__l1{font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:1em;line-height:1;white-space:nowrap}
.wordmark__l2{font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:.16em;font-size:.38em;line-height:1;margin-top:.42em;margin-right:-.16em;white-space:nowrap}
.wordmark--inline{flex-direction:row;align-items:center}
.wordmark--inline .wordmark__l2{margin:0;font-size:.62em}
.ridge-mark{width:1.9em;height:1.9em;flex:none}
.ridge-mark rect,.ridge-mark polyline{stroke:currentColor}
.brand-lock{display:inline-flex;align-items:center;gap:.65rem;color:var(--c-chalk);text-decoration:none}
.brand-lock:hover{color:var(--c-chalk)}

.signal-slash{display:inline-block;width:2px;height:14px;margin:0 .5em;background:var(--c-accent);transform:skewX(-18deg);vertical-align:-2px;flex:none}
.ridge-kicker{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--c-secondary);margin-bottom:var(--sp-4)}
.ridge-kicker::before{content:"";flex:none;width:24px;height:3px;background:var(--c-accent);clip-path:polygon(0 0,calc(100% - 6px) 0,100% 100%,0 100%)}
.terminal-period{color:var(--c-accent)}
.scope-ledger{position:relative;display:block;font-family:var(--f-display);font-weight:700;font-size:13px;letter-spacing:.06em;color:var(--c-ledger);padding-bottom:var(--sp-3);margin-bottom:var(--sp-4);transition:color var(--mo-fast) linear}
.scope-ledger::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--c-hairline);transform-origin:left center}
.ledger-row{display:block;padding:clamp(1rem,2vw,1.5rem);border-radius:var(--radius);background:transparent;transition:background-color var(--mo-fast) linear}
.ledger-row:hover,.ledger-row:focus-within{background:var(--c-surface)}
.ledger-row:hover .scope-ledger,.ledger-row:focus-within .scope-ledger{color:var(--c-primary)}
.coverage-line{display:flex;flex-wrap:wrap;align-items:center;font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.1rem,2vw,1.6rem)}

.img-treated{filter:contrast(1.07) saturate(.94) brightness(1.01) hue-rotate(-4deg);border-radius:var(--radius)}
.media-frame{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--c-ink)}
.media-frame--ink::after{content:"";position:absolute;inset:0;background:var(--c-ink-55);pointer-events:none}
.media-frame--tall{aspect-ratio:4/5}
.media-frame--wide{aspect-ratio:16/9}
.media-frame img{width:100%;height:100%;object-fit:cover}

.reveal{opacity:1}
.reveal-stagger > *{opacity:1}
.media-zoom{display:block;overflow:hidden;border-radius:var(--radius)}
.link-draw{position:relative;display:inline-block}
.link-draw::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--c-accent);transform:scaleX(0);transform-origin:left center}
@media (prefers-reduced-motion: no-preference){
  html{scroll-behavior:smooth}
  .reveal{opacity:0;transform:translateY(var(--mo-dist));transition:opacity var(--mo-dur) var(--mo-ease) var(--reveal-delay,0ms),transform var(--mo-dur) var(--mo-ease) var(--reveal-delay,0ms)}
  .reveal.is-visible{opacity:1;transform:translateY(0)}
  .reveal-stagger > *{opacity:0;transform:translateY(var(--mo-dist));transition:opacity var(--mo-dur) var(--mo-ease) var(--reveal-delay,0ms),transform var(--mo-dur) var(--mo-ease) var(--reveal-delay,0ms)}
  .reveal-stagger.is-visible > *,.reveal-stagger > *.is-visible{opacity:1;transform:translateY(0)}
  .reveal .scope-ledger::after,.reveal-stagger > * .scope-ledger::after{transform:scaleX(0);transition:transform var(--mo-dur) var(--mo-ease) var(--reveal-delay,0ms)}
  .reveal.is-visible .scope-ledger::after,.reveal-stagger.is-visible > * .scope-ledger::after,.reveal-stagger > *.is-visible .scope-ledger::after{transform:scaleX(1)}
  .media-zoom img{transition:transform calc(var(--mo-dur) * 2) var(--mo-ease)}
  .media-zoom:hover img,.media-zoom:focus-within img{transform:scale(1.03)}
  .link-draw::after{transition:transform var(--mo-link) var(--mo-ease)}
  .link-draw:hover::after,.link-draw:focus-visible::after,a:hover > .link-draw::after{transform:scaleX(1)}
  .ken-burns{animation:kenBurns 12s ease-in-out alternate infinite}
}
@keyframes kenBurns{from{transform:scale(1)}to{transform:scale(1.04)}}
@media (prefers-reduced-motion: reduce){
  .reveal,.reveal-stagger > *{opacity:1!important;transform:none!important;transition:none!important}
  .ken-burns{animation:none!important;transform:none!important}
  .media-zoom img,.btn,.scope-ledger::after{transition:none!important}
  .media-zoom:hover img{transform:none!important}
  .link-draw::after{transform:scaleX(1)}
  .btn:hover{transform:none!important}
}

.skip-link{position:absolute;left:-9999px;top:0;z-index:300}
.skip-link:focus{left:var(--sp-4);top:var(--sp-2);padding:.7rem 1.1rem;background:var(--c-accent);color:var(--c-ink);font-family:var(--f-display);font-weight:600;border-radius:var(--radius)}

[id]{scroll-margin-top:calc(var(--header-h) + 1rem)}
#top{scroll-margin-top:0}
#what-we-handle,#who-we-work-with,#where-we-work,#about,#questions-contact,#main{scroll-margin-top:calc(var(--header-h) + 1rem)}

.site-header{position:sticky;top:0;z-index:120;background:var(--c-ink);color:var(--c-chalk);border-bottom:1px solid var(--c-chalk-14);transition:background-color var(--mo-fast) linear}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem,3vw,2.5rem);min-height:var(--header-h)}
.header__brand{font-size:1.1rem}
.header__right{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.75rem)}
.nav-desktop ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(.75rem,1.7vw,1.75rem)}
.nav-desktop ul a{display:inline-block;position:relative;padding:.5rem 0;font-family:var(--f-display);font-weight:600;font-size:.9rem;letter-spacing:.005em;color:var(--c-chalk-80);text-decoration:none;transition:color var(--mo-fast) linear}
.nav-desktop ul a::after{content:"";position:absolute;left:0;bottom:.15rem;width:100%;height:1px;background:var(--c-accent);transform:scaleX(0);transform-origin:left center}
.nav-desktop ul a:hover,.nav-desktop ul a:focus-visible{color:var(--c-chalk)}
@media (prefers-reduced-motion: no-preference){.nav-desktop ul a::after{transition:transform var(--mo-link) var(--mo-ease)}.nav-desktop ul a:hover::after,.nav-desktop ul a:focus-visible::after{transform:scaleX(1)}}
.site-header .btn.btn--primary{background:var(--c-accent);color:var(--c-ink);padding:.7rem 1.25rem;border-color:var(--c-accent)}
.site-header .btn.btn--primary:hover,.site-header .btn.btn--primary:focus-visible{background:var(--c-accent-dark);border-color:var(--c-accent-dark);color:var(--c-ink)}

.nav-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.nav-burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border-radius:var(--radius);cursor:pointer;flex:none}
.nav-burger .bar{display:block;width:22px;height:2px;background:var(--c-chalk);transition:transform var(--mo-fast) var(--mo-ease),opacity var(--mo-fast) linear}
.nav-toggle:focus-visible + .nav-burger{outline:2px solid var(--c-accent);outline-offset:2px}
.nav-toggle:checked + .nav-burger .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle:checked + .nav-burger .bar:nth-child(2){opacity:0}
.nav-toggle:checked + .nav-burger .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.nav-panel{position:fixed;left:0;right:0;top:var(--header-h);height:calc(100dvh - var(--header-h));background:var(--c-ink);border-top:1px solid var(--c-chalk-14);padding:clamp(1.25rem,4vw,2rem) clamp(1.25rem,4vw,2.5rem) calc(2rem + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--mo-fast) linear,transform var(--mo-dur) var(--mo-ease),visibility 0s linear var(--mo-fast);z-index:110}
.nav-toggle:checked ~ .nav-panel{opacity:1;visibility:visible;transform:translateY(0);transition:opacity var(--mo-fast) linear,transform var(--mo-dur) var(--mo-ease),visibility 0s}
.nav-panel ul{list-style:none;margin:0;padding:0}
.nav-panel li + li{border-top:1px solid var(--c-chalk-14)}
.nav-panel__link{display:flex;align-items:center;min-height:52px;padding:.85rem 0;font-family:var(--f-display);font-weight:700;font-size:1.15rem;color:var(--c-chalk);text-decoration:none}
.nav-panel__link:hover,.nav-panel__link:focus-visible{color:var(--c-accent)}
.nav-panel .btn{width:100%;margin-top:var(--sp-5)}
.nav-panel__meta{margin-top:var(--sp-5);color:var(--c-chalk-70);font-size:.95rem}
.nav-panel__meta a{color:var(--c-chalk);display:inline-flex;align-items:center;min-height:44px}
.nav-panel__close{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:var(--sp-5);padding:.6rem 1.1rem;border:1px solid var(--c-chalk-55);border-radius:var(--radius);font-family:var(--f-display);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--c-chalk);cursor:pointer}
.nav-panel__close:hover{background:var(--c-chalk-08)}
@media (max-width:900px){.nav-desktop{display:none}.nav-burger{display:flex}.header__cta{display:none}}
@media (min-width:901px){.nav-panel{display:none}}
html.nav-open,html.nav-open body{overflow:hidden}

.site-footer{margin-top:0;background:var(--c-ink);color:var(--c-chalk);padding-block:clamp(3.5rem,7vw,5.5rem) clamp(1.5rem,3vw,2rem)}
.site-footer a{color:var(--c-chalk-80);text-decoration:none}
.site-footer a:hover,.site-footer a:focus-visible{color:var(--c-chalk)}
.footer__grid{display:grid;gap:clamp(2rem,4vw,3rem);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr)}
@media (max-width:900px){.footer__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:767px){.footer__grid{grid-template-columns:minmax(0,1fr)}}
.footer__brand{font-size:clamp(1.35rem,2.6vw,1.9rem);color:var(--c-chalk)}
.footer__blurb{margin-top:var(--sp-4);max-width:34ch;color:var(--c-chalk-70);font-size:1rem}
.footer__heading{font-family:var(--f-display);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--c-chalk-55);margin-bottom:var(--sp-4)}
.footer__list{list-style:none;margin:0;padding:0}
.footer__list li + li{margin-top:.35rem}
.footer__list a{display:inline-flex;align-items:center;min-height:40px;font-size:1rem}
.footer__meta{display:flex;flex-wrap:wrap;align-items:center;color:var(--c-chalk-70);font-size:.95rem;margin-top:var(--sp-4)}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:clamp(2.5rem,5vw,4rem);padding-top:var(--sp-5);border-top:1px solid var(--c-chalk-14);font-size:.9rem;color:var(--c-chalk-55)}
.footer__legal{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);list-style:none;margin:0;padding:0}
.footer__legal a{font-size:.9rem}
.footer__attr a{color:var(--c-chalk-80)}
.footer__attr a:hover{color:var(--c-accent)}
