/* Self-hosted fonts (latin subset) */
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/jost-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jost-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/figtree-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/figtree-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/figtree-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --stone-tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='480' viewBox='0 0 720 480'%3E%3Cpath d='M77.8,24.9 L121.0,22.7 L256.0,25.0 L370.4,24.7 M370.4,20.4 L386.0,20.4 L445.7,21.5 M445.7,21.3 L499.0,22.3 L501.5,22.3 M501.5,23.9 L555.0,24.7 M555.0,20.7 L609.0,21.5 L646.5,20.6 M646.5,26.6 L702.0,25.3 L715.5,27.2 M-4.5,23.7 L0.0,24.3 L0.0,24.3 L77.8,20.5 M715.5,23.7 L720.0,24.3 L720.0,24.3 L797.8,20.5 M77.8,20.5 L77.8,24.9 M370.4,24.7 L370.4,20.4 M501.5,22.3 L501.5,23.9 M555.0,24.7 L555.0,20.7 M646.5,20.6 L646.5,26.6 M715.5,27.2 L715.5,23.7 M88.2,138.0 L155.0,136.7 L158.0,136.9 M158.0,131.0 L258.5,135.7 M378.4,139.6 L395.0,139.2 L516.4,136.9 M516.4,131.0 L540.0,130.5 L570.5,131.3 M570.5,136.1 L635.4,137.7 M635.4,141.1 L676.8,142.1 M-43.2,135.2 L-21.0,135.7 L0.0,135.1 L0.0,135.1 L88.1,133.5 M676.8,135.2 L699.0,135.7 L720.0,135.1 L720.0,135.1 L808.1,133.5 M88.2,133.5 L88.2,138.0 M158.0,136.9 L158.0,131.0 M258.5,135.7 L258.5,144.0 M378.4,141.8 L378.4,139.6 M516.4,136.9 L516.4,131.0 M570.5,131.3 L570.5,136.1 M635.4,137.7 L635.4,141.1 M676.8,142.1 L676.8,135.2 M16.2,241.2 L82.1,242.4 M82.1,242.5 L135.5,243.5 M135.5,246.3 L146.0,246.4 L196.2,247.7 M196.2,249.4 L263.0,251.0 L370.0,250.9 L389.1,250.4 M389.1,241.7 L458.1,239.9 M458.1,247.2 L529.0,245.4 L560.8,246.4 M560.8,240.3 L587.0,241.1 M587.0,246.6 L637.0,248.1 L690.7,245.2 M-29.3,240.5 L0.0,238.9 L0.0,238.9 L16.2,239.2 M690.7,240.5 L720.0,238.9 L720.0,238.9 L736.2,239.2 M16.2,239.2 L16.2,241.2 M135.5,243.5 L135.5,246.3 M196.2,247.7 L196.2,249.4 M389.1,250.4 L389.1,241.7 M458.1,239.9 L458.1,247.2 M560.8,246.4 L560.8,240.3 M587.0,241.1 L587.0,246.6 M690.7,245.2 L690.7,240.5 M16.8,356.8 L45.5,356.8 M45.5,348.4 L101.7,348.4 M101.7,357.2 L160.0,357.1 L213.7,359.2 M213.7,350.6 L272.0,352.8 L362.7,349.1 M362.7,350.4 L386.0,349.5 L469.7,349.3 M469.7,354.8 L492.0,354.8 L507.8,355.6 M507.8,351.6 L571.0,354.7 M571.0,358.4 L613.9,360.5 M-106.1,362.3 L-79.0,363.6 L0.0,357.0 L0.0,357.0 L16.8,357.0 M613.9,362.3 L641.0,363.6 L720.0,357.0 L720.0,357.0 L736.8,357.0 M45.5,356.8 L45.5,348.4 M101.7,348.4 L101.7,357.2 M213.7,359.2 L213.7,350.6 M362.7,349.1 L362.7,350.4 M469.7,349.3 L469.7,354.8 M507.8,355.6 L507.8,351.6 M571.0,354.7 L571.0,358.4 M613.9,360.5 L613.9,362.3 M12.1,434.7 L37.4,434.7 M37.4,434.3 L100.0,434.4 L165.8,433.8 M291.1,438.1 L357.0,439.0 L383.1,439.5 M383.1,438.9 L461.8,440.6 M461.8,440.7 L463.0,440.7 L496.4,440.9 M496.4,434.5 L564.6,435.0 M564.6,430.4 L597.0,430.6 L622.3,430.5 M-97.7,438.7 L-19.0,438.3 L0.0,435.3 L0.0,435.3 L12.1,435.4 M622.3,438.7 L701.0,438.3 L720.0,435.3 L720.0,435.3 L732.1,435.4 M12.1,435.4 L12.1,434.7 M165.8,433.8 L165.8,431.3 M291.1,431.1 L291.1,438.1 M383.1,439.5 L383.1,438.9 M496.4,440.9 L496.4,434.5 M564.6,435.0 L564.6,430.4 M622.3,430.5 L622.3,438.7 M646.5,20.6 L635.4,141.1 M77.8,20.5 L88.1,138.0 M501.5,22.3 L516.4,136.9 M570.5,131.3 L587.0,246.6 M676.8,135.2 L690.7,245.2 M158.0,131.0 L135.5,246.3 M560.8,240.3 L571.0,358.4 M16.3,239.2 L45.5,356.8 M82.1,242.4 L101.7,357.2 M196.1,247.7 L213.6,359.2 M389.1,241.7 L362.7,350.4 M458.1,239.9 L469.7,354.8 M16.7,356.8 L37.4,434.7 M507.8,351.6 L496.4,440.9 M613.9,360.5 L622.3,438.7 M12.1,-45.3 L-4.6,27.2 M12.1,434.7 L-4.6,507.2 M732.1,-45.3 L715.4,27.2 M732.1,434.7 L715.4,507.2 M383.1,-41.1 L370.5,24.7 M383.1,438.9 L370.5,504.7 M461.8,-39.4 L445.7,21.5 M461.8,440.6 L445.7,501.5 M564.6,-49.6 L555.0,24.7 M564.6,430.4 L555.0,504.7 M175.2,-122.3 L165.9,-48.7 L157.9,23.3 M175.2,357.7 L165.9,431.3 L157.9,503.3 M303.0,-128.5 L291.1,-41.9 L280.9,24.9 M303.0,351.5 L291.1,438.1 L280.9,504.9 M241.7,24.7 L258.5,144.0 L273.3,251.0 M400.7,20.6 L378.4,139.6 L358.7,250.9' fill='none' stroke='%23FFFFFF' stroke-width='1.5' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E");
  --stone-tile-size:720px 480px;

  --blue:#2E72A1; --navy:#1E3F57; --ink:#2B3640; --slate:#5C6873;
  --ice:#DCEAF2; --mist:#F4F8FA; --white:#FFFFFF;
  --cedar:#A5532F; --brass:#D9A577; --line:#E3EBF0; --field:#C9DCE8;
  --display:"Jost", system-ui, sans-serif;
  --body:"Figtree", system-ui, sans-serif;
  --pad:180px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.75;-webkit-font-smoothing:antialiased}
