
@font-face { font-family: "Outfit"; src: url("/fonts/Outfit-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Outfit"; src: url("/fonts/Outfit-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Outfit"; src: url("/fonts/Outfit-600.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }

/* Promptwise Advisory: brand kit (midnight, snow, mint; Outfit) */
:root {
  /* Promptwise brand kit tokens */
  --midnight: #07141A;
  --snow: #F2F7F5;
  --mint: #7ED6B4;
  --mint-deep: #1F8A66;
  --ink: #07141A;            /* page background (midnight) */
  --deep: #0D1F27;           /* raised surfaces */
  --raise: #12262F;
  --pine: rgba(126, 214, 180, 0.14);   /* mint tint for selected states */
  --fern: #7ED6B4;           /* accent (mint) */
  --mist: #F2F7F5;           /* body text (snow) */
  --soft: #C9D6D1;
  --sage: #A7B8B3;           /* ink-muted */
  --glow: #7ED6B4;           /* accent (mint) */
  --line: #1A313B;
  --line-strong: #2A4652;
  --sans: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;
  --serif: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;
  --r-lg: 20px;
  --r-md: 12px;
  --r-sm: 8px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 88px; }
body {
  margin: 0; background: var(--ink); color: var(--mist);
  font-family: var(--sans); font-size: 1.0625rem; line-height: 1.6; font-weight: 400;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  
}
img { max-width: 100%; display: block; height: auto; }
svg { display: block; }
a { color: var(--glow); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--snow); }
:focus-visible { outline: 2px solid var(--glow); outline-offset: 3px; border-radius: 4px; }
p { margin: 0 0 1em; }
h1, h2, h3 { font-family: var(--sans); font-weight: 500; line-height: 1.04; letter-spacing: -0.035em; margin: 0; color: var(--snow); text-wrap: balance; }
h1 { font-size: clamp(2.6rem, 6.2vw, 5.4rem); letter-spacing: -0.045em; }
h2 { font-size: clamp(1.9rem, 3.6vw, 3rem); max-width: 22ch; }
h3 { font-size: 1.2rem; font-weight: 600; letter-spacing: -0.015em; line-height: 1.25; }
.muted { color: var(--sage); }
.lede { font-size: clamp(1.1rem, 1.5vw, 1.25rem); color: var(--soft); max-width: 36em; line-height: 1.55; }
.wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 44px); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--glow); color: var(--ink); padding: 8px 14px; border-radius: 8px; z-index: 100; }
.skip:focus { left: 8px; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(7, 20, 26, 0.86); backdrop-filter: saturate(140%) blur(14px); -webkit-backdrop-filter: saturate(140%) blur(14px); border-bottom: 1px solid var(--line); }
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 72px; gap: 20px; }
.logo { display: inline-flex; align-items: baseline; gap: 6px; text-decoration: none; color: var(--snow); white-space: nowrap; }
.logo-mark { font-weight: 600; font-size: 1.25rem; letter-spacing: -0.04em; }
.logo-sub { font-size: 0.9rem; color: var(--sage); letter-spacing: -0.01em; }
.nav { display: none; position: absolute; top: 72px; right: clamp(20px, 5vw, 44px); min-width: 240px; flex-direction: column; align-items: stretch; gap: 0; background: var(--ink); border: 1px solid var(--line); border-radius: 14px; padding: 8px 14px 14px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.8); }
.nav.open { display: flex; }
.nav a { color: var(--soft); text-decoration: none; white-space: nowrap; padding: 12px 2px; border-bottom: 1px solid var(--line); font-size: 1rem; }
.nav a:last-of-type { border-bottom: 0; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--snow); }
.nav a[aria-current="page"] { text-decoration: none; color: var(--glow); }
.nav .btn { margin-top: 12px; }
.nav a.btn-primary, .nav a.btn-primary:hover { color: var(--ink); text-decoration: none; }
.nav-toggle-label { line-height: 1; }
.nav-toggle { display: inline-flex; align-items: center; gap: 9px; background: none; border: 1px solid var(--line-strong); color: var(--mist); border-radius: 999px; padding: 9px 15px; font: inherit; font-size: 0.9rem; cursor: pointer; }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font: inherit; font-weight: 500; font-size: 1rem; line-height: 1; padding: 15px 24px; border-radius: 999px; border: 1px solid transparent; cursor: pointer; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.btn-primary { background: var(--glow); color: var(--ink); }
.btn-primary:hover { background: var(--snow); color: var(--ink); }
.btn-ghost { background: transparent; color: var(--mist); border-color: var(--line-strong); }
.btn-ghost:hover { border-color: var(--glow); color: var(--snow); }
.btn-small { padding: 10px 16px; font-size: 0.9rem; }
.btn[disabled] { opacity: .6; cursor: progress; }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* Sections */
.section { padding: clamp(64px, 9vw, 120px) 0; }
.section-tight { padding: clamp(40px, 6vw, 72px) 0; }
.section-head { margin-bottom: clamp(32px, 5vw, 56px); display: grid; gap: 16px; }
.band { background: var(--deep); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: start; }
.panel { background: var(--deep); border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: clamp(22px, 3vw, 34px); }

/* Home hero with rotating specialism */
.hero { padding: clamp(56px, 10vw, 136px) 0 clamp(48px, 7vw, 88px); border-bottom: 1px solid var(--line); }
.hero h1 { font-size: clamp(2rem, 8.2vw, 5rem); max-width: none; }
.hero-static { display: block; color: var(--sage); font-weight: 400; }
.rotator { display: block; position: relative; white-space: nowrap; color: var(--snow); }
.rotator-word { display: inline-block; transition: opacity .35s ease, transform .35s ease; }
.rotator-word.out { opacity: 0; transform: translateY(0.18em); }
.rotator-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; margin-top: 18px; }
.rotator-dots { display: flex; flex-wrap: wrap; gap: 4px; margin-left: -7px; }
.rotator-dot { width: 22px; height: 22px; padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center; border-radius: 50%; }
.rotator-dot::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--line-strong); transition: background .25s, transform .25s; }
.rotator-dot:hover::before { background: var(--sage); }
.rotator-dot.on::before { background: var(--glow); transform: scale(1.3); }
.rotator-dot:focus-visible { outline: 2px solid var(--fern); outline-offset: 1px; }
@keyframes fill { to { width: 100%; } }
.rotator-pause { background: none; border: 0; padding: 4px 0; color: var(--sage); font: inherit; font-size: 0.85rem; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.rotator-pause:hover { color: var(--mist); }
.hero .lede { margin: 34px 0 32px; }

/* Home hero photo stack, synced with the rotating headline */
.hero { overflow-x: clip; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); }
.hero-visual { position: relative; aspect-ratio: 4 / 5; width: 100%; max-width: 400px; justify-self: end; isolation: isolate; }
.hero-visual::before { content: ""; position: absolute; inset: -14% -18%; z-index: -1; background: radial-gradient(closest-side, rgba(126,214,180,0.18), rgba(126,214,180,0)); pointer-events: none; }
.hv-card { position: absolute; inset: 0; margin: 0; border-radius: var(--r-lg); overflow: hidden; background: var(--deep); border: 1px solid var(--line-strong); box-shadow: 0 30px 60px -24px rgba(0,0,0,0.7); transform-origin: 50% 85%;
  transition: transform .8s cubic-bezier(.2,.7,.2,1), opacity .6s ease, filter .8s ease, border-color .8s ease; }
.hv-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hv-card[data-pos="0"] { z-index: 4; transform: none; border-color: rgba(126,214,180,0.55); box-shadow: 0 30px 60px -24px rgba(0,0,0,0.7), 0 0 0 6px rgba(126,214,180,0.06); }
.hv-card[data-pos="1"] { z-index: 3; transform: translate(-9%, 3%) rotate(-6deg) scale(.93); filter: brightness(.5) saturate(.8); }
.hv-card[data-pos="2"] { z-index: 2; transform: translate(8%, 5%) rotate(5deg) scale(.89); filter: brightness(.4) saturate(.7); }
.hv-card[data-pos="3"] { z-index: 1; transform: translate(0, 7%) scale(.85); filter: brightness(.3) saturate(.6); opacity: 0.9; }
.hv-card[data-pos="out"] { z-index: 5; transform: translate(-22%, -4%) rotate(-12deg) scale(.96); opacity: 0; }
.hv-tag { position: absolute; z-index: 6; left: -18px; bottom: 22px; margin: 0; padding: 10px 16px; border-radius: 999px; background: rgba(7,20,26,0.88); border: 1px solid var(--line-strong); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); font-size: 0.85rem; line-height: 1.3; color: var(--sage); }
.hv-tag strong { display: block; color: var(--snow); font-weight: 600; font-size: 0.95rem; }
@media (min-width: 961px) {
  .hero-grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); column-gap: clamp(40px, 5vw, 72px); align-items: center; }
  .hero-grid > :not(.hero-visual) { grid-column: 1; }
  .hero-grid > .hero-visual { grid-column: 2; grid-row: 1 / span 4; }
  .hero h1 { font-size: clamp(2.4rem, 4.3vw, 3.8rem); }
}
@media (max-width: 960px) {
  .hero-grid > h1 { order: 1; } .hero-grid > .rotator-bar { order: 2; } .hero-grid > .hero-visual { order: 3; } .hero-grid > .lede { order: 4; } .hero-grid > .btn-row { order: 5; }
  .hero-visual { justify-self: center; max-width: 260px; margin: 40px auto 6px; }
  .hv-tag { left: -24px; bottom: 14px; font-size: 0.8rem; padding: 8px 14px; }
}
@media (prefers-reduced-motion: reduce) { .hv-card { transition: none; } }

/* Brands */
.brands { padding: 30px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; }
.marquee { display: grid; gap: 18px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.mq-row { overflow: hidden; }
.mq-track { display: flex; width: max-content; animation: mq 70s linear infinite; }
.mq-rev .mq-track { animation-direction: reverse; }
.mq-item { flex: none; padding: 0 30px; font-size: clamp(1.05rem, 1.6vw, 1.35rem); font-weight: 500; letter-spacing: -0.02em; color: var(--soft); white-space: nowrap; }
.marquee:hover .mq-track { animation-play-state: paused; }
@keyframes mq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .mq-track { animation: none; width: auto; flex-wrap: wrap; justify-content: center; }
  .mq-track .mq-item:nth-child(n+11) { display: none; }
}
.brands-inner { display: grid; grid-template-columns: 220px 1fr; gap: 32px; align-items: start; }
.brands p { margin: 0; color: var(--sage); font-size: 0.92rem; line-height: 1.5; }
.brand-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 30px; }
.brand-list li { font-size: 1.05rem; font-weight: 500; letter-spacing: -0.02em; color: var(--soft); }

/* Pains */
.pains { border-top: 1px solid var(--line); }
.pain { border-bottom: 1px solid var(--line); }
.pain summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; padding: 26px 0; }
.pain summary::-webkit-details-marker { display: none; }
.pain-q { font-family: var(--serif); font-style: italic; font-size: clamp(1.25rem, 2.2vw, 1.6rem); line-height: 1.35; color: var(--snow); }
.pain-icon { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line-strong); display: grid; place-items: center; color: var(--glow); font-size: 1.2rem; line-height: 1; transition: transform .2s, background .2s; }
.pain[open] .pain-icon { transform: rotate(45deg); background: var(--pine); }
.pain-a { display: grid; grid-template-columns: 64px 1fr; gap: 20px; padding: 0 0 30px; max-width: 66ch; align-items: start; }
.pain-a .who { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; border: 1px solid var(--line-strong); }
.pain-a .who img { width: 100%; height: 100%; object-fit: cover; }
.pain-a p { margin: 0; color: var(--soft); font-size: 1.05rem; }

/* Steps (a real sequence) */
.steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 40px); counter-reset: step; }
.steps li { counter-increment: step; border-top: 1px solid var(--line-strong); padding-top: 20px; }
.steps li::before { content: counter(step); display: block; font-size: 0.9rem; color: var(--sage); margin-bottom: 18px; font-variant-numeric: tabular-nums; }
.steps h3 { margin-bottom: 8px; }
.steps p { color: var(--soft); margin: 0; }

/* Meet Adam */
.meet { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.meet-photo { border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 4 / 5; background: var(--deep); }
.meet-photo img { width: 100%; height: 100%; object-fit: cover; }
.facts { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--line); margin-top: 28px; }
.facts div { padding: 18px 0; border-bottom: 1px solid var(--line); }
.facts div:nth-child(odd) { padding-right: 20px; }
.facts strong { display: block; font-size: 1.6rem; font-weight: 500; letter-spacing: -0.035em; color: var(--snow); }
.facts span { color: var(--sage); font-size: 0.92rem; }

/* Quote — anything someone else says is set in the serif */
.quote { margin: 0; max-width: 880px; }
.quote blockquote { margin: 0; font-family: var(--serif); font-style: italic; font-size: clamp(1.35rem, 2.6vw, 2rem); line-height: 1.35; color: var(--snow); }
.quote figcaption { margin-top: 18px; color: var(--sage); font-size: 0.95rem; }
.quote figcaption strong { color: var(--mist); font-weight: 500; }

