/* ===== GoGoLogo brand tokens (D1 Brand Advisor, Evergreen + Fraunces/Public Sans): the ONLY place GoGoLogo's own colors and type are defined.
   Swap these (and assets/brand/gogologo-logo.svg) when the new brand lands.
   Client colors in the portfolio/buildouts are NOT brand tokens; they live on .bo sections. ===== */
:root{
  /* D1 Brand Advisor tokens (from gogologo-brand/tokens-direction-1.css). Evergreen is the only accent. */

  /* color */
  --gg-color-bg: #FAF8F4;
  --gg-color-surface: #FFFFFF;
  --gg-color-ink: #1C201E;
  --gg-color-muted: #676C68;
  --gg-color-soft: #A7ABA7;
  --gg-color-line: #E5E1D8;
  --gg-color-primary: #1F4A3A;
  --gg-color-primary-hover: #163829;
  --gg-color-on-primary: #FFFFFF;
  --gg-color-accent: #1F4A3A;
  --gg-color-tint: #E7EEE9;
  --gg-color-focus: #1F4A3A;
  /* type */
  --gg-font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --gg-font-body: "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gg-weight-display: 400;
  --gg-weight-body: 400;
  --gg-weight-strong: 600;
  --gg-tracking-display: -0.015em;
  --gg-tracking-eyebrow: 0.16em;
  --gg-text-xs: 0.8125rem; --gg-text-sm: 0.9375rem; --gg-text-md: 1.0625rem; --gg-text-lg: 1.25rem;
  --gg-text-xl: 1.75rem; --gg-text-2xl: 2.5rem; --gg-text-3xl: clamp(2.6rem, 5.4vw, 4.5rem);
  --gg-leading-tight: 1.04; --gg-leading-body: 1.6;
  /* radius */
  --gg-radius-sm: 2px;
  --gg-radius-md: 3px;
  --gg-radius-lg: 4px;
  --gg-radius-button: 2px;
  --gg-radius-pill: 999px;
  /* shadow */
  --gg-shadow-sm: 0 1px 2px rgba(28,32,30,.06);
  --gg-shadow-md: 0 8px 24px rgba(28,32,30,.07);
  --gg-shadow-lg: 0 30px 60px -24px rgba(28,32,30,.18);
  /* spacing (4px base) */
  --gg-space-1: 4px; --gg-space-2: 8px; --gg-space-3: 12px; --gg-space-4: 16px; --gg-space-5: 24px;
  --gg-space-6: 32px; --gg-space-7: 48px; --gg-space-8: 64px; --gg-space-9: 96px; --gg-space-10: 128px;
  --gg-container: 1160px;
  /* site aliases: older variable names used throughout this file, now pointing at the new tokens */
  --cream:var(--gg-color-bg); --cream-2:#F3F0E9; --ink:var(--gg-color-ink); --muted:#5F655F;
  --coral:var(--gg-color-primary); --coral-d:var(--gg-color-primary); --coral-dd:var(--gg-color-primary-hover);
  --sun:var(--gg-color-tint); --sun-tint:#F1F5F2;
  --teal:var(--gg-color-primary); --teal-tint:var(--gg-color-tint); --line:var(--gg-color-line); --field-line:#CFCAC0;
  --ink-2:#2A302D; --ink-3:#1C201E; --ink-shadow:transparent; --on-ink:#D6D9D6; --on-ink-2:#C9CCC9; --on-ink-3:#A7ABA7; --on-ink-error:#F4C7BD;
  --header-bg:rgba(250,248,244,.92); --focus-ring:rgba(31,74,58,.22); --ink-a10:rgba(28,32,30,.07); --backdrop:rgba(28,32,30,.5);
  --radius:var(--gg-radius-lg); --shadow:var(--gg-shadow-md);
  --display:var(--gg-font-display); --body:var(--gg-font-body);
  --logo-h:30px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,5.4vw,3.9rem);font-weight:700}
