/* Common Good Consulting — site stylesheet.
   Tokens at the top mirror the design system (Common Good Consulting design system artifact).
   Fonts are self-hosted (SIL OFL 1.1, licences in ../fonts). */

/* ───────── Fonts ───────── */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/archivo-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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/archivo-400-italic.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/archivo-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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/archivo-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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/archivo-700-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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Serif';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-serif-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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Serif';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-serif-400-italic.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Serif';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-serif-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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Serif';font-style:italic;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-serif-500-italic.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* ───────── Tokens (from the Figma file) ───────── */
:root{
  --ink:#29363f;          /* Ebony Clay */
  --slate:#4c6374;        /* Blue Bayoux */
  --paper:#f4f3ea;        /* Spring Wood */
  --turbo:#eeda00;        /* Turbo */
  --polo:#94a2d6;         /* Polo Blue */
  --footer:#34444f;
  --navy:#102239;
  --white:#fff;
  --rule:rgba(41,54,63,.16);
  --rule-light:rgba(244,243,234,.2);

  --serif:'IBM Plex Serif', Georgia, 'Times New Roman', serif;
  --sans:'Archivo', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;

  --pad:clamp(20px, 6.25vw, 90px);     /* 90px at 1440 */
  --maxw:1260px;
  --gutter:24px;
  --sect:clamp(80px, 8.33vw, 120px);   /* 120px section rhythm */

  --fs-display:clamp(36px, 31.8px + 1.127vw, 48px);
  --fs-h2:clamp(30px, 26.5px + .94vw, 40px);
  --fs-quote:clamp(30px, 25.8px + 1.13vw, 42px);
  --fs-stat:clamp(48px, 42.4px + 1.5vw, 64px);
  --fs-title:clamp(21px, 20px + .28vw, 24px);
  --fs-lede:clamp(19px, 18.3px + .19vw, 21px);
  --fs-body:clamp(16px, 15.65px + .094vw, 17px);

  box-sizing:border-box;
  padding-top:env(safe-area-inset-top, 0px);
  padding-bottom:env(safe-area-inset-bottom, 0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top, 0px) + 96px);-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.53;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure,blockquote,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
p{text-wrap:pretty}
em{font-style:italic}
:focus-visible{outline:2px solid var(--turbo);outline-offset:3px}
.on-light :focus-visible, .on-light:focus-visible{outline-color:var(--ink)}
main:focus{outline:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--turbo);color:var(--ink);padding:10px 16px;font-weight:500;text-decoration:none}
.skip:focus{top:calc(env(safe-area-inset-top, 0px) + 12px)}

/* ───────── Layout primitives ───────── */
.wrap{width:min(100% - 2*var(--pad), var(--maxw));margin-inline:auto}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}
.section{padding-block:var(--sect)}
.bg-ink{background:var(--ink);color:var(--white)}
.bg-paper{background:var(--paper)}
.bg-white{background:var(--white)}

/* ───────── Type ───────── */
.label{font:500 13px/1.454 var(--sans);letter-spacing:.005em;margin-bottom:18px}
.bg-ink .label{color:var(--white)}
.display{font:400 var(--fs-display)/1.125 var(--serif);letter-spacing:-.035em}
.h2{font:400 var(--fs-h2)/1.12 var(--serif);letter-spacing:-.014em}
.lede{font:400 var(--fs-lede)/1.38 var(--serif);letter-spacing:-.01em}
.title{font:400 var(--fs-title)/1.25 var(--serif);letter-spacing:-.015em}
.small{font-size:14px;line-height:1.5}
.body-lg{font-size:var(--fs-body);line-height:1.53}