img,svg{display:block}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--blue);color:#fff;padding:12px 20px;z-index:10}
.skip:focus{left:16px;top:16px}

/* Shared type */
.eyebrow{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--blue);margin:0 0 28px;padding-left:.28em}
h1,h2{font-family:var(--display);font-weight:300;letter-spacing:.01em;line-height:1.18;color:var(--ink);margin:0}
h1{font-size:clamp(38px,5vw,62px)}
h2{font-size:clamp(32px,3.6vw,44px)}
h3{font-family:var(--display);font-weight:400;font-size:21px;line-height:1.35;color:var(--navy);margin:0 0 10px}
h1 span,h2 span{display:block}
h1,h2{text-wrap:balance}
.rule{width:48px;height:1px;background:var(--cedar);border:0;margin:40px auto}
.lede{max-width:620px;margin:0 auto;color:var(--slate)}
.btn{display:inline-block;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;background:var(--blue);color:#fff;padding:18px 40px;border:0;transition:background .3s}
.btn:hover{background:var(--navy);text-decoration:none}
.btn-light{background:#fff;color:var(--navy)}
.btn-light:hover{background:var(--ice)}

/* Sections */
section{padding:var(--pad) 24px}
.center{text-align:center}
.narrow{max-width:900px;margin:0 auto}
.wide{max-width:1180px;margin:0 auto}
.mist{background:var(--mist)}
.navy{background:var(--navy);color:#fff}
.navy h2{color:#fff}
.navy .eyebrow{color:var(--brass)}
.navy .lede{color:#DCEAF2}
.section-head{margin-bottom:96px}
.action{margin-top:48px}

/* Header */
.site-header{background:#fff;padding:32px 24px}
.header-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:48px}
.nav{display:flex;gap:48px;list-style:none;margin:0;padding:0}
.nav-left{justify-content:flex-end}
.nav-right{justify-content:flex-start}
.nav a{font-family:var(--display);font-weight:400;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--blue)}
.logo{display:flex;flex-direction:column;align-items:center;color:var(--navy)}
.logo:hover{text-decoration:none}
.logo svg{width:56px;height:auto;margin-bottom:16px}
.wordmark{font-family:var(--display);font-weight:300;font-size:22px;letter-spacing:.42em;padding-left:.42em;line-height:1;color:var(--navy)}
.wordmark-sub{font-family:var(--display);font-weight:400;font-size:9px;letter-spacing:.5em;padding-left:.5em;line-height:1;color:var(--slate);margin-top:10px}
.menu-btn{display:none}

/* Hero (stand-in sky until photography exists) */
.hero{position:relative;height:85vh;min-height:520px;background:var(--ice);overflow:hidden}
.hero img{width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,63,87,.62) 0%,rgba(30,63,87,.5) 30%,rgba(30,63,87,.22) 52%,rgba(30,63,87,0) 70%);pointer-events:none}
.hero-copy{position:absolute;z-index:1;top:0;left:0;right:0;padding:5vh 24px 0;text-align:center}
.hero-copy .eyebrow{color:#fff;font-weight:500;margin-bottom:18px;text-shadow:0 1px 12px rgba(20,40,55,.4)}
.hero-copy h1{color:#fff;font-weight:400;font-size:clamp(34px,3.7vw,52px);line-height:1.12;text-shadow:0 1px 20px rgba(20,40,55,.35)}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.hero-actions .btn{background:#fff;color:var(--navy)}
.hero-actions .btn:hover{background:var(--ice)}
.hero-actions .btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.85)}
.hero-actions .btn-ghost:hover{background:rgba(255,255,255,.12)}
.intro{padding-top:120px;padding-bottom:140px}
.flag{position:absolute;left:24px;bottom:24px;font-family:var(--body);font-size:12px;line-height:1.5;color:var(--slate);background:rgba(255,255,255,.85);border:1px dashed var(--slate);padding:6px 10px}

/* Services grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:72px 48px;text-align:left}
.num{font-family:var(--display);font-weight:400;font-size:14px;letter-spacing:.12em;color:var(--cedar);margin-bottom:18px}
.svc-rule{display:block;width:24px;height:0;border-top:1px solid var(--cedar);margin-bottom:20px}
.svc-icon{display:block;width:32px;height:32px;color:var(--blue);margin-bottom:20px}
.item p{margin:0;font-size:16px;line-height:1.65;color:var(--slate)}
.item a{color:inherit}
.item a:hover h3{text-decoration:underline;text-underline-offset:4px}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;text-align:left;list-style:none;margin:0;padding:0}
.steps li{border-top:1px solid var(--line);padding-top:32px}

/* Industries */
.list{list-style:none;margin:0 auto;padding:0;max-width:620px}
.list li{font-family:var(--display);font-weight:300;font-size:24px;color:var(--navy);padding:22px 0;border-bottom:1px solid var(--line)}
.list li:first-child{border-top:1px solid var(--line)}

/* States */
.states{display:grid;grid-template-columns:repeat(6,1fr);gap:48px 24px;list-style:none;margin:0 auto;padding:0;max-width:1000px;align-items:start}
.states a{display:grid;grid-template-rows:100px auto;justify-items:center;align-items:end;row-gap:22px;font-family:var(--display);font-weight:400;font-size:12px;letter-spacing:.24em;text-transform:uppercase;padding-left:.24em}
.states a:hover{text-decoration:none}
.states a:hover span{text-decoration:underline;text-underline-offset:4px}
.state{fill:var(--blue);width:auto;max-width:100%;transition:fill .3s}
.states span{align-self:start}
.states a:hover .state{fill:var(--navy)}

/* Footer */
.site-footer{padding:80px 24px 56px;border-top:1px solid var(--line)}
.footer-inner{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:48px;flex-wrap:wrap}
.lockup-h{display:flex;align-items:center;gap:16px;color:var(--navy)}
.lockup-h svg{width:40px;height:auto}
.lockup-h .wordmark{font-size:17px;padding-left:0}
.lockup-h .wordmark-sub{font-size:7px;padding-left:0;margin-top:8px}
.endorse{font-size:15px;color:var(--slate);margin:20px 0 0}
.endorse a{text-decoration:underline;text-underline-offset:3px}
.footer-right{text-align:right;font-size:15px;color:var(--slate);max-width:420px}
.footer-links{display:flex;gap:28px;justify-content:flex-end;list-style:none;margin:16px 0 0;padding:0}
.footer-links a{font-size:15px}
.legal{max-width:1180px;margin:56px auto 0;font-size:13px;color:var(--slate)}

/* Motion */
.js .reveal{opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* Tablet */
@media (max-width:1024px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
}
/* Mobile */
@media (max-width:760px){
  :root{--pad:96px}
  body{font-size:18px}
  h1{font-size:36px}
  section{padding-left:16px;padding-right:16px}
  .hero{height:82vh;min-height:560px}
  .hero-copy{padding:40px 16px 0}
  .hero-copy .eyebrow{font-size:11px;margin-bottom:18px}
  .hero-actions{margin-top:28px;gap:12px}
  .hero-actions .btn{padding:16px 28px}
  .intro{padding-top:80px;padding-bottom:96px}
  .flag{left:16px;bottom:16px}
  .section-head{margin-bottom:64px}
  .grid,.steps{grid-template-columns:1fr;gap:48px}
  .list li{font-size:21px}
  .states{grid-template-columns:repeat(3,1fr);gap:48px 12px}
  .states a{font-size:11px;letter-spacing:.16em;text-align:center;grid-template-rows:80px auto;row-gap:16px}
  .state{transform:scale(.8);transform-origin:bottom center}
  .footer-right{text-align:left}
  .footer-links{justify-content:flex-start}
}
@media (min-width:960px){.mobile-nav{display:none!important}}

/* ---------- About page ---------- */
.about-hero{padding:96px 24px 120px}
.about-hero-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about-hero-copy{text-align:left}
.about-hero-copy .eyebrow{padding-left:0;margin-bottom:24px}
.about-hero h1{font-weight:300;color:var(--ink);font-size:clamp(34px,3.4vw,48px);line-height:1.15}
.rule-left{width:48px;height:0;border:0;border-top:1px solid var(--cedar);margin:36px 0}
.about-hero-copy p:not(.eyebrow){max-width:46ch;margin:0;color:var(--slate)}
.about-hero-media img{display:block;width:100%;max-width:600px;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 50%;margin-left:auto}
@media (max-width:960px){
  .about-hero-inner{grid-template-columns:1fr;gap:56px}
  .about-hero-media img{max-width:none}
}
@media (max-width:760px){
  .about-hero{padding:56px 16px 72px}

}
@media (max-width:600px){
  .about-hero-media img{aspect-ratio:4/3;object-position:50% 62%}
}
.nav a[aria-current="page"],.nav a[aria-current="true"]{color:var(--blue);text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:6px}
.intro-640{max-width:640px;margin:0 auto;color:var(--slate)}
.pad-160{padding-top:160px;padding-bottom:160px}

.name-section{padding:40px 24px 0}
.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;max-width:1180px;margin:0 auto;text-align:left;align-items:start}
.name-head{position:sticky;top:120px}
.name-rule{margin:0 0 28px}
.name-head .eyebrow{padding-left:0}
.name-head h2{max-width:12ch}
.name-body p{font-size:19px;line-height:1.7;color:var(--ink);margin:0 0 28px}
.name-body p.name-close{font-family:var(--display);font-weight:300;font-size:26px;line-height:1.4;color:var(--ink);margin:40px 0 0}
.name-body p.name-close::before{content:"";display:block;width:48px;height:1px;background:#A5532F;margin-bottom:28px}

.stats{display:grid;grid-template-columns:repeat(4,1fr);max-width:1000px;margin:96px auto 0;list-style:none;padding:0}
.stats li{padding:8px 24px;border-left:1px solid var(--line)}
.stats li:first-child{border-left:0}
.stat-num{display:block;font-family:var(--display);font-weight:300;font-size:56px;line-height:1;color:var(--cedar)}
.stat-label{display:block;margin-top:16px;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--slate);padding-left:.24em}

.bench{display:grid;grid-template-columns:repeat(3,1fr);gap:0 48px;max-width:1080px;margin:72px auto 0;list-style:none;padding:0;text-align:left}
.bench li{border-top:1px solid var(--line)}
.bench a{display:flex;align-items:center;gap:20px;padding:22px 0;font-family:var(--display);font-weight:400;font-size:18px;color:var(--navy)}
.bench a:hover{text-decoration:none}
.bench a:hover span{text-decoration:underline;text-underline-offset:4px}
.bench svg{flex:none;width:24px;height:24px;color:var(--blue)}
.bench li:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
@media (min-width:761px) and (max-width:1024px){
  .bench{grid-template-columns:repeat(2,1fr)}
  .bench li:nth-last-child(-n+3){border-bottom:0}
  .bench li:last-child{border-bottom:1px solid var(--line)}
}

.leaders{display:grid;grid-template-columns:1fr 1fr;gap:64px;max-width:820px;margin:80px auto 0;list-style:none;padding:0}
.portrait{position:relative;aspect-ratio:1/1;width:100%;max-width:240px;background:var(--ice);overflow:hidden;margin:0}
.portrait img{display:block;width:100%;height:100%;object-fit:cover}
.leader-name{font-family:var(--display);font-weight:400;font-size:24px;color:#fff;margin:28px 0 8px}
.leader-title{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);margin:0 0 14px}
.leader-link{color:#DCEAF2;font-size:15px}
.leader-link:hover{color:#fff}

.commit{display:grid;grid-template-columns:1fr 1fr;gap:72px 80px;max-width:1000px;margin:96px auto 0;list-style:none;padding:0;text-align:left}
.commit li{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.45;color:var(--ink)}
.commit li::before{content:"";display:block;width:32px;border-top:1px solid var(--cedar);margin-bottom:24px}

@media (max-width:1024px){
}
@media (max-width:760px){
  .pad-160{padding-top:96px;padding-bottom:96px}
  .stats{grid-template-columns:1fr 1fr;row-gap:48px;margin-top:64px}
  .stats li:nth-child(3){border-left:0}
  .stat-num{font-size:48px}
  .bench{grid-template-columns:1fr;margin-top:56px}
  .bench li:nth-last-child(-n+3){border-bottom:0}
  .bench li:last-child{border-bottom:1px solid var(--line)}
  .leaders{grid-template-columns:1fr;gap:56px;margin-top:56px}
  .commit{grid-template-columns:1fr;gap:48px;margin-top:64px}
  .commit li{font-size:20px}
}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* About: The Name responsive */
@media (max-width:960px){
  .name-grid{grid-template-columns:1fr;gap:40px}
  .name-head{position:static}
    }
@media (max-width:760px){
  .name-section{padding:24px 16px 0}
  .name-body p{font-size:18px}
  .name-body p.name-close{font-size:23px}
}

/* ---------- Services dropdown (site-wide nav) ---------- */
.nav .dd{position:relative;display:flex;align-items:center;gap:4px}
.dd-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;background:none;color:var(--blue);cursor:pointer}
.dd-toggle .chev,.m-acc .chev{transition:transform .2s ease}
.dd.is-open .dd-toggle .chev,.m-acc[aria-expanded="true"] .chev{transform:rotate(180deg)}
.dd-panel{position:absolute;top:calc(100% + 66px);left:-24px;z-index:30;width:880px;max-width:calc(100vw - 48px);background:#fff;border:1px solid var(--ice);padding:24px;box-shadow:0 12px 32px rgba(30,63,87,.08);text-align:left}
.dd-panel::before{content:"";position:absolute;left:0;right:0;top:-68px;height:68px}
.dd-panel[hidden]{display:none}
.dd-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.nav .dd-panel a{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;font-family:var(--body);font-weight:400;font-size:15px;line-height:1.35;letter-spacing:0;text-transform:none;color:var(--ink)}
.nav .dd-panel a svg{flex:none;margin-top:2px;color:var(--blue)}
.nav .dd-panel a:hover,.nav .dd-panel a:focus-visible{background:var(--mist);color:var(--blue);text-decoration:none}
.dd-head{margin:0 0 16px;padding:0 0 16px;border-bottom:1px solid var(--ice)}
.nav .dd-head a{display:inline-block;padding:4px 12px;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--blue)}
.nav .dd-head a:hover{background:none;text-decoration:underline;text-underline-offset:4px}
.m-row{display:grid;grid-template-columns:44px 1fr 44px;align-items:center}
.m-row>a{grid-column:2}
.m-row>.m-acc{grid-column:3}
.m-acc{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;color:var(--blue);cursor:pointer}
.m-sub{list-style:none;margin:0 0 12px;padding:0}
.m-sub[hidden]{display:none}
.mobile-nav .m-sub li{border-top:0}
.mobile-nav .m-sub a{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 0;font-family:var(--body);font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink)}
.mobile-nav .m-sub a svg{color:var(--blue)}

/* ---------- Service page template ---------- */
.crumbs ol{list-style:none;margin:0 0 64px;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:14px;line-height:1.5;color:var(--navy)}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--slate)}
.crumbs a{color:var(--navy);text-decoration:underline;text-decoration-color:rgba(30,63,87,.35);text-underline-offset:3px}
.crumbs [aria-current]{color:var(--ink)}
.svc-hero-copy .eyebrow{color:var(--navy);padding-left:0}
.text-link{font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}