/* Scorecard */
.score-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.scorecard { background: var(--raise); border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: clamp(22px, 3vw, 32px); }
.sc-head { display: flex; gap: 18px; align-items: center; margin-bottom: 22px; }
.sc-dial { flex: none; width: 72px; height: 72px; position: relative; }
.sc-dial svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.sc-dial .track { stroke: #1A313B; }
.sc-dial .fill { stroke: var(--glow); stroke-linecap: round; transition: stroke-dashoffset .6s cubic-bezier(.2,.7,.2,1); }
.sc-dial-value { position: absolute; inset: 0; display: grid; place-items: center; font-weight: 500; font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.sc-title { font-weight: 500; font-size: 1.2rem; line-height: 1.25; letter-spacing: -0.02em; color: var(--snow); }
.sc-sub { color: var(--sage); font-size: 0.92rem; }
.sc-progress { display: flex; gap: 6px; margin-bottom: 18px; }
.sc-progress span { flex: 1; height: 3px; border-radius: 3px; background: #1A313B; transition: background .3s; }
.sc-progress span.done { background: var(--fern); }
.sc-progress span.now { background: var(--glow); }
.sc-q { font-size: 1.1rem; font-weight: 500; line-height: 1.4; margin: 0 0 16px; min-height: 3em; color: var(--snow); }
.sc-options { display: grid; gap: 8px; }
.sc-option { text-align: left; width: 100%; font: inherit; font-size: 0.98rem; color: var(--mist); background: rgba(7, 20, 26, 0.5); border: 1px solid var(--line); border-radius: var(--r-md); padding: 14px 16px; cursor: pointer; transition: border-color .15s, background .15s; }
.sc-option:hover { border-color: var(--glow); background: rgba(126, 214, 180, 0.08); }
.sc-option.picked { border-color: var(--glow); background: rgba(126, 214, 180, 0.14); }
.sc-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; font-size: 0.88rem; color: var(--sage); }
.sc-back { background: none; border: 0; color: var(--sage); font: inherit; font-size: 0.88rem; cursor: pointer; padding: 4px 0; text-decoration: underline; text-underline-offset: 3px; }
.sc-back:hover { color: var(--mist); }
.sc-back[hidden] { display: inline-block; visibility: hidden; }
.sc-result-band { font-size: 1.5rem; font-weight: 500; letter-spacing: -0.03em; margin: 0 0 8px; color: var(--snow); }
.sc-result p { color: var(--soft); }
.sc-gaps { list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 8px; }
.sc-gaps li { padding: 12px 14px; border-radius: var(--r-md); background: rgba(7,20,26,0.5); border: 1px solid var(--line); font-size: 0.95rem; }
.sc-gaps strong { display: block; color: var(--snow); font-weight: 500; }

/* Forms */
.form { display: grid; gap: 14px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.field { display: grid; gap: 6px; min-width: 0; }
.field label, .field legend { font-size: 0.88rem; color: var(--sage); }
.field input, .field textarea, .field select { width: 100%; font: inherit; font-size: 1rem; color: var(--mist); background: rgba(7, 20, 26, 0.6); border: 1px solid var(--line-strong); border-radius: 10px; padding: 12px 14px; transition: border-color .15s; }
.field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--sage) 50%), linear-gradient(135deg, var(--sage) 50%, transparent 50%); background-position: calc(100% - 20px) 55%, calc(100% - 15px) 55%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 40px; }
.field textarea { min-height: 110px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { outline: none; border-color: var(--glow); }
.form .btn { width: 100%; margin-top: 4px; }
.form-note { font-size: 0.85rem; color: var(--sage); margin: 0; }
.form-status { font-size: 0.95rem; margin: 0; }
.form-status.ok { color: var(--glow); }
.form-status.err { color: #f2c7a8; }
.hp { position: absolute; left: -9999px; }
fieldset.field { border: 0; padding: 0; margin: 0; }
.choice { display: flex; gap: 8px; flex-wrap: wrap; }
.choice label { position: relative; display: inline-flex; align-items: center; padding: 9px 14px; border: 1px solid var(--line-strong); border-radius: 999px; cursor: pointer; color: var(--mist); font-size: 0.92rem; transition: border-color .15s, background .15s; }
.choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.choice label:has(input:checked) { background: var(--pine); border-color: var(--glow); }
.choice label:has(input:focus-visible) { outline: 2px solid var(--glow); outline-offset: 2px; }

/* Page header */
.page-head { padding: clamp(56px, 9vw, 112px) 0 clamp(32px, 5vw, 56px); border-bottom: 1px solid var(--line); }
.page-head h1 { font-size: clamp(2.4rem, 5.4vw, 4.4rem); max-width: 16ch; }
.page-head .lede { margin-top: 22px; }

/* How we work: phases */
.phases { display: grid; gap: 0; border-top: 1px solid var(--line-strong); counter-reset: phase; }
.phase { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(24px, 5vw, 72px); padding: clamp(32px, 5vw, 56px) 0; border-bottom: 1px solid var(--line); counter-increment: phase; }
.phase-head::before { content: "Step " counter(phase); display: block; color: var(--sage); font-size: 0.9rem; margin-bottom: 14px; }
.phases { counter-reset: phase opt; }
.phase.opt { counter-increment: opt; }
.phase.opt .phase-head::before { content: "Step 5 · Option " counter(opt, upper-alpha); }
.phase h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); }
.phase .meta { margin-top: 10px; color: var(--glow); font-size: 0.95rem; }
.phase-body > p { color: var(--soft); font-size: 1.08rem; }
.ticks { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 10px; }
.ticks li { position: relative; padding-left: 26px; color: var(--mist); }
.ticks li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 12px; height: 1px; background: var(--fern); }

/* Delivery options */
.options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.option { padding: clamp(22px, 2.6vw, 30px); border-radius: var(--r-lg); border: 1px solid var(--line-strong); background: var(--deep); display: flex; flex-direction: column; }
.option h3 { font-size: 1.35rem; font-weight: 500; letter-spacing: -0.025em; }
.option .lead { color: var(--glow); margin: 8px 0 14px; }
.option > p { color: var(--soft); font-size: 0.98rem; }
.option .ticks { margin-top: 4px; font-size: 0.96rem; }
.option .best { margin: auto 0 0; padding-top: 20px; color: var(--sage); font-size: 0.92rem; }

/* Expertise chips (how we work) */
.chip-groups { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
.chip-groups h3 { font-size: 0.95rem; color: var(--sage); font-weight: 500; margin-bottom: 12px; letter-spacing: 0; }
.chip-groups ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.chip-groups a { color: var(--mist); text-decoration: none; border-bottom: 1px solid var(--line-strong); }
.chip-groups a:hover { color: var(--snow); border-color: var(--glow); }

/* Network */
.network-group { display: grid; grid-template-columns: 0.6fr 1.4fr; gap: clamp(20px, 4vw, 56px); padding: clamp(28px, 4vw, 44px) 0; border-top: 1px solid var(--line); }
.network-group > h3 { font-size: 1.35rem; font-weight: 500; letter-spacing: -0.025em; }
.network-items { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.net { padding: 22px; border-radius: var(--r-md); background: var(--deep); border: 1px solid var(--line); }
.net h4 { margin: 0 0 4px; font-size: 1.05rem; font-weight: 600; color: var(--snow); }
.net > p { color: var(--soft); font-size: 0.96rem; margin: 0 0 14px; }
.net dl { margin: 0; display: grid; gap: 10px; font-size: 0.93rem; }
.net dt { color: var(--sage); }
.net dd { margin: 2px 0 0; color: var(--mist); }

/* Expertise page */
.exp-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.exp-nav a { padding: 8px 14px; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--soft); text-decoration: none; font-size: 0.92rem; }
.exp-nav a:hover { border-color: var(--glow); color: var(--snow); }
.exp-group { display: grid; grid-template-columns: 0.55fr 1.45fr; gap: clamp(20px, 4vw, 56px); padding: clamp(36px, 5vw, 56px) 0; border-top: 1px solid var(--line); }
.exp-group > h2 { font-size: clamp(1.5rem, 2.4vw, 1.9rem); position: sticky; top: 100px; align-self: start; }
.exp-item { border-bottom: 1px solid var(--line); }
.exp-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; font-size: 1.2rem; font-weight: 500; letter-spacing: -0.02em; color: var(--snow); }
.exp-item summary::-webkit-details-marker { display: none; }
.exp-item summary::after { content: "+"; font-weight: 400; color: var(--glow); font-size: 1.5rem; line-height: 1; transition: transform .2s; }
.exp-item[open] summary::after { transform: rotate(45deg); }
.exp-item summary:hover { color: var(--glow); }
.exp-body { padding: 0 0 28px; max-width: 64ch; }
.exp-body > p { color: var(--soft); }
.exp-body h4 { margin: 18px 0 0; font-size: 0.92rem; color: var(--sage); font-weight: 500; }
.exp-tools { color: var(--mist); font-size: 0.96rem; margin: 6px 0 0; }

/* Case studies */
.case { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(28px, 5vw, 64px); padding: clamp(40px, 6vw, 72px) 0; border-top: 1px solid var(--line); }
.case:first-of-type { border-top: 0; padding-top: 0; }
.case-label { color: var(--sage); margin-bottom: 10px; }
.case h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); }
.case ul { padding-left: 1.1em; color: var(--soft); }
.case ul li { margin-bottom: 6px; }
.case-photo { border-radius: var(--r-lg); overflow: hidden; margin-top: 24px; }
.case-photo img { width: 100%; height: 100%; object-fit: cover; }
.case-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; margin-top: 22px; }
.case-stats div { background: var(--ink); padding: 20px; }
.case-stats strong { display: block; font-size: 1.6rem; font-weight: 500; letter-spacing: -0.035em; color: var(--snow); }
.case-stats span { color: var(--sage); font-size: 0.92rem; }

/* About */
.about-hero { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(32px, 6vw, 80px); align-items: end; }
.about-photo { border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 3 / 4; background: var(--deep); }
.about-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.photo-caption { color: var(--sage); font-size: 0.85rem; margin-top: 10px; }
.timeline { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--line-strong); }
.timeline li { position: relative; padding: 0 0 36px 30px; }
.timeline li::before { content: ""; position: absolute; left: -5px; top: 8px; width: 9px; height: 9px; border-radius: 50%; background: var(--ink); border: 2px solid var(--fern); }
.timeline li:first-child::before { background: var(--glow); border-color: var(--glow); }
.timeline .when { color: var(--sage); font-size: 0.9rem; font-variant-numeric: tabular-nums; }
.timeline h3 { font-size: 1.15rem; margin: 4px 0 6px; }
.timeline p { color: var(--soft); margin: 0; max-width: 58ch; }
.timeline figure { margin: 16px 0 0; max-width: 340px; border-radius: var(--r-md); overflow: hidden; }
.timeline figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 40%; }
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.gallery figure { margin: 0; border-radius: var(--r-md); overflow: hidden; background: var(--deep); }
.gallery img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
.gallery figcaption { padding: 10px 12px; color: var(--sage); font-size: 0.85rem; }