/* ───────── Buttons & links ───────── */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:18px 28px;background:var(--turbo);color:var(--ink);font:500 14px/1 var(--sans);letter-spacing:.005em;text-decoration:none;border:0;cursor:pointer;transition:background-color .15s}
.btn:hover{background:#ddca00}
.btn:focus-visible{outline-color:var(--white)}
.bg-paper .btn:focus-visible,.bg-white .btn:focus-visible{outline-color:var(--ink)}
.textlink{font:500 15px/1.72 var(--sans);color:var(--paper);text-decoration:none;border-bottom:1px solid rgba(244,243,234,.42);padding-bottom:3px;transition:border-color .15s}
.textlink:hover{border-bottom-color:var(--paper)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 36px}

/* ───────── Nav ───────── */
.nav{position:sticky;top:0;z-index:50;background:var(--ink);color:var(--white);transition:background-color .2s}
.nav__bar{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:24px}
.nav__left{display:flex;align-items:center;gap:clamp(40px, 9.1vw, 131px)}
.logo{display:block;color:inherit;line-height:0}
.logo svg{width:190px;height:32px;fill:currentColor}
.nav__links{display:flex;gap:36px}
.nav__links a,.nav__cta{font:500 14px/24px var(--sans);text-decoration:none;color:inherit}
.nav__links a{position:relative;padding-block:4px}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav__links a:hover::after,.nav__links a[aria-current="page"]::after{transform:scaleX(1)}
.nav__cta{border:1px solid currentColor;border-radius:2px;padding:6px 12px;white-space:nowrap;transition:background-color .15s,color .15s}
.nav__cta:hover{background:var(--white);color:var(--ink)}
.nav__toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px;background:none;border:0;color:inherit;cursor:pointer}
.nav__toggle svg{width:24px;height:24px}
.nav__toggle .i-close{display:none}
.nav[data-open="true"] .nav__toggle .i-open{display:none}
.nav[data-open="true"] .nav__toggle .i-close{display:block}
.nav__panel{display:none}

/* Light nav (Company page) */
.nav--light{background:var(--white);color:var(--ink);box-shadow:0 1px 0 var(--rule)}
.nav--light .nav__cta:hover{background:var(--ink);color:var(--white)}
.nav--light :focus-visible{outline-color:var(--ink)}

@media (max-width:979px){
  .nav__links,.nav__bar>.nav__cta{display:none}
  .nav__bar{min-height:72px}
  .logo svg{width:160px;height:27px}
  .nav__toggle{display:inline-flex}
  .nav__panel{position:fixed;inset:calc(72px + env(safe-area-inset-top, 0px)) 0 0 0;background:inherit;color:inherit;padding:32px var(--pad) calc(40px + env(safe-area-inset-bottom, 0px));overflow-y:auto;flex-direction:column;gap:8px;border-top:1px solid var(--rule-light)}
  .nav--light .nav__panel{border-top-color:var(--rule)}
  .nav[data-open="true"] .nav__panel{display:flex}
  .nav__panel a:not(.nav__cta){font:400 28px/1.3 var(--serif);letter-spacing:-.014em;text-decoration:none;padding-block:10px;border-bottom:1px solid var(--rule-light)}
  .nav--light .nav__panel a:not(.nav__cta){border-bottom-color:var(--rule)}
  .nav__panel a[aria-current="page"]{font-style:italic}
  .nav__panel .nav__cta{align-self:flex-start;margin-top:28px;font-size:15px;padding:12px 20px}
}

/* ───────── Home: hero ───────── */
.hero-home{background:var(--ink);color:var(--paper)}
.hero-home .wrap{position:relative;min-height:644px;padding-block:120px}
.hero-home__text{width:min(513px, 46%)}
.hero-home .display{color:var(--paper)}
.hero-home__text{min-width:min(513px,100%)}
.hero-home__lede{margin-top:26px;max-width:400px;color:rgba(244,243,234,.74)}
.hero-home .actions{margin-top:60px}
.hero-home__media{position:absolute;right:0;top:48px;width:42.4%;aspect-ratio:534/693;z-index:2}
.hero-home__media img{width:100%;height:100%;object-fit:cover}
.hero-home + .credentials{padding-top:150px}