.left-head{max-width:900px;margin:0 0 72px}
.left-head .eyebrow{padding-left:0}
.left-head p:not(.eyebrow){max-width:62ch;margin:32px 0 0;color:var(--slate)}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:56px 80px;list-style:none;margin:0;padding:0}
.incl li::before,.fit-list li::before{content:"";display:block;width:32px;border-top:1px solid var(--cedar);margin-bottom:22px}
.incl h3{margin:0 0 10px}
.incl p{margin:0;font-size:17px;line-height:1.7;color:var(--slate)}
.connect-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.connect-grid .left-head{margin:0}
.svc-links{list-style:none;margin:0;padding:0}
.svc-links li{border-top:1px solid var(--line)}
.svc-links li:last-child{border-bottom:1px solid var(--line)}
.svc-links a{display:flex;align-items:center;gap:18px;padding:22px 0;font-family:var(--display);font-size:20px;color:var(--navy)}
.svc-links a svg{flex:none;color:var(--blue)}
.svc-links a:hover{text-decoration:none}
.svc-links a:hover span{text-decoration:underline;text-underline-offset:4px}
.svc-steps .steps p{margin:0;font-size:16px;line-height:1.7;color:var(--slate)}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.fit-list{list-style:none;margin:0;padding:0;display:grid;gap:40px}
.fit-list li{font-size:18px;line-height:1.65;color:var(--ink)}
.fit-grid>p{margin:0;font-size:19px;line-height:1.7;color:var(--ink)}
.faq{max-width:900px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;cursor:pointer;list-style:none;font-family:var(--display);font-weight:400;font-size:21px;line-height:1.4;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:12px;height:12px;border-right:1.5px solid var(--blue);border-bottom:1.5px solid var(--blue);transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
.faq details p{margin:0;padding:0 48px 32px 0;max-width:70ch;color:var(--slate)}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;list-style:none;margin:0;padding:0}
.related li{position:relative;border:1px solid var(--line);padding:40px 36px;background:#fff;transition:border-color .3s}
.related li:hover{border-color:var(--field)}
.related svg{display:block;color:var(--blue);margin-bottom:24px}
.related h3 a{color:var(--navy)}
.related h3 a::after{content:"";position:absolute;inset:0}
.related li:hover h3 a{text-decoration:underline;text-underline-offset:4px}
.related p{margin:0;font-size:16px;line-height:1.7;color:var(--slate)}

@media (max-width:1024px){
  .related{grid-template-columns:1fr 1fr}
}
@media (max-width:960px){
  .connect-grid,.fit-grid{grid-template-columns:1fr;gap:48px}
}
@media (max-width:760px){
  .incl{grid-template-columns:1fr;gap:44px}
  .related{grid-template-columns:1fr}
  .left-head{margin-bottom:56px}
  .faq summary{font-size:19px}
  .faq details p{padding-right:0}
}

/* ---------- Stone tile: one seamless 720x480 line tile (see :root --stone-tile), color/opacity set per use ---------- */
/* Used in two places only: the Ice service hero, and every Harbor navy section (.navy) site-wide. Footer stays plain. */
.svc-hero,.navy{position:relative;overflow:hidden;isolation:isolate}
.svc-hero::before,.navy::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:var(--stone-tile);background-size:var(--stone-tile-size);background-repeat:repeat}
.navy::before{opacity:.10;
  -webkit-mask-image:radial-gradient(ellipse at center,transparent 40%,#000 85%);mask-image:radial-gradient(ellipse at center,transparent 40%,#000 85%)}
@media (max-width:959px){
  /* Narrow bands make the ellipse tighter; widen the clear center so small Brass labels keep 4.5:1. */
  .navy::before{-webkit-mask-image:radial-gradient(ellipse at center,transparent 60%,#000 95%);mask-image:radial-gradient(ellipse at center,transparent 60%,#000 95%)}
}
@media (max-width:599px){
  .navy::before{-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 20%,transparent 80%,#000 100%);mask-image:linear-gradient(to bottom,#000 0%,transparent 20%,transparent 80%,#000 100%)}
}
/* "Led by GoodYou" note: real content, not a placeholder, so no border or box */
.led-by{margin:24px 0 0;padding:0;border:0;background:none;font-family:var(--body);font-size:15px;line-height:1.6;color:var(--slate)}
.svc-hero-copy p.led-by{max-width:38rem;margin-top:24px;color:var(--slate);font-family:var(--body);font-size:15px}
.led-by a{color:var(--blue);font-weight:500;text-decoration:underline;text-decoration-color:rgba(46,114,161,.4);text-underline-offset:3px;white-space:nowrap}
.led-by a:hover{text-decoration-color:currentColor}
.navy .led-by,.navy p.led-by{color:var(--ice)}
.navy .led-by a{color:var(--brass);text-decoration-color:rgba(217,165,119,.5)}

/* ---------- Service hero (shared by all service pages) ---------- */
.svc-hero{background:var(--ice);padding:64px 24px 96px}
.svc-hero::before{opacity:.7;
  -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.12) 0%,rgba(0,0,0,.12) 55%,#000 85%);mask-image:linear-gradient(to right,rgba(0,0,0,.12) 0%,rgba(0,0,0,.12) 55%,#000 85%)}
.svc-hero .wide{max-width:1180px;margin:0 auto}
.svc-hero-copy{max-width:62%}
.svc-eyebrow-row{display:flex;align-items:center;gap:14px}
.svc-eyebrow-row .eyebrow{margin:0}
.svc-eyebrow-row svg{flex:none;width:32px;height:32px;color:var(--blue)}
.svc-hero-copy .hair{display:block;width:32px;border-top:1px solid var(--cedar);margin:16px 0 24px}
.svc-hero h1{font-weight:300;font-size:clamp(34px,3.2vw,46px);line-height:1.15;color:var(--ink);width:18.5em;max-width:calc(100vw - 48px)}
.svc-hero-copy p:not(.eyebrow){max-width:38rem;margin:24px 0 0;color:var(--ink)}
.svc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;margin-top:32px}
@media (max-width:959px){
  .svc-hero::before{-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.12) 35%);mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.12) 35%)}
  .svc-hero-copy{max-width:none}
  .svc-hero h1{width:auto;max-width:none}
}
@media (max-width:599px){
  .svc-hero{padding:40px 16px 64px}
  .svc-hero::before{opacity:.5}
  .svc-hero h1{font-size:clamp(2rem,7vw,2.5rem)}
  .svc-actions{flex-direction:column;align-items:stretch;gap:16px}
  .svc-actions .btn{width:100%;text-align:center}
  .svc-actions .text-link{align-self:flex-start}
}