/* FAQ */
.faq details { border-bottom: 1px solid var(--line); padding: 20px 0; }
.faq summary { cursor: pointer; font-weight: 500; font-size: 1.08rem; list-style: none; display: flex; justify-content: space-between; gap: 16px; color: var(--snow); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 1.4rem; line-height: 1; color: var(--glow); transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { color: var(--soft); margin: 12px 0 0; max-width: 62ch; }

/* CTA band */
.cta-band { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; padding: clamp(28px, 4vw, 44px); border-radius: var(--r-lg); background: var(--pine); }
.cta-band h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.cta-band p { margin: 8px 0 0; color: var(--sage); }

/* Contact */
.contact-photo { border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 4 / 5; max-width: 420px; margin-top: 32px; }
.contact-photo img { width: 100%; height: 100%; object-fit: cover; }

/* Footer */
.site-footer { border-top: 1px solid var(--line); padding: 48px 0 40px; color: var(--sage); font-size: 0.92rem; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; }
.site-footer h3 { font-size: 0.95rem; font-weight: 500; color: var(--mist); letter-spacing: 0; margin-bottom: 12px; }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.site-footer a { color: var(--sage); text-decoration: none; }
.site-footer a:hover { color: var(--mist); }
.footer-base { margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
}

/* Responsive */
@media (max-width: 1100px) {
  .nav a { font-size: 1.05rem; }
  .chip-groups { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 960px) {
  .split, .case, .meet, .score-grid, .phase, .network-group, .exp-group, .about-hero, .brands-inner { grid-template-columns: 1fr; }
  .options, .steps { grid-template-columns: 1fr; }
  .exp-group > h2 { position: static; }
  .meet-photo { max-width: 420px; }
  .about-photo { max-width: 460px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > :first-child { grid-column: 1 / -1; }
  .brands-inner { gap: 14px; }
}
@media (max-width: 640px) {
  body { font-size: 1rem; }
  .form-row, .network-items { grid-template-columns: 1fr; }
  .chip-groups { grid-template-columns: 1fr 1fr; }
  .gallery { grid-template-columns: 1fr 1fr; }
  .gallery figure:first-child { grid-column: 1 / -1; }
  .sc-dial { width: 60px; height: 60px; }
  .cta-band .btn, .btn-row .btn { width: 100%; }
}

/* ---- Adam's Stack ---- */
.eyebrow-text { color: var(--sage); font-size: 0.9rem; letter-spacing: 0.02em; margin: 0 0 14px; }
.stack-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid var(--line-strong); }
.stack-flow li { padding: 22px 18px 6px 0; position: relative; }
.stack-flow li::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--glow); }
.flow-step { display: block; color: var(--fern); font-size: 0.85rem; font-variant-numeric: tabular-nums; margin-bottom: 8px; }
.stack-flow h4 { font-size: 1.05rem; font-weight: 500; margin: 0 0 6px; }
.stack-flow p { margin: 0; color: var(--sage); font-size: 0.92rem; }
.stack-group { display: grid; grid-template-columns: 220px 1fr; gap: 28px; padding: 26px 0; border-top: 1px solid var(--line); }
.stack-group:first-child { border-top: 0; padding-top: 0; }
.stack-group-head h3 { font-size: 1.5rem; margin: 0 0 6px; }
.stack-group-head p { margin: 0; color: var(--sage); font-size: 0.95rem; }
.stack-tools { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.stack-tool { background: var(--raise); border: 1px solid var(--line); border-radius: 12px; padding: 18px 18px 16px; }
.stack-tool h4 { font-size: 1.02rem; font-weight: 600; margin: 0 0 6px; color: var(--mist); }
.stack-tool p { margin: 0; color: var(--soft); font-size: 0.93rem; line-height: 1.5; }
@media (max-width: 1100px) { .stack-flow { grid-template-columns: repeat(3, 1fr); row-gap: 8px; } .stack-tools { grid-template-columns: 1fr 1fr; } }
@media (max-width: 720px) {
  .stack-flow { grid-template-columns: 1fr; border-top: 0; border-left: 1px solid var(--line-strong); }
  .stack-flow li { padding: 0 0 22px 22px; }
  .stack-flow li::before { top: 6px; left: -5px; }
  .stack-group { grid-template-columns: 1fr; gap: 14px; }
  .stack-tools { grid-template-columns: 1fr; }
}

/* ---- Adam's Stack v2: tool cards, tooltips, Ideal Stacks ---- */
.hero-links { margin-top: 22px; }
.hero-links a { color: var(--glow); }
.stack-tools { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.stack-tools > li, .stack-supp li, .is-group li { position: relative; }
.tool { position: relative; display: flex; flex-direction: column; justify-content: flex-start; align-items: stretch; width: 100%; text-align: left; font: inherit; color: inherit; cursor: help;
  background: var(--raise); border: 1px solid var(--line); border-radius: 12px; padding: 16px 16px 15px; height: 100%; transition: border-color .15s; }
.tool:hover, .tool:focus-visible { border-color: var(--fern); outline: none; }
.tool-name { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-weight: 600; font-size: 1rem; color: var(--mist); margin-bottom: 6px; }
.tool-i { flex: none; width: 17px; height: 17px; border-radius: 50%; border: 1px solid var(--line-strong); color: var(--sage);
  font-size: .68rem; font-style: italic; font-family: Georgia, serif; display: grid; place-items: center; }
.tool-use { display: block; color: var(--soft); font-size: .9rem; line-height: 1.5; }
.tip { display: none; position: absolute; z-index: 40; top: calc(100% + 8px); left: 0; width: min(320px, calc(100vw - 32px));
  background: #0D1F27; border: 1px solid var(--line-strong); border-radius: 12px; padding: 14px 15px; box-shadow: 0 24px 48px -18px rgba(0,0,0,.85);
  font-size: .86rem; line-height: 1.5; color: var(--soft); text-align: left; font-weight: 400; cursor: default; }
.tool.tip-left .tip { left: auto; right: 0; }
.tool:hover .tip, .tool:focus .tip { display: block; }
.tip span { display: block; }
.tip-cost { margin-top: 9px; color: var(--mist); }
.tip-cost b { color: var(--glow); font-weight: 600; margin-right: 4px; }
.tip-src { margin-top: 8px; font-size: .76rem; color: var(--sage); }
.stack-supp { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 14px; }
.stack-supp > span { color: var(--sage); font-size: .85rem; }
.stack-supp ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tool-chip { display: inline-block; width: auto; padding: 6px 13px; border-radius: 999px; font-size: .88rem; color: var(--soft); background: transparent; }
.stack-note { margin-top: 30px; font-size: .85rem; color: var(--sage); max-width: 62em; }

.is-form { background: var(--deep); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(18px, 3vw, 28px); }
.is-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px 14px; }
.is-field { display: grid; gap: 6px; font-size: .82rem; color: var(--sage); }
.is-field select { font: inherit; font-size: .92rem; color: var(--mist); background: var(--raise); border: 1px solid var(--line-strong);
  border-radius: 10px; padding: 10px 34px 10px 12px; appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--sage) 50%), linear-gradient(135deg, var(--sage) 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.is-field select:focus { outline: 2px solid var(--fern); outline-offset: 1px; }
.is-result { margin-top: 28px; }
.is-head h3 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); margin: 0 0 8px; }
.is-head p:last-child { color: var(--sage); margin: 0; }
.is-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 24px 0 30px; }
.is-stats > div { background: var(--raise); border: 1px solid var(--line); border-radius: 12px; padding: 16px; display: grid; gap: 4px; }
.is-stats span { color: var(--sage); font-size: .82rem; }
.is-stats b { font-size: 1.45rem; font-weight: 600; color: var(--glow); letter-spacing: -.02em; }
.is-stats small { color: var(--sage); font-size: .78rem; }
.is-cols { display: grid; grid-template-columns: 1.25fr 1fr; gap: 32px; align-items: start; }
.is-group { margin-bottom: 22px; }
.is-group h4, .is-side h4 { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--sage); font-weight: 500; margin: 0 0 10px; }
.is-side h4 { margin-top: 22px; }
.is-side h4:first-child { margin-top: 0; }
.is-group ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.is-group li { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); }
.is-tool { display: block; background: none; border: 0; border-radius: 0; padding: 11px 0; height: auto; }
.is-tool:hover, .is-tool:focus-visible { border: 0; }
.is-tool:hover .is-name, .is-tool:focus-visible .is-name { color: var(--glow); }
.is-name { display: block; color: var(--mist); font-weight: 500; }
.is-plan { display: block; color: var(--sage); font-size: .84rem; }
.is-cost { flex: none; color: var(--soft); font-size: .9rem; font-variant-numeric: tabular-nums; }
.is-list, .is-phases { margin: 0; padding-left: 18px; color: var(--soft); font-size: .92rem; display: grid; gap: 8px; }
.is-phases b { color: var(--mist); font-weight: 600; display: block; }
.is-left b { color: var(--mist); font-weight: 500; }
.is-foot { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.is-foot p { margin: 0; color: var(--sage); font-size: .85rem; max-width: 52em; }
@media (max-width: 1100px) { .is-grid { grid-template-columns: repeat(3, 1fr); } .is-cols { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .is-grid { grid-template-columns: 1fr 1fr; } .is-stats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px) { .is-grid { grid-template-columns: 1fr; } }

/* ---- Ideal Stacks chips + cost ballpark ---- */
.is-grid { grid-template-columns: repeat(2, 1fr); gap: 20px 28px; }
fieldset.is-field { border: 0; margin: 0; padding: 0; min-width: 0; }
fieldset.is-field legend { padding: 0; margin-bottom: 9px; font-size: .86rem; color: var(--mist); font-weight: 500; }
fieldset.is-field legend small { margin-left: 8px; color: var(--sage); font-weight: 400; font-size: .78rem; }
.chips { display: flex; flex-wrap: wrap; gap: 7px; }
.chip { position: relative; cursor: pointer; }
.chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.chip span { display: inline-flex; align-items: center; gap: 7px; padding: 8px 13px; border-radius: 999px; border: 1px solid var(--line-strong);
  color: var(--soft); font-size: .86rem; background: var(--raise); transition: background .12s, border-color .12s, color .12s; user-select: none; }
fieldset[data-multi] .chip span::before { content: ""; width: 12px; height: 12px; border-radius: 3px; border: 1.5px solid var(--sage); flex: none; }
fieldset[data-multi] .chip input:checked + span::before { background: var(--ink); border-color: var(--ink);
  box-shadow: inset 0 0 0 2px var(--glow); }
.chip input:checked + span { background: var(--glow); border-color: var(--glow); color: var(--ink); font-weight: 500; }
.chip input:focus-visible + span { outline: 2px solid var(--fern); outline-offset: 2px; }
.stack-cost { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; background: var(--deep);
  border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(22px, 3.5vw, 36px); }
.stack-cost h2 { color: var(--glow); margin: 0 0 14px; }
.stack-cost .lede { font-size: 1.02rem; }
.stack-cost-detail summary { cursor: pointer; color: var(--mist); font-weight: 500; padding: 10px 0; }
.table-scroll { overflow-x: auto; }
.stack-cost-detail table { width: 100%; border-collapse: collapse; font-size: .88rem; margin-top: 8px; }
.stack-cost-detail th, .stack-cost-detail td { text-align: left; padding: 7px 8px; border-bottom: 1px solid var(--line); color: var(--soft); }
.stack-cost-detail th { color: var(--sage); font-weight: 500; font-size: .8rem; }
.stack-cost-detail td:last-child, .stack-cost-detail th:last-child { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.stack-cost-detail tfoot td { color: var(--mist); font-weight: 600; border-bottom: 0; }
.stack-cost-detail tfoot tr + tr td { font-weight: 400; color: var(--soft); }
.stack-cost-detail tfoot td:nth-child(2) { font-weight: 400; color: var(--sage); }
@media (max-width: 1100px) { .stack-cost { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .is-grid { grid-template-columns: 1fr; } }

/* case-study testimonials */
.case-quote { grid-column: 1 / -1; margin: 6px 0 0; padding: 30px 0 0; border-top: 1px solid var(--line); }
.case-quote blockquote { margin: 0; max-width: 72ch; font-family: var(--serif); font-style: italic; font-size: clamp(1.02rem, 1.4vw, 1.14rem); line-height: 1.65; color: var(--mist); position: relative; padding-left: 26px; border-left: 2px solid var(--fern); }
.case-quote blockquote p { margin: 0 0 14px; }
.case-quote blockquote p:last-child { margin-bottom: 0; }
.case-quote figcaption { margin-top: 16px; padding-left: 28px; color: var(--sage); font-size: .92rem; }
.case-quote figcaption strong { color: var(--mist); font-weight: 500; }
.case-quote.long blockquote { max-width: none; columns: 2; column-gap: 48px; }
.case-quote.long blockquote p { break-inside: avoid; }
@media (max-width: 900px) { .case-quote.long blockquote { columns: 1; } }

/* ---- Free resources hub ---- */
.res-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.res-grid-2 { grid-template-columns: repeat(2, 1fr); }
.res-card { display: flex; flex-direction: column; gap: 8px; background: var(--raise); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 22px; color: inherit; text-decoration: none; }
.res-card h3 { margin: 0; font-size: 1.2rem; line-height: 1.25; color: var(--snow); }
.res-card p { margin: 0; color: var(--soft); font-size: .95rem; }
.res-kicker { color: var(--fern) !important; font-size: .78rem !important; letter-spacing: .06em; text-transform: uppercase; }
.res-link { transition: border-color .15s, transform .15s; }
.res-link:hover { border-color: var(--fern); transform: translateY(-2px); }
.res-go { margin-top: auto; padding-top: 10px; color: var(--glow); font-size: .92rem; }
.res-form { margin-top: 10px; gap: 10px; }
.res-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.res-form .btn { justify-self: start; }
@media (max-width: 1000px) { .res-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 680px) { .res-grid, .res-grid-2, .res-form-row { grid-template-columns: 1fr; } }

/* ---- Tool pages ---- */
.page-head-tight { padding-bottom: 8px; }
.crumbs { color: var(--sage); font-size: .88rem; margin: 0 0 14px; }
.crumbs a { color: var(--sage); }
.calc { display: grid; grid-template-columns: minmax(300px, 0.85fr) 1.15fr; gap: 28px; align-items: start; }
.calc-h { font-size: 1.15rem; margin: 0 0 14px; }
.calc-h3 { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--sage); font-weight: 500; margin: 26px 0 10px; }
.calc-field { display: grid; gap: 6px; margin-bottom: 14px; }
.calc-label { font-size: .88rem; color: var(--mist); }
.calc-label small { display: block; color: var(--sage); font-size: .78rem; margin-top: 2px; }
.calc-input { display: flex; align-items: center; background: var(--raise); border: 1px solid var(--line-strong); border-radius: 10px; overflow: hidden; }
.calc-input:focus-within { outline: 2px solid var(--fern); outline-offset: 1px; }
.calc-input input { flex: 1; min-width: 0; background: transparent; border: 0; color: var(--snow); font: inherit; font-size: 1rem; padding: 10px 12px; }
.calc-input input:focus { outline: none; }
.calc-affix { color: var(--sage); font-size: .88rem; padding: 0 12px; white-space: nowrap; }
.calc-affix:first-child { padding-right: 0; }
.calc-check { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; color: var(--soft); margin: 4px 0 6px; cursor: pointer; }
.calc-check input { margin-top: 3px; accent-color: var(--fern); }
.calc-note { color: var(--sage); font-size: .84rem; margin: 14px 0 0; }
.calc-out { position: sticky; top: 90px; }
.calc-verdict p { margin: 0 0 6px; color: var(--soft); }
.calc-big { font-size: clamp(2rem, 4vw, 2.8rem) !important; font-weight: 600; letter-spacing: -.03em; color: var(--snow) !important; line-height: 1.1; }
.calc-big.good { color: var(--glow) !important; }
.calc-meter { height: 6px; background: var(--line-strong); border-radius: 6px; overflow: hidden; margin: 14px 0 4px; }
.calc-meter span { display: block; height: 100%; background: var(--glow); border-radius: 6px; }
.calc-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 20px; }
.calc-stats > div { background: var(--raise); border: 1px solid var(--line); border-radius: 12px; padding: 14px; display: grid; gap: 3px; }
.calc-stats span { color: var(--sage); font-size: .8rem; }
.calc-stats b { font-size: 1.35rem; color: var(--glow); font-weight: 600; }
.calc-stats small { color: var(--sage); font-size: .78rem; }
.funnel { display: grid; gap: 8px; }
.funnel-row { display: grid; grid-template-columns: 120px 1fr 60px; gap: 10px; align-items: center; font-size: .9rem; }
.funnel-l { color: var(--soft); }
.funnel-bar { height: 22px; background: var(--raise); border-radius: 6px; overflow: hidden; }
.funnel-bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--pine), var(--fern)); border-radius: 6px; }
.funnel-v { text-align: right; color: var(--snow); font-variant-numeric: tabular-nums; }
.calc-levers { margin: 0; padding-left: 18px; display: grid; gap: 9px; color: var(--soft); font-size: .94rem; }
.calc-levers b { color: var(--mist); font-weight: 600; }
.hc-bars { display: grid; gap: 10px; margin-top: 18px; }
.hc-bar { display: grid; grid-template-columns: 90px 1fr auto; gap: 12px; align-items: center; font-size: .92rem; color: var(--soft); }
.hc-bar b { color: var(--snow); font-variant-numeric: tabular-nums; }
.hc-track { height: 26px; background: var(--raise); border-radius: 6px; overflow: hidden; }
.hc-fill { display: block; height: 100%; border-radius: 6px; }
.hc-fill.ft { background: var(--sage); }
.hc-fill.fr { background: var(--glow); }
.calc-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.calc-table td { padding: 8px 4px; border-bottom: 1px solid var(--line); color: var(--soft); }
.calc-table td:last-child { text-align: right; color: var(--mist); font-variant-numeric: tabular-nums; white-space: nowrap; }
.calc-table tr.total td { color: var(--snow); font-weight: 600; border-bottom: 0; }
@media (max-width: 900px) { .calc { grid-template-columns: 1fr; } .calc-out { position: static; } .calc-stats { grid-template-columns: 1fr 1fr; } }

/* AI visibility checker */
.vis-step { margin-bottom: 34px; }
.vis-fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 14px; }
.vis-fields .calc-input input { font-size: .95rem; }
.vis-prompts { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 10px; counter-reset: vp; }
.vis-prompt { background: var(--raise); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; display: grid; gap: 10px; }
.vis-q { display: flex; gap: 10px; align-items: baseline; }
.vis-tag { flex: none; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--fern); }
.vis-text { color: var(--snow); }
.vis-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.vis-btn { font: inherit; font-size: .82rem; color: var(--mist); background: transparent; border: 1px solid var(--line-strong); border-radius: 999px; padding: 5px 12px; text-decoration: none; cursor: pointer; }
.vis-btn:hover { border-color: var(--fern); color: var(--snow); }
.vis-result { display: flex; flex-wrap: wrap; gap: 6px; }
.vis-result label { position: relative; cursor: pointer; }
.vis-result input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.vis-result span { display: inline-block; font-size: .8rem; padding: 4px 11px; border-radius: 999px; border: 1px solid var(--line); color: var(--sage); }
.vis-result input:checked + span { background: var(--pine); border-color: var(--fern); color: var(--snow); }
.vis-result input[value="rec"]:checked + span { background: var(--glow); color: var(--ink); border-color: var(--glow); }
.vis-result input:focus-visible + span { outline: 2px solid var(--fern); outline-offset: 2px; }
.vis-score { display: flex; gap: 18px; align-items: center; background: var(--deep); border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: 18px 22px; margin-top: 16px; }
.vis-score p { margin: 4px 0 0; color: var(--soft); font-size: .92rem; }
.vis-score ol { margin: 6px 0 0; padding-left: 18px; color: var(--soft); font-size: .92rem; display: grid; gap: 4px; }
.vis-score-n { flex: none; font-size: 2.6rem; font-weight: 600; color: var(--glow); letter-spacing: -.03em; line-height: 1; }
.vis-score-n small { font-size: 1rem; color: var(--sage); font-weight: 400; }
.vis-check { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 14px; }
.vis-group { border: 1px solid var(--line); border-radius: var(--r-lg); padding: 16px; margin: 0; background: var(--raise); }
.vis-group legend { padding: 0 6px; color: var(--snow); font-weight: 500; }
.vis-item { display: flex; gap: 10px; align-items: flex-start; padding: 7px 0; font-size: .9rem; color: var(--soft); cursor: pointer; border-bottom: 1px solid var(--line); }
.vis-item:last-child { border-bottom: 0; }
.vis-item input { margin-top: 3px; accent-color: var(--fern); flex: none; }
@media (max-width: 1000px) { .vis-fields, .vis-check { grid-template-columns: 1fr; } }

/* ---- Articles ---- */
.post-wrap { max-width: 760px; }
.post-meta { color: var(--sage); font-size: .9rem; margin: 6px 0 14px; }
.post-body { padding-bottom: 40px; }
.post-body p, .post-body li { color: var(--soft); font-size: 1.06rem; line-height: 1.75; }
.post-body h2 { font-size: clamp(1.4rem, 2.4vw, 1.75rem); margin: 38px 0 12px; }
.post-body h3 { font-size: 1.15rem; margin: 26px 0 8px; color: var(--snow); }
.post-body ul { padding-left: 20px; display: grid; gap: 6px; }
.post-body a { color: var(--glow); }
.post-table { margin: 16px 0 18px; }
.post-cta { background: var(--deep); border: 1px solid var(--line-strong); border-left: 3px solid var(--fern); border-radius: 14px; padding: 22px; margin: 40px 0; }
.post-cta h3 { margin: 0 0 6px; }
.post-cta p { margin: 0 0 14px; }
.post-cta .btn { color: var(--ink); }
.post-sources { padding-left: 20px; font-size: .9rem; }
.post-sources li { font-size: .9rem; line-height: 1.6; }
.post-author { display: flex; gap: 16px; align-items: flex-start; border-top: 1px solid var(--line); margin-top: 32px; padding-top: 24px; }
.post-author img { width: 64px; height: 64px; border-radius: 50%; flex: none; }
.post-author p { margin: 0; font-size: .95rem !important; }
.post h1, .post h2, .post h3 { max-width: none; }
.post h1 { font-size: clamp(2rem, 4.4vw, 3.1rem); }
.case-quotes { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 6px; padding-top: 30px; border-top: 1px solid var(--line); }
.case-quotes .case-quote { grid-column: auto; margin: 0; padding: 0; border-top: 0; display: flex; flex-direction: column; }
.case-quotes .case-quote figcaption { margin-top: auto; padding-top: 16px; }
.case-quotes .case-quote blockquote { max-width: none; }
@media (max-width: 900px) { .case-quotes { grid-template-columns: 1fr; gap: 28px; } }