/* ───────── Home: credentials ───────── */
.credentials__statement{grid-column:1 / span 6}
.credentials__stats{grid-column:8 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;align-content:start}
.stat__num{font:400 var(--fs-stat)/1 var(--serif);letter-spacing:-.022em;white-space:nowrap}
.stat__desc{margin-top:9px;font-size:14px;line-height:1.5;color:var(--slate);max-width:244px}

/* ───────── Image-backed sections ───────── */
.photo{position:relative;color:var(--white);isolation:isolate;overflow:hidden}
.photo__bg{position:absolute;inset:0;z-index:-2}
.photo__bg img{width:100%;height:100%;object-fit:cover}
.photo::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.perspective{min-height:784px;padding-block:120px}
.perspective::before{background:linear-gradient(98deg, rgba(67,67,36,.4) 0%, rgba(67,67,36,0) 70%)}
.perspective__content{max-width:403px}
.perspective .body-lg{margin-top:36px}
.perspective .btn{margin-top:48px}
.guarantee{min-height:784px;padding-block:90px}
.guarantee__content{max-width:618px}
.guarantee .body-lg{margin-top:36px}

/* ───────── Home: mission ───────── */
.mission__quote{grid-column:1 / span 6;max-width:564px}
.mission__quote blockquote p{font:italic 400 var(--fs-quote)/1.3 var(--serif);letter-spacing:-.013em}
.mission__cite{display:block;margin-top:24px;font:400 12px/1.5 var(--sans);color:rgba(41,54,63,.7);font-style:normal}
.mission__body{grid-column:8 / -1}
.mission__body p + p{margin-top:26px}

/* ───────── Home: process (also reused for team columns) ───────── */
.process__head{max-width:618px}
.process__cards{margin-top:72px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter)}
.rule-card{border-left:1px solid var(--rule);padding-inline:18px}
.rule-card .title{color:var(--slate)}
.rule-card .small{margin-top:12px}

/* ───────── Contact ───────── */
.contact__intro{grid-column:1 / span 4}
.contact__intro .body-lg{margin-top:31px;max-width:394px}
.contact__form{grid-column:7 / -1}
.field{display:flex;flex-direction:column;gap:9px}
.field + .field{margin-top:18px}
.field label{font:400 15px/24px var(--sans);color:var(--white)}
.field input,.field textarea{width:100%;min-height:48px;padding:12px 14px;background:rgba(244,243,234,.22);color:var(--white);border:1px solid transparent;border-radius:2px;font:400 16px/1.5 var(--sans);transition:border-color .15s,background-color .15s}
.field textarea{min-height:122px;resize:vertical}
.field input:hover,.field textarea:hover{background:rgba(244,243,234,.27)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--turbo);background:rgba(244,243,234,.27)}
.field[data-invalid="true"] input,.field[data-invalid="true"] textarea{border-color:#ffb4a8}
.field__error{font-size:14px;line-height:1.4;color:#ffcfc7;display:none}
.field[data-invalid="true"] .field__error{display:block}
.contact__form .btn{margin-top:42px}
.contact__done{padding:28px;border:1px solid var(--rule-light);border-radius:2px}
.contact__done .title{color:var(--white)}
.contact__done p + p{margin-top:12px;color:rgba(244,243,234,.8)}

/* ───────── Footer ───────── */
.footer{background:var(--footer);color:var(--white)}
.footer__main{display:flex;justify-content:space-between;gap:48px;padding-block:90px}
.footer__cities{margin-top:36px;font:500 14px/24px var(--sans)}
.footer__links a{display:block;font:500 16px/33.5px var(--sans);text-decoration:none}
.footer__links a:hover{text-decoration:underline;text-underline-offset:4px}
.footer__bottom{border-top:1px solid var(--rule-light)}
.footer__bottom .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px 32px;padding-block:36px;font:500 14px/24px var(--sans)}
.footer__bottom p:last-child{text-align:right}

/* ───────── Company: hero & banded image ───────── */
.page-hero{padding:120px 0 72px}
.page-hero__row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px 48px}
.page-hero__title{max-width:404px;flex:0 1 404px}
.page-hero__lede{flex:0 1 404px}
.page-hero--wide .page-hero__lede{flex-basis:511px}
.band{background:linear-gradient(var(--band-top) 50%, var(--band-bottom) 50%);padding-inline:clamp(12px, 3.125vw, 45px)}
.band img{width:100%;max-width:1350px;margin-inline:auto;aspect-ratio:1350/440;object-fit:cover}