/* Header: mobile menu below 960px */
@media (max-width:959px){
  .site-header{padding:20px 16px}
  .header-inner{grid-template-columns:1fr auto 1fr;gap:12px}
  .nav{display:none}
  .logo svg{width:40px;margin-bottom:10px}
  .wordmark{font-size:16px}
  .wordmark-sub{font-size:7px;margin-top:7px}
  .menu-btn{display:block;justify-self:end;grid-column:3;background:none;border:0;font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--blue);padding:12px 0;cursor:pointer}
  .header-inner .logo{grid-column:2;grid-row:1}
  .mobile-nav{display:none;list-style:none;margin:24px 0 0;padding:0;text-align:center}
  .mobile-nav.open{display:block}
  .mobile-nav li{border-top:1px solid var(--line)}
  .mobile-nav a{display:block;padding:18px 0;font-family:var(--display);font-size:12px;letter-spacing:.28em;text-transform:uppercase}
  .mobile-nav .m-sub a{justify-content:flex-start;padding:10px 0 10px 32%}
  .mobile-nav .m-sub .m-all a{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--blue)}
}

/* ================= How We Work ================= */
section.p128{padding:128px 24px}
.model{display:grid;grid-template-columns:1fr minmax(48px,120px) 1fr minmax(48px,120px) 1.4fr;align-items:start;max-width:1000px;margin:96px auto 0}
.m-node{display:flex;flex-direction:column;align-items:center;gap:20px}
.m-node .vis{height:132px;display:flex;align-items:center;justify-content:center}
.ring{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;border:1px solid var(--field);background:#fff;color:var(--navy)}
.ring svg{width:28px;height:28px}
.ring-lg{width:104px;height:104px;border:1px solid var(--blue);background:var(--ice);color:var(--blue)}
.ring-lg svg{width:36px;height:36px}
.m-line{display:block;height:66px;border-bottom:1px solid var(--cedar)}
.m-lbl{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--navy);padding-left:.24em}
.cluster{display:flex;flex-direction:column;gap:6px;align-items:center}
.crow{display:flex;gap:6px}
.stone{display:flex;align-items:center;justify-content:center;width:44px;height:36px;border:1px solid var(--field);border-radius:3px;background:var(--mist);color:var(--navy)}
.stone svg{width:20px;height:20px}
.proc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:40px;counter-reset:st}
.proc li{border-top:1px solid var(--cedar);padding-top:28px;counter-increment:st}
.proc li svg{width:28px;height:28px;color:var(--blue);display:block}
.proc h3{font-family:var(--display);font-weight:400;font-size:21px;line-height:1.3;color:var(--navy);margin:20px 0 12px}
.proc h3::before{content:counter(st,decimal-leading-zero);display:block;font-weight:500;font-size:12px;letter-spacing:.24em;color:var(--cedar);margin-bottom:8px}
.proc p{margin:0;font-size:16px;line-height:1.6;color:var(--slate)}
.partners-grid{display:grid;grid-template-columns:5fr 7fr;gap:96px;align-items:start}
.pts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:48px 48px}
.pts li{border-top:1px solid var(--cedar);padding-top:24px;color:var(--ink);line-height:1.6;max-width:38rem}
.expect{list-style:none;margin:0 auto;padding:0;max-width:1000px;display:grid;grid-template-columns:1fr 1fr;gap:0 64px}
.expect li{display:flex;gap:16px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--line);line-height:1.6;color:var(--ink)}
.expect li svg{flex:none;width:20px;height:20px;color:var(--blue);margin-top:4px}
.ways{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.ways li{border:1px solid var(--ice);padding:40px;display:flex;flex-direction:column;background:#fff}
.ways h3{font-family:var(--display);font-weight:400;font-size:24px;color:var(--navy);margin:0 0 16px}
.ways p{margin:0 0 32px;color:var(--slate);line-height:1.6;flex:1}
@media (max-width:959px){
  .proc{grid-template-columns:1fr 1fr;gap:48px 40px}
  .partners-grid{grid-template-columns:1fr;gap:56px}
  .ways{grid-template-columns:1fr}
}
@media (max-width:759px){
  section.p128{padding:80px 16px}
  .model{grid-template-columns:1fr;justify-items:center;margin-top:64px}
  .m-line{width:1px;height:40px;border-bottom:0;border-left:1px solid var(--cedar);margin:12px 0}
  .m-node .vis{height:auto}
  .proc{grid-template-columns:1fr;gap:40px}
  .pts{grid-template-columns:1fr;gap:32px}
  .expect{grid-template-columns:1fr}
  .ways li{padding:32px 24px}
}


@media (max-width:959px){
  .mobile-nav .m-sub a{text-align:left;padding-left:30%;padding-right:8px}
  .mobile-nav a[aria-current="page"],.mobile-nav a[aria-current="true"]{text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:6px}
}

/* Service pages: lower half */
.svc-steps .steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:48px;width:100%;max-width:none}
.svc-steps .steps li{border-top:1px solid var(--ice);padding-top:32px}
.svc-steps .steps h3{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.3;color:var(--navy);margin:0 0 14px}
.svc-steps .steps p{font-family:var(--body);font-size:16px;line-height:1.6;color:var(--slate)}
.svc-fit{width:100%}
.faq-grid{display:grid;grid-template-columns:4fr 8fr;gap:64px;align-items:start}
.faq-head{position:sticky;top:120px}
.faq-head .eyebrow{padding-left:0}
.faq-grid .faq{max-width:none;width:100%}
@media (max-width:959px){
  .svc-steps .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .faq-grid{grid-template-columns:1fr;gap:48px}
  .faq-head{position:static}
}
@media (max-width:599px){.svc-steps .steps{grid-template-columns:1fr}}

/* ================= Services hub ================= */
.hub-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.hub-grid li{display:flex}
.hub-card{display:flex;flex-direction:column;width:100%;background:#fff;border:1px solid var(--ice);border-radius:4px;padding:32px;color:var(--ink);transition:border-color .2s,transform .2s,box-shadow .2s}
.hub-card:hover{text-decoration:none;border-color:var(--blue);transform:translateY(-2px)}
.hub-card:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.hub-card svg{width:32px;height:32px;color:var(--blue);margin-bottom:24px}
.hub-card h3{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.3;color:var(--ink);margin:0 0 12px}
.hub-card p{margin:0 0 28px;font-family:var(--body);font-size:16px;line-height:1.6;color:var(--slate)}
.hub-more{margin-top:auto;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue)}
.hub-more .arr{display:inline-block;transition:transform .2s}
.hub-card:hover .arr,.hub-card:focus-visible .arr{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){.hub-card,.hub-more .arr{transition:none}.hub-card:hover{transform:none}}
.combo-grid{display:grid;grid-template-columns:4fr 8fr;gap:80px;align-items:start}
.combo-head{position:sticky;top:120px}
.combo-head .eyebrow{padding-left:0}
.combo-head p:not(.eyebrow){margin:28px 0 0;color:var(--slate);line-height:1.65}
.combos{list-style:none;margin:0;padding:0;border-top:1px solid var(--ice)}
.combos li{padding:36px 0;border-bottom:1px solid var(--ice)}
.combos h3{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.3;color:var(--ink);margin:0 0 12px}
.combos p{margin:0;font-family:var(--body);font-size:17px;line-height:1.65;color:var(--slate);max-width:38rem}
.combos p.combo-links{margin-top:18px;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;line-height:2}
.combo-links a{color:var(--blue)}
.combo-links .dot{color:var(--slate);margin:0 8px}
@media (max-width:959px){
  .hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .combo-grid{grid-template-columns:1fr;gap:48px}
  .combo-head{position:static}
}
@media (max-width:599px){.hub-grid{grid-template-columns:1fr}.hub-card{padding:28px 24px}}
.combo-links a{white-space:nowrap}

/* Header nav: symmetrical desktop layout (1024px and up) */
@media (min-width:1024px){
  .header-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:56px}
  .nav{--nav-w:320px;width:var(--nav-w);gap:0;justify-content:space-between;align-items:center}
  .nav-left{justify-self:end;justify-content:space-between}
  .nav-right{justify-self:start;justify-content:space-between}
  .nav-right:has(> li:only-child){justify-content:flex-start}
  .nav>li{display:flex;align-items:center;height:20px}
  .nav>li>a{position:relative;display:inline-flex;align-items:center;height:20px;line-height:20px;margin-right:-.28em;text-decoration:none}
  .nav>li>a[aria-current="page"],.nav>li>a[aria-current="true"]{text-decoration:none}
  .nav>li>a[aria-current="page"]::after,.nav>li>a[aria-current="true"]::after{content:"";position:absolute;left:0;right:.28em;bottom:-6px;height:1px;background:var(--blue)}
  .nav .dd{gap:8px;height:20px}
  .nav .dd>a{margin-right:0}
  .dd-toggle{display:inline-flex;align-items:center;justify-content:center;width:14px;height:20px;padding:0;margin:0;line-height:20px}
  .dd-toggle .chev{display:block}
}
@media (min-width:1024px){.dd-panel{top:calc(100% + 69px)}.dd-panel::before{top:-71px;height:71px}}
.svc-hero-copy p.led-by:not(.eyebrow){color:var(--slate);font-size:15px;max-width:38rem;margin-top:24px}