h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:700}
h3{font-size:1.2rem;font-weight:600}
p{margin:0 0 1em}
a{color:var(--coral-d)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:6px}
.wrap{width:min(1160px,100% - 40px);margin-inline:auto}
.narrow{width:min(780px,100% - 40px)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp{position:absolute;left:-9999px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}

/* wordmark */
.wordmark{font-family:var(--display);font-weight:700;font-size:1.65rem;color:var(--ink);text-decoration:none;letter-spacing:-.02em;white-space:nowrap;line-height:1}
.wordmark .o{display:inline-block;width:.6em;height:.6em;border-radius:50%;margin:0 .03em 0 .04em;position:relative;border:.06em solid var(--ink);vertical-align:-.02em}
.wordmark .o::before,.wordmark .o::after{content:"";position:absolute;top:32%;width:.11em;height:.11em;border-radius:50%;background:var(--ink)}
.wordmark .o::before{left:24%}.wordmark .o::after{right:24%}
.o-coral{background:var(--coral)}.o-sun{background:var(--sun)}
.wm-logo{color:var(--coral-d);margin-left:.08em}
.wordmark-light{color:var(--cream)}
.wordmark-light .o{border-color:var(--cream)}
.wordmark-light .wm-logo{color:var(--sun)}

/* buttons */
.btn{--bg:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:.4em;font:600 1rem/1 var(--body);padding:.9em 1.35em;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:transform .12s ease, box-shadow .12s ease, background .12s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--coral-d);color:#fff;box-shadow:0 4px 0 var(--ink)}
.btn-primary:hover{background:var(--coral-dd)}
.btn-sun{background:var(--sun);color:var(--ink);box-shadow:0 4px 0 var(--ink-shadow)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-outline{background:#fff;color:var(--ink);border-color:var(--ink)}
.btn-sm{padding:.65em 1.05em;font-size:.92rem}
.btn-lg{padding:1em 1.6em;font-size:1.06rem}
.btn-block{width:100%}

/* header */
.site-header{position:sticky;top:0;z-index:20;background:var(--header-bg);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:24px;height:68px}
.nav{display:flex;gap:22px;margin-left:auto}
.nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem}
.nav a:hover{color:var(--coral-d)}
@media (max-width:860px){.nav{display:none}.header-inner .btn{margin-left:auto}}
@media (max-width:380px){.wordmark{font-size:1.4rem}}

/* hero */
.hero{padding:56px 0 72px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.eyebrow,.kicker{font-weight:700;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
.hl{background:linear-gradient(transparent 62%, var(--sun) 62%, var(--sun) 92%, transparent 92%);padding:0 .06em}
.lede{font-size:1.15rem;color:var(--muted);max-width:36em}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 22px}
.hero-points{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:0;font-weight:600;font-size:.95rem}
.hero-points li::before{content:"✓";color:var(--teal);font-weight:800;margin-right:.4em}
.hero-art{margin:0;position:relative}
.example-tag{font-size:.85rem;color:var(--muted);text-align:center;margin-top:6px}
.example-tag span{display:inline-block;background:var(--ink);color:var(--cream);font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;margin-right:6px}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero{padding-top:36px}.hero-art{max-width:520px;margin-inline:auto}}

/* sections */
.section{padding:84px 0}
.section-tint{background:var(--cream-2)}
.section-lede{color:var(--muted);font-size:1.08rem;max-width:44em;margin-bottom:34px}
.note{color:var(--muted);font-size:.95rem;margin-top:26px}
.center{text-align:center}
@media (max-width:600px){.section{padding:60px 0}}

/* steps */
.steps{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}
.step{background:#fff;border:2px solid var(--ink);border-radius:var(--radius);padding:28px 26px;box-shadow:6px 6px 0 var(--ink)}
.step p{color:var(--muted);margin:0}
.step-num{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--sun);border:2px solid var(--ink);font:700 1.3rem var(--display);margin-bottom:16px}
.step:nth-child(2) .step-num{background:var(--coral);color:#fff}
.step:nth-child(3) .step-num{background:var(--teal);color:#fff}
@media (max-width:860px){.steps{grid-template-columns:1fr}}

/* get grid */
.get-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.get-card{background:#fff;border-radius:var(--radius);padding:22px 22px 18px;border:1px solid var(--line);box-shadow:var(--shadow)}
.get-card h3{font-size:1.1rem;margin-bottom:.35em}
.get-card p{color:var(--muted);font-size:.96rem;margin:0}
.ico{font-size:1.6rem;display:block;margin-bottom:10px}
.pill{display:inline-block;background:var(--teal);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;border-radius:999px;padding:1px 8px;margin-left:4px;vertical-align:1px}
@media (max-width:900px){.get-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.get-grid{grid-template-columns:1fr}}

/* examples */
.examples{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ex{position:relative;background:#fff;border-radius:var(--radius);padding:26px 18px 20px;text-align:center;border:1px solid var(--line);box-shadow:var(--shadow)}
.ex svg{width:96px;height:96px;margin:0 auto 14px}
.ex strong{display:block;font-family:var(--display);font-size:1.12rem;font-weight:600}
.ex span{color:var(--muted);font-size:.9rem}
.ex em{position:absolute;top:10px;right:10px;font-style:normal;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--cream-2);color:var(--ink);padding:2px 8px;border-radius:999px}
@media (max-width:900px){.examples{grid-template-columns:repeat(2,1fr)}}

/* pricing */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:920px;margin:0 auto}
.plan{position:relative;background:#fff;border:2px solid var(--ink);border-radius:22px;padding:32px 30px;display:flex;flex-direction:column}
.plan-featured{background:var(--ink);color:var(--cream);box-shadow:8px 8px 0 var(--coral)}
.plan-featured .plan-sub,.plan-featured .once{color:var(--on-ink)}
.plan-featured .checks li::before{color:var(--sun)}
.badge{position:absolute;top:-15px;left:28px;background:var(--sun);color:var(--ink);font-weight:700;font-size:.8rem;padding:4px 12px;border-radius:999px;border:2px solid var(--ink);margin:0}
.price{margin:.2em 0 .4em}
.amt{font:700 2.8rem/1 var(--display)}
.once{color:var(--muted);font-weight:500}
.plan-sub{color:var(--muted)}
.checks{list-style:none;padding:0;margin:4px 0 26px;flex:1}
.checks li{padding:6px 0 6px 28px;position:relative}
.checks li::before{content:"✓";position:absolute;left:2px;color:var(--teal);font-weight:800}
.plan-featured .btn-primary{box-shadow:0 4px 0 var(--ink-shadow)}
@media (max-width:760px){.plans{grid-template-columns:1fr}}

/* comparison */
.table-wrap{overflow-x:auto;border-radius:var(--radius);border:2px solid var(--ink);background:#fff;margin-top:30px}
.compare{width:100%;border-collapse:collapse;min-width:640px}
.compare th,.compare td{padding:16px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:.97rem}
.compare thead th{font-family:var(--display);font-size:1.08rem;font-weight:600;background:var(--cream-2)}
.compare tbody th{font-weight:600;width:22%}
.compare td{color:var(--muted)}
.compare .us{background:var(--sun-tint);color:var(--ink);font-weight:600}
.compare thead .us{background:var(--sun)}
.compare tr:last-child th,.compare tr:last-child td{border-bottom:0}
.note .pill{margin:0 2px 0 0}
@media (max-width:680px){
  .table-wrap{border:0;background:transparent;overflow:visible}
  .compare{min-width:0}
  .compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .compare,.compare tbody,.compare tr,.compare th,.compare td{display:block;width:100%}
  .compare tr{background:#fff;border:2px solid var(--ink);border-radius:var(--radius);margin-bottom:14px;overflow:hidden}
  .compare tbody th{width:100%;font-family:var(--display);font-size:1.1rem;background:var(--cream-2);padding:12px 16px}
  .compare td{display:grid;grid-template-columns:7.5em 1fr;gap:10px;padding:10px 16px}
  .compare td::before{content:attr(data-label);font-weight:700;color:var(--ink);font-size:.85rem}
  .compare tr:last-child td{border-bottom:1px solid var(--line)}
  .compare tr td:last-child{border-bottom:0}
}

/* faq */
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:0 22px}
.faq summary{cursor:pointer;font-weight:600;padding:18px 28px 18px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font:600 1.5rem var(--display);color:var(--coral-d)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);margin:0 0 18px}

/* final */
.final-cta{background:var(--ink);color:var(--cream);padding:84px 0}
.final-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}
.final-cta h2{color:#fff}
.final-cta p{color:var(--on-ink);font-size:1.1rem}
.notify-box{background:var(--ink-2);border-radius:22px;padding:28px}
.notify-box h3{color:#fff}
.notify-box p{font-size:1rem}
.notify-row{display:flex;gap:10px}
.notify-row input{flex:1;min-width:0}
.notify-thanks{background:var(--sun);color:var(--ink)!important;border-radius:12px;padding:12px 16px;font-weight:600;margin:0}
.final-cta .field-error{color:var(--on-ink-error)}
@media (max-width:860px){.final-grid{grid-template-columns:1fr}}
@media (max-width:440px){.notify-row{flex-direction:column}}

/* footer */
.site-footer{background:var(--ink-3);color:var(--on-ink-2);padding:40px 0}
.footer-inner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px}
.tagline{font-family:var(--display);font-size:1.1rem;color:var(--cream);margin:0}
.fine{font-size:.85rem;flex-basis:100%;margin:6px 0 0;color:var(--on-ink-3)}

/* forms */
input,select{font:inherit;color:var(--ink);background:#fff;border:2px solid var(--field-line);border-radius:12px;padding:.7em .9em;width:100%}
input:focus,select:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px var(--focus-ring)}
input[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--coral-d)}
.field{margin:0 0 14px;border:0;padding:0;min-width:0}
.field label,.field legend{display:block;font-weight:600;font-size:.93rem;margin-bottom:6px;padding:0}
.opt{font-weight:400;color:var(--muted)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.radios{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.radios label{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:2px solid var(--field-line);border-radius:12px;padding:10px 12px;cursor:pointer;font-weight:600;margin:0;position:relative}
.radios label span{font-weight:500;color:var(--muted);font-size:.85rem}
.radios input{position:absolute;opacity:0;width:1px;height:1px}
.radios label:has(input:checked){border-color:var(--teal);background:var(--teal-tint)}
.radios label:has(input:focus-visible){outline:3px solid var(--teal);outline-offset:2px}
.field-error{color:var(--coral-d);font-weight:600;font-size:.92rem}
@media (max-width:520px){.field-row{grid-template-columns:1fr}.radios label{padding:9px 10px;font-size:.92rem}}
@media (max-width:340px){.radios{grid-template-columns:1fr}}

/* dialog */
dialog{border:0;padding:0;border-radius:24px;width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);background:var(--cream);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.35)}
dialog::backdrop{background:var(--backdrop)}
.dlg{padding:30px 28px 26px;position:relative}
.dlg h2{font-size:1.8rem;margin-bottom:.2em}
.dlg-sub{color:var(--muted);margin-bottom:20px}
.dlg-fine{font-size:.86rem;color:var(--muted);text-align:center;margin:12px 0 0}
.dlg-close{position:absolute;top:12px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:transparent;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--ink)}
.dlg-close:hover{background:var(--cream-2)}
.thanks{text-align:center;padding:10px 0}
.thanks-art{width:140px;margin:0 auto 10px}
.thanks p{color:var(--muted)}
.thanks .btn{margin-top:14px}
body.modal-open{overflow:hidden}

/* GoGo Practice Care */
.checks li.incl{color:var(--teal)}
.plan-featured .checks li.incl{color:var(--sun)}
.care-flow{list-style:none;padding:0;margin:0 0 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.care-flow li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px}
.care-flow .cf-day{align-self:flex-start;background:var(--sun);border:2px solid var(--ink);border-radius:999px;font-weight:700;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;padding:2px 10px;margin-bottom:8px}
.care-flow li:nth-child(2) .cf-day{background:var(--coral);color:#fff}
.care-flow li:nth-child(3) .cf-day{background:var(--teal);color:#fff}
.care-flow strong{font-family:var(--display);font-size:1.15rem;font-weight:600}
.care-flow span:last-child{color:var(--muted);font-size:.95rem}
.care-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.care-plan{padding:30px 24px}
.care-plan .amt{font-size:2.4rem}
.care-plan .checks{font-size:.96rem}
.care-incl{font-weight:700;font-size:.9rem;color:var(--teal);background:var(--teal-tint);border-radius:10px;padding:8px 12px;margin:0 0 14px}
.plan-featured .care-incl{background:var(--ink-2);color:var(--sun)}
.care-terms{list-style:none;padding:0;margin:30px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;font-weight:600;font-size:.95rem}
.care-terms li::before{content:"✓";color:var(--teal);font-weight:800;margin-right:.4em}
.radios-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){.care-plans{grid-template-columns:1fr;max-width:520px;margin-inline:auto}.care-plan.plan-featured{order:-1}}
@media (max-width:760px){.care-flow{grid-template-columns:1fr}}
@media (max-width:520px){.radios-4{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.care-terms{flex-direction:column;align-items:flex-start;max-width:520px;gap:8px}.care-terms li{padding-left:1.4em;text-indent:-1.4em}}

/* ===================== Niche pages, real work and buildouts ===================== */
.nav a[aria-current="page"]{color:var(--coral-d)}
.nav .nav-niche{font-weight:600;color:var(--teal)}
@media (max-width:1060px){.nav{gap:16px}.nav a{font-size:.9rem}}
.tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;line-height:1.3;vertical-align:2px}
.tag-real{background:var(--teal);color:#fff}
.tag-concept{background:var(--sun);color:var(--ink);border:1.5px solid var(--ink)}
.tag-proposal{background:var(--teal-tint);color:var(--teal);border:1.5px solid var(--teal)}

/* hero logo wall (real client logos) */
.logo-wall{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}
.logo-wall li{list-style:none;background:#fff;border:2px solid var(--ink);border-radius:var(--radius);aspect-ratio:4/3;display:grid;place-items:center;padding:18px;box-shadow:6px 6px 0 var(--ink)}
.logo-wall li:nth-child(2){box-shadow:6px 6px 0 var(--coral)}
.logo-wall li:nth-child(3){box-shadow:6px 6px 0 var(--sun)}
.logo-wall li:nth-child(4){box-shadow:6px 6px 0 var(--teal)}
.logo-wall img{max-height:100%;width:auto;max-width:100%;object-fit:contain}
.logo-wall-wrap{padding:0;margin:0}

/* real work grid */
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;list-style:none;padding:0;margin:0}
.work-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.work-card.wide{grid-column:1/-1}
.work-media{display:grid;grid-template-columns:1.6fr 1fr;gap:2px;background:var(--line)}
.work-media.single{grid-template-columns:1fr}
.work-media .stack{display:grid;gap:2px}
.work-media figure{margin:0;background:#fff;display:grid;place-items:center;min-height:0;overflow:hidden}
.work-media img{width:100%;height:100%;object-fit:contain}
.work-media .cover img{object-fit:cover}
.work-media .pad{padding:22px}
.work-media .main{aspect-ratio:4/3}
.work-body{padding:18px 22px 22px}
.work-body h3{margin:6px 0 2px;font-size:1.25rem}
.work-body .niche{color:var(--teal);font-weight:600;font-size:.9rem;margin:0 0 8px}
.work-body p{color:var(--muted);font-size:.95rem;margin:0}
.work-body .fineprint{font-size:.82rem;margin-top:8px}
@media (max-width:820px){.work-grid{grid-template-columns:1fr}.work-media{grid-template-columns:1fr}.work-media .stack{grid-template-columns:1fr 1fr}}

/* buildout section */
.bo{--bo-ink:#141414;--bo-2:#363331;--bo-3:#EBCEAC;--bo-bg:#F6F1EA;--bo-font:var(--body)}
.bo-banner{display:flex;gap:14px;align-items:flex-start;background:#fff;border:2px dashed var(--ink);border-radius:16px;padding:16px 18px;margin:0 0 30px;max-width:900px}
.bo-banner p{margin:0;color:var(--muted);font-size:.97rem}
.bo-banner strong{color:var(--ink)}
.palette{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0 0 30px}
.palette li{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 5px;font-size:.85rem;font-weight:600}
.palette i{width:26px;height:26px;border-radius:50%;border:1px solid rgba(0,0,0,.15);display:block}
.palette small{color:var(--muted);font-weight:500}
.bo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;list-style:none;padding:0;margin:0}
.bo-tile{grid-column:span 3;margin:0;display:flex;flex-direction:column}
.bo-tile.s2{grid-column:span 2}.bo-tile.s4{grid-column:span 4}.bo-tile.s6{grid-column:1/-1}
.bo-stage{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;display:grid;place-items:center;background:var(--bo-bg);border:1px solid var(--line)}
.bo-stage.tall{aspect-ratio:4/5}
.bo-stage.wide{aspect-ratio:16/9}
.bo-stage > svg{width:100%;height:100%}
.bo-tile figcaption{font-size:.9rem;color:var(--muted);padding:10px 4px 0}
.bo-tile figcaption strong{color:var(--ink);display:block;font-size:.98rem}
@media (max-width:900px){.bo-tile,.bo-tile.s2,.bo-tile.s4{grid-column:span 3}}
@media (max-width:620px){.bo-grid{grid-template-columns:1fr}.bo-tile,.bo-tile.s2,.bo-tile.s4,.bo-tile.s6{grid-column:1/-1}}

/* desk surface with soft texture */
.surface-linen{background:radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.7),transparent 60%),repeating-linear-gradient(90deg,rgba(0,0,0,.018) 0 2px,transparent 2px 4px),repeating-linear-gradient(0deg,rgba(0,0,0,.018) 0 2px,transparent 2px 5px),var(--bo-bg)}
.surface-wood{background:radial-gradient(100% 80% at 40% 10%,rgba(255,255,255,.35),transparent 60%),repeating-linear-gradient(92deg,rgba(90,60,30,.06) 0 3px,transparent 3px 11px,rgba(90,60,30,.04) 11px 13px,transparent 13px 23px),linear-gradient(#d9b98f,#c9a477)}
.surface-dark{background:radial-gradient(90% 70% at 50% 30%,#4a4643,#262422)}

/* printed pieces */
.mk-3d{perspective:1100px;width:100%;height:100%;position:relative;display:grid;place-items:center}
.mk-bcard{position:absolute;width:52%;aspect-ratio:3.5/2;border-radius:5px;overflow:hidden;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.12),0 12px 24px rgba(0,0,0,.18),0 30px 50px rgba(0,0,0,.12)}
.mk-bcard img{width:100%;height:100%;object-fit:cover}
.mk-bcard.v{width:30%;aspect-ratio:2/3.5}
.mk-paper{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1),0 18px 40px rgba(0,0,0,.16);border-radius:3px;position:absolute;overflow:hidden;font-family:var(--bo-font);color:var(--bo-ink)}
.mk-paper::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.0) 40%,rgba(255,255,255,.35) 55%,rgba(0,0,0,.03) 70%);pointer-events:none}
.paper-letter{width:44%;aspect-ratio:8.5/11;padding:5.5% 5%;font-size:clamp(5px,.62vw,8px)}
.paper-letter .ph{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid currentColor;padding-bottom:6%;margin-bottom:7%}
.paper-letter .ph img{width:34%}
.paper-letter .ph span{font-size:.9em;text-align:right;line-height:1.5;opacity:.75}
.paper-letter h4{font:300 2.1em/1.1 var(--bo-font);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6%}
.paper-letter .fl{display:grid;grid-template-columns:1fr 1fr;gap:6% 8%;margin-bottom:8%}
.paper-letter .fl i{display:block;border-bottom:1px solid rgba(0,0,0,.35);font-style:normal;font-size:.85em;padding-bottom:2px;opacity:.8;text-transform:uppercase;letter-spacing:.06em}
.paper-letter .fl i.w{grid-column:1/-1}
.paper-letter .box{display:grid;grid-template-columns:repeat(3,1fr);gap:4%;font-size:.85em}
.paper-letter .box b{font-weight:400;display:flex;gap:4px;align-items:center}
.paper-letter .box b::before{content:"";width:.9em;height:.9em;border:1px solid currentColor;display:inline-block}
.paper-letter .pf{position:absolute;left:5%;right:5%;bottom:4%;font-size:.8em;opacity:.6;display:flex;justify-content:space-between}

/* device frames */
.mk-laptop{position:absolute;width:74%;left:6%;top:12%}
.mk-laptop .scr{background:#111;border-radius:12px 12px 0 0;padding:2.2% 2.2% 3%;box-shadow:0 20px 40px rgba(0,0,0,.25)}
.mk-laptop .scr > div{aspect-ratio:16/10;overflow:hidden;border-radius:2px;background:#fff}
.mk-laptop .base{height:clamp(8px,1.2vw,16px);background:linear-gradient(#d8d8dc,#a9a9b0);border-radius:0 0 14px 14px;margin:0 -7%;box-shadow:0 10px 18px rgba(0,0,0,.25)}
.mk-phone{position:absolute;width:23%;right:6%;bottom:8%;aspect-ratio:9/19.5;background:#111;border-radius:14% / 6.5%;padding:2.6%;box-shadow:0 22px 40px rgba(0,0,0,.3),inset 0 0 0 1.5px #3a3a3a}
.mk-phone > div{width:100%;height:100%;border-radius:11% / 5.2%;overflow:hidden;background:#fff;position:relative}
.mk-phone.solo{position:relative;right:auto;bottom:auto;width:36%}
.site-mini{font-family:var(--bo-font);height:100%;display:flex;flex-direction:column;font-size:clamp(4px,.55vw,8px);color:var(--bo-ink)}
.site-mini .nb{display:flex;justify-content:space-between;align-items:center;padding:3% 5%;background:#fff}
.site-mini .nb img{height:2.6em;width:auto}
.site-mini .nb span{display:flex;gap:1.4em;font-size:.95em;letter-spacing:.06em;text-transform:uppercase}
.site-mini .hero-s{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.9em;padding:6%;position:relative;overflow:hidden}
.site-mini .hero-s h5{font:300 3.1em/1.08 var(--bo-font);margin:0;max-width:11em}
.site-mini .hero-s p{margin:0;font-size:1.1em;max-width:22em;opacity:.85}
.site-mini .btn-s{align-self:flex-start;border-radius:999px;padding:.7em 1.4em;font-weight:700;font-size:1em;letter-spacing:.04em}
.site-mini .strip{display:grid;grid-template-columns:repeat(3,1fr);gap:3%;padding:4% 5%;background:#fff}
.site-mini .strip i{display:block;aspect-ratio:4/3;border-radius:4px}
.phone-ui{font-size:clamp(5px,.75vw,9px)}
.phone-ui .nb img{height:2.4em}
.phone-ui .hero-s h5{font-size:2.5em}

/* google business profile + social */
.mk-gbp{position:absolute;width:78%;background:#fff;border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.18);overflow:hidden;font-family:Inter,system-ui,sans-serif;color:#202124;font-size:clamp(7px,.8vw,11px)}
.mk-gbp .cov{aspect-ratio:3/1;position:relative}
.mk-gbp .av{position:absolute;left:5%;bottom:-18%;width:15%;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);display:grid;place-items:center;overflow:hidden}
.mk-gbp .av img{width:78%}
.mk-gbp .bd{padding:9% 5% 4%}
.mk-gbp .bd b{font-size:1.6em;font-weight:500;display:block}
.mk-gbp .bd small{color:#5f6368;font-size:1em;display:block;margin:.2em 0 .8em}
.mk-gbp .acts{display:flex;gap:4%;margin:0 0 .9em}
.mk-gbp .acts span{flex:1;text-align:center;color:#1a73e8;font-weight:500;font-size:.95em}
.mk-gbp .acts span::before{content:"";display:block;width:2.6em;height:2.6em;border-radius:50%;border:1px solid #dadce0;margin:0 auto .3em}
.mk-gbp .ln{border-top:1px solid #e8eaed;padding:.6em 0;color:#3c4043}
.mk-social{position:absolute;inset:9% 6%;display:grid;grid-template-columns:repeat(3,1fr);gap:4%;align-items:center}
.mk-social > div{aspect-ratio:1;border-radius:6px;box-shadow:0 10px 22px rgba(0,0,0,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6%;padding:8%;text-align:center;overflow:hidden;position:relative;font-family:var(--bo-font)}
.mk-social img{max-width:78%;max-height:62%;width:auto}
.mk-social p{margin:0;font-size:clamp(7px,1vw,13px);line-height:1.2}
.mk-social .sm{font-size:clamp(5px,.65vw,9px);letter-spacing:.12em;text-transform:uppercase;opacity:.8}

/* small printed cards (appointment, review, menu) */
.mk-card{position:absolute;background:#fff;border-radius:6px;box-shadow:0 1px 1px rgba(0,0,0,.1),0 14px 28px rgba(0,0,0,.18);font-family:var(--bo-font);color:var(--bo-ink);overflow:hidden;display:flex;flex-direction:column}
.appt{width:46%;aspect-ratio:3.5/2;padding:4.5% 5%;font-size:clamp(5px,.62vw,9px);justify-content:space-between}
.appt .t{display:flex;justify-content:space-between;align-items:flex-start}
.appt .t img{width:22%}
.appt .t span{text-transform:uppercase;letter-spacing:.14em;font-size:1em}
.appt .ln{display:grid;grid-template-columns:auto 1fr;gap:.4em 1em;align-items:end;font-size:1em;text-transform:uppercase;letter-spacing:.1em}
.appt .ln i{border-bottom:1px solid currentColor;opacity:.5;height:1.4em}
.review{width:34%;aspect-ratio:2/3;padding:6%;align-items:center;text-align:center;justify-content:space-between;font-size:clamp(5px,.7vw,10px)}
.review .qr{width:62%;aspect-ratio:1;background:#fff;padding:5%;border-radius:4px}
.review .qr img{width:100%}
.review p{margin:0;font:400 1.35em/1.2 var(--bo-font)}
.review small{font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
.review > img{width:30%}

/* Aaron's hero composite (home page) */
.ais-art{position:relative;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;gap:14px;margin:0}
.ais-art .panel{background:#fff;border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;position:relative}
.ais-art .van{grid-column:1/-1;box-shadow:6px 6px 0 var(--ink)}
.ais-art .van svg{width:100%;height:auto}
.ais-art .polo{box-shadow:6px 6px 0 var(--sun)}
.ais-art .polo svg{width:100%;height:auto}
.ais-art .card{box-shadow:6px 6px 0 var(--coral);display:grid;place-items:center;padding:12px;background:#F4F4F1}
.ais-art .card img{width:100%;height:auto;border-radius:4px}
.ais-art .lbl{position:absolute;left:10px;top:10px;z-index:2}

/* home: real work teaser */
.niche-teaser{display:grid;grid-template-columns:1fr 1fr;gap:24px;list-style:none;padding:0;margin:0}
.niche-card{background:#fff;border:2px solid var(--ink);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);box-shadow:8px 8px 0 var(--teal);transition:transform .12s}
.niche-card:hover{transform:translateY(-2px)}
.niche-card.food{box-shadow:8px 8px 0 var(--coral)}
.niche-card .logos{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-bottom:2px solid var(--ink)}
.niche-card .logos span{background:#fff;aspect-ratio:1;display:grid;place-items:center;padding:14%}
.niche-card .logos img{max-height:100%;width:auto;max-width:100%;object-fit:contain}
.niche-card .nb{padding:20px 22px 22px}
.niche-card h3{font-size:1.35rem;margin:6px 0 4px}
.niche-card p{color:var(--muted);margin:0 0 12px;font-size:.97rem}
.niche-card .go{font-weight:700;color:var(--coral-d)}
@media (max-width:820px){.niche-teaser{grid-template-columns:1fr}}
.also{margin-top:26px;color:var(--muted);font-size:.95rem}

/* GoGoLogo logo: one file (assets/brand/gogologo-logo.svg) used everywhere */
.brand-logo{height:var(--logo-h);width:auto;display:block}
.brand-link{display:inline-flex;align-items:center;text-decoration:none}
.brand-badge{background:var(--cream);border-radius:12px;padding:8px 14px}
@media (max-width:380px){:root{--logo-h:26px}}

/* mockups scale with their stage, like an image */
.bo-stage{container-type:inline-size}
.paper-letter{font-size:1.5cqw}
.site-mini{font-size:1.05cqw}
.phone-ui{font-size:1.9cqw}
.mk-phone.solo .phone-ui{font-size:2.9cqw}
.mk-gbp{font-size:1.9cqw}
.mk-social p{font-size:2.3cqw}
.mk-social .sm{font-size:1.45cqw}
.appt{font-size:1.45cqw}
.review{font-size:1.6cqw}
.site-mini .hero-mark{position:absolute;right:-6%;top:6%;width:52%;opacity:.95;pointer-events:none}
.site-mini .hero-s > *:not(.hero-mark){position:relative;z-index:1}
.menu{width:44%;aspect-ratio:5/7;padding:5% 5.5%;align-items:center;font-size:1.5cqw}
.menu .mlogo{width:34%;margin-bottom:5%}
.menu h6{font:700 1.9em/1 var(--bo-font);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6%;color:var(--bo-2)}
.menu ul{list-style:none;padding:0;margin:0;width:100%;display:grid;gap:.75em}
.menu li{display:flex;align-items:baseline;gap:.5em;font-size:1.05em}
.menu li i{flex:1;border-bottom:1.5px dotted rgba(0,0,0,.35)}
.menu li b{color:var(--bo-2)}
.menu .mf{margin:auto 0 0;font-size:.9em;letter-spacing:.08em;text-transform:uppercase;color:var(--bo-2);opacity:.85;text-align:center}
.spec{position:absolute;inset:8%;display:flex;flex-direction:column;justify-content:center;gap:4%;font-family:var(--bo-font);color:var(--bo-ink)}
.spec .aa{font-size:16cqw;line-height:1;font-weight:300}
.spec .nm{font-size:2.4cqw;letter-spacing:.12em;text-transform:uppercase}
.spec .sw{display:flex;gap:3%}
.spec .sw i{flex:1;aspect-ratio:1.4;border-radius:6px;border:1px solid rgba(0,0,0,.1)}
.spec small{font-size:1.9cqw;opacity:.75;font-family:var(--body)}
/* tiles in one row share a height; stage SVGs use "slice" so they fill */
.bo-tile > figure{flex:1;display:flex;flex-direction:column;margin:0}
.bo-tile .bo-stage{flex:1 0 auto}
.bo-tile.s2 .bo-stage.tall{aspect-ratio:2/3}
@media (max-width:900px){.bo-tile.s2 .bo-stage.tall{aspect-ratio:4/5}}
.niche-card .logos span{min-width:0;overflow:hidden}
.niche-card .logos img{width:100%;height:100%}
.ais-art .card{gap:10px;align-content:center}
.ais-art .card .half{width:100%;aspect-ratio:702/408;object-fit:cover;border-radius:4px;box-shadow:0 6px 14px rgba(0,0,0,.14)}
.ais-art .card .half.f{object-position:left center}.ais-art .card .half.b{object-position:right center}
.mk-laptop{width:66%;top:8%;left:7%}
.phone-ui{font-size:.78cqw}
.mk-phone.solo .phone-ui{font-size:2.1cqw}
.mk-laptop .strip i{aspect-ratio:2.6}
@media (max-width:620px){.bo-banner{flex-direction:column;gap:8px}}
/* work media: images never push their frame; the main image sets the height */
.work-media figure{position:relative}
.work-media img{position:absolute;inset:0}
.work-media .pad img{inset:18px;width:calc(100% - 36px);height:calc(100% - 36px)}
.work-media .stack{grid-auto-rows:1fr}
.work-card.wide .work-media .main{aspect-ratio:16/9}
@media (max-width:820px){.work-media .stack figure{aspect-ratio:16/10}}

/* ===================== Brand refresh (Oct 2026): D1 Brand Advisor =====================
   Light, open, premium. Evergreen used sparingly (CTA, links, thin rules, small details).
   Overrides the earlier playful styling: hard offset shadows, thick ink borders, color fields, highlighter. */
body{background:var(--gg-color-bg);color:var(--gg-color-ink);font-weight:400}
h1,h2,h3{font-family:var(--gg-font-display);letter-spacing:var(--gg-tracking-display)}
h1{font-weight:400;line-height:1.06;font-size:clamp(2.4rem,5.2vw,4.1rem)}
h2{font-weight:400;line-height:1.1}
h3{font-weight:600;letter-spacing:-.005em}
a{color:var(--gg-color-primary)}
:focus-visible{outline:2px solid var(--gg-color-primary);outline-offset:3px}
.eyebrow,.kicker{font-weight:600;font-size:.76rem;letter-spacing:.16em;color:var(--gg-color-primary)}
.hl{background:none;padding:0;color:var(--gg-color-primary);font-style:italic}
.lede,.section-lede{color:var(--muted)}
/* buttons */
.btn{border-radius:var(--gg-radius-button);border-width:1.5px;font-weight:600;letter-spacing:.005em}
.btn:hover{transform:none}
.btn-primary,.btn-sun{background:var(--gg-color-primary);color:#fff;box-shadow:var(--gg-shadow-sm)}
.btn-primary:hover,.btn-sun:hover{background:var(--gg-color-primary-hover)}
.plan-featured .btn-primary{box-shadow:var(--gg-shadow-sm)}
.btn-ghost{color:var(--gg-color-ink);border-color:var(--field-line);background:transparent}
.btn-outline{background:#fff;color:var(--gg-color-ink);border-color:var(--field-line)}
.btn-ghost:hover,.btn-outline:hover{border-color:var(--gg-color-ink)}
/* header + nav */
.site-header{border-bottom:1px solid var(--line)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--gg-color-primary)}
.nav .nav-niche{color:var(--gg-color-ink);font-weight:500}
/* sections */
.section-tint{background:var(--cream-2)}
.example-tag span{background:var(--gg-color-tint);color:var(--gg-color-primary)}
/* steps */
.step{border:1px solid var(--line);box-shadow:var(--gg-shadow-sm);border-radius:var(--gg-radius-lg)}
.step-num,.step:nth-child(2) .step-num,.step:nth-child(3) .step-num{background:transparent;color:var(--gg-color-primary);border:1px solid var(--gg-color-primary);font:400 1.25rem var(--gg-font-display);width:44px;height:44px}
/* cards */
.get-card{border:1px solid var(--line);box-shadow:none;border-top:2px solid var(--gg-color-primary);border-radius:var(--gg-radius-md)}
.get-card.plus{border-top-color:var(--field-line)}
.ico{display:none}
.pill{background:var(--gg-color-tint);color:var(--gg-color-primary);font-weight:600}
.ex{box-shadow:none}
/* pricing */
.plan{border:1px solid var(--line);border-radius:var(--gg-radius-lg);box-shadow:var(--gg-shadow-sm)}
.plan-featured{background:#fff;color:var(--gg-color-ink);border-top:3px solid var(--gg-color-primary);box-shadow:var(--gg-shadow-lg)}
.plan-featured .plan-sub,.plan-featured .once{color:var(--muted)}
.plan-featured .checks li::before,.plan-featured .checks li.incl{color:var(--gg-color-primary)}
.badge{background:var(--gg-color-primary);color:#fff;border:0;font-weight:600;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;top:-13px}
.amt{font-family:var(--gg-font-display);font-weight:400;letter-spacing:-.02em}
.care-incl{background:var(--gg-color-tint);color:var(--gg-color-primary);font-weight:600}
.plan-featured .care-incl{background:var(--gg-color-tint);color:var(--gg-color-primary)}
.care-flow li{box-shadow:none;border-radius:var(--gg-radius-md)}
.care-flow .cf-day,.care-flow li:nth-child(2) .cf-day,.care-flow li:nth-child(3) .cf-day{background:var(--gg-color-tint);color:var(--gg-color-primary);border:0;font-weight:600}
.care-flow strong{font-weight:500}
/* comparison */
.table-wrap{border:1px solid var(--line);border-radius:var(--gg-radius-lg)}
.compare thead th{font-weight:500;background:var(--cream-2)}
.compare .us{background:var(--sun-tint)}
.compare thead .us{background:var(--gg-color-tint);color:var(--gg-color-primary)}
@media (max-width:680px){.compare tr{border:1px solid var(--line)}.compare tbody th{font-weight:500}}
/* faq */
.faq details{border-radius:var(--gg-radius-md)}
.faq summary::after{color:var(--gg-color-primary);font-family:var(--gg-font-body);font-weight:400}
/* final CTA: light, not a dark field */
.final-cta{background:var(--cream-2);color:var(--gg-color-ink);border-top:1px solid var(--line)}
.final-cta h2{color:var(--gg-color-ink)}
.final-cta p{color:var(--muted)}
.notify-box{background:#fff;border:1px solid var(--line);border-radius:var(--gg-radius-lg);box-shadow:var(--gg-shadow-md)}
.notify-box h3{color:var(--gg-color-ink)}
.notify-thanks{background:var(--gg-color-tint);color:var(--gg-color-primary)!important}
.final-cta .field-error{color:#9B2C1C}
/* footer: light */
.site-footer{background:var(--gg-color-bg);color:var(--muted);border-top:1px solid var(--line)}
.tagline{font-family:var(--gg-font-display);color:var(--gg-color-ink);font-style:italic}
.fine{color:var(--muted)}
.brand-badge,.brand-foot{background:none;padding:0;border-radius:0}
/* forms + dialog */
input,select{border:1px solid var(--field-line);border-radius:var(--gg-radius-md)}
input:focus,select:focus{border-color:var(--gg-color-primary)}
input[aria-invalid="true"],select[aria-invalid="true"]{border-color:#9B2C1C}
.field-error{color:#9B2C1C}
.radios label{border:1px solid var(--field-line);border-radius:var(--gg-radius-md)}
.radios label:has(input:checked){border-color:var(--gg-color-primary);background:var(--gg-color-tint)}
.radios label:has(input:focus-visible){outline:2px solid var(--gg-color-primary)}
dialog{border-radius:var(--gg-radius-lg);background:var(--gg-color-bg)}
.thanks-art{width:64px;height:auto;margin:0 auto 14px}
/* tags */
.tag{font-weight:600}
.tag-real{background:var(--gg-color-primary);color:#fff}
.tag-concept{background:#fff;color:var(--gg-color-ink);border:1px solid var(--field-line)}
.tag-proposal{background:var(--gg-color-tint);color:var(--gg-color-primary);border:0}
/* portfolio + niche surfaces: hairlines and soft shadows instead of offset blocks */
.logo-wall li,.logo-wall li:nth-child(n){border:1px solid var(--line);box-shadow:var(--gg-shadow-sm);border-radius:var(--gg-radius-md)}
.ais-art .panel{border:1px solid var(--line);border-radius:var(--gg-radius-md)}
.ais-art .van,.ais-art .polo,.ais-art .card{box-shadow:var(--gg-shadow-sm)}
.niche-card,.niche-card.food{border:1px solid var(--line);box-shadow:var(--gg-shadow-md);border-radius:var(--gg-radius-lg)}
.niche-card .logos{border-bottom:1px solid var(--line)}
.niche-card .go{color:var(--gg-color-primary);font-weight:600}
.work-card{border-radius:var(--gg-radius-lg);box-shadow:var(--gg-shadow-sm)}
.work-body .niche{color:var(--gg-color-primary)}
.bo-banner{border:1px solid var(--line);border-left:3px solid var(--gg-color-primary);border-radius:var(--gg-radius-md)}
.bo-stage{border-radius:var(--gg-radius-md)}
.palette li{border-radius:var(--gg-radius-pill)}

/* ===================== Polish pass (Oct 2026): editorial, gallery, hairlines =====================
   Restraint first: warm off-white, white, stone, near-black. Evergreen only for the primary action,
   links, one accent per section and the recommended tier. Hairlines (1px, low contrast) instead of boxes. */
:root{--hair:#E4E0D7;--stone:#F1EEE8;--ink-soft:#3A3F3C;--pad-section:clamp(88px,11vw,152px);--col-gap:clamp(20px,2.4vw,36px)}
body{font-size:17px;line-height:1.7;font-optical-sizing:auto;text-rendering:optimizeLegibility}
.wrap{width:min(1200px,100% - 2*clamp(20px,5vw,64px))}
.narrow{width:min(760px,100% - 40px)}
h1,h2,h3{font-optical-sizing:auto}
h1{font-weight:300;font-size:clamp(2.75rem,6.1vw,5.4rem);line-height:1.01;letter-spacing:-.028em;margin-bottom:.45em}
h2{font-weight:300;font-size:clamp(2.1rem,3.9vw,3.35rem);line-height:1.06;letter-spacing:-.022em;margin-bottom:.4em}
h3{font-family:var(--gg-font-display);font-weight:400;font-size:1.32rem;line-height:1.25;letter-spacing:-.008em}
.hl{font-style:italic;font-weight:300;color:var(--gg-color-primary)}
.lede{font-size:clamp(1.08rem,1.4vw,1.22rem);line-height:1.68;color:var(--muted);max-width:33em}
.section-lede{font-size:1.08rem;line-height:1.7;max-width:36em;color:var(--muted);margin-bottom:0}
.eyebrow,.kicker{font:600 .7rem/1.5 var(--gg-font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.section-lede em{font-style:italic;color:var(--ink-soft)}
/* header */
.site-header{background:rgba(250,248,244,.86);border-bottom:1px solid transparent;transition:border-color .3s}
.header-inner{height:78px;gap:36px}
.nav{gap:30px}
.nav a{font-size:.88rem;font-weight:500;color:var(--ink-soft);letter-spacing:.01em;position:relative;padding:4px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.nav a:hover{color:var(--gg-color-ink)}.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:var(--gg-color-ink)}
.nav .nav-niche{color:var(--ink-soft)}
.site-header{border-bottom-color:var(--hair)}
/* buttons */
.btn{border-radius:var(--gg-radius-button);font:600 .92rem/1 var(--gg-font-body);letter-spacing:.015em;padding:1.05em 1.7em;transition:background-color .25s ease,color .25s ease,border-color .25s ease}
.btn-lg{padding:1.15em 1.9em;font-size:.95rem}
.btn-sm{padding:.85em 1.25em;font-size:.84rem}
.btn-primary,.btn-sun{background:var(--gg-color-primary);color:#fff;box-shadow:none}
.btn-primary:hover,.btn-sun:hover{background:#163829}
.btn-ghost{background:none;border:0;padding-left:0;padding-right:0;color:var(--gg-color-ink);border-radius:0;box-shadow:inset 0 -1px 0 var(--gg-color-ink);padding-bottom:.55em;padding-top:.55em}
.btn-ghost::after{content:"\2192";margin-left:.55em;transition:transform .25s ease;display:inline-block}
.btn-ghost:hover{color:var(--gg-color-primary);box-shadow:inset 0 -1px 0 var(--gg-color-primary)}.btn-ghost:hover::after{transform:translateX(3px)}
.btn-outline{background:transparent;border:1px solid var(--gg-color-ink);color:var(--gg-color-ink)}
.btn-outline:hover{background:var(--gg-color-ink);color:#fff;border-color:var(--gg-color-ink)}
.plan-featured .btn-primary{box-shadow:none}
/* hero */
.hero{padding:clamp(56px,8vw,112px) 0 clamp(72px,9vw,128px)}
.hero-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:0 var(--col-gap);align-items:center}
.hero-copy{grid-column:1/7}
.hero-art{grid-column:8/13}
.hero-ctas{gap:32px;align-items:center;margin:38px 0 30px}
.hero-points{display:block;font:400 .86rem/1.6 var(--gg-font-body);color:var(--muted);letter-spacing:.01em}
.hero-points li{display:inline}
.hero-points li::before{content:none}
.hero-points li+li::before{content:"\00B7";margin:0 .7em;color:var(--field-line)}
@media (max-width:900px){.hero-copy,.hero-art{grid-column:1/-1}.hero-art{margin-top:56px;max-width:none}}
/* quiet captions instead of stickers */
.example-tag{text-align:left;font-size:.8rem;line-height:1.55;color:var(--muted);margin-top:14px;max-width:44em}
.example-tag span{background:none;color:var(--ink-soft);padding:0;border-radius:0;font-size:.66rem;letter-spacing:.2em;font-weight:600;margin-right:.9em}
.tag,.tag-real,.tag-concept,.tag-proposal{background:none!important;border:0!important;color:var(--muted)!important;padding:0;border-radius:0;font:600 .64rem/1.4 var(--gg-font-body);letter-spacing:.2em;text-transform:uppercase}
.pill{background:none;color:var(--gg-color-primary);padding:0;font:600 .62rem/1 var(--gg-font-body);letter-spacing:.16em;text-transform:uppercase;margin-left:.5em;border-radius:0}
.note .pill{margin:0 .3em 0 0}
/* home hero image: one calm, framed buildout */
.ais-art{display:block}
.ais-art .panel{border:0;border-radius:0;box-shadow:none;background:#EEF1F2}
.ais-art .van{box-shadow:none}
/* sections: generous space, hairline separators, 12-col heading */
.section{padding:var(--pad-section) 0;border-top:1px solid var(--hair)}
.section-tint{background:transparent}
.hero+.section{border-top:1px solid var(--hair)}
@media (min-width:901px){
  .section>.wrap:not(.narrow){display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap)}
  .section>.wrap:not(.narrow)>*{grid-column:1/-1;min-width:0}
  .section>.wrap:not(.narrow)>.kicker{grid-column:1/4;padding-top:1.05em;margin:0}
  .section>.wrap:not(.narrow)>h2{grid-column:4/13;margin-bottom:.35em}
  .section>.wrap:not(.narrow)>.section-lede{grid-column:4/12;margin-bottom:72px}
  .section>.wrap:not(.narrow)>h2+:not(.section-lede){margin-top:56px}
}
@media (max-width:900px){.section-lede{margin-bottom:48px}}
/* steps: open columns with hairline tops */
.steps{gap:0 var(--col-gap);margin:0}
.step{background:none;border:0;border-top:1px solid var(--gg-color-ink);border-radius:0;box-shadow:none;padding:28px 0 0}
.step-num,.step:nth-child(2) .step-num,.step:nth-child(3) .step-num{width:auto;height:auto;border:0;background:none;display:block;font:300 2.4rem/1 var(--gg-font-display);color:var(--field-line);margin-bottom:26px}
.step h3{margin-bottom:.5em}
.step p{font-size:.98rem;line-height:1.7}
/* what you get: a quiet index */
.get-grid{gap:0 var(--col-gap)}
.get-card,.get-card.plus{background:none;border:0;border-top:1px solid var(--hair);border-radius:0;box-shadow:none;padding:26px 0 34px}
.get-card h3{font-size:1.18rem;margin-bottom:.45em}
.get-card p{font-size:.95rem;line-height:1.65}
/* gallery: client work */
.work-grid{gap:72px var(--col-gap)}
.work-card{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}
.work-media{background:none;gap:10px}
.work-media .stack{gap:10px}
.work-media figure{background:#fff}
.work-media .pad{padding:0}
.work-media .pad img{inset:12%;width:76%;height:76%}
.work-body{padding:24px 0 0}
.work-body h3{font-size:1.5rem;margin:10px 0 2px}
.work-body .niche{color:var(--muted);font-size:.84rem;font-weight:500;letter-spacing:.02em;margin-bottom:12px}
.work-body p{font-size:.95rem;line-height:1.65}
.work-body .fineprint{font-size:.78rem;color:#8A8D86}
.logo-wall{gap:10px}
.logo-wall li,.logo-wall li:nth-child(n){background:#fff;border:0;border-radius:0;box-shadow:none;padding:16%}
.niche-teaser{gap:48px var(--col-gap)}
.niche-card,.niche-card.food{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}
.niche-card:hover{transform:none}
.niche-card .logos{gap:10px;background:none;border:0}
.niche-card .logos span{background:#fff;padding:18%}
.niche-card .nb{padding:26px 0 0}
.niche-card h3{font-size:1.6rem}
.niche-card .go{font-weight:600;font-size:.9rem;color:var(--gg-color-ink);box-shadow:inset 0 -1px 0 currentColor;padding-bottom:3px;transition:color .25s}
.niche-card:hover .go{color:var(--gg-color-primary)}
.also{font-size:.86rem;margin-top:44px}
/* buildout */
.bo-banner{background:none;border:0;border-left:1px solid var(--gg-color-primary);border-radius:0;padding:4px 0 4px 22px;margin-bottom:44px;gap:18px}
.bo-banner .tag{white-space:nowrap;padding-top:.35em}
.bo-stage{border:0;border-radius:0}
.bo-grid{gap:28px var(--col-gap)}
.bo-tile figcaption{font-size:.84rem;padding-top:14px}
.bo-tile figcaption strong{font:400 1.08rem/1.3 var(--gg-font-display);margin-bottom:2px}
.palette li{background:none;border:0;padding:0 14px 0 0;font-weight:500}
/* pricing: elegant columns with hairline dividers */
.plans{gap:0;max-width:none;margin:0}
.care-plans{gap:0}
.plan,.care-plan{background:none;border:0;border-top:1px solid var(--gg-color-ink);border-radius:0;box-shadow:none;padding:40px clamp(20px,3vw,48px) 8px}
.plan+.plan{border-left:1px solid var(--hair)}
.plans .plan:first-child,.care-plans .plan:first-child{padding-left:0}
.plans .plan:last-child,.care-plans .plan:last-child{padding-right:0}
.plan-featured{background:none;border-top:2px solid var(--gg-color-primary);box-shadow:none}
.badge{position:static;display:block;background:none;color:var(--gg-color-primary);padding:0;margin:0 0 14px;font:600 .64rem/1 var(--gg-font-body);letter-spacing:.22em;text-transform:uppercase;border-radius:0;border:0}
.plan:not(.plan-featured)::before{content:"";display:block;height:.64rem;margin-bottom:14px}
.plan h3{font-size:1.5rem;margin-bottom:.2em}
.price{margin:.5em 0 .5em}
.amt{font:300 clamp(2.8rem,4.2vw,3.6rem)/1 var(--gg-font-display);letter-spacing:-.03em}
.care-plan .amt{font-size:clamp(2.5rem,3.6vw,3.1rem)}
.once{font-size:.88rem;color:var(--muted);font-weight:400}
.plan-sub{font-size:.98rem;min-height:3.3em}
.checks{margin:20px 0 34px;border-top:1px solid var(--hair)}
.checks li{padding:12px 0;border-bottom:1px solid var(--hair);font-size:.93rem;line-height:1.55}
.checks li::before{content:none}
.checks li strong{font-weight:600}
.checks li.incl,.plan-featured .checks li.incl{color:var(--gg-color-primary)}
.care-incl,.plan-featured .care-incl{background:none;border-radius:0;padding:0;margin:-14px 0 24px;font-size:.84rem;font-weight:500;color:var(--gg-color-primary)}
@media (max-width:760px){.plan+.plan{border-left:0}.plans .plan,.care-plans .plan{padding-left:0;padding-right:0;margin-bottom:56px}.plan:not(.plan-featured)::before{display:none}}
@media (max-width:960px){.care-plans .plan{padding-left:0;padding-right:0;border-left:0!important;margin-bottom:56px}.care-plans .plan:not(.plan-featured)::before{display:none}}
.note{font-size:.84rem;color:var(--muted);margin-top:48px}
/* care flow */
.care-flow{gap:0 var(--col-gap);margin-bottom:88px}
.care-flow li{background:none;border:0;border-top:1px solid var(--hair);border-radius:0;box-shadow:none;padding:24px 0 0}
.care-flow .cf-day,.care-flow li:nth-child(2) .cf-day,.care-flow li:nth-child(3) .cf-day{background:none;color:var(--gg-color-primary);padding:0;margin-bottom:14px;font:600 .64rem/1 var(--gg-font-body);letter-spacing:.22em;border:0}
.care-flow strong{font:400 1.25rem/1.3 var(--gg-font-display)}
.care-flow span:last-child{font-size:.93rem;line-height:1.65}
.care-terms{font-weight:400;font-size:.86rem;color:var(--muted);gap:0;margin-top:56px}
.care-terms li::before{content:none}
.care-terms li+li::before{content:"\00B7";margin:0 .9em;color:var(--field-line)}
@media (max-width:600px){.care-terms li+li::before{content:none}.care-terms li{padding-left:0;text-indent:0}}
/* comparison */
.table-wrap{border:0;border-radius:0;background:none;margin-top:0;border-top:1px solid var(--gg-color-ink)}
.compare th,.compare td{padding:20px 22px 20px 0;border-bottom:1px solid var(--hair);font-size:.93rem;line-height:1.55}
.compare thead th{background:none;font:600 .66rem/1.4 var(--gg-font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.compare tbody th{font:400 1.08rem/1.35 var(--gg-font-display)}
.compare .us{background:none;color:var(--gg-color-ink);font-weight:500}
.compare thead .us{background:none;color:var(--gg-color-primary)}
@media (max-width:680px){.compare tr{border:0;border-top:1px solid var(--gg-color-ink);border-radius:0;background:none;margin-bottom:28px}.compare tbody th{background:none;padding:16px 0 8px;font-size:1.2rem}.compare td{padding:10px 0}.table-wrap{border-top:0}}
/* faq */
.faq{border-top:1px solid var(--gg-color-ink)}
.faq details{background:none;border:0;border-bottom:1px solid var(--hair);border-radius:0;margin:0;padding:0}
.faq summary{font:400 1.14rem/1.4 var(--gg-font-display);padding:24px 44px 24px 0}
.faq summary::after{font:300 1.5rem var(--gg-font-body);color:var(--muted);transition:transform .25s}
.faq details[open] summary::after{content:"+";transform:translateY(-50%) rotate(45deg)}
.faq details p{font-size:.97rem;line-height:1.7;max-width:40em;margin-bottom:26px}
/* final CTA */
.final-cta{background:var(--stone);border-top:1px solid var(--hair);padding:var(--pad-section) 0}
.final-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:0 var(--col-gap)}
.final-grid>*:first-child{grid-column:1/7}.final-grid>*:last-child{grid-column:8/13}
@media (max-width:860px){.final-grid>*:first-child,.final-grid>*:last-child{grid-column:1/-1}.final-grid>*:last-child{margin-top:48px}}
.notify-box{background:none;border:0;border-top:1px solid var(--gg-color-ink);border-radius:0;box-shadow:none;padding:28px 0 0}
.notify-box h3{font-size:1.3rem}
.notify-row input{border-radius:var(--gg-radius-button)}
/* footer: logo + quiet nav, fine print under a hairline */
.site-footer{padding:64px 0 48px;background:var(--gg-color-bg)}
.footer-inner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 40px}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 30px}
.footer-nav a{color:var(--ink-soft);text-decoration:none;font-size:.86rem}
.footer-nav a:hover{color:var(--gg-color-primary)}
.fine{grid-column:1/-1;margin-top:40px;padding-top:24px;border-top:1px solid var(--hair);font-size:.78rem;line-height:1.65;color:#80847F;max-width:none}
@media (max-width:760px){.footer-inner{grid-template-columns:1fr}.footer-nav{justify-content:flex-start;margin-top:28px}}
/* forms + dialog */
input,select{border-radius:var(--gg-radius-button);border-color:#D3CEC4;padding:.8em .95em}
.radios label{border-radius:var(--gg-radius-button);border-color:#D3CEC4}
dialog{border-radius:4px;box-shadow:0 40px 90px -20px rgba(28,32,30,.35)}
.dlg{padding:40px 38px 32px}
.dlg h2{font-size:2.1rem}
/* motion: gentle fade-up, only when motion is allowed (motion.js adds .motion) */
.motion .reveal{opacity:0;transform:translateY(14px);transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1)}
.motion .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.motion .reveal{opacity:1;transform:none;transition:none}}
/* Polish pass, iteration 2 */
/* home hero: one tall, matted frame instead of a thin strip */
.ais-art .panel{aspect-ratio:5/4;display:flex;flex-direction:column;justify-content:flex-end;background:#EEF3F6;overflow:hidden;box-shadow:0 0 0 14px #fff,0 0 0 15px var(--hair)!important;margin:15px}
.ais-art .panel svg{display:block;width:100%;height:auto}
.ais-art .example-tag{margin:34px 15px 0}
/* niche hero logo gallery: keep tiles inside their columns */
.logo-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
.logo-wall li,.logo-wall li:nth-child(n){min-width:0;padding:14%;aspect-ratio:1/1}
.logo-wall img{width:auto;height:auto;max-width:100%;max-height:100%}
/* FAQ sits on the same column as section headings */
@media (min-width:901px){.section>.wrap.narrow{box-sizing:border-box;width:min(1200px,100% - 2*clamp(20px,5vw,64px));padding-left:calc((min(1200px, 100vw - 2*clamp(20px,5vw,64px)) + var(--col-gap))/4)}.section>.wrap.narrow>*{max-width:760px}}
@media (max-width:900px){.hero-art{margin-inline:0;width:100%}.logo-wall-wrap .logo-wall{width:100%;max-width:none}}
.logo-wall{padding:0!important;margin:0}.logo-wall li,.logo-wall li:nth-child(n){overflow:hidden}

/* ===== Icons + illustration pass (Oct 2026) ===== */
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none;display:block}
.ic-badge{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(31,74,58,.07);color:var(--gg-color-primary);flex:none}
.ic-badge .ic{width:21px;height:21px}
/* hero proof line */
.hero-points{display:flex;flex-wrap:wrap;gap:10px 28px}
.hero-points li{display:inline-flex;align-items:center;gap:9px}
.hero-points li+li::before{content:none}
.ic-hp{width:17px;height:17px;color:var(--gg-color-primary)}
/* deliverables */
.get-card .ic-badge{margin-bottom:18px}
/* how it works */
.step-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.step-head .step-num{margin:0!important;font:300 1.9rem/1 var(--gg-font-display)!important;color:var(--soft,#A7ABA7)!important;letter-spacing:-.01em}
.steps .step{padding-top:26px}
/* plan + care feature lists */
.checks li,.care-terms li{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:14px;align-items:start}
.ic-li{width:18px;height:18px;margin-top:.12em;color:var(--gg-color-primary);opacity:.92}
.checks li strong .ic-li{display:none}
.care-terms{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 36px}
.care-terms li{grid-template-columns:17px auto;column-gap:10px;align-items:center}
.care-terms li::before{content:none!important}
.care-terms .ic-li{width:17px;height:17px;margin:0}
/* care timeline */
.care-flow li{position:relative}
.care-flow .ic-badge{margin-bottom:18px}
/* FAQ */
.faq summary{display:flex;align-items:center;gap:18px}
.ic-faq{width:20px;height:20px;color:var(--gg-color-primary);opacity:.85}
/* kicker rule: a short evergreen hairline above each section label */
.kicker::before{content:"";display:block;width:24px;height:1px;background:var(--gg-color-primary);margin-bottom:16px;opacity:.8}
/* final CTA: faint G-arrow watermark */
.final-cta.has-mark{position:relative;overflow:hidden}
.final-cta.has-mark::after{content:"";position:absolute;right:-60px;bottom:-90px;width:420px;height:430px;background:url(brand/gogologo-mark.svg) no-repeat center/contain;opacity:.045;pointer-events:none}
.final-cta.has-mark>*{position:relative;z-index:1}
/* home hero illustration */
.gg-ill{margin:0}
.gg-ill .ggi{display:block;width:calc(100% + 40px);max-width:none;height:auto;margin:-20px -20px 0}
.gg-ill .example-tag{margin-top:4px}
@media (min-width:901px){.hero-copy{grid-column:1/7}.gg-ill{grid-column:7/13}}
/* niche heroes: faint orbit linework behind the client logo gallery */
.logo-wall-wrap{position:relative}
.logo-wall-wrap::before{content:"";position:absolute;width:118%;aspect-ratio:1;left:50%;top:44%;transform:translate(-50%,-50%);border-radius:50%;border:1px dashed rgba(31,74,58,.22);pointer-events:none}
.logo-wall-wrap::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--gg-color-primary);left:calc(50% + 59%*.7071 - 5px);top:calc(44% - 59%*.7071);pointer-events:none;opacity:.9}
.logo-wall{position:relative;z-index:1}
@media (max-width:900px){.logo-wall-wrap::before{width:108%}.logo-wall-wrap::after{display:none}}
/* iteration 2 */
.hero-points{gap:10px 20px;font-size:.84rem}
.hero-points li{gap:7px;white-space:nowrap}
.ic-hp{width:16px;height:16px}
.final-cta.has-mark::after{opacity:.032;width:380px;height:390px;right:-40px;bottom:-110px}
.logo-wall-wrap::after{display:none}
.ic-li{width:17px;height:17px}
.get-card .ic-badge,.care-flow .ic-badge,.step-head .ic-badge{width:46px;height:46px}
.get-card .ic-badge .ic,.care-flow .ic-badge .ic,.step-head .ic-badge .ic{width:22px;height:22px}

/* ===== Green pass (Oct 2026): Evergreen bands + footer ===== */
:root{--g-bg:#1F4A3A;--g-deep:#183D30;--g-text:#F4F1EA;--g-2:#BFD3C8;--g-3:#A9C2B5;--g-hair:rgba(255,255,255,.16);--g-icon:#CFE0D6}
.on-green{background:var(--g-bg)!important;color:var(--g-text);border-top:0!important;position:relative;overflow:hidden}
.on-green+.section{border-top:0}
.on-green h2,.on-green h3,.on-green strong,.on-green .amt{color:var(--g-text)}
.on-green h2 em,.on-green .accent{color:var(--g-2)}
.on-green p,.on-green .section-lede,.on-green .plan-sub,.on-green .once,.on-green .care-flow span:last-child,.on-green .note,.on-green .care-terms{color:var(--g-2)}
.on-green .kicker{color:var(--g-2)}
.on-green .kicker::before{background:var(--g-2)}
.on-green a{color:var(--g-text)}
.on-green .ic-badge{background:rgba(255,255,255,.08);color:var(--g-icon)}
.on-green .ic-li,.on-green .ic-faq{color:var(--g-icon);opacity:1}
.on-green .care-flow li,.on-green .checks,.on-green .checks li{border-color:var(--g-hair)!important}
.on-green .cf-day,.on-green .care-flow li .cf-day{color:var(--g-icon)!important}
.on-green .plan,.on-green .care-plan{background:transparent!important;border-color:var(--g-hair)!important;color:var(--g-text)}
.on-green .care-plans{border-color:rgba(255,255,255,.5)!important}
.on-green .plan-featured{border-top-color:var(--g-icon)!important}
.on-green .badge{color:var(--g-icon)!important}
.on-green .checks li,.on-green .checks li.incl{color:var(--g-text)}
.on-green .care-incl{color:var(--g-icon)!important}
.on-green .btn-primary{background:var(--g-text);color:var(--g-bg)}
.on-green .btn-primary:hover{background:#fff;color:var(--g-deep)}
.on-green .btn-outline{background:transparent;border-color:rgba(244,241,234,.55);color:var(--g-text)}
.on-green .btn-outline:hover{background:var(--g-text);color:var(--g-bg);border-color:var(--g-text)}
.on-green .btn:focus-visible,.on-green a:focus-visible{outline:2px solid var(--g-text);outline-offset:3px}
/* watermark on green bands */
.on-green::after{content:"";position:absolute;right:-70px;top:-60px;width:460px;height:470px;background:url(brand/gogologo-mark-white.svg) no-repeat center/contain;opacity:.035;pointer-events:none}
.on-green>.wrap{position:relative;z-index:1}
/* promise band */
.promise-band{padding:clamp(80px,9vw,128px) 0}
.promise-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap)}
.promise-grid>.kicker{grid-column:1/4;padding-top:1.05em;margin:0}
.promise-line{grid-column:4/13;font:300 clamp(2rem,3.6vw,3.25rem)/1.12 var(--gg-font-display);letter-spacing:-.022em;margin:0 0 64px;max-width:18em}
.promise-line em{font-style:italic}
.promise-points{grid-column:4/13;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 var(--col-gap)}
.promise-points li{border-top:1px solid var(--g-hair);padding-top:24px;display:flex;flex-direction:column;gap:16px}
.promise-points span:not(.ic-badge){color:var(--g-2);font-size:.93rem;line-height:1.65}
.promise-points strong{display:block;font:400 1.2rem/1.3 var(--gg-font-display);color:var(--g-text);margin-bottom:6px}
@media (max-width:900px){.promise-grid>.kicker,.promise-line,.promise-points{grid-column:1/-1}.promise-grid>.kicker{margin-bottom:20px}.promise-points{grid-template-columns:1fr;gap:28px}}
/* green footer */
.site-footer{background:var(--g-deep)!important;color:var(--g-2);border-top:0!important}
.footer-nav a{color:var(--g-text)}
.footer-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.site-footer .fine{color:var(--g-3);border-top-color:var(--g-hair)}
.site-footer a:focus-visible{outline:2px solid var(--g-text);outline-offset:3px}
/* the stone CTA now meets the green footer directly */
.final-cta{border-bottom:0}
/* green pass, iteration 2 */
.on-green::after{opacity:.024;right:-110px;top:-90px}
@media (max-width:600px){.hero .eyebrow{letter-spacing:.16em}.on-green::after{width:300px;height:310px;right:-90px;top:-60px}}