/* ───────── Company: experience ───────── */
.exp__left{grid-column:1 / span 4}
.exp__left .lede{margin-top:36px}
.exp__note{margin-top:36px;padding-block:18px;border-top:1px solid var(--rule)}
.exp__list{grid-column:7 / -1}
.exp__list li{display:flex;align-items:center;gap:21px;min-height:76px;padding-block:15px;border-top:1px solid var(--rule)}
.exp__num{flex:0 0 63px;font:italic 400 18px/1.4 var(--serif);color:var(--polo);transition:color .15s}
.exp__list li:first-child .exp__num,.exp__list li:hover .exp__num{color:var(--ink)}
.exp__item{flex:1;text-align:right;font:400 var(--fs-title)/1.3 var(--serif);letter-spacing:-.023em}

/* ───────── Company: question ───────── */
.question{min-height:815px;padding-block:90px;display:flex}
.question .wrap{display:flex;flex-direction:column;justify-content:space-between;gap:96px}
.question::before{background:linear-gradient(160deg, rgba(22,52,78,.42) 0%, rgba(22,52,78,.12) 45%, rgba(22,52,78,0) 70%)}
.question__content{max-width:509px}
.question__content .body-lg{margin-top:30px}
.pullquote{max-width:404px}
.pullquote svg{width:26px;height:21px;fill:currentColor;margin-bottom:18px}
.pullquote p{font:400 var(--fs-title)/1.25 var(--serif);letter-spacing:-.023em}
.pullquote cite{display:block;margin-top:12px;font:400 13px/1.5 var(--sans);font-style:normal}

/* ───────── Company: founder ───────── */
.founder__side{grid-column:1 / span 3;max-width:242px}
.founder__photo{margin-top:24px;width:100%;aspect-ratio:242/317;object-fit:cover}
.founder__icons{margin-top:24px;display:flex;gap:12px}
.founder__icons a{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--ink)}
.founder__icons svg{fill:currentColor}
.founder__main{grid-column:6 / -1}
.founder__role{margin-top:12px;font-weight:700}
.founder__bio{margin-top:36px}
.founder__bio p + p{margin-top:26px}

/* ───────── Company: team ───────── */
.team__cols{margin-top:60px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:40px 6px}
.team__cols .title{min-height:2.5em}
.team__cols .small{margin-top:18px}

/* ───────── Company: growth ───────── */
.growth{padding-block:90px}
.growth .grid{align-items:end}
.growth__text{grid-column:1 / span 5;padding-bottom:60px}
.growth__text .body-lg{margin-top:36px}
.growth__text p + p{margin-top:26px}
.growth__media{grid-column:7 / -1}
.growth__media img{width:100%;aspect-ratio:1;object-fit:cover}

/* ───────── Who we work with: standard ───────── */
.standard{padding-bottom:132px}
.standard__left{grid-column:1 / span 4;display:flex;flex-direction:column}
.standard__left .lede{margin-top:36px}
.standard__left .btn{margin-top:60px;align-self:flex-start}
.standard__note{margin-top:120px;padding-top:18px;border-top:1px solid var(--rule)}
.standard__list{grid-column:6 / -1;padding-left:26px}
.standard__list li{display:grid;grid-template-columns:minmax(0,214fr) minmax(0,404fr);column-gap:clamp(24px, 5.6vw, 81px);padding:18px 0 36px;border-top:1px solid var(--rule)}
.standard__list li:last-child{padding-bottom:18px}
.standard__list .title{letter-spacing:-.01em}