/* Services dropdown: nine items, 3 x 3, column-first, "All services" last */
.dd-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column;gap:4px 16px}
.dd-foot{margin:16px 0 0;padding:16px 0 0;border-top:1px solid var(--ice)}
.nav .dd-foot a{display:inline-block;padding:4px 12px;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--blue)}
.nav .dd-foot a:hover{background:none;text-decoration:underline;text-underline-offset:4px}

/* Nine-service grids: 3 x 3 on desktop, 2 columns on tablet, 1 on mobile */
.grid.grid-9{grid-template-columns:repeat(3,minmax(0,1fr));gap:72px 64px}
.hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1024px){.grid.grid-9{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:959px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.grid.grid-9,.hub-grid{grid-template-columns:1fr;gap:48px}}
@media (max-width:599px){.hub-grid{gap:24px}}


/* ================= Locations ================= */
.loc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.loc-card .state-ic{display:block;height:56px;width:auto;max-width:96px;color:var(--blue);margin-bottom:24px}
.hub-card.loc-card svg{width:auto;height:56px}
.state-row .state-ic{flex:none;height:40px;width:auto;color:var(--blue)}
.svc-eyebrow-row.state-row svg{width:auto;height:40px}
.market-grid{display:grid;grid-template-columns:7fr 5fr;gap:80px;align-items:start}
.market-copy .eyebrow{padding-left:0}
.market-copy h2{margin-bottom:32px}
.market-copy p:not(.eyebrow){max-width:38rem;margin:0 0 20px;color:var(--ink);line-height:1.7}
.glance{border:1px solid var(--ice);padding:32px;background:#fff}
.glance-title{margin:0 0 12px;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--cedar)}
.glance dl{margin:0}
.glance-row{padding:16px 0;border-top:1px solid var(--ice)}
.glance-row:last-child{padding-bottom:0}
.glance dt{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin:0 0 6px}
.glance dd{margin:0;font-family:var(--body);font-size:16px;line-height:1.55;color:var(--ink)}
.svc-compact{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px;border-top:1px solid var(--ice)}
.svc-compact li{display:flex;gap:14px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--ice)}
.svc-compact li svg{flex:none;width:24px;height:24px;color:var(--blue);margin-top:2px}
.svc-compact a{font-family:var(--display);font-weight:400;font-size:19px;line-height:1.35;color:var(--navy)}
.svc-compact a:hover{text-decoration:underline;text-underline-offset:4px}
.often{display:block;margin-top:6px;font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cedar)}
.nearby{padding:48px 24px;background:#fff;border-top:1px solid var(--line)}
.nearby .wide{display:flex;flex-wrap:wrap;align-items:center;gap:16px 40px}
.nearby-label{margin:0;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--slate)}
.nearby-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 36px}
.nearby-list a{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:17px;color:var(--navy)}
.nearby-list svg{width:auto;height:20px;color:var(--blue)}
.nearby-list a:hover span{text-decoration:underline;text-underline-offset:4px}
@media (max-width:959px){
  .loc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .market-grid{grid-template-columns:1fr;gap:48px}
  .svc-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:599px){
  .loc-grid,.svc-compact{grid-template-columns:1fr}
  .glance{padding:24px}
  .nearby{padding:40px 16px}
}