@media (max-width: 600px) { .pain-a { grid-template-columns: 52px 1fr; gap: 14px; } .pain-a .who { width: 52px; height: 52px; } }

/* Ideal Stacks collapsible */
.is-more { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 6px 0 0; }
.is-more > summary { list-style: none; cursor: pointer; padding: 18px 0; color: var(--glow); font-weight: 500; display: flex; align-items: center; gap: 10px; }
.is-more > summary::-webkit-details-marker { display: none; }
.is-more > summary::before { content: "+"; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--fern); font-size: 1.1rem; line-height: 1; flex: none; }
.is-more[open] > summary::before { content: "−"; }
.is-more .is-more-close, .is-more[open] .is-more-open { display: none; }
.is-more[open] .is-more-close { display: inline; }
.is-more > .is-cols { padding: 8px 0 28px; }

/* Explore an app */
.ex-controls { display: grid; gap: 16px; margin-bottom: 22px; }
.ex-cat { display: inline-grid; gap: 6px; max-width: 320px; font-size: .86rem; color: var(--mist); }
.ex-cat select { font: inherit; font-size: 1rem; color: var(--snow); background: var(--raise); border: 1px solid var(--line-strong); border-radius: 10px; padding: 11px 38px 11px 14px; appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--sage) 50%), linear-gradient(135deg, var(--sage) 50%, transparent 50%);
  background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.ex-cat select:focus { outline: 2px solid var(--fern); outline-offset: 1px; }
.ex-apps { display: flex; flex-wrap: wrap; gap: 8px; }
.ex-app { font: inherit; font-size: .9rem; color: var(--soft); background: var(--raise); border: 1px solid var(--line-strong); border-radius: 999px; padding: 8px 15px; cursor: pointer; }
.ex-app.supp { border-style: dashed; }
.ex-app:hover { border-color: var(--fern); color: var(--snow); }
.ex-app.on { background: var(--glow); border-color: var(--glow); color: var(--ink); font-weight: 500; }
.ex-app:focus-visible { outline: 2px solid var(--fern); outline-offset: 2px; }
.ex-panel { background: var(--ink); border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: clamp(22px, 3.5vw, 36px); }
.ex-kicker { color: var(--fern); font-size: .78rem; text-transform: uppercase; letter-spacing: .07em; margin: 0 0 8px; }
.ex-head h3 { font-size: clamp(1.8rem, 3.6vw, 2.5rem); margin: 0 0 18px; }
.ex-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: start; }
.ex-main h4, .ex-box h4 { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--sage); font-weight: 500; margin: 0 0 8px; }
.ex-main h4 { margin-top: 22px; }
.ex-main h4:first-child { margin-top: 0; }
.ex-main p, .ex-main li { color: var(--soft); font-size: 1.02rem; line-height: 1.7; }
.ex-main p { margin: 0; }
.ex-main ul { margin: 0; padding-left: 18px; display: grid; gap: 4px; }
.ex-side { display: grid; gap: 14px; }
.ex-box { background: var(--raise); border: 1px solid var(--line); border-radius: 14px; padding: 18px; }
.ex-box p { margin: 0; color: var(--mist); font-size: .95rem; line-height: 1.6; }
.ex-box .ex-src { margin-top: 10px; color: var(--sage); font-size: .8rem; }
.ex-adam { border-left: 3px solid var(--fern); }
.ex-adam p { font-family: var(--serif); font-style: italic; color: var(--mist); }
@media (max-width: 900px) { .ex-grid { grid-template-columns: 1fr; } }
.ex-key { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--sage); font-size: .8rem; }
.ex-key span { display: inline-block; width: 22px; height: 12px; border-radius: 999px; border: 1px solid var(--line-strong); }
.ex-key .ex-key-dash { border-style: dashed; margin-left: 12px; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 26px; }
.hero-actions .hero-links { margin: 0; }

/* Tool directory */
.dir-controls { display: grid; gap: 16px; margin-bottom: 26px; }
.dir-tabs { display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid var(--line); }
.dir-tab { font: inherit; font-size: 1.05rem; color: var(--sage); background: none; border: 0; border-bottom: 2px solid transparent; padding: 10px 16px; margin-bottom: -1px; cursor: pointer; }
.dir-tab:hover { color: var(--snow); }
.dir-tab.on { color: var(--snow); border-bottom-color: var(--glow); }
.dir-size { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.dir-size > span { color: var(--sage); font-size: .86rem; margin-right: 4px; }
.dir-subs { display: flex; flex-wrap: wrap; gap: 7px; }
.dir-sub { font: inherit; font-size: .86rem; color: var(--soft); background: transparent; border: 1px solid var(--line-strong); border-radius: 999px; padding: 6px 13px; cursor: pointer; }
.dir-sub:hover { border-color: var(--fern); color: var(--snow); }
.dir-sub.on { background: var(--pine); border-color: var(--fern); color: var(--snow); }
.dir-group { padding: 22px 0; border-top: 1px solid var(--line); }
.dir-group:first-child { border-top: 0; padding-top: 0; }
.dir-group-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-bottom: 14px; }
.dir-group-head h3 { font-size: 1.3rem; margin: 0; }
.dir-group-head p { margin: 0; color: var(--sage); font-size: .92rem; }
.dir-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.dir-card { background: var(--raise); border: 1px solid var(--line); border-radius: 12px; padding: 14px 15px; display: flex; flex-direction: column; gap: 8px; }
.dir-card.in-stack { border-color: var(--fern); }
.dir-card-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.dir-card h4 { margin: 0 6px 0 0; font-size: 1rem; color: var(--snow); font-weight: 600; }
.dir-card p { margin: 0; color: var(--soft); font-size: .88rem; line-height: 1.5; }
.dir-badge { font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; padding: 2px 7px; border-radius: 999px; }
.dir-badge.stack { background: var(--glow); color: var(--ink); }
.dir-badge.au { border: 1px solid var(--sage); color: var(--sage); }
.dir-fits { display: flex; flex-wrap: wrap; gap: 5px; margin-top: auto; }
.dir-fit { font-size: .72rem; color: var(--mist); background: var(--deep); border: 1px solid var(--line-strong); border-radius: 6px; padding: 2px 7px; }
.dir-explore { align-self: flex-start; font: inherit; font-size: .84rem; color: var(--glow); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }


.dir-search input { width: 100%; max-width: 420px; font: inherit; color: var(--snow); background: var(--deep); border: 1px solid var(--line-strong); border-radius: 10px; padding: 10px 14px; }
.dir-search input:focus { outline: 2px solid var(--glow); outline-offset: 1px; }
.dir-card h4 a.dir-link { color: inherit; text-decoration: none; }
.dir-card h4 a.dir-link:hover { color: var(--glow); }
.dir-card { position: relative; }
.dir-card h4 a.dir-link::after { content: ""; position: absolute; inset: 0; border-radius: 12px; }
.dir-card:hover { border-color: var(--fern); }
a.dir-explore { text-decoration: underline; }
.tool-more { display: inline-block; margin-top: 6px; font-size: .84rem; color: var(--glow); }

/* Prototype additions */
:root { padding-top: env(safe-area-inset-top, 0px); }
.site-header { top: env(safe-area-inset-top, 0px); }
.proto-flag { position: fixed; left: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); z-index: 60; background: rgba(13,31,39,.94); border: 1px solid var(--line-strong); color: var(--sage); font-size: .8rem; padding: 6px 12px; border-radius: 999px; }




/* ---------- Nav accordion ---------- */
.nav-group { display: flex; flex-direction: column; border-bottom: 1px solid var(--line); }
.nav button.nav-parent { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; background: none; border: 0; padding: 12px 2px; min-height: 44px; font: inherit; font-size: 1rem; color: var(--snow); font-weight: 500; text-align: left; cursor: pointer; }
.nav button.nav-parent:hover, .nav button.nav-parent.is-current { color: var(--mint); }
.nav-chev { flex: none; transition: transform .2s ease; }
.nav button.nav-parent[aria-expanded="true"] .nav-chev { transform: rotate(180deg); }
.nav-subs { display: flex; flex-direction: column; padding: 0 0 8px; }
.nav-subs[hidden] { display: none; }
.nav .nav-subs a.nav-sub { border-bottom: 0; padding: 9px 2px 9px 16px; min-height: 40px; display: flex; align-items: center; }
.nav a { min-height: 44px; display: flex; align-items: center; }
.nav a.btn { justify-content: center; }
@media (max-width: 680px) { .nav { left: 16px; right: 16px; min-width: 0; } }