/* ───────── Who we work with: measures ───────── */
.measures{padding-top:60px}
.measures__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 48px}
.measures__head>div{flex:0 1 618px}
.measures__head>p{flex:0 1 404px}
.measures__cards{margin-top:60px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter)}
.measure{position:relative;min-height:410px;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;overflow:hidden}
.measure>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.measure__card{background:var(--white);color:var(--navy);padding:24px;min-height:222px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.measure__card h3{font:600 21px/1.15 var(--sans);letter-spacing:-.01em}
.measure__card p{font:400 16px/1.625 var(--sans)}

/* ───────── Who we work with: quote ───────── */
.quote-band{padding-block:90px;min-height:542px}
.quote-box{background:var(--ink);max-width:618px;min-height:362px;padding:36px;display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.quote-box svg{width:26px;height:21px;fill:var(--white)}
.quote-box blockquote p{font:400 var(--fs-quote)/1.07 var(--serif);letter-spacing:-.02em}
.quote-box cite{display:block;margin-top:18px;font:400 13px/1.5 var(--sans);font-style:normal}

/* ───────── Who we work with: refuse ───────── */
.refuse__head{grid-column:1 / span 4}
.refuse__list{grid-column:5 / -1;padding-left:2px}
.refuse__list li{padding-block:30px;border-top:1px solid var(--rule);font:400 var(--fs-title)/1.25 var(--serif);letter-spacing:-.01em}

/* ───────── Fields: system field-line border, and light-surface forms ───────── */
.field input,.field textarea{border-color:rgba(244,243,234,.42)}
.form--light .field label{color:var(--ink)}
.form--light .field input,.form--light .field textarea{background:var(--white);color:var(--ink);border-color:#858d93}
.form--light .field input:hover,.form--light .field textarea:hover{background:var(--white);border-color:var(--ink)}
.form--light .field input:focus,.form--light .field textarea:focus{background:var(--white);border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.form--light .field[data-invalid="true"] input,.form--light .field[data-invalid="true"] textarea{border-color:#9a2418}
.form--light .field__error{color:#9a2418}
.form--light :focus-visible{outline-color:var(--ink)}
.form--light .btn:focus-visible{outline-color:var(--ink)}
.done--light{border-color:var(--rule)}
.done--light .title{color:var(--ink)}
.done--light p + p{color:var(--slate)}

/* ───────── How We Work ───────── */
.how-hero__title{max-width:723px}
.growth__btn{margin-top:60px}
.quote-panel{padding-block:90px;min-height:542px}
.quote-panel__box{background:var(--slate);color:var(--white);min-height:362px;padding:36px;display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.qmark{width:26px;height:21px;fill:currentColor}
.quote-panel__row{display:grid;grid-template-columns:minmax(0,579fr) minmax(0,474fr);column-gap:135px;align-items:start}
.quote-panel__quote blockquote p{font:400 var(--fs-quote)/1.3 var(--serif);letter-spacing:-.02em}
.quote-panel__quote figcaption{margin-top:18px;font:400 13px/1.5 var(--sans)}
.quote-panel__body{padding-top:6px}
.inset-panel{padding:30px 0}
.inset-panel__box{background:var(--paper);padding:36px 36px 90px}
.inset-panel__row{display:grid;grid-template-columns:minmax(0,404fr) minmax(0,581fr);column-gap:clamp(40px, 14vw, 203px)}
.inset-panel__title{font:400 var(--fs-quote)/1.1 var(--serif);letter-spacing:-.02em}
.inset-panel__body p + p{margin-top:26px}
.ai__head{max-width:832px}
.ai__intro{margin-top:24px}
.ai__cards{margin-top:90px}
.ai__cards .rule-card{display:flex;flex-direction:column;justify-content:space-between;min-height:132px;gap:24px}
.team-panel{min-height:600px;padding-block:90px;display:flex}
.team-panel .wrap{display:flex;align-items:center}
.team-panel__box{background:var(--paper);color:var(--ink);width:min(618px,100%);min-height:420px;padding:36px 72px 36px 36px;display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.team-panel__box .label{color:var(--ink)}
.hq{padding-bottom:132px}
.hq__lede{flex-basis:511px;color:var(--white)}

/* ───────── Get Started ───────── */
.start{padding-block:90px}
.start__intro{grid-column:1 / span 4}
.start__title{font:400 clamp(38px, 32px + 1.9vw, 60px)/1.2 var(--serif);letter-spacing:-.028em}
.start__lede{margin-top:36px}
.start__form{grid-column:6 / -1;padding:30px}
.start__form .btn{margin-top:42px}
.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field-pair + .field,.field + .field-pair,.field-pair + .field-pair{margin-top:18px}
.field-pair .field + .field{margin-top:0}
.start__steps{margin-top:60px}
.start__steps .rule-card{padding-right:36px}
.badge{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:29px;padding:4px 6px;border-radius:2px;background:var(--ink);color:var(--white);font:400 14px/21px var(--sans);margin-bottom:18px}
.start__steps .small{margin-top:36px}

/* ───────── Fields on light surfaces ───────── */
.form--light .field label{color:var(--ink)}
.form--light .field input,.form--light .field textarea{background:rgba(41,54,63,.08);color:var(--ink);border-color:#858d93}
.form--light .field input:hover,.form--light .field textarea:hover{background:rgba(41,54,63,.1);border-color:var(--ink)}
.form--light .field input:focus,.form--light .field textarea:focus{background:var(--white);border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.form--light .field[data-invalid="true"] input,.form--light .field[data-invalid="true"] textarea{border-color:#9a2418}
.form--light .field__error{color:#9a2418}
.form--light :focus-visible,.form--light .btn:focus-visible{outline-color:var(--ink)}
.done--light{border-color:var(--rule)}
.done--light .title{color:var(--ink)}
.done--light p + p{color:var(--slate)}
.nav__cta[aria-current="page"]{background:var(--white);color:var(--ink)}
.nav--light .nav__cta[aria-current="page"]{background:var(--ink);color:var(--white)}

@media (max-width:1099px){
  .quote-panel__row{grid-template-columns:1fr;row-gap:28px}
  .inset-panel__row{grid-template-columns:1fr;row-gap:24px}
  .inset-panel__body{max-width:640px}
  .ai__cards{margin-top:56px}
  .start__form{margin-top:48px;padding:0;max-width:720px}
  .start__intro{max-width:560px}
}
@media (max-width:719px){
  .quote-panel{padding-block:48px;min-height:0}
  .quote-panel__box{padding:28px;min-height:0}
  .inset-panel{padding:0}
  .inset-panel__box{padding:32px var(--pad) 56px;margin-inline:calc(-1 * var(--pad))}
  .ai__cards{grid-template-columns:1fr}
  .ai__cards .rule-card{min-height:0;gap:12px}
  .team-panel{min-height:0;padding-block:72px}
  .team-panel__box{padding:28px;min-height:0}
  .hq{padding-bottom:80px}
  .field-pair{grid-template-columns:1fr}
  .field-pair .field + .field{margin-top:18px}
  .field-pair{gap:0}
  .start{padding-block:64px}
  .start__steps{margin-top:40px}
}


/* ═════════ Tablet ═════════ */
@media (max-width:1099px){
  .grid>*{grid-column:1 / -1 !important}
  .br-lg{display:none}
  .hero-home .wrap{min-height:0;padding-bottom:0}
  .hero-home{--tail:calc((100vw - 2 * var(--pad)) * .22);background:linear-gradient(var(--ink) calc(100% - var(--tail)), var(--white) 0)}
  .hero-home__text{width:auto;max-width:620px}
  .hero-home__media{position:static;width:100%;aspect-ratio:3/2;margin-top:64px}
  .hero-home + .credentials{padding-top:var(--sect)}
  .credentials__stats{margin-top:56px;grid-template-columns:repeat(4,minmax(0,1fr))}
  .credentials__statement .h2{max-width:720px}
  .perspective,.guarantee{min-height:640px}
  .mission__body{margin-top:48px;max-width:640px}
  .process__cards{margin-top:56px}
  .contact__form{margin-top:56px;max-width:640px}
  .contact__intro .body-lg{max-width:560px}
  .exp__list{margin-top:56px}
  .exp__left{max-width:560px}
  .question{min-height:680px}
  .founder .grid{row-gap:48px}
  .founder__side{max-width:220px}
  .founder__main{max-width:720px}
  .team__cols{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:48px}
  .growth__text{padding-bottom:0;max-width:640px}
  .growth__media{margin-top:48px;max-width:640px}
  .standard__left{max-width:640px}
  .standard__note{margin-top:48px}
  .standard__list{margin-top:64px;padding-left:0}
  .measures__cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .refuse__list{margin-top:40px;padding-left:0}
}

/* ═════════ Mobile ═════════ */
@media (max-width:719px){
  .hero-home .wrap{padding-top:72px}
  .hero-home .actions{margin-top:40px}
  .hero-home__media{margin-top:48px;aspect-ratio:4/3}
  .hero-home{--tail:calc((100vw - 2 * var(--pad)) * .3)}
  .credentials__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}
  .perspective,.guarantee{min-height:0;padding-block:96px}
  .perspective::before{background:linear-gradient(180deg, rgba(41,54,63,.5) 0%, rgba(41,54,63,.25) 55%, rgba(41,54,63,.1) 100%)}
  .guarantee::before{background:linear-gradient(180deg, rgba(10,30,40,.35), rgba(10,30,40,.15))}
  .process__cards{grid-template-columns:1fr;gap:36px}
  .page-hero{padding:72px 0 56px}
  .page-hero__row{flex-direction:column;align-items:flex-start}
  .page-hero__title,.page-hero__lede,.page-hero--wide .page-hero__lede{flex-basis:auto}
  .band img{aspect-ratio:16/10}
  .exp__item{text-align:left}
  .exp__list li{min-height:64px}
  .exp__num{flex-basis:40px}
  .question{min-height:0}
  .question .wrap{gap:72px}
  .question::before{background:linear-gradient(180deg, rgba(22,52,78,.5) 0%, rgba(22,52,78,.2) 55%, rgba(22,52,78,.35) 100%)}
  .team__cols{grid-template-columns:1fr;row-gap:36px;margin-top:44px}
  .team__cols .title{min-height:0}
  .growth{padding-block:var(--sect)}
  .standard{padding-bottom:var(--sect)}
  .standard__list li{grid-template-columns:1fr;row-gap:10px;padding:18px 0 28px}
  .measures{padding-top:var(--sect)}
  .measures__head{flex-direction:column;align-items:flex-start}
  .measures__head>div,.measures__head>p{flex-basis:auto}
  .measures__cards{grid-template-columns:1fr;margin-top:44px}
  .measure{min-height:440px}
  .measure__card{min-height:0}
  .quote-band{padding-block:48px;min-height:0}
  .quote-box{min-height:320px;padding:28px}
  .refuse__list li{padding-block:24px}
  .footer__main{flex-direction:column;padding-block:64px;gap:40px}
  .footer__bottom .wrap{flex-direction:column;align-items:flex-start;padding-block:28px}
  .footer__bottom p:last-child{text-align:left}
}

/* ───────── Form plumbing ───────── */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{margin-top:18px;font-size:15px;line-height:1.5;color:#ffcfc7}
.form--light .form-status{color:#9a2418}
.btn:disabled{opacity:.6;cursor:progress}