/* ================= Privacy and 404 ================= */
.svc-hero.no-tex::before{display:none}
.svc-hero .updated{margin-top:20px!important;color:var(--slate)!important;font-size:15px}
.legal-body{padding:96px 24px 128px}
.prose{max-width:42rem;margin:0 auto}
.prose h2{font-size:clamp(24px,2.4vw,30px);margin:56px 0 16px}
.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 16px;color:var(--ink);line-height:1.7}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.nf-links{padding:80px 24px 128px}
.nf-list{list-style:none;margin:0 0 48px;padding:0;max-width:38rem;border-top:1px solid var(--line)}
.nf-list li{border-bottom:1px solid var(--line)}
.nf-list a{display:flex;justify-content:space-between;padding:18px 0;font-family:var(--display);font-weight:400;font-size:20px;color:var(--navy)}
.nf-list a:hover{text-decoration:none;color:var(--blue)}
.footer-links a[aria-current="page"],.legal a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}
.legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media (max-width:599px){.legal-body{padding:64px 16px 96px}.nf-links{padding:56px 16px 96px}}

/* About "Who leads" is a tall navy band with content top to bottom, so a centered ellipse leaves the eyebrow on the
   texture. Keep the texture at the side edges on desktop and only along the bottom edge below 960px. */