@media (max-width: 680px) {
  .rotator-dots { gap: 0; }
  .rotator-dot { width: 30px; height: 30px; }
  .model-step { font-size: .8rem !important; }
}
/* ---------- Site structure v3: services, tech, tabs ---------- */
.nav { max-height: calc(100vh - 96px); overflow-y: auto; }
.nav a.nav-parent { color: var(--snow); font-weight: 500; }
.nav a.nav-sub { padding-left: 18px; font-size: .94rem; color: var(--sage); }
.nav a.nav-sub[aria-current="page"], .nav a.nav-parent[aria-current="page"] { color: var(--mint); }
.sub-nav a[aria-current="page"] { border-color: var(--mint); color: var(--mint); }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 24px; }
.principle { border-top: 1px solid var(--line-strong); padding-top: 20px; }
.principle h3 { margin-bottom: 10px; }
.principle p { margin: 0; color: var(--soft); font-size: .98rem; }
.tablist { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.tablist button { font: inherit; font-size: .98rem; padding: 10px 20px; border-radius: var(--r-md); border: 1px solid var(--line-strong); background: transparent; color: var(--soft); cursor: pointer; }
.tablist button:hover { border-color: var(--mint); color: var(--snow); }
.tablist button[aria-selected="true"] { background: var(--mint); border-color: var(--mint); color: var(--midnight); font-weight: 500; }
.model-intro { max-width: 72ch; color: var(--soft); margin: 0 0 24px; font-size: 1.05rem; }
.model-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.model-card { background: var(--deep); border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: clamp(20px, 2.4vw, 28px); }
.band .model-card { background: var(--raise); }
.model-card h3 { margin-bottom: 14px; }
.model-card .ticks { font-size: .95rem; }
.model-card > p { color: var(--soft); font-size: .96rem; margin: 0; }
.model-step { color: var(--mint) !important; font-size: .78rem !important; letter-spacing: .22em; text-transform: uppercase; font-weight: 500; margin: 0 0 8px !important; }
.funnel-stages { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.model-card .think { margin-top: 14px; color: var(--sage); font-size: .92rem; }
.model-card .think strong { color: var(--snow); font-weight: 500; }
.help-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.help-steps li { border-top: 2px solid var(--mint); padding-top: 18px; }
.help-num { display: block; color: var(--mint); font-size: .85rem; font-variant-numeric: tabular-nums; margin-bottom: 10px; }
.help-steps h3 { margin-bottom: 8px; }
.help-steps p { margin: 0; color: var(--soft); font-size: .96rem; }
.res-go { margin-top: auto; padding-top: 10px; color: var(--mint); font-size: .92rem; }
.price-tag { margin: -4px 0 14px; color: var(--mint); font-weight: 500; font-size: .95rem; }
.price-table table { width: 100%; border-collapse: collapse; font-size: .98rem; }
.price-table th, .price-table td { text-align: left; padding: 14px 12px; border-bottom: 1px solid var(--line); color: var(--soft); vertical-align: top; }
.price-table th { color: var(--sage); font-weight: 500; font-size: .85rem; }
.price-table td:first-child { color: var(--snow); font-weight: 500; white-space: nowrap; }
.price-table td:last-child { color: var(--mint); font-weight: 500; }
@media (max-width: 1000px) {
  .principles, .funnel-stages, .help-steps { grid-template-columns: 1fr 1fr; }
  .model-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .principles, .funnel-stages, .help-steps { grid-template-columns: 1fr; }
  .price-table td:first-child { white-space: normal; }
}



/* ---------- Custom builds ---------- */
.build-cases { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.build-case { background: var(--deep); border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: clamp(22px, 2.6vw, 30px); }
.build-case h3 { margin: 6px 0 16px; }
.build-case dl { margin: 0; display: grid; gap: 14px; }
.build-case dt { color: var(--mint); font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 500; margin-bottom: 4px; }
.build-case dd { margin: 0; color: var(--soft); font-size: .96rem; line-height: 1.55; }
.build-case dd strong { color: var(--snow); font-weight: 500; }
.help-steps.five { grid-template-columns: repeat(5, 1fr); }
.options.four { grid-template-columns: repeat(2, 1fr); }
.res-grid-2.odd > :last-child { grid-column: 1 / -1; }
.build-box { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; padding: clamp(24px, 3.4vw, 36px); border: 1px solid var(--line-strong); border-left: 3px solid var(--mint); border-radius: var(--r-lg); background: var(--deep); }
.build-box h2 { font-size: clamp(1.35rem, 2.4vw, 1.75rem); margin-bottom: 8px; }
.build-box p { margin: 0; color: var(--soft); max-width: 62ch; }
.audit-qs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.goals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.goal { background: var(--deep); border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: clamp(22px, 2.6vw, 30px); }
.goal .goal-num { color: var(--mint); font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 500; }
.goal h3 { margin: 8px 0 10px; }
.goal p { margin: 0; color: var(--soft); font-size: .98rem; }
@media (max-width: 1100px) { .help-steps.five { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 960px) { .build-cases, .options.four, .audit-qs, .goals { grid-template-columns: 1fr; } .build-box { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .help-steps.five { grid-template-columns: 1fr; } .res-grid-2.odd > :last-child { grid-column: auto; } }

/* ---------- GEO: at a glance + FAQ ---------- */
.glance { border-bottom: 1px solid var(--line); }
.glance-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(24px, 5vw, 64px); align-items: start; }
.glance-summary { font-size: 1.08rem; line-height: 1.6; color: var(--snow); margin: 6px 0 0; max-width: 60ch; }
.glance-facts { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.glance-facts > div { background: var(--deep); padding: 16px 18px; }
.glance-facts dt { color: var(--mint); font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 500; margin-bottom: 6px; }
.glance-facts dd { margin: 0; color: var(--soft); font-size: .95rem; line-height: 1.45; }
.faq summary h3 { display: inline; font-size: inherit; font-weight: 500; letter-spacing: 0; line-height: 1.4; margin: 0; color: inherit; }
@media (max-width: 900px) { .glance-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .glance-facts { grid-template-columns: 1fr; } }


/* ---------- Education Centre ---------- */
.ec-feature { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 48px); align-items: center; background: linear-gradient(135deg, rgba(126,214,180,0.10), rgba(126,214,180,0.02)); border: 1px solid var(--fern); border-radius: var(--r-lg); padding: clamp(22px, 4vw, 40px); color: inherit; text-decoration: none; }
.ec-feature h2 { margin: 6px 0 10px; }
.ec-feature p { color: var(--soft); margin: 0; max-width: 62ch; }
.ec-feature .res-go { display: inline-block; margin-top: 16px; }
.ec-feature-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: ecf; }
.ec-feature-list li { background: var(--deep); border: 1px solid var(--line-strong); border-radius: 12px; padding: 14px 16px; color: var(--snow); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ec-feature-list span { color: var(--sage); font-size: .88rem; }
@media (max-width: 860px) { .ec-feature { grid-template-columns: minmax(0, 1fr); } }
.prose-table { margin: 18px 0 22px; border: 1px solid var(--line); border-radius: 14px; }
.prose-table table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.prose-table th, .prose-table td { text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--line); vertical-align: top; color: var(--soft); line-height: 1.5; }
.prose-table tr:last-child th, .prose-table tr:last-child td { border-bottom: 0; }
.prose-table thead th { color: var(--sage); font-weight: 500; font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; background: var(--deep); }
.prose-table tbody th { color: var(--snow); font-weight: 500; white-space: nowrap; }
.prose-table a { color: var(--glow); }
@media (max-width: 560px) { .prose-table tbody th { white-space: normal; } .prose-table table:has(thead) { min-width: 600px; } }

/* ---------- Mobile polish ---------- */
body { overflow-wrap: break-word; }
.nav-toggle-label { white-space: nowrap; }
.tp-price a, .tp-card dd, .post-body a, .glance-facts dd { overflow-wrap: anywhere; }
.stack-tools > li { display: flex; flex-direction: column; }
.stack-tools > li > .tool { height: auto; flex: 1 1 auto; }
.stack-tools > li > .tool-more { align-self: flex-start; margin-top: 8px; }
@media (max-width: 600px) {
  .glance-facts dt, .build-case dt, .goal .goal-num, .vis-tag, .dir-fit, .dir-badge, .tp-badge, .sp-cert, .fg-tiles b, .fg-steps b, .fg-axis { font-size: .8rem; }
  .table-scroll.stack { border: 0; overflow: visible; }
  .table-scroll.stack table, .table-scroll.stack tbody, .table-scroll.stack tfoot, .table-scroll.stack tr, .table-scroll.stack td, .table-scroll.stack tbody th { display: block; width: 100%; }
  .table-scroll.stack thead { display: none; }
  .table-scroll.stack table { min-width: 0 !important; }
  .table-scroll.stack tr { border: 1px solid var(--line); border-radius: 14px; padding: 6px 0; margin-bottom: 10px; background: var(--deep); }
  .table-scroll.stack td, .table-scroll.stack tbody th { border: 0 !important; padding: 6px 14px !important; text-align: left !important; white-space: normal !important; }
  .table-scroll.stack td::before { content: attr(data-label); display: block; color: var(--mint); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 2px; font-weight: 500; }
  .table-scroll.stack td[data-label=""]::before, .table-scroll.stack td:not([data-label])::before { display: none; }
  .table-scroll.stack td:first-child { color: var(--snow); font-weight: 500; }
}

/* ---------- Team ---------- */
.tm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tm-card { background: var(--raise); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; display: flex; flex-direction: column; transition: border-color .2s, transform .2s; }
.tm-card:hover { border-color: var(--fern); transform: translateY(-3px); }
.tm-photo { aspect-ratio: 1 / 1; overflow: hidden; background: #07141a; border-bottom: 1px solid var(--line); }
.tm-photo img, .tm-photo svg { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.tm-av .tm-lines path { stroke: #ffffff; stroke-opacity: .05; stroke-width: 1; }
.tm-av text { font-family: var(--font-body, system-ui, sans-serif); }
.tm-body { padding: 18px 18px 20px; display: grid; gap: 8px; align-content: start; }
.tm-body h3 { margin: 0; font-size: 1.12rem; line-height: 1.25; color: var(--snow); }
.tm-body p { margin: 0; color: var(--soft); font-size: .95rem; line-height: 1.55; }
.tm-body .tm-kicker { color: var(--mint); font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; }
.tm-body .tm-name { color: var(--glow); font-weight: 500; margin-top: -4px; }
.tm-chips { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.tm-chips li { font-size: .8rem; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line-strong); color: var(--mist); }
.tm-lead { border-color: var(--fern); background: linear-gradient(160deg, rgba(126,214,180,0.12), rgba(126,214,180,0.02)); }
.tm-note { margin: 22px 0 0; color: var(--sage); }
@media (max-width: 960px) { .tm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .tm-grid { gap: 10px; }
  .tm-body { padding: 12px 12px 14px; gap: 6px; }
  .tm-body h3 { font-size: .98rem; }
  .tm-body p { font-size: .86rem; line-height: 1.45; }
  .tm-body .tm-kicker { font-size: .7rem; letter-spacing: .1em; }
  .tm-chips { display: none; }
  .tm-lead { grid-column: 1 / -1; flex-direction: row; }
  .tm-lead .tm-photo { width: 42%; flex: none; aspect-ratio: auto; border-bottom: 0; border-right: 1px solid var(--line); }
}

/* ---------- v4 build guide ---------- */
.form-privacy { margin: 12px 0 0; font-size: .85rem; color: var(--sage); }
.form-privacy a, .form-note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.stk { display: flex; flex-direction: column; }
.stk-band { --c: #7ed6b4; --t: rgba(126,214,180,.07); border: 1.5px solid var(--c); background: var(--t); border-radius: 18px; padding: clamp(16px, 2.2vw, 22px); }
.stk-a { --c: #7ed6b4; --t: rgba(126,214,180,.07); } .stk-b { --c: #8fd3e8; --t: rgba(143,211,232,.07); } .stk-c { --c: #b4b0f0; --t: rgba(180,176,240,.08); } .stk-d { --c: #e9c47e; --t: rgba(233,196,126,.07); }
.stk-band-head { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.stk-band-head h3 { margin: 0; font-size: 1.05rem; color: var(--c); }
.stk-num { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--c); color: var(--c); font-size: .8rem; font-weight: 600; }
.stk-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.stk-card { background: var(--deep); border: 1px solid var(--c); border-radius: 10px; padding: 14px 16px; text-align: center; display: flex; flex-direction: column; justify-content: center; min-height: 64px; }
.stk-card h4 { margin: 0; font-size: 1rem; }
.stk-card p { margin: 4px 0 0; font-size: .85rem; color: var(--sage); }
.stk-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.stk-chips li { flex: 1 1 140px; background: var(--deep); border: 1px solid var(--c); border-left: 4px solid var(--c); border-radius: 6px; padding: 9px 14px; font-size: .92rem; text-align: center; }
.stk-note { margin: 12px 0 0; font-size: .92rem; color: var(--sage); }
.stk-means { margin: 8px 0 0; font-size: .92rem; color: var(--mist); }
.stk-link { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 52px; padding: 6px 0; color: var(--sage); font-size: .82rem; }
.stk-link svg { width: 14px; height: 26px; display: block; }
.stk-more { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.q-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.cx-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cx-high { border-style: dashed; }
.cx-scale { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; padding-top: 22px; }
.cx-scale::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; border-radius: 6px; background: linear-gradient(90deg, #7ed6b4, #8fd3e8 50%, #e9c47e); }
.cx-tag { margin: 0 0 4px; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--glow); }
.cx-step h3 { margin: 0 0 6px; font-size: 1.1rem; }
.cx-step p:last-child { margin: 0; color: var(--sage); }
.post-wide-head .wrap > * { max-width: 46rem; }
.ar { display: grid; gap: 12px; }
.ar-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 10px; align-items: stretch; }
.ar-arrow { align-self: center; color: var(--sage); font-size: 1.3rem; }
.ar-part { --c: #7ed6b4; border: 1.5px solid var(--c); border-radius: 16px; padding: 16px; background: rgba(126,214,180,.06); }
.ar-people { --c: #7ed6b4; } .ar-screens { --c: #8fd3e8; } .ar-workflows { --c: #b4b0f0; } .ar-data { --c: #e9c47e; }
.ar-ai { --c: #f0a6c8; background: rgba(240,166,200,.07); border-style: dashed; } .ar-conn { --c: #a7b8b3; background: rgba(167,184,179,.06); }
.ar-head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.ar-head h3 { margin: 0; font-size: 1.02rem; color: var(--c); }
.ar-num { font-size: .74rem; font-weight: 600; color: var(--c); border: 1.5px solid var(--c); border-radius: 99px; padding: 1px 7px; }
.ar-part > p { margin: 0 0 10px; font-size: .9rem; color: var(--soft); }
.ar-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ar-chips li { font-size: .8rem; padding: 3px 9px; border-radius: 99px; border: 1px solid var(--c); color: var(--mist); background: var(--deep); }
.ar-span .ar-part { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; }
.ar-span .ar-head { flex: 0 0 190px; } .ar-span .ar-part > p { flex: 1 1 300px; } .ar-span .ar-chips { margin-left: auto; }
.ar-span .ar-head, .ar-span .ar-part > p { margin: 0; }
.as { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.as-step { border: 1px solid var(--line-strong); border-radius: 14px; padding: 16px; background: var(--raise); }
.as-step:nth-child(1) { border-top: 3px solid #7ed6b4; } .as-step:nth-child(2) { border-top: 3px solid #8fd3e8; } .as-step:nth-child(3) { border-top: 3px solid #e9c47e; } .as-step:nth-child(4) { border-top: 3px solid #f0a6c8; }
.as-n { margin: 0; font-size: .74rem; color: var(--sage); } .as-step h4 { margin: 4px 0 6px; font-size: 1.05rem; } .as-step p { margin: 0; color: var(--soft); font-size: .92rem; }
.as-step .as-tag { margin-top: 10px; font-size: .78rem; color: var(--glow); }
.as-bar { display: flex; justify-content: space-between; margin-top: 10px; padding-top: 8px; border-top: 2px solid; border-image: linear-gradient(90deg, #7ed6b4, #f0a6c8) 1; font-size: .8rem; color: var(--sage); }
.ag-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fw-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.src-list { margin: 8px 0 0; padding-left: 18px; color: var(--sage); font-size: .9rem; } .src-list a { color: var(--soft); }
@media (max-width: 1000px) { .ar-flow { grid-template-columns: 1fr 1fr; } .ar-arrow { display: none; } .as, .ag-facts { grid-template-columns: 1fr 1fr; } .fw-steps { grid-template-columns: 1fr 1fr; } .ar-span .ar-head { flex-basis: 100%; } .ar-span .ar-chips { margin-left: 0; } }
@media (max-width: 600px) { .ar-flow, .as, .ag-facts, .fw-steps { grid-template-columns: 1fr; } }
@media (max-width: 1080px) { .q-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) { .q-grid, .cx-grid, .cx-scale { grid-template-columns: 1fr; } .stk-chips li { flex-basis: 40%; } }
/* ---------- Funnel Health Check ---------- */
.fhc-band { background: linear-gradient(180deg, rgba(126,214,180,.06), transparent); border-bottom: 1px solid var(--line); }
.fhc-band-head .lede { max-width: 46rem; }
.fhc-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.fhc-card { --c: #7ed6b4; display: flex; flex-direction: column; text-align: left; font: inherit; color: inherit; background: var(--raise); border: 1px solid var(--line-strong); border-top: 3px solid var(--c); border-radius: var(--r-lg); padding: clamp(18px, 2.2vw, 24px); text-decoration: none; cursor: pointer; transition: transform .2s, border-color .2s; }
.fhc-card:hover { transform: translateY(-2px); border-color: var(--c); }
.fhc-marketing { --c: #8fd3e8; } .fhc-ai { --c: #e9c47e; }
.fhc-card-k { font-weight: 600; font-size: 1.15rem; }
.fhc-card p { margin: 8px 0 0; color: var(--mist); font-size: .95rem; }
.fhc-card .fhc-card-for { color: var(--sage); font-size: .88rem; }
.fhc-go { margin-top: auto; padding-top: 14px; color: var(--c); font-weight: 600; font-size: .95rem; }
.fhc { background: var(--deep); border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: clamp(20px, 3vw, 36px); }
.fhc-top { display: flex; justify-content: space-between; font-size: .85rem; color: var(--sage); }
.fhc-bar { height: 6px; border-radius: 6px; background: var(--line); margin: 10px 0 14px; overflow: hidden; }
.fhc-bar span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #7ed6b4, #8fd3e8, #e9c47e); transition: width .3s; }
.fhc-mini { display: flex; gap: 6px; margin-bottom: 18px; }
.fhc-mini i { flex: 1; height: 4px; border-radius: 4px; background: var(--line); }
.fhc-mini i.on[data-st="m"] { background: #7ed6b4; } .fhc-mini i.on[data-st="s"] { background: #8fd3e8; } .fhc-mini i.on[data-st="p"] { background: #e9c47e; }
.fhc-stage { margin: 0; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: var(--glow); }
.fhc-q { margin: 8px 0 20px; font-size: clamp(1.25rem, 2.4vw, 1.6rem); max-width: 40rem; }
.fhc-opts { display: grid; gap: 10px; max-width: 40rem; }
.fhc-opt { text-align: left; font: inherit; color: inherit; background: var(--raise); border: 1px solid var(--line-strong); border-radius: 12px; padding: 14px 16px; cursor: pointer; }
.fhc-opt:hover, .fhc-opt:focus-visible { border-color: var(--glow); outline: none; }
.fhc-opt small { display: block; color: var(--sage); font-size: .85rem; margin-top: 2px; }
.fhc-back, .fhc-restart { margin-top: 18px; background: none; border: 0; padding: 6px 0; color: var(--sage); font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.fhc-gate { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 48px); align-items: start; }
.fhc-score { display: flex; align-items: baseline; gap: 4px; margin: 6px 0; }
.fhc-num { font-size: clamp(3rem, 7vw, 4.5rem); font-weight: 600; line-height: 1; }
.fhc-of { color: var(--sage); font-size: 1.1rem; }
.fhc-band-name { margin: 0 0 16px; font-weight: 600; color: var(--glow); }
.fhc-areas { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 6px; margin: 8px 0 16px; }
.fhc-area { --c: var(--line-strong); border: 1px solid var(--c); background: color-mix(in srgb, var(--c) 16%, transparent); border-radius: 10px; padding: 9px 11px; }
.fhc-area b { display: block; font-size: .76rem; font-weight: 600; line-height: 1.25; }
.fhc-area span { display: block; font-size: 1.15rem; font-weight: 600; margin-top: 3px; }
.fhc-area.lv0 { --c: #e07a6b; } .fhc-area.lv1 { --c: #e9c47e; } .fhc-area.lv2 { --c: #7ed6b4; }
.fhc-area.is-constraint { box-shadow: 0 0 0 2px #e07a6b inset; }
.fhc-area em { display: block; font-style: normal; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: #e07a6b; margin-top: 2px; }
.fhc-areas-lg .fhc-area span { font-size: 1.5rem; }
.fhc-er-key { margin: -4px 0 10px; font-size: .9rem; }
.fhc-bow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 8px 0 16px; }
.fhc-bow div { --c: var(--line-strong); border: 1px solid var(--c); background: color-mix(in srgb, var(--c) 18%, transparent); border-radius: 10px; padding: 10px 12px; }
.fhc-bow b { display: block; font-size: .8rem; font-weight: 600; }
.fhc-bow span { display: block; font-size: 1.2rem; font-weight: 600; margin-top: 2px; }
.fhc-bow .lv0 { --c: #e07a6b; } .fhc-bow .lv1 { --c: #e9c47e; } .fhc-bow .lv2 { --c: #7ed6b4; }
.fhc-locked { list-style: none; padding: 0; margin: 0 0 10px; display: grid; gap: 8px; }
.fhc-locked li { padding: 10px 12px; border: 1px dashed var(--line-strong); border-radius: 10px; color: var(--sage); filter: blur(.6px); user-select: none; }
#fhc-form { background: var(--raise); border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: clamp(18px, 2.4vw, 26px); }
#fhc-form h3 { margin: 0 0 6px; }
#fhc-form .opt { color: var(--sage); font-weight: 400; }
#fhc-form .btn { margin-top: 16px; width: 100%; justify-content: center; }
.fhc-res-head { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; }
.fhc-res-title { margin: 4px 0 8px; }
.fhc-bow-lg span { font-size: 1.6rem; }
.fhc-h3 { margin: 28px 0 12px; }
.fhc-gaps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.fhc-gap { background: var(--raise); border: 1px solid var(--line-strong); border-radius: 14px; padding: 18px; }
.fhc-gap p.k { margin: 0; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--glow); }
.fhc-gap h4 { margin: 6px 0; font-size: 1.05rem; }
.fhc-gap p { margin: 0 0 8px; color: var(--mist); font-size: .95rem; }
.fhc-rec { margin-top: 24px; padding: clamp(18px, 2.4vw, 26px); border: 1px solid var(--glow); border-radius: var(--r-lg); background: rgba(126,214,180,.06); }
.fhc-rec h3 { margin: 4px 0 8px; }
.fhc-rec .btn-row { margin-top: 14px; }
.fhc-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: clamp(20px, 3vw, 32px); border: 1px solid var(--line-strong); border-left: 4px solid var(--glow); border-radius: var(--r-lg); background: var(--raise); }
.fhc-cta h2 { margin: 4px 0 6px; font-size: clamp(1.3rem, 2.4vw, 1.7rem); }
.fhc-cta p { margin: 0; color: var(--mist); }
@media (max-width: 900px) { .fhc-cards, .fhc-gaps { grid-template-columns: 1fr; } .fhc-gate { grid-template-columns: 1fr; } .fhc-cta { flex-direction: column; align-items: flex-start; } }
@media (max-width: 560px) { .fhc-bow b { font-size: .72rem; } .fhc-res-head { flex-direction: column; } }
.lead-sec { border-top: 1px solid var(--line); }
/* ---------- case studies ---------- */
.cs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.cs-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cs-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cs-tile { display: flex; flex-direction: column; background: var(--raise); border: 1px solid var(--line-strong); border-radius: var(--r-lg); overflow: hidden; color: inherit; text-decoration: none; transition: transform .2s, border-color .2s; }
.cs-tile:hover { transform: translateY(-3px); border-color: var(--glow); }
.cs-img { aspect-ratio: 16 / 9; overflow: hidden; background: var(--deep); }
.cs-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.cs-tile:hover .cs-img img { transform: scale(1.03); }
.cs-body { padding: clamp(18px, 2.2vw, 24px); display: flex; flex-direction: column; flex: 1; }
.cs-label { margin: 0; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--glow); }
.cs-label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cs-body h3 { margin: 8px 0 10px; font-size: 1.2rem; line-height: 1.25; min-height: 2.5em; }
.cs-badge { align-self: flex-start; margin: auto 0 14px; padding: 4px 11px; border: 1px solid var(--line-strong); border-radius: 99px; font-size: .78rem; font-weight: 500; color: var(--mist); background: var(--deep); }
.cs-badge-inline { display: inline-block; margin: 0 0 0 8px !important; vertical-align: middle; }
.cs-sum { margin: 0 0 14px; color: var(--mist); }
.cs-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 6px 0 0; padding-top: 14px; border-top: 1px solid var(--line); }
.cs-stats div { min-width: 0; }
.cs-stats dt { font-weight: 600; font-size: 1.25rem; color: var(--snow); line-height: 1.1; white-space: nowrap; }
.cs-stats dd { margin: 4px 0 0; font-size: .82rem; color: var(--sage); line-height: 1.35; }
.cs-go { margin-top: 0; padding-top: 16px; color: var(--glow); font-weight: 600; font-size: .95rem; }
.cs-tile-sm h3 { font-size: 1.02rem; }
.cs-tile-sm .cs-stats dt { font-size: 1.08rem; }
.cs-tile-sm .cs-stats dd { font-size: .78rem; }
.cs-stats-lg { max-width: 46rem; margin-top: 22px; border-top: 0; padding-top: 0; }
.cs-stats-lg dt { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.cs-pgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cs-ptile { background: var(--deep); border: 1px solid var(--line-strong); border-top: 3px solid #e9c47e; border-radius: var(--r-lg); padding: clamp(18px, 2.2vw, 24px); }
.cs-ptile .cs-label { color: #e9c47e; }
.cs-hl { margin: 0 0 4px; color: var(--snow); font-weight: 600; }
.cs-attr { margin: 0 0 12px; font-size: .82rem; color: var(--sage); }
.cs-ptile summary { cursor: pointer; color: var(--glow); font-weight: 600; }
.cs-ptile dl { margin: 12px 0 0; display: grid; gap: 10px; }
.cs-ptile dt { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--sage); }
.cs-ptile dd { margin: 4px 0 0; color: var(--mist); }
.cs-detail .case { margin-top: 0; padding-top: 0; border-top: 0; }
@media (max-width: 1100px) { .cs-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .cs-grid, .cs-grid-3, .cs-pgrid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .cs-grid-4 { grid-template-columns: 1fr; } .cs-stats { grid-template-columns: 1fr 1fr 1fr; } }
/* ---------- v5 ---------- */
.brand-group { display: grid; gap: 8px; }
.brand-label { margin: 0; text-align: center; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--sage); }
.brand-group + .brand-group .brand-label { margin-top: 6px; }
.brand-group:nth-child(2) .brand-label { display: none; }
.lead-col { background: var(--raise); border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: clamp(18px, 2.4vw, 26px); }
.lead-col h3 { margin: 0 0 10px; }
.lead-col.spec { border-style: dashed; }
/* ---------- v6 custom builds ---------- */
.sc-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.sc-grid .model-card p:last-child { margin: 0; color: var(--soft); }
.sc-out { margin-top: 22px; padding: 18px 22px; border: 1px solid var(--line-strong); border-left: 4px solid var(--glow); border-radius: 14px; background: var(--raise); }
.sc-out .ticks { margin: 6px 0 0; }
.ag-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 1000px) { .sc-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .sc-grid, .ag-3 { grid-template-columns: 1fr !important; } }
/* ---------- v7 custom builds ---------- */
.cb-steps { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 12px; align-items: stretch; }
.cb-step { background: var(--raise); border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: 20px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.cb-step.cb-me { border: 2px solid var(--glow); }
.cb-badge { align-self: flex-start; font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; border-radius: 99px; padding: 4px 10px; background: var(--deep); color: var(--sage); }
.cb-me .cb-badge { background: rgba(126,214,180,.14); color: var(--glow); }
.cb-step h3 { margin: 0; font-size: 1.2rem; }
.cb-step ul { margin: 0; padding-left: 18px; color: var(--soft); font-size: .95rem; display: grid; gap: 4px; }
.cb-qs { display: flex; flex-wrap: wrap; gap: 6px; }
.cb-qs span { font-size: .8rem; font-weight: 600; background: rgba(126,214,180,.14); color: var(--glow); border-radius: 6px; padding: 2px 8px; }
.cb-out { margin: auto 0 0; padding-top: 10px; border-top: 1px solid var(--line); font-size: .92rem; color: var(--soft); }
.cb-out strong { color: var(--mist); }
.cb-arrow { display: flex; align-items: center; color: var(--sage); }
.cb-arrow svg { width: 28px; height: 28px; }
.cb-toggle { display: inline-flex; border: 1px solid var(--line-strong); border-radius: 99px; padding: 3px; background: var(--raise); }
.cb-toggle button { border: 0; background: transparent; font: inherit; font-size: .9rem; font-weight: 600; color: var(--sage); padding: 7px 14px; border-radius: 99px; cursor: pointer; }
.cb-toggle button[aria-pressed="true"] { background: var(--glow); color: var(--ink); }
.cb-house { margin-top: 16px; display: grid; gap: 8px; }
.cb-zone { margin: 14px 0 2px; font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--sage); }
.cb-layer { --c: #7ed6b4; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 14px; background: var(--raise); border: 1px solid var(--line); border-left: 5px solid var(--c); border-radius: 12px; padding: 14px 16px; }
.cb-la { --c: #7ed6b4; } .cb-lb { --c: #8fd3e8; } .cb-lc { --c: #e9c47e; }
.cb-icon { width: 52px; height: 52px; border-radius: 12px; background: var(--deep); display: grid; place-items: center; font-size: 26px; }
.cb-lbody { min-width: 0; }
.cb-layer h3 { margin: 0; font-size: 1.08rem; display: flex; flex-wrap: wrap; gap: 2px 10px; align-items: baseline; }
.cb-layer h3 small { font-size: .82rem; font-weight: 500; color: var(--sage); }
.cb-layer p { margin: 3px 0 0; color: var(--soft); font-size: .95rem; }
.cb-tech { display: none; list-style: none; margin: 10px 0 0; padding: 0; flex-wrap: wrap; gap: 6px; }
.cb-show-tech .cb-tech { display: flex; }
.cb-tech li { font-size: .82rem; border: 1px solid var(--c); border-radius: 6px; padding: 2px 8px; background: var(--deep); color: var(--mist); }
.cb-forget { margin-top: 12px; background: rgba(233,196,126,.08); border-left: 4px solid #e9c47e; border-radius: 0 10px 10px 0; padding: 14px 16px; color: var(--soft); }
.cb-forget strong { color: var(--mist); }
.cb-tabs { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
.cb-tabs button { flex: none; border: 1px solid var(--line-strong); background: var(--raise); color: var(--mist); font: inherit; font-weight: 600; font-size: .95rem; padding: 9px 16px; border-radius: 99px; cursor: pointer; }
.cb-tabs button[aria-selected="true"] { background: var(--glow); color: var(--ink); border-color: var(--glow); }
.cb-panel { margin-top: 16px; background: var(--raise); border: 1px solid var(--line-strong); border-radius: 18px; padding: clamp(18px, 2.4vw, 26px); }
.cb-ph { margin: 0; font-size: clamp(1.3rem, 2.6vw, 1.7rem); }
.cb-pi { margin: 6px 0 0; color: var(--soft); max-width: 60ch; }
.cb-org { display: flex; flex-direction: column; align-items: center; margin: 22px 0 6px; }
.cb-node { border-radius: 12px; padding: 10px 18px; text-align: center; border: 1.5px solid var(--line-strong); background: var(--deep); min-width: 240px; }
.cb-node b { display: block; font-size: .95rem; } .cb-node span { font-size: .82rem; color: var(--sage); }
.cb-you { border-color: var(--mist); } .cb-coord { border-color: var(--glow); background: rgba(126,214,180,.1); }
.cb-vline { width: 2px; height: 16px; background: var(--line-strong); }
.cb-stages { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 10px; border-top: 2px solid var(--line-strong); padding-top: 14px; }
.cb-stage { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.cb-stage h4 { margin: 0; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-align: center; color: var(--glow); background: rgba(126,214,180,.12); border-radius: 8px; padding: 7px 6px; }
.cb-agent { border: 1px solid var(--line); border-radius: 10px; padding: 10px; background: var(--deep); display: flex; flex-direction: column; gap: 3px; }
.cb-agent b { font-size: .88rem; line-height: 1.25; } .cb-agent span { font-size: .8rem; color: var(--sage); line-height: 1.35; }
.cb-hc { align-self: flex-start; font-style: normal; font-size: .66rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #e9c47e; background: rgba(233,196,126,.12); border-radius: 4px; padding: 1px 6px; margin-top: 3px; }
.cb-legend { margin: 14px 0 0; font-size: .82rem; color: var(--sage); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.cb-legend .cb-hc { margin: 0; }
.cb-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 20px; }
.cb-meta > div { border-top: 1px solid var(--line); padding-top: 12px; min-width: 0; }
.cb-meta h5 { margin: 0 0 8px; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--sage); }
.cb-meta p { margin: 0; color: var(--soft); }
.cb-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.cb-chips li { font-size: .82rem; border: 1px solid var(--line-strong); border-radius: 99px; padding: 3px 10px; }
.cb-cta { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; background: var(--deep); border: 1px solid var(--line-strong); border-left: 4px solid var(--glow); border-radius: 14px; padding: 16px 18px; }
.cb-cta p { margin: 0; max-width: 52ch; color: var(--soft); }
.cb-fine { margin: 12px 0 0; font-size: .82rem; color: var(--sage); }
.foot-aff { margin: 14px 0 0; font-size: .8rem; color: var(--sage); }
.foot-aff a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) { .cb-steps { grid-template-columns: 1fr; } .cb-arrow { justify-content: center; transform: rotate(90deg); height: 28px; } .cb-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .cb-meta { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .cb-stages { grid-template-columns: 1fr; } .cb-node { min-width: 0; width: 100%; } .cb-layer { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; } .cb-icon { width: 40px; height: 40px; font-size: 20px; } }
/* ---------- v8 footer and keep exploring ---------- */
.footer-grid { grid-template-columns: 1.7fr repeat(4, minmax(0, 1fr)) !important; gap: 28px 32px; }
.foot-brand p { margin-top: 14px; max-width: 36ch; }
.foot-tag { color: var(--mist); font-weight: 500; font-size: 1rem; white-space: nowrap; }
.foot-social { display: flex; gap: 6px; margin-top: 18px !important; }
.foot-social a { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--sage); }
.foot-social a:hover { color: var(--glow); background: var(--raise); }
.foot-strip { margin-top: 36px; padding: 16px 0; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; }
.foot-strip .foot-pos { color: var(--mist); font-weight: 500; }
.foot-strip + .footer-base { margin-top: 0; }
.site-footer nav ul { gap: 10px; }
.kx { border: 1px solid var(--line); border-radius: 16px; padding: 22px 24px; background: var(--raise); }
.kx-h { font-size: 1.05rem; margin: 0 0 14px; }
.kx-row { display: grid; grid-template-columns: 190px 1fr; gap: 6px 18px; padding: 10px 0; border-top: 1px solid var(--line); }
.kx-label { margin: 0; font-size: .85rem; color: var(--sage); padding-top: 5px; }
.kx-links { margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.kx-links a { display: inline-block; padding: 5px 12px; border: 1px solid var(--line-strong); border-radius: 999px; font-size: .88rem; text-decoration: none; color: var(--mist); }
.kx-links a:hover { border-color: var(--glow); color: var(--glow); }
@media (max-width: 960px) { .footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } .footer-grid > .foot-brand { grid-column: 1 / -1; } }
@media (max-width: 640px) { .footer-grid { grid-template-columns: 1fr 1fr !important; } .kx-row { grid-template-columns: 1fr; } .kx-label { padding-top: 0; } }
/* ---------- v9 hero eyebrow ---------- */
.hero-eyebrow { margin: 0 0 10px; }
@media (min-width: 961px) { .hero-grid > .hero-visual { grid-row: 1 / span 5; } }
@media (max-width: 960px) { .hero-grid > .hero-eyebrow { order: 0; } }
/* ---------- v11 consent and utility pages ---------- */
.consent { margin-top: 4px; }
.consent legend { color: var(--mist); font-size: .92rem; line-height: 1.5; margin-bottom: 10px; }
.consent-choice label { min-height: 44px; padding: 10px 18px; }
.res-form .consent { margin: 10px 0 14px; }
.util-page { min-height: 46vh; }
.util-page .btn { margin-top: 8px; }
/* ---------- v12 lead source ---------- */
.heard select { width: 100%; }
.heard .heard-detail { margin-top: 8px; }
/* ---------- v12 audits ---------- */
.au-offer { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: 28px; align-items: center; padding: 28px; border: 1px solid var(--glow); border-radius: 18px; background: var(--raise); }
.au-offer-price { text-align: center; padding: 22px 16px; border-radius: 14px; background: var(--midnight); border: 1px solid var(--line-strong); }
.au-badge { display: inline-block; margin: 0 0 10px; padding: 4px 12px; border-radius: 999px; background: var(--glow); color: var(--midnight); font-size: .78rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.au-amount { margin: 0; font-size: 2.6rem; line-height: 1.1; }
.au-was s { color: var(--sage); font-size: 1.4rem; text-decoration-thickness: 2px; }
.au-free { color: var(--glow); font-weight: 600; }
.au-unit { margin: 8px 0 0; color: var(--sage); font-size: .85rem; }
.au-offer-text h2 { margin-top: 0; }
.au-offer-text .btn { margin-top: 6px; }
.way-price .au-was s, .price-table .au-was s { font-size: inherit; }
.au-depts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.au-depts .model-card p:last-child { color: var(--soft); margin: 0; }
.au-quote { margin-top: 22px; padding: 18px 22px; border-left: 4px solid var(--glow); border-radius: 14px; background: var(--raise); }
.au-quote p { margin: 0 0 6px; }
.au-journey { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; counter-reset: aj; }
.au-journey li { counter-increment: aj; padding: 10px 16px; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--raise); color: var(--mist); }
.au-journey li::before { content: counter(aj) "  "; color: var(--glow); font-weight: 600; }
@media (min-width: 1001px) { .ways-grid > .way-card, .ways-grid > .way-card:nth-child(-n+2) { grid-column: span 2 !important; } }
.au-way { border-color: var(--glow); }
@media (max-width: 1000px) { .au-depts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .au-offer { grid-template-columns: 1fr; padding: 20px; } .au-depts { grid-template-columns: 1fr; } }
/* ---------- v15 lead magnet pages ---------- */
.lm-page { padding-bottom: clamp(40px, 6vw, 72px); }
.lm-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px, 4vw, 56px); align-items: start; }
.lm-copy .ticks { margin: 18px 0 10px; }
.lm-note { color: var(--mist); font-size: .95rem; }
.lm-cover { display: block; width: 100%; max-width: 300px; height: auto; margin-top: 22px; border-radius: 12px; border: 1px solid rgba(242,247,245,.12); }
.lm-card { background: rgba(242,247,245,.03); border: 1px solid rgba(242,247,245,.12); border-radius: 18px; padding: clamp(20px, 3vw, 32px); }
.lm-form-title { font-size: 1.35rem; margin: 0 0 14px; }
.lm-form .field { margin-bottom: 14px; }
.lm-form .opt { color: var(--mist); font-weight: 400; }
.lm-form select { width: 100%; }
.lm-btn { width: 100%; margin-top: 6px; }
.lm-status { margin-top: 6px; line-height: 1.6; }
.lm-status.warn { color: inherit; }
.lm-dl { font-weight: 600; }
.lm-form [hidden] { display: none !important; }
@media (max-width: 860px) { .lm-grid { grid-template-columns: 1fr; } .lm-cover { display: none; } }
/* ---------- v16 areas of expertise ---------- */
.ex-bar { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.ex-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.ex-tabs button { font: 500 15px var(--sans); color: var(--soft); background: transparent; border: 1px solid var(--line-strong); border-radius: 999px; padding: 8px 16px; cursor: pointer; }
.ex-tabs button.on { background: var(--mint); color: var(--ink); border-color: var(--mint); }
.ex-legend { color: var(--sage); font-size: 14px; line-height: 1.9; margin: 0; }
.ex-group { margin-top: 36px; }
.ex-ghead h2 { margin: 0 0 4px; }
.ex-ghead p { color: var(--sage); margin: 0 0 18px; }
.ex-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ex-card { background: var(--deep); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 22px; display: flex; flex-direction: column; gap: 12px; scroll-margin-top: 90px; }
.ex-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.ex-top h3 { margin: 0; font-size: 20px; line-height: 1.25; }
.ex-badge { flex: none; border: 0 !important; box-shadow: none !important; font-size: 12px; font-weight: 600; letter-spacing: .02em; border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.ex-adam { background: rgba(126, 214, 180, .14); color: #7ED6B4; }
.ex-spec { background: rgba(233, 196, 126, .14); color: #e9c47e; }
.ex-owns { color: var(--soft); margin: 0; font-size: 15.5px; line-height: 1.5; }
.ex-more { display: flex; flex-direction: column; gap: 12px; flex: 1; }
.ex-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ex-chips li { font-size: 13px; color: var(--mist); background: var(--raise); border: 1px solid var(--line-strong); border-radius: 8px; padding: 4px 9px; }
.ex-ai { margin: 0; font-size: 14px; color: var(--soft); background: rgba(143, 211, 232, .06); border-left: 2px solid #8fd3e8; border-radius: 6px; padding: 9px 11px; line-height: 1.45; }
.ex-ai-k { display: block; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #8fd3e8; margin-bottom: 3px; }
.ex-how { margin: auto 0 0; font-size: 14px; color: var(--sage); }
.ex-how a { color: var(--mint); }
.ex-toggle { display: none; }
@media (max-width: 1000px) { .ex-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .ex-grid { grid-template-columns: 1fr; gap: 12px; }
  .ex-card { padding: 18px; gap: 10px; }
  .ex-card:not(.open) .ex-more { display: none; }
  .ex-toggle { display: block; align-self: flex-start; font: 500 14px var(--sans); color: var(--mint); background: none; border: 0; padding: 2px 0; cursor: pointer; }
  .ex-toggle::after { content: " ↓"; }
  .ex-card.open .ex-toggle::after { content: " ↑"; }
}
/* ---------- v18 search and prompt doctor ---------- */
.hdr-search { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; margin-right: -8px; background: rgba(242,247,245,.04); border: 1px solid var(--line-strong); color: var(--soft); border-radius: 999px; padding: 8px 14px; font: inherit; font-size: .88rem; cursor: pointer; }
.hdr-search:hover { color: var(--mist); border-color: var(--mint); }
@media (max-width: 680px) { .hdr-search { padding: 9px 11px; margin-right: -10px; } .hdr-search-label { display: none; } }
html.ss-on, html.ss-on body { overflow: hidden; }
@media (max-width: 760px) { html.pd-open, html.pd-open body { overflow: hidden; } }
.ss-dialog { position: fixed; inset: 0; z-index: 90; background: rgba(4, 12, 16, .72); backdrop-filter: blur(4px); display: flex; justify-content: center; align-items: flex-start; padding: 10vh 16px 16px; }
.ss-dialog[hidden] { display: none; }
.ss-box { width: 100%; max-width: 640px; background: var(--deep); border: 1px solid var(--line-strong); border-radius: 16px; box-shadow: 0 40px 80px -30px rgba(0,0,0,.9); overflow: hidden; display: flex; flex-direction: column; max-height: 78vh; }
.ss-form { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.ss-icon { color: var(--sage); display: inline-flex; }
.ss-input { flex: 1; min-width: 0; background: none; border: 0; color: var(--mist); font: inherit; font-size: 1.05rem; padding: 6px 0; outline: none; }
.ss-close { background: var(--raise); border: 1px solid var(--line-strong); color: var(--sage); border-radius: 6px; font: inherit; font-size: .75rem; padding: 3px 8px; cursor: pointer; }
.ss-out { overflow-y: auto; padding: 8px 8px 14px; }
.ss-hint { color: var(--sage); margin: 10px; font-size: .92rem; }
.ss-group { color: var(--mint); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; margin: 12px 10px 4px; }
.ss-list { list-style: none; margin: 0; padding: 0; }
.ss-list a, .ss-list button { display: block; width: 100%; text-align: left; background: none; border: 0; font: inherit; color: inherit; text-decoration: none; padding: 9px 10px; border-radius: 10px; cursor: pointer; }
.ss-list a:hover, .ss-list button:hover, .ss-list a:focus-visible, .ss-list button:focus-visible { background: var(--raise); outline: none; }
.ss-type { display: inline-block; font-size: .68rem; color: var(--sage); border: 1px solid var(--line-strong); border-radius: 999px; padding: 1px 7px; margin-right: 8px; vertical-align: 2px; }
.ss-t { color: var(--mist); font-weight: 500; }
.ss-d { display: block; color: var(--sage); font-size: .85rem; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-foot { margin: 10px 10px 0; }
.ss-askpd { background: none; border: 0; color: var(--mint); font: inherit; cursor: pointer; padding: 0; text-align: left; }
.pd-fab { position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: calc(18px + env(safe-area-inset-bottom, 0px)); z-index: 70; display: inline-flex; align-items: center; gap: 9px; background: var(--mint); color: var(--ink); border: 0; border-radius: 999px; padding: 12px 18px 12px 14px; font: 600 .95rem var(--sans); cursor: pointer; box-shadow: 0 14px 34px -12px rgba(126,214,180,.55), 0 6px 18px rgba(0,0,0,.35); }
.pd-fab[hidden] { display: none; }
.pd-fab:hover { transform: translateY(-1px); }
html.pd-open .pd-fab { display: none; }
@media (max-width: 680px) { .pd-fab { padding: 13px; } .pd-fab-label { display: none; } }
.pd-nudge { position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: calc(80px + env(safe-area-inset-bottom, 0px)); z-index: 70; display: flex; align-items: flex-start; gap: 4px; max-width: 290px; background: var(--snow); color: var(--ink); border-radius: 14px 14px 4px 14px; padding: 12px 10px 12px 14px; box-shadow: 0 18px 40px -16px rgba(0,0,0,.6); }
.pd-nudge[hidden] { display: none; }
.pd-nudge-open { background: none; border: 0; color: inherit; font: 500 .92rem var(--sans); text-align: left; cursor: pointer; padding: 0; line-height: 1.35; }
.pd-nudge-x { background: none; border: 0; color: #4b5b57; font-size: 1.2rem; line-height: 1; cursor: pointer; padding: 0 2px; }
.pd-pop { animation: pdpop .45s ease-out; }
@keyframes pdpop { from { opacity: 0; transform: translateY(8px) scale(.96); } to { opacity: 1; transform: none; } }
.pd-panel { position: fixed; right: 18px; bottom: 18px; z-index: 80; width: min(440px, calc(100vw - 36px)); height: min(720px, calc(100vh - 110px)); background: var(--midnight); border: 1px solid var(--line-strong); border-radius: 18px; box-shadow: 0 40px 90px -30px rgba(0,0,0,.9); display: flex; flex-direction: column; overflow: hidden; }
.pd-panel[hidden] { display: none; }
@media (max-width: 760px) { .pd-panel { inset: 0; width: auto; height: auto; border-radius: 0; border: 0; } }
.pd-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; padding: 14px 16px 12px; border-bottom: 1px solid var(--line); background: var(--deep); }
.pd-title { margin: 0; display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--mist); }
.pd-title svg { color: var(--mint); }
.pd-sub { margin: 2px 0 0; color: var(--sage); font-size: .82rem; }
.pd-close { background: none; border: 0; color: var(--soft); font-size: 1.6rem; line-height: 1; cursor: pointer; padding: 0 4px; }
.pd-app { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.pd-panel .pd-app { padding: 12px 14px 0; }
.pd-ctx { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.pd-ctx label { display: flex; align-items: center; gap: 6px; color: var(--sage); font-size: .8rem; flex: 1 1 150px; }
.pd-ctx select { flex: 1; min-width: 0; background: var(--raise); color: var(--mist); border: 1px solid var(--line-strong); border-radius: 8px; padding: 6px 8px; font: inherit; font-size: .85rem; }
.pd-search { display: flex; gap: 8px; }
.pd-input { flex: 1; min-width: 0; background: var(--raise); color: var(--mist); border: 1px solid var(--line-strong); border-radius: 10px; padding: 11px 12px; font: inherit; font-size: 1rem; }
.pd-input:focus { outline: 2px solid var(--mint); outline-offset: 1px; }
.pd-go { padding: 10px 16px; }
.pd-out { overflow-y: auto; flex: 1; padding: 12px 2px 16px; }
.pd-inline .pd-out { overflow: visible; }
.pd-intro, .pd-loading { color: var(--soft); font-size: .95rem; margin: 4px 0 12px; }
.pd-back { background: none; border: 0; color: var(--sage); font: inherit; font-size: .85rem; cursor: pointer; padding: 0; margin-bottom: 8px; }
.pd-answer, .pd-fallback { background: var(--deep); border: 1px solid var(--line); border-radius: 14px; padding: 16px; }
.pd-kicker { margin: 0 0 4px; color: var(--mint); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.pd-q { margin: 0 0 10px; font-size: 1.12rem; line-height: 1.3; }
.pd-label { margin: 12px 0 4px; color: var(--sage); font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.pd-diag { margin: 0; color: var(--mist); line-height: 1.55; }
.pd-rx { margin: 0; padding-left: 20px; color: var(--soft); line-height: 1.55; }
.pd-rx li { margin: 4px 0; }
.pd-script { margin-top: 12px; border: 1px solid var(--line-strong); border-radius: 10px; overflow: hidden; }
.pd-script-top { display: flex; justify-content: space-between; align-items: center; background: var(--raise); padding: 6px 10px; color: var(--sage); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.pd-copy { background: none; border: 1px solid var(--line-strong); color: var(--mint); border-radius: 6px; font: inherit; font-size: .72rem; padding: 2px 8px; cursor: pointer; text-transform: none; letter-spacing: 0; }
.pd-script pre { margin: 0; padding: 10px 12px; white-space: pre-wrap; font: .9rem/1.5 var(--sans); color: var(--mist); background: rgba(7,20,26,.5); }
.pd-ai { margin: 12px 0 0; font-size: .9rem; color: var(--soft); background: rgba(143, 211, 232, .06); border-left: 2px solid #8fd3e8; border-radius: 6px; padding: 9px 11px; line-height: 1.45; }
.pd-ai-k { display: block; font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #8fd3e8; margin-bottom: 3px; }
.pd-more { margin: 12px 0 0; }
.pd-more a { color: var(--mint); }
.pd-cta { margin: 12px 0 0; font-size: .85rem; color: var(--sage); }
.pd-cta a { color: var(--mint); }
.pd-match { margin: 0 0 10px; padding: 10px 12px; border-left: 3px solid var(--mint); background: rgba(127,209,174,.08); border-radius: 8px; font-size: .88rem; color: var(--sage); }
.pd-match strong { color: var(--mist); }
.pd-askopen { background: none; border: 0; padding: 0; color: var(--mint); text-decoration: underline; font: inherit; cursor: pointer; }
.pd-principle { margin-top: 12px; }
.pd-related { margin-top: 14px; }
.pd-related ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pd-qbtn { width: 100%; text-align: left; background: var(--deep); border: 1px solid var(--line); color: var(--mist); border-radius: 10px; padding: 9px 12px; font: inherit; font-size: .92rem; cursor: pointer; }
.pd-qbtn:hover { border-color: var(--mint); }
.pd-ask { margin-top: 16px; background: var(--deep); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; display: grid; gap: 10px; }
.pd-ask .pd-label { margin-top: 0; }
.pd-ask-intro { margin: -6px 0 0; color: var(--sage); font-size: .85rem; }
.pd-f { display: grid; gap: 4px; color: var(--soft); font-size: .82rem; flex: 1; }
.pd-f input, .pd-f textarea { background: var(--raise); color: var(--mist); border: 1px solid var(--line-strong); border-radius: 8px; padding: 9px 10px; font: inherit; font-size: .95rem; }
.pd-row { display: flex; gap: 10px; flex-wrap: wrap; }
.pd-row .pd-f { flex: 1 1 160px; }
.pd-consent { border: 0; margin: 0; padding: 0; color: var(--soft); font-size: .85rem; }
.pd-consent legend { margin-bottom: 6px; }
.pd-consent label { margin-right: 16px; }
.pd-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.pd-err { margin: 0; color: #f0a6a6; font-size: .85rem; }
.pd-fine { margin: 0; color: var(--sage); font-size: .75rem; }
.pd-fine a { color: var(--sage); }
.pd-thanks { margin-top: 16px; background: var(--deep); border: 1px solid var(--mint); border-radius: 14px; padding: 14px 16px; }
.pd-foot { margin: 0; padding: 8px 16px 12px; border-top: 1px solid var(--line); font-size: .82rem; text-align: center; }
.pd-foot a { color: var(--sage); }
.pd-page-wrap { max-width: 820px; margin-top: 30px; }
.pd-inline { background: var(--deep); border: 1px solid var(--line-strong); border-radius: 18px; padding: 18px; }
.pd-inline .pd-answer, .pd-inline .pd-fallback, .pd-inline .pd-ask, .pd-inline .pd-qbtn { background: var(--midnight); }
.pd-rolegrid { display: flex; flex-wrap: wrap; gap: 8px; }
.pd-rolechip { background: var(--deep); border: 1px solid var(--line-strong); color: var(--mist); border-radius: 999px; padding: 8px 14px; font: inherit; font-size: .9rem; cursor: pointer; }
.pd-rolechip:hover { border-color: var(--mint); color: var(--mint); }
/* ---------- v3 structure ---------- */
.ladder-note { margin-top: 22px; }
.jump-cards.jump-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .jump-cards.jump-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sprint-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1000px) { .sprint-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sprint-steps { grid-template-columns: 1fr; } }
.ways-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.er-scale { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 0 0 18px; color: var(--sage); font-size: .92rem; }
.er-scale b { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 6px; border-radius: 50%; border: 1px solid var(--glow); color: var(--glow); font-size: .8rem; }
.er-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.er-card { background: var(--raise); border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: 18px 18px 20px; }
.er-n { font-size: .74rem; letter-spacing: .14em; color: var(--glow); }
.er-card h3 { margin: 6px 0 6px; font-size: 1.08rem; }
.er-card p { margin: 0; color: var(--mist); font-size: .92rem; }
.er-ai { margin-top: 18px; padding: clamp(18px, 2.4vw, 26px); border: 1px dashed #e9c47e; border-radius: var(--r-lg); }
.er-ai h3 { margin: 0 0 12px; }
.er-ai-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.er-ai-grid b { color: #e9c47e; font-size: 1.05rem; }
.er-ai-grid p { margin: 4px 0 0; color: var(--mist); font-size: .92rem; }
.niche-note { margin-top: 16px; padding: 12px 16px; border-left: 3px solid var(--glow); background: rgba(126,214,180,.06); border-radius: 8px; color: var(--mist); max-width: 46rem; }
.lead-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 900px) { .er-grid, .er-ai-grid { grid-template-columns: 1fr 1fr; } .ways-3, .lead-split { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .er-grid, .er-ai-grid, .ways-grid, .jump-cards.jump-4 { grid-template-columns: 1fr; } }
.ft { margin-top: 8px; position: relative; }
.ft-bow-labels { position: absolute; left: 0; right: 0; top: 0; height: 110px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: center; text-align: center; pointer-events: none; }
.ft-bow-labels span { font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; color: var(--snow); font-weight: 600; }
.ft-bow { display: block; width: 100%; height: 110px; margin-bottom: 14px; }
.ft-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ft-col { --c: #7ed6b4; background: var(--raise); border: 1px solid var(--line-strong); border-top: 3px solid var(--c); border-radius: var(--r-lg); padding: clamp(20px, 2.4vw, 28px); display: flex; flex-direction: column; }
.ft-s { --c: #8fd3e8; } .ft-p { --c: #e9c47e; }
.ft-kicker { margin: 0; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: var(--c); font-weight: 600; }
.ft-col h3 { margin: 8px 0 6px; font-size: 1.2rem; }
.ft-stages { margin: 0 0 14px; font-size: .88rem; color: var(--sage); }
.ft-col .ticks li { font-size: .95rem; }
.ft-meta { margin: 18px 0 0; display: grid; gap: 8px; padding-top: 14px; border-top: 1px solid var(--line); }
.ft-meta div { display: grid; grid-template-columns: 96px 1fr; gap: 8px; }
.ft-meta dt { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--sage); padding-top: 2px; }
.ft-meta dd { margin: 0; font-size: .92rem; }
.ft-hand { margin: auto 0 0; padding-top: 16px; font-size: .9rem; color: var(--c); }
.ft-under { margin: 18px 0 0; padding: 16px 20px; border: 1px dashed var(--line-strong); border-radius: var(--r-lg); color: var(--mist); }
.ft-alt { margin: 14px 0 0; padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,.04); font-size: .9rem; color: var(--mist); }
.ft-alt strong { color: var(--c); font-weight: 600; }
.ft-motions { margin-top: 18px; }
.ft-motions-head { margin: 0 0 12px; color: var(--mist); }
.ft-mgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ft-mgrid > div { border: 1px solid var(--line-strong); border-radius: 12px; padding: 14px 16px; }
.ft-mgrid h4 { margin: 0 0 6px; font-size: .98rem; }
.ft-mgrid p { margin: 0; font-size: .9rem; color: var(--sage); }
@media (max-width: 1000px) { .ft-mgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ft-mgrid { grid-template-columns: 1fr; } }
.pr-head { margin: clamp(40px, 5vw, 56px) 0 16px; font-size: 1.35rem; }
.pr-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pr-card { border-top: 1px solid var(--line-strong); padding-top: 16px; }
.pr-num { display: inline-block; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--glow); text-decoration: none; margin-bottom: 6px; }
.pr-num:hover { text-decoration: underline; }
.pr-card h3 { margin: 0 0 6px; font-size: 1.05rem; }
.pr-card p { margin: 0; color: var(--mist); font-size: .95rem; }
@media (max-width: 1000px) { .pr-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 860px) { .ft-bow, .ft-bow-labels { display: none; } .ft-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .pr-grid { grid-template-columns: 1fr; } }
.funnel-stages { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.stage-new { border-style: dashed; border-color: var(--sage); background: linear-gradient(160deg, rgba(126,214,180,.10), transparent 60%), var(--raise); }
.new-pill { display: inline-block; margin-left: 10px; padding: 2px 8px; border-radius: 999px; background: rgba(126,214,180,.16); color: var(--glow); font-size: .7rem; letter-spacing: .08em; vertical-align: 1px; }
.funnel-note { margin-top: 22px; color: var(--sage); }
.ch-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.model-card p.ch-label { margin: 20px 0 4px; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--glow); }
.ch-card .ticks li { font-size: .95rem; }
.ch-help { margin-top: 28px; padding: clamp(20px, 2.4vw, 28px); border: 1px solid var(--line-strong); border-radius: var(--r-lg); }
.ch-help .ticks { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px 24px; margin-top: 12px; }
@media (max-width: 1080px) { .ch-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) { .funnel-stages { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .funnel-stages, .ch-grid { grid-template-columns: 1fr; } }
@media (min-width: 961px) { .hero-grid { grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); } .hero h1 { font-size: clamp(2.9rem, 5.1vw, 4.2rem); line-height: 1.05; } .hero-visual { max-width: 350px; } .hero .lede { font-size: 1.12rem; max-width: 34em; } }
.jump-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.jump-card { position: relative; display: grid; gap: 6px; align-content: start; padding: 22px 22px 24px; border-radius: var(--r-lg); border: 1px solid var(--line-strong); background: linear-gradient(160deg, rgba(126,214,180,0.10), rgba(126,214,180,0.02)); color: inherit; text-decoration: none; transition: border-color .2s, transform .2s; min-height: 132px; }
.jump-card:hover { border-color: var(--fern); transform: translateY(-3px); }
.jump-num { color: var(--mint); font-size: .76rem; letter-spacing: .14em; font-weight: 500; }
.jump-title { color: var(--snow); font-size: clamp(1.25rem, 2.6vw, 1.7rem); font-weight: 600; line-height: 1.15; }
.jump-text { color: var(--soft); font-size: .95rem; }
.jump-go { position: absolute; right: 18px; top: 18px; color: var(--glow); font-size: 1.1rem; }
@media (max-width: 600px) { .jump-cards { gap: 8px; } .jump-card { padding: 14px 12px 16px; min-height: 0; } .jump-text { font-size: .8rem; line-height: 1.35; } .jump-go { right: 10px; top: 10px; font-size: .95rem; } .jump-title { font-size: 1.05rem; } }
.best-for { margin-top: 12px; color: var(--soft); }
.best-for strong { color: var(--glow); font-weight: 500; }
.price-line { margin: 18px 0 0; color: var(--mist); }
.price-line strong { color: var(--glow); font-weight: 600; }
.ways-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.ways-grid > .way-card { grid-column: span 2; }
.ways-grid > .way-card:nth-child(-n+2) { grid-column: span 3; }
@media (max-width: 1000px) { .ways-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ways-grid > .way-card, .ways-grid > .way-card:nth-child(-n+2) { grid-column: auto; } .ways-grid > .way-card:last-child:nth-child(odd) { grid-column: 1 / -1; } }
.way-card { display: flex; flex-direction: column; gap: 10px; padding: 26px; border-radius: var(--r-lg); border: 1px solid var(--line-strong); background: var(--raise); color: inherit; text-decoration: none; transition: border-color .2s, transform .2s; }
.way-card:hover { border-color: var(--fern); transform: translateY(-3px); }
.way-card h2 { margin: 0; font-size: clamp(1.4rem, 2.6vw, 1.8rem); }
.way-card p { margin: 0; color: var(--soft); }
.way-card .way-price { color: var(--glow); font-weight: 500; }
.way-card .res-go { margin-top: auto; }
@media (max-width: 760px) { .ways-grid { grid-template-columns: minmax(0, 1fr); } .ways-grid > .way-card:last-child:nth-child(odd) { grid-column: auto; } }
.which-list { display: grid; gap: 10px; }
.which-row { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 18px 20px; border-radius: 14px; background: var(--deep); border: 1px solid var(--line); }
.which-q { margin: 0; color: var(--snow); font-size: 1.05rem; }
.which-a { flex: none; color: var(--glow); font-weight: 500; padding: 10px 0; }
@media (max-width: 640px) { .which-row { flex-direction: column; align-items: flex-start; gap: 8px; } }
.month-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.month-grid > div { padding: 20px; border-radius: 14px; background: var(--raise); border: 1px solid var(--line); }
.month-grid b { color: var(--mint); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; }
.month-grid p { margin: 8px 0 0; color: var(--soft); }
@media (max-width: 900px) { .month-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .month-grid { grid-template-columns: minmax(0, 1fr); } }
.rate-card { display: inline-grid; margin-top: 26px; padding: 22px 28px; border-radius: var(--r-lg); border: 1px solid var(--fern); background: linear-gradient(160deg, rgba(126,214,180,0.16), rgba(126,214,180,0.03)); }
.rate-num { margin: 0; font-size: clamp(3rem, 8vw, 4.6rem); line-height: 1; font-weight: 600; color: var(--glow); }
.rate-unit { margin: 4px 0 0; color: var(--snow); font-size: 1.1rem; }
.rate-note { margin: 6px 0 0; color: var(--sage); font-size: .92rem; }
.fc-box { padding: 26px; border-radius: var(--r-lg); background: var(--deep); border: 1px solid var(--line-strong); display: grid; gap: 14px; }
.fc-label { color: var(--mist); }
.fc-label b { color: var(--snow); }
.fc-box input[type=range] { width: 100%; accent-color: #7ed6b4; }
.fc-total { margin: 0; font-size: clamp(2rem, 5vw, 2.8rem); font-weight: 600; color: var(--glow); line-height: 1.1; }
.fc-total span { color: var(--glow); }
.fc-sub { margin: 0; color: var(--sage); }
.approach-hero { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.9fr); gap: clamp(24px, 5vw, 64px); align-items: center; }
.approach-svg { width: 100%; height: auto; display: block; }
.approach-svg .eng-l { fill: #ffffff; font: 600 20px/1 var(--font-body, system-ui, sans-serif); }
.approach-svg .eng-c { fill: #ffffff; font: 600 13px/1 var(--font-body, system-ui, sans-serif); }
@media (max-width: 860px) { .approach-hero { grid-template-columns: minmax(0, 1fr); } .approach-visual { max-width: 340px; } }
.pillar-head { border-top: 1px solid var(--line); padding-top: clamp(48px, 7vw, 80px); scroll-margin-top: 80px; }
.pillar-num { color: var(--mint); font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 10px; }
.pillar-title { font-size: clamp(2rem, 4.6vw, 3.2rem); margin: 0 0 12px; max-width: 18ch; }
[id] { scroll-margin-top: 84px; }
.hero-proof { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--sage); font-size: .9rem; }
.hero-proof b { color: var(--snow); font-weight: 600; }
@media (min-width: 961px) { .hero-grid > .hero-visual { grid-row: 1 / span 5; } }
@media (max-width: 960px) { .hero-grid > .hero-proof { order: 6; } }

/* ---------- Brand kit layer ---------- */
h1, h2, h3 { font-weight: 600; letter-spacing: -0.02em; line-height: 1.08; }
h1 { letter-spacing: -0.03em; }
.btn { border-radius: var(--r-md); font-weight: 500; }
.btn-primary { background: var(--mint); color: var(--midnight); }
.btn-primary:hover { background: var(--snow); color: var(--midnight); }
.btn-ghost:hover { border-color: var(--mint); color: var(--snow); }
.logo { align-items: center; }
.logo-img { display: block; height: 36px; width: auto; }
.site-footer .logo-img, footer .logo-img { height: 34px; }
.eyebrow-text, .res-kicker, .ex-kicker, .vis-tag { font-weight: 500; text-transform: uppercase; letter-spacing: 0.24em; font-size: 0.78rem !important; color: var(--mint) !important; }
.cta-band { background: var(--deep); border: 1px solid var(--line); background-image: radial-gradient(120% 140% at 100% 0%, rgba(126, 214, 180, 0.16), rgba(126, 214, 180, 0) 55%); }
.funnel-bar span { background: linear-gradient(90deg, var(--mint-deep), var(--mint)); }
/* One family: quotes keep their size but drop the serif italic */
.pain-q, .quote blockquote, .case-quote blockquote, .ex-adam p { font-style: normal; font-weight: 400; letter-spacing: -0.01em; }
/* partners-v1 */
.pt-jump { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.pt-jump a { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border: 1px solid var(--line-strong); border-radius: var(--r-lg); background: var(--raise); color: inherit; text-decoration: none; transition: border-color .2s; }
.pt-jump a:hover { border-color: var(--fern); }
.pt-jump b { font-size: 1.15rem; } .pt-jump span { color: var(--sage); font-size: .92rem; }
.pt-cat { margin: 40px 0 14px; font-size: 1.2rem; } .section-head + .pt-cat { margin-top: 8px; }
.pt-sub { margin: -6px 0 16px; color: var(--sage); }
.pt-apps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pt-app { display: flex; flex-direction: column; gap: 6px; padding: 18px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--raise); color: inherit; text-decoration: none; transition: border-color .2s, transform .2s; }
.pt-app:hover { border-color: var(--fern); transform: translateY(-2px); }
.pt-app h4 { margin: 0; font-size: 1.05rem; } .pt-app p { margin: 0; color: var(--soft); font-size: .93rem; } .pt-app .res-go { margin-top: auto; padding-top: 6px; font-size: .88rem; }
.pt-ags { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pt-ag { padding: 20px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--raise); }
.pt-ag h3 { margin: 0 0 8px; font-size: 1.08rem; } .pt-ag p { margin: 0; color: var(--soft); font-size: .93rem; }
.pt-ag .pt-when { margin-top: 10px; color: var(--sage); font-size: .88rem; } .pt-when strong { color: var(--glow); font-weight: 500; }
.tm-grid.pt-biz { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 960px) { .tm-grid.pt-biz { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pt-note { margin-top: 22px; color: var(--sage); max-width: 46rem; }
@media (max-width: 1000px) { .pt-apps, .pt-ags { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .pt-jump { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .pt-apps, .pt-ags { grid-template-columns: 1fr; } }
/* /partners-v1 */