.navy:has(.leaders)::before{-webkit-mask-image:linear-gradient(to right,#000 0%,transparent 24%,transparent 76%,#000 100%);mask-image:linear-gradient(to right,#000 0%,transparent 24%,transparent 76%,#000 100%)}
@media (max-width:959px){.navy:has(.leaders)::before{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 88%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,transparent 88%,#000 100%)}}
@media (max-width:599px){.navy:has(.leaders)::before{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 92%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,transparent 92%,#000 100%)}}

/* About "Who leads": portrait, name, title and link share one left edge in each column */
.leaders li{text-align:left}
@media (max-width:599px){.portrait{max-width:200px}}

/* About "Who leads": bios and the GoodYou credentials block */
.leader-bio{max-width:42ch;margin:0 0 18px;font-family:var(--body);font-size:16px;line-height:1.65;color:#DCEAF2}
.leaders li{display:flex;flex-direction:column;align-items:flex-start}
.leader-link{margin-top:auto}
.goodyou{max-width:820px;margin:88px auto 0;text-align:left}
.goodyou-rule{border:0;border-top:1px solid rgba(92,104,115,.2);margin:0 0 48px}
.goodyou .eyebrow{padding-left:0;margin-bottom:20px}
.goodyou-body{max-width:62ch;margin:0;font-size:17px;line-height:1.7;color:#DCEAF2}
.goodyou-creds{margin:20px 0 0;font-size:14px;letter-spacing:.01em;color:#A9C2D3}
.goodyou-link{display:inline-block;margin-top:24px;font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.goodyou-link:hover{color:var(--ice)}
@media (max-width:599px){.goodyou{margin-top:64px}.goodyou-rule{margin-bottom:36px}}




/* ================= Start a Project (rebuilt) ================= */
/* Navy hero with the service-hero texture treatment; the form card sits in the right half */
.sap-hero,.ty-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#fff}
.sap-hero::before,.ty-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.10;
  background-image:var(--stone-tile);background-size:var(--stone-tile-size);background-repeat:repeat;
  -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.12) 0%,rgba(0,0,0,.12) 55%,#000 85%);mask-image:linear-gradient(to right,rgba(0,0,0,.12) 0%,rgba(0,0,0,.12) 55%,#000 85%)}
.sap-hero{padding:64px 24px;display:flex;align-items:center;min-height:min(760px,calc(100vh - var(--header-h,159px)))}
.sap-hero .wide{width:100%}
.sap-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"copy card" "steps card";column-gap:72px;align-items:center}
.sap-copy{grid-area:copy;align-self:end}
.sap-card{grid-area:card;justify-self:end;width:100%;max-width:480px;background:#fff;padding:40px;box-shadow:0 20px 48px rgba(10,25,40,.25)}
.sap-hero .eyebrow,.ty-hero .eyebrow{color:var(--brass);padding-left:0}
.sap-hero h1,.ty-hero h1{color:#fff;font-size:clamp(34px,3.6vw,52px);line-height:1.12}
.sap-lede{margin:24px 0 0;max-width:44ch;color:rgba(255,255,255,.85)}
.sap-steps{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:14px}
.sap-steps li{display:flex;gap:16px;font-size:15px;line-height:1.5;color:rgba(255,255,255,.9)}
.sap-steps .n{flex:none;width:22px;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.2em;color:var(--brass);padding-top:2px}
.sap-card .sap-card-head{color:var(--slate);padding-left:0;margin:0 0 20px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.field{margin:0 0 20px;padding:0;border:0;min-width:0}
.field label{display:block;font-family:var(--body);font-weight:600;font-size:15px;color:var(--ink);margin:0 0 8px}
.opt{font-weight:400;font-size:13px;color:var(--slate);margin-left:8px}
.field input,.field select,.field textarea{display:block;width:100%;height:48px;padding:0 14px;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid rgba(92,104,115,.3);border-radius:4px;transition:border-color .2s,box-shadow .2s}
.field textarea{height:auto;padding:12px 14px;line-height:1.5;resize:vertical}
.field textarea::placeholder{color:#8A949D}
.field select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='none' stroke='%232B3640' stroke-width='16' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='208 96 128 176 48 96'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:14px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(46,114,161,.2)}
.sap-submit{display:block;width:100%;margin-top:4px;cursor:pointer;text-align:center}
.privacy{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--slate)}
.privacy a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
@media (min-width:960px) and (max-height:820px){
  /* Short laptop screens: tighten so the Send button stays above the fold */
  .sap-hero{padding:40px 24px}
  .sap-card{padding:32px}
  .field{margin-bottom:16px}
  .field label{margin-bottom:6px}
  .field input,.field select{height:44px}
}
@media (max-width:959px){
  .sap-hero{display:block;min-height:0;padding:40px 20px 56px}
  .sap-grid{grid-template-columns:1fr;grid-template-areas:"copy" "card" "steps"}
  .sap-card{justify-self:stretch;max-width:none;padding:24px;margin-top:28px}
  .sap-steps{margin-top:32px}
  .sap-hero::before,.ty-hero::before{-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.12) 35%);mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.12) 35%)}
}
@media (max-width:599px){
  .sap-hero h1,.ty-hero h1{font-size:clamp(30px,8vw,38px)}
  .sap-lede{margin-top:16px}
  .sap-hero .eyebrow{margin-bottom:16px}
}

/* ================= Thank you (rebuilt) ================= */
.ty-hero{padding:88px 24px 72px}
.ty-hero .sap-lede{max-width:52ch}
.facts{padding:96px 0 112px;background:#fff}
.facts-inner{max-width:1180px;margin:0 auto;padding:0 24px;text-align:center}
.facts .eyebrow{color:var(--slate)}
.facts h2{margin:0 auto 48px;max-width:22ch}
.facts-viewport{max-width:720px;margin:0 auto;border-radius:2px}
.facts-viewport:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.facts-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain}
.facts-track::-webkit-scrollbar{display:none}
.fact{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex}
.fact-card{flex:1;background:var(--mist);padding:56px 64px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.fact-state{height:72px;width:auto;max-width:140px;color:var(--blue)}
.fact-name{margin:24px 0 16px;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--slate)}
.fact-text{margin:0;max-width:30ch;font-family:var(--display);font-weight:300;font-size:26px;line-height:1.38;color:var(--ink)}
.facts-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:28px;flex-wrap:wrap}
.fact-arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.fact-arrow:hover{background:var(--ink);color:#fff}
.fact-arrow:focus-visible,.fact-dot:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.fact-count{margin:0;min-width:56px;font-family:var(--display);font-size:14px;letter-spacing:.08em;color:var(--slate)}
.fact-dots{display:flex;gap:4px}
.fact-dot{width:24px;height:24px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.fact-dot::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--field)}
.fact-dot[aria-current="true"]::after{background:var(--blue)}
.ty-links{list-style:none;padding:0;margin:40px 0 0;display:flex;justify-content:center;flex-wrap:wrap;gap:16px 40px}
.ty-links a{color:var(--navy)}
.ty-nav{margin-top:56px}
@media (prefers-reduced-motion:reduce){.facts-track{scroll-behavior:auto}}
@media (max-width:599px){
  .ty-hero{padding:56px 20px 48px}
  .facts{padding:64px 0 80px}
  .facts-inner{padding:0 16px}
  .fact-card{padding:32px 24px}
  .fact-text{font-size:21px}
  .fact-dots{order:3;width:100%;justify-content:center}
}

/* Phone: footer line, Start a Project call line, thank-you contact */
.footer-phone{margin:8px 0 0}
.footer-phone a{font-size:15px}
.sap-aside{grid-area:steps;align-self:start}

.sap-call{margin:32px 0 0;font-size:15px;line-height:1.5;color:rgba(255,255,255,.85);white-space:nowrap}
.sap-call a,.ty-contact a{color:var(--ice);text-decoration:none}
.sap-call a:hover,.ty-contact a:hover{text-decoration:underline;text-underline-offset:3px}
.sap-call a:focus-visible,.ty-contact a:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.ty-contact{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 32px}
.ty-contact li{display:flex;align-items:center;gap:10px;font-size:16px}
.ty-contact svg{color:var(--ice)}
@media (max-width:959px){.sap-call{white-space:normal}}

/* Thanks page: tighter vertical rhythm (scoped to body.thanks-page) */
.thanks-page .ty-hero{padding:48px 24px 40px}
.thanks-page .ty-hero .eyebrow{margin-bottom:20px}
.thanks-page .ty-contact{margin-top:24px}
.thanks-page .facts{padding:64px 0 64px}
.thanks-page .facts h2{max-width:900px;font-size:clamp(32px,2.8vw,40px);margin-bottom:40px}
.thanks-page .fact-card{padding:40px 64px}
.thanks-page .fact-state{height:58px}
.thanks-page .fact-name{margin:20px 0 12px}
.thanks-page .fact-text{max-width:34ch;font-size:22px;line-height:1.5}
.thanks-page .facts-controls{margin-top:24px}
.thanks-page .ty-nav{margin-top:40px}
@media (max-width:760px){
  .thanks-page .ty-hero{padding:36px 20px 32px}
  .thanks-page .facts{padding:40px 0 48px}
  .thanks-page .facts h2{font-size:clamp(26px,7vw,32px);margin-bottom:32px}
  .thanks-page .fact-card{padding:32px 24px}
  .thanks-page .fact-text{font-size:19px;line-height:1.5}
}
