/* =====================================================================
   Pulse Workspace — Digital Twin v2 (design-review rework)
   Editorial palette · Fraunces / Lato / JetBrains Mono
   Centrepiece: the Evidence Ridgeline (see #calib + twin.js)
   ===================================================================== */

:root{
  /* editorial palette (primary) */
  --cream-paper:#F6F2E9; --cream-2:#EDE8DC; --cream-3:#E4DECF;
  --forest-ink:#1F3A2B; --forest-mid:#2D5743; --forest-deep:#16271C;
  --ochre:#B8762A; --ochre-light:#D08C3A; --ochre-soft:rgba(184,118,42,.12);
  --teal-ink:#1A7F6F; --muted-ink:#7A8A70; --charcoal:#2A3020;
  --text-mid:#4A5246; --line:#e2dccd; --line-2:rgba(31,58,43,.10);
  --white:#fff; --maxw:760px; --maxw-wide:1020px;

  /* evidence-tier palette (used ONLY inside the evidence map) */
  --tier-1:#76B82A; --tier-2:#2A9D8F; --tier-3:#E9A84C; --tier-4:#9BA4B0;

  /* brand accent set — purposeful emphasis & focus (from the design system) */
  --lime-bright:#76B82A; --lime:#9FB04F; --cyan:#2A9D8F; --berry:#8B2783; --purple:#6B2D8B; --bright-amber:#FFBF00;

  /* segment accents (match live result/index.html) */
  --seg-enterprise:#C8973A; --seg-partnership:#2A9D8F;
  --seg-research:#9FB04F; --seg-self:#D08C3A;

  --shadow-sm:0 2px 10px rgba(31,58,43,.07);
  --shadow-md:0 12px 34px rgba(31,58,43,.09);
  --shadow-lg:0 26px 60px rgba(22,39,28,.20);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Lato',-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--cream-paper); color:var(--charcoal); line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{color:var(--forest-ink)}
img{max-width:100%; display:block}

h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif; color:var(--forest-ink); font-weight:400; letter-spacing:-.012em; line-height:1.16; margin:0}
em{font-style:italic; color:var(--ochre)}
strong{font-weight:700; color:var(--forest-ink)}

.eyebrow{font-family:'JetBrains Mono',Menlo,monospace; font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ochre); margin:0 0 14px; font-weight:500}
.lede{font-size:1.1rem; color:var(--forest-mid); line-height:1.6}
.muted{color:var(--muted-ink)}

/* ── App shell ───────────────────────────────────────────── */
.wsHeader{position:sticky; top:0; z-index:30; background:var(--forest-ink); color:var(--cream-paper); border-bottom:1px solid rgba(246,242,233,.10)}
.wsHeader::after{content:""; display:block; height:3px; background:linear-gradient(90deg,var(--ochre) 0%,var(--ochre-light) 60%,transparent 100%)}
.wsHeader__inner{max-width:var(--maxw-wide); margin:0 auto; padding:14px 26px; display:flex; align-items:center; gap:14px}
.wsHeader__logo img{height:26px; width:auto; display:block}
.wsHeader__tag{font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(246,242,233,.62); margin-left:auto; padding:5px 11px; border:1px solid rgba(246,242,233,.16); border-radius:99px}

main{width:100%; max-width:var(--maxw); margin:0 auto; padding:48px 26px 84px}
main.wide{max-width:var(--maxw-wide)}

/* ── Buttons ─────────────────────────────────────────────── */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:14px 26px; min-height:44px; border-radius:2px; font-family:inherit; font-weight:700; font-size:.93rem; letter-spacing:.01em; cursor:pointer; border:2px solid transparent; text-decoration:none; transition:background .16s var(--ease),border-color .16s,color .16s,transform .16s,box-shadow .16s; white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--ochre); color:#fff; box-shadow:0 6px 18px rgba(184,118,42,.26)}
.btn--primary:hover{background:var(--ochre-light); box-shadow:0 10px 26px rgba(184,118,42,.34)}
.btn--secondary{background:transparent; color:var(--forest-ink); border-color:var(--forest-ink)}
.btn--secondary:hover{background:var(--forest-ink); color:#fff}
.btn--ghost{background:transparent; color:var(--forest-mid); border-color:var(--line)}
.btn--ghost:hover{border-color:var(--forest-mid)}
.btn[disabled]{opacity:.42; cursor:not-allowed; box-shadow:none}
.btn--lg{padding:16px 30px; font-size:1rem}
.btnRow{display:flex; flex-wrap:wrap; gap:13px; align-items:center; margin-top:26px}
.arrow{transition:transform .18s var(--ease)}
.btn:hover .arrow{transform:translateX(3px)}

/* ════════════════════════════════════════════════════════════
   LANDING
   ════════════════════════════════════════════════════════════ */
.hero{position:relative; background:var(--forest-ink); color:var(--cream-paper); overflow:hidden; isolation:isolate}
.hero__photo{position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center 62%; opacity:.26; filter:grayscale(.3) saturate(.85)}
.hero__veil{position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,var(--forest-ink) 8%,rgba(31,58,43,.74) 46%,rgba(22,39,28,.92) 100%)}
.hero__inner{max-width:var(--maxw); margin:0 auto; padding:60px 26px 132px; position:relative}
.hero .eyebrow{color:var(--ochre-light)}
.hero h1{color:#fff; font-size:clamp(2.05rem,4.7vw,3.1rem); font-weight:400; line-height:1.1; margin:0 0 20px; max-width:18ch}
.hero h1 em{color:var(--ochre-light); font-style:italic}
.hero__sub{font-size:1.12rem; color:rgba(246,242,233,.86); max-width:50ch; margin:0 0 30px; line-height:1.6}
.hero .btn--secondary{color:#fff; border-color:rgba(246,242,233,.45)}
.hero .btn--secondary:hover{background:#fff; color:var(--forest-ink); border-color:#fff}
.hero__assur{margin:30px 0 0; display:flex; align-items:center; gap:12px; font-size:.82rem; color:rgba(246,242,233,.6); font-family:'JetBrains Mono',monospace; letter-spacing:.04em}
.hero__assur svg{flex:none}

/* ridgeline embedded in hero floor */
.hero__ridge{position:absolute; left:0; right:0; bottom:-1px; z-index:-1; width:100%; height:150px; display:block}

/* credibility block */
.cred{max-width:var(--maxw); margin:-58px auto 0; padding:0 26px; position:relative; z-index:5}
.cred__card{background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-md); overflow:hidden}
.cred__head{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 24px; border-bottom:1px solid var(--line); background:var(--cream-paper)}
.cred__head p{margin:0; font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted-ink)}
.cred__bni{height:30px; width:auto; opacity:.9}
.cred__grid{display:grid; grid-template-columns:repeat(4,1fr)}
.cred__cell{position:relative; padding:24px 22px 24px; border-right:1px solid var(--line)}
.cred__cell::before{content:""; position:absolute; top:0; left:22px; width:30px; height:3px; background:var(--ca,var(--ochre)); border-radius:0 0 3px 3px}
.cred__cell:nth-child(1){--ca:var(--lime-bright)}
.cred__cell:nth-child(2){--ca:var(--cyan)}
.cred__cell:nth-child(3){--ca:var(--berry)}
.cred__cell:nth-child(4){--ca:var(--ochre)}
.cred__cell:last-child{border-right:0}
.cred__n{font-family:'Fraunces',serif; font-size:1.7rem; color:var(--ca,var(--forest-ink)); font-weight:500; line-height:1; margin:0 0 8px; letter-spacing:-.02em}
.cred__n--sm{font-size:1.05rem; font-weight:600; line-height:1.2}
.cred__l{font-size:.82rem; color:var(--text-mid); margin:0; line-height:1.45}

.lblock{max-width:var(--maxw); margin:0 auto; padding:64px 26px 0}
.lblock h2{font-size:clamp(1.6rem,3vw,2.1rem); margin:0 0 16px; max-width:20ch}
.lblock .lede{max-width:54ch; margin:0 0 8px}
.how{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:36px 0 0}
.how__step{padding:22px 0 0; border-top:2px solid var(--ha,var(--forest-ink))}
.how__step:nth-child(1){--ha:var(--lime-bright)}
.how__step:nth-child(2){--ha:var(--cyan)}
.how__step:nth-child(3){--ha:var(--berry)}
.how__num{font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ha,var(--ochre)); margin:0 0 10px}
.how__step h3{font-size:1.16rem; font-weight:500; margin:0 0 8px}
.how__step p{font-size:.92rem; color:var(--text-mid); margin:0; line-height:1.55}

.rnd{max-width:var(--maxw); margin:44px auto 0; padding:0 26px}
.rnd__inner{display:flex; gap:16px; align-items:flex-start; padding:18px 22px; border:1px dashed var(--line); border-left:3px solid var(--muted-ink); border-radius:0 8px 8px 0; background:var(--cream-2); font-size:.9rem; color:var(--text-mid); line-height:1.55}
.rnd__inner b{color:var(--forest-mid)}
.rnd__tag{font-family:'JetBrains Mono',monospace; font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-ink); border:1px solid var(--line); padding:3px 8px; border-radius:3px; white-space:nowrap; margin-top:2px}

/* ════════════════════════════════════════════════════════════
   ASSESSMENT
   ════════════════════════════════════════════════════════════ */
/* two-phase progress */
.progress{margin:0 0 30px}
.progress__phases{display:flex; gap:10px; margin:0 0 12px}
.phase{flex:1}
.phase__label{display:flex; align-items:center; gap:7px; font-family:'JetBrains Mono',monospace; font-size:.6rem; letter-spacing:.13em; text-transform:uppercase; color:var(--muted-ink); margin:0 0 7px}
.phase__label .dot{width:6px; height:6px; border-radius:50%; background:var(--line); flex:none}
.phase--active .phase__label{color:var(--forest-ink)}
.phase--active .phase__label .dot{background:var(--ochre)}
.phase--done .phase__label{color:var(--forest-mid)}
.phase--done .phase__label .dot{background:var(--forest-mid)}
.phase__track{height:4px; background:var(--cream-3); border-radius:2px; overflow:hidden}
.phase__fill{height:100%; width:0; border-radius:2px; transition:width .5s var(--ease)}
.phase--evidence .phase__fill{background:var(--lime-bright)}
.phase--readiness .phase__fill{background:var(--ochre)}
.progress__step{font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-ink); margin:0}

/* question card */
.qcard{--qa:var(--ochre); position:relative; background:var(--white); border:1px solid var(--line); border-radius:14px; padding:32px 30px; box-shadow:var(--shadow-md); overflow:hidden}
.qcard::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--qa)}
.qcard--ev{--qa:var(--lime-bright)}
.qcard--rd{--qa:var(--ochre)}
.qcard__top{display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 16px}
.qcard__kicker{font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.15em; text-transform:uppercase; color:var(--qa); margin:0}
.qcard__layer{font-family:'JetBrains Mono',monospace; font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--qa); padding:4px 10px; border:1px solid color-mix(in srgb,var(--qa) 42%, transparent); border-radius:99px; background:color-mix(in srgb,var(--qa) 8%, transparent)}
.qcard__q{font-size:1.46rem; line-height:1.26; margin:0 0 24px; color:var(--forest-ink); font-weight:400; max-width:30ch}

.opts{display:flex; flex-direction:column; gap:11px; list-style:none; margin:0; padding:0}
.opt{position:relative; width:100%; text-align:left; padding:16px 18px 16px 50px; border:1.5px solid var(--line); border-radius:9px; background:var(--cream-paper); font-family:inherit; font-size:.99rem; color:var(--charcoal); cursor:pointer; transition:border-color .15s,background .15s,box-shadow .15s,transform .12s; line-height:1.45}
.opt:hover,.opt:focus-visible{border-color:var(--ochre); outline:none; background:#fbf6ec}
.opt__mark{position:absolute; left:16px; top:50%; transform:translateY(-50%); width:21px; height:21px; border-radius:50%; border:2px solid var(--line); transition:border-color .15s,background .15s; display:flex; align-items:center; justify-content:center}
.opt__mark::after{content:""; width:8px; height:8px; border-radius:50%; background:transparent; transition:background .15s,transform .2s var(--ease); transform:scale(0)}
.opt:hover .opt__mark{border-color:var(--ochre)}
.opt[aria-pressed="true"],.opt.is-on{border-color:var(--ochre); background:#fbf4e9; box-shadow:inset 0 0 0 1px var(--ochre)}
.opt[aria-pressed="true"] .opt__mark,.opt.is-on .opt__mark{border-color:var(--ochre)}
.opt[aria-pressed="true"] .opt__mark::after,.opt.is-on .opt__mark::after{background:var(--ochre); transform:scale(1)}

/* reveal-on-answer evidence panel */
.explain{margin:22px 0 0; border:1px solid var(--line); border-radius:11px; background:linear-gradient(180deg,#fbfaf5,var(--cream-2)); overflow:hidden; box-shadow:var(--shadow-sm)}
.explain[hidden]{display:none}
.explain.in{animation:revealUp .55s var(--ease) both}
@keyframes revealUp{from{transform:translateY(10px)} to{transform:none}}
.explain__bar{display:flex; align-items:center; gap:11px; padding:13px 18px; background:var(--forest-ink); color:var(--cream-paper)}
.explain__h{font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(246,242,233,.75); margin:0}
.explain__tier{margin-left:auto; display:inline-flex; align-items:center; gap:7px; font-family:'JetBrains Mono',monospace; font-size:.58rem; letter-spacing:.08em; text-transform:uppercase; padding:4px 10px; border-radius:99px; font-weight:500}
.explain__tier .swatch{width:8px; height:8px; border-radius:2px; flex:none}
.explain__body{padding:18px 20px}
.explain__body p{margin:0; font-size:.95rem; color:var(--charcoal); line-height:1.62}
.explain__body strong{color:var(--forest-ink)}
.explain__body em{color:var(--ochre); font-style:italic}

/* evidence-chain strip in the evidence layer — soil→health, lit link by link */
.miniRidge{margin:20px 0 0; padding:16px 18px 12px; border:1px solid var(--line); border-radius:11px; background:linear-gradient(180deg,#fbfaf5,var(--white))}
.miniChain__head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 2px 6px}
.miniChain__t{font-family:'JetBrains Mono',monospace; font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--forest-mid); margin:0}
.miniChain__c{font-family:'JetBrains Mono',monospace; font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ochre); transition:color .3s}
.miniChain__c.done{color:var(--tier-1); font-weight:500}
.chainSvg{width:100%; height:auto; display:block; overflow:visible}
.ch-track{stroke:#ddd5c2; stroke-width:2; stroke-linecap:round; stroke-dasharray:0.5 9}
.ch-lit{stroke-width:3.5; stroke-linecap:round; fill:none}
.ch-end{font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.14em; text-transform:uppercase; fill:var(--muted-ink)}
.ch-end.on{fill:var(--berry)}
.ch-node .ring{fill:#fff; stroke:#cfc7b4; stroke-width:2}
.ch-heart{fill:none; stroke:#cfc7b4; stroke-width:2}
.ch-health.on .ch-heart{fill:var(--berry); stroke:var(--berry)}

/* layer interstitial */
.interstitial{position:relative; border-radius:14px; overflow:hidden; color:var(--cream-paper); box-shadow:var(--shadow-md)}
.interstitial__photo{position:absolute; inset:0; z-index:0; background-size:cover; background-position:center 40%; opacity:.4; filter:grayscale(.2)}
.interstitial__veil{position:absolute; inset:0; z-index:1; background:linear-gradient(110deg,var(--forest-ink) 30%,rgba(31,58,43,.7))}
.interstitial__in{position:relative; z-index:2; padding:38px 32px}
.interstitial .eyebrow{color:var(--ochre-light)}
.interstitial h2{color:#fff; font-size:1.7rem; margin:0 0 12px; max-width:20ch}
.interstitial p{color:rgba(246,242,233,.85); margin:0 0 4px; max-width:46ch; font-size:1.02rem}

/* contact form */
.field{margin:0 0 16px}
.field label{display:block; font-size:.82rem; font-weight:700; color:var(--forest-ink); margin:0 0 7px; letter-spacing:.01em}
.field input{width:100%; padding:13px 15px; border:1.5px solid var(--line); border-radius:8px; font-family:inherit; font-size:1rem; color:var(--charcoal); background:var(--cream-paper); transition:border-color .15s,box-shadow .15s}
.field input:focus{outline:none; border-color:var(--ochre); background:#fff; box-shadow:0 0 0 3px var(--ochre-soft)}
.formGrid{display:grid; grid-template-columns:1fr 1fr; gap:0 18px}
.formNote{font-size:.82rem; color:var(--muted-ink); margin:5px 0 0}
.errline{color:#b3261e; font-size:.9rem; margin:10px 0 0; min-height:1.2em}

/* ════════════════════════════════════════════════════════════
   RESULTS — the "arrival"
   ════════════════════════════════════════════════════════════ */
.twinDiag{max-width:var(--maxw); margin:0 auto 16px; display:flex; flex-wrap:wrap; gap:7px}
.twinDiag span{display:inline-block; background:var(--cream-2); border:1px solid var(--line); border-radius:4px; padding:4px 11px; font-family:'JetBrains Mono',monospace; font-size:.66rem; color:var(--forest-mid)}

.result{--seg:var(--ochre)}
.result[data-seg="enterprise"]{--seg:var(--seg-enterprise)}
.result[data-seg="partnership"]{--seg:var(--seg-partnership)}
.result[data-seg="research"]{--seg:var(--seg-research)}
.result[data-seg="self_serve"]{--seg:var(--seg-self)}

.resultHero{position:relative; border-radius:16px 16px 0 0; overflow:hidden; color:var(--cream-paper); isolation:isolate}
.resultHero__photo{position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center 50%; opacity:.5; filter:grayscale(.18) saturate(.92)}
.resultHero__veil{position:absolute; inset:0; z-index:-1; background:linear-gradient(105deg,rgba(22,39,28,.94) 28%,rgba(31,58,43,.74) 66%,rgba(22,39,28,.5) 100%)}
.resultHero__glow{position:absolute; right:-90px; top:-90px; z-index:-1; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,var(--seg),transparent 68%); opacity:.32}
.resultHero__in{position:relative; padding:34px 34px 30px; animation:riseIn .6s var(--ease) both}
@keyframes riseIn{from{transform:translateY(10px)} to{transform:none}}
.resultBadge{display:inline-flex; align-items:center; gap:9px; font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; padding:7px 14px; border-radius:99px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); color:#fff; margin:0 0 18px}
.resultBadge::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--seg); box-shadow:0 0 0 4px color-mix(in srgb,var(--seg) 30%,transparent)}
.resultHero__ey{font-family:'JetBrains Mono',monospace; font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--seg); margin:0 0 12px; filter:brightness(1.25)}
.resultHero__title{color:#fff; font-family:'Fraunces',Georgia,serif; font-weight:400; font-size:clamp(1.7rem,3.6vw,2.35rem); line-height:1.13; margin:0; letter-spacing:-.015em; max-width:20ch}
.resultHero__org{display:flex; align-items:center; gap:10px; color:rgba(246,242,233,.78); font-size:.95rem; margin:16px 0 0; font-family:'JetBrains Mono',monospace; letter-spacing:.04em}
.resultHero__org::before{content:""; width:18px; height:1px; background:rgba(246,242,233,.4)}

.resultBody{background:var(--white); border:1px solid var(--line); border-top:0; border-radius:0 0 16px 16px; padding:34px 34px 36px; box-shadow:var(--shadow-md)}
.readLead{font-size:1.14rem; color:var(--forest-mid); line-height:1.62; margin:0 0 4px; max-width:58ch}
.readout__what{font-weight:700; color:var(--berry)}
.resultBody>p{margin:18px 0 0; color:var(--text-mid); line-height:1.7; max-width:60ch}
.sectionLabel{font-family:'JetBrains Mono',monospace; font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ochre); margin:0 0 14px; display:flex; align-items:center; gap:12px}
.sectionLabel::after{content:""; flex:1; height:1px; background:var(--line)}

/* ── THE EVIDENCE RIDGELINE (calibration map) ── */
.calib{margin:30px 0 4px; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--white)}
.calib__head{padding:22px 26px 6px}
.calib__band{font-family:'Fraunces',serif; font-size:1.22rem; line-height:1.4; color:var(--forest-ink); margin:0; max-width:42ch}
.calib__band b{color:var(--ochre); font-weight:600}
.calib__sub{font-size:.86rem; color:var(--muted-ink); margin:8px 0 0}

.ridge{position:relative; padding:6px 26px 10px}
.ridge svg{width:100%; height:auto; display:block; overflow:visible}
.ridge__axis{display:flex; justify-content:space-between; margin:2px 4px 0; font-family:'JetBrains Mono',monospace; font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-ink)}
.ridge__axis span:first-child{color:var(--forest-mid)}

/* ridge svg element styles (animated in twin.js) */
.rg-area{opacity:0}
.rg-line{fill:none; stroke-linecap:round; stroke-linejoin:round}
.rg-grid{stroke:#ece6d6; stroke-width:1}
.rg-guide{stroke:#f0ebde; stroke-width:1; stroke-dasharray:2 5}
.rg-drop{stroke:rgba(31,58,43,.16); stroke-width:1; stroke-dasharray:2 4}
.rg-axisv{font-family:'JetBrains Mono',monospace; font-size:8px; letter-spacing:.06em; text-transform:uppercase; fill:#a9a293}
.rg-axislbl{font-family:'JetBrains Mono',monospace; font-size:8.5px; letter-spacing:.2em; text-transform:uppercase; fill:#b6ae9d}
.rg-node{cursor:default}
.rg-node circle.hit{fill:#fff; stroke:var(--forest-mid); stroke-width:2.5}
.rg-node.on circle.hit{fill:var(--ochre); stroke:#fff; stroke-width:2}
.rg-node .tick{stroke:#fff; stroke-width:1.6; fill:none; stroke-linecap:round; stroke-linejoin:round}
@media (prefers-reduced-motion:no-preference){
  .rg-node.on .pulse{animation:rgPulse 2.6s ease-out infinite}
}
@keyframes rgPulse{0%{transform:scale(.65); opacity:.7} 70%{opacity:0} 100%{transform:scale(1.5); opacity:0}}
.rg-strength{font-family:'JetBrains Mono',monospace; font-size:8.5px; letter-spacing:.05em; font-weight:500}
.rg-name{font-family:'Lato',sans-serif; font-size:12.5px; font-weight:700; fill:var(--forest-ink)}
.rg-tier{font-family:'JetBrains Mono',monospace; font-size:8.5px; letter-spacing:.04em; text-transform:uppercase; fill:var(--muted-ink)}

/* worth-knowing readout under the ridge */
.calib__worth{padding:8px 26px 26px; display:grid; gap:0}
.worthRow{display:grid; grid-template-columns:128px 1fr; gap:18px; padding:16px 0; border-top:1px solid var(--line); align-items:start}
.worthRow:first-child{border-top:1px solid var(--cream-3)}
.worth__meta{display:flex; flex-direction:column; gap:7px}
.worth__name{font-family:'Fraunces',serif; font-size:1.02rem; font-weight:500; color:var(--forest-ink); line-height:1.2}
.worth__tier{display:inline-flex; align-items:center; gap:6px; font-family:'JetBrains Mono',monospace; font-size:.56rem; letter-spacing:.07em; text-transform:uppercase; color:var(--text-mid)}
.worth__tier .swatch{width:8px; height:8px; border-radius:2px; flex:none}
.worth__track{height:3px; background:var(--cream-3); border-radius:2px; overflow:hidden; margin-top:2px}
.worth__trackfill{height:100%; border-radius:2px; width:0; transition:width .9s var(--ease)}
.worth__lead{display:inline-block; font-family:'JetBrains Mono',monospace; font-size:.55rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ochre); margin:0 0 5px}
.worth__txt{font-size:.92rem; color:var(--text-mid); line-height:1.58; margin:0}
.worth__txt strong{color:var(--forest-ink)}

/* price line (self-serve) */
.priceLine{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin:26px 0 4px; padding:18px 22px; background:var(--cream-2); border-radius:10px; border-left:3px solid var(--seg-self)}
.priceLine__lead{font-family:'Fraunces',serif; font-size:1.2rem; color:var(--forest-ink); font-weight:500}
.priceLine__amt{font-family:'Fraunces',serif; font-size:1.2rem; color:var(--seg-self); font-weight:600}

/* CTA block */
.ctaBlock{position:relative; margin:30px 0 0; padding:28px 28px; background:var(--forest-ink); border-radius:13px; overflow:hidden; isolation:isolate}
.ctaBlock::before{content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--seg)}
.ctaBlock .sectionLabel{color:var(--ochre-light)}
.ctaBlock .sectionLabel::after{background:rgba(246,242,233,.15)}
.ctaBlock h3{color:#fff; font-size:1.28rem; font-weight:400; margin:0 0 6px; max-width:24ch}
.ctaBlock .btn--secondary{color:#fff; border-color:rgba(246,242,233,.5)}
.ctaBlock .btn--secondary:hover{background:#fff; color:var(--forest-ink); border-color:#fff}
.ctaNote{color:rgba(246,242,233,.66); font-size:.84rem; margin:16px 0 0; line-height:1.5; max-width:54ch}
.resultClose{text-align:center; color:var(--muted-ink); font-size:.9rem; margin:26px auto 0; line-height:1.55; max-width:46ch}
.ctaTargets{max-width:var(--maxw); margin:14px auto 0; font-family:'JetBrains Mono',monospace; font-size:.66rem; color:var(--muted-ink); border:1px dashed var(--line); border-radius:6px; padding:8px 12px; background:var(--cream-2)}

/* ════════════════════════════════════════════════════════════
   PRICING
   ════════════════════════════════════════════════════════════ */
/* tailored follow-on plan pages */
.planBack{display:inline-block; font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--forest-mid); text-decoration:none; margin:0 0 18px; padding:6px 0}
.planBack:hover{color:var(--ochre)}
.planCard{--seg:var(--ochre); max-width:560px; margin:28px auto 0; background:var(--white); border:1px solid var(--line); border-top:3px solid var(--seg); border-radius:14px; padding:26px 26px 24px; box-shadow:var(--shadow-md)}
.planCard[data-seg="enterprise"]{--seg:var(--seg-enterprise)} .planCard[data-seg="partnership"]{--seg:var(--seg-partnership)} .planCard[data-seg="research"]{--seg:var(--seg-research)}
.planCard__head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin:0 0 16px; padding:0 0 16px; border-bottom:1px solid var(--line)}
.planCard__name{font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--seg); margin:0 0 8px}
.planCard__price{font-family:'Fraunces',serif; font-size:2rem; font-weight:500; color:var(--seg); line-height:1; margin:0; letter-spacing:-.02em; display:flex; flex-direction:column; gap:6px}
.planCard__price small{font-size:.78rem; color:var(--muted-ink); font-family:'Lato',sans-serif; font-weight:400; letter-spacing:0}
.planCard .tier__list{margin:0 0 22px}
.planCard .btn{width:100%; justify-content:center}
.planCard__note{font-size:.82rem; color:var(--muted-ink); line-height:1.5; margin:14px 0 0}
.tier--rec{position:relative; border:1.5px solid var(--accent); box-shadow:var(--shadow-md)}
.tier__recbadge{position:absolute; top:-11px; left:24px; font-family:'JetBrains Mono',monospace; font-size:.56rem; letter-spacing:.14em; text-transform:uppercase; background:var(--accent); color:#fff; padding:4px 11px; border-radius:99px}
/* Growing Together deal panel on the Ready-to-start Pioneer card */
.ssOffer{display:flex; align-items:flex-start; gap:11px; margin:0 0 16px; padding:12px 13px; border-radius:10px; border:1px solid color-mix(in srgb,var(--berry) 30%,transparent); background:linear-gradient(135deg,color-mix(in srgb,var(--berry) 13%,#fff),color-mix(in srgb,var(--berry) 4%,#fff))}
.ssOffer__rings{width:38px; height:auto; flex:none; margin-top:2px}
.ssOffer__t{font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; color:var(--berry); margin:0 0 4px}
.ssOffer__t b{font-family:'Fraunces',serif; font-size:.95rem; font-weight:600}
.ssOffer__d{font-size:.78rem; color:var(--text-mid); line-height:1.45; margin:0}
.ssOffer__cta{justify-content:center; width:100%}

.pricingHero{position:relative; max-width:var(--maxw-wide); margin:0 auto; border-radius:16px; overflow:hidden; color:var(--cream-paper); isolation:isolate; padding:44px 40px 46px}
.pricingHero__photo{position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center 50%; opacity:.34; filter:grayscale(.25) saturate(.9)}
.pricingHero__veil{position:absolute; inset:0; z-index:-1; background:linear-gradient(120deg,var(--forest-deep) 12%,rgba(31,58,43,.82) 60%,rgba(31,58,43,.5))}
.pricingHero__rings{position:absolute; top:30px; right:38px; width:clamp(48px,14vw,62px); height:auto; opacity:.9; filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}
.pricingHero__in{position:relative; max-width:40ch}
.pricingHero .eyebrow{color:var(--ochre-light); margin:0 0 16px}
.pricingHero h1{color:#fff; font-size:clamp(1.7rem,2.9vw,2.35rem); font-weight:400; line-height:1.16; letter-spacing:-.012em; margin:0 0 16px}
.pricingHero h1 em{color:var(--ochre-light); font-style:italic}
.pricingHero .lede{color:rgba(246,242,233,.86); max-width:54ch; margin:0; font-size:1.04rem}
.tiers{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:38px 0 0; align-items:stretch}
.tier--found{--accent:var(--lime-bright)}

/* Pioneer "Growing Together" flip card — robust 2D vertical flip (scaleY),
   front Pioneer / back the share offer (berry). The cell deliberately does NOT
   carry the .tier class — the two faces carry all the card styling — so the
   cell adds no padding/border offset. 3D rotateX is dropped by this engine. */
.tier--flip{position:relative; display:block}
.flip__inner{position:relative; display:grid; height:100%}
.flip__face{position:relative; grid-area:1 / 1; display:flex; flex-direction:column; background:var(--white); border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:14px; padding:24px 20px; box-shadow:var(--shadow-sm); overflow:hidden; transform-origin:center center; transition:transform .5s var(--ease), opacity .32s ease}
.flip__face--front{--accent:var(--teal-ink); z-index:1}
.flip__face--back{--accent:var(--berry); z-index:2; transform:scaleY(0); opacity:0; background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--berry) 8%,#fff))}
.tier--flip.flipped .flip__face--front{transform:scaleY(0); opacity:0}
.tier--flip.flipped .flip__face--back{transform:scaleY(1); opacity:1}
.flip__face--back::before{content:""; position:absolute; right:-44px; top:-44px; width:140px; height:140px; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--berry) 16%,transparent),transparent 70%)}
.flip__face .tier__list{flex:1}
.flip__rings{margin:0 0 14px; position:relative}
.flip__clock{align-self:flex-start; display:inline-flex; align-items:center; gap:8px; margin:0 0 14px; padding:7px 12px; border-radius:8px; background:color-mix(in srgb,var(--berry) 11%,#fff); border:1px solid color-mix(in srgb,var(--berry) 30%,transparent); color:var(--berry); font-family:'JetBrains Mono',monospace; font-size:.6rem; letter-spacing:.1em; text-transform:uppercase}
.flip__clock svg{flex:none}
.flip__clock__time{font-size:.92rem; font-weight:500; letter-spacing:.04em; font-variant-numeric:tabular-nums}
.flip__clock.expired{opacity:.55; filter:grayscale(.5)}

/* Growing Partner invite modal */
.pmodal{position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; transition:opacity .22s ease}
.pmodal.in{opacity:1}
.pmodal[hidden]{display:none}
.pmodal__backdrop{position:absolute; inset:0; background:rgba(22,39,28,.55); backdrop-filter:blur(2px)}
.pmodal__card{position:relative; width:100%; max-width:440px; max-height:90vh; overflow:auto; background:var(--cream-paper); border:1px solid var(--line); border-top:4px solid var(--berry); border-radius:14px; box-shadow:var(--shadow-lg); padding:26px 26px 24px; transform:translateY(10px); transition:transform .26s var(--ease)}
.pmodal.in .pmodal__card{transform:none}
.pmodal__x{position:absolute; top:12px; right:14px; width:30px; height:30px; border:0; background:transparent; font-size:1.5rem; line-height:1; color:var(--muted-ink); cursor:pointer; border-radius:6px}
.pmodal__x:hover{background:var(--cream-3); color:var(--forest-ink)}
.pmodal__head{margin:0 0 14px}
.pmodal__eyebrow{font-family:'JetBrains Mono',monospace; font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; color:var(--berry); margin:8px 0 6px}
.pmodal__title{font-size:1.5rem; font-weight:400; color:var(--forest-ink); margin:0; line-height:1.15}
.pmodal__intro{font-size:.92rem; color:var(--text-mid); line-height:1.6; margin:0 0 18px}
.pmodal__intro b{color:var(--forest-ink)}
.pmodal__actions{display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 0}
.pmodal__fine{font-size:.76rem; color:var(--muted-ink); margin:12px 0 0; line-height:1.5}
.pmodal__done{text-align:center; padding:10px 4px 4px}
.pmodal__tick{width:54px; height:54px; border-radius:50%; background:var(--berry); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; box-shadow:0 8px 22px color-mix(in srgb,var(--berry) 36%,transparent)}
.pmodal__tick--soft{background:var(--ochre); box-shadow:0 8px 22px rgba(184,118,42,.34)}
.pmodal__done h3{font-family:'Fraunces',serif; font-size:1.3rem; font-weight:500; color:var(--forest-ink); margin:0 0 10px}
.pmodal__done p{font-size:.92rem; color:var(--text-mid); line-height:1.6; margin:0 0 10px; max-width:38ch; margin-left:auto; margin-right:auto}
.pmodal__done .btn{margin-top:8px}
.flip__ribbon{position:absolute; top:0; right:18px; z-index:4; white-space:nowrap; font-family:'JetBrains Mono',monospace; font-size:.56rem; letter-spacing:.13em; text-transform:uppercase; font-weight:700; background:var(--berry); color:#fff; padding:5px 11px 6px; border-radius:0 0 7px 7px; box-shadow:0 5px 14px color-mix(in srgb,var(--berry) 32%,transparent)}
.flip__hint{margin:14px 0 0; align-self:flex-start; display:inline-flex; align-items:center; gap:7px; background:none; border:0; padding:8px 0 0; font-family:'JetBrains Mono',monospace; font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); cursor:pointer; opacity:.85; transition:opacity .15s}
.flip__hint:hover{opacity:1; text-decoration:underline}
.flip__hint svg{flex:none}
.tier{--accent:var(--teal-ink); display:flex; flex-direction:column; background:var(--white); border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:14px; padding:24px 20px 24px; box-shadow:var(--shadow-sm); transition:transform .2s var(--ease),box-shadow .2s}
.tier:hover{transform:translateY(-4px); box-shadow:var(--shadow-md)}
.tier--feature{--accent:var(--ochre); background:#FBF6EC; border:1.5px solid var(--ochre); border-top:3px solid var(--ochre); box-shadow:var(--shadow-md); position:relative}
.tier--feature::before{content:"Most chosen"; position:absolute; top:-11px; left:24px; font-family:'JetBrains Mono',monospace; font-size:.56rem; letter-spacing:.14em; text-transform:uppercase; background:var(--ochre); color:#fff; padding:4px 11px; border-radius:99px}
.tier--enterprise{--accent:var(--seg-enterprise); background:var(--forest-ink); border-color:var(--forest-ink); border-top:3px solid var(--seg-enterprise); color:var(--cream-paper)}
.tier__name{font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin:0 0 14px}
.tier--enterprise .tier__name{color:var(--seg-enterprise)}
.tier__price{font-family:'Fraunces',serif; font-size:2.4rem; font-weight:400; color:var(--accent); line-height:1; letter-spacing:-.02em; margin:0 0 4px}
.tier__price small{font-size:.92rem; color:var(--muted-ink); font-family:'Lato',sans-serif; font-weight:400}
.tier--enterprise .tier__price{color:#fff; font-size:1.5rem; line-height:1.25}
.tier__indic{font-family:'JetBrains Mono',monospace; font-size:.58rem; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); background:color-mix(in srgb,var(--accent) 14%, transparent); padding:4px 9px; border-radius:4px; display:inline-block; margin:0 0 14px; font-weight:500}
.tier__indic--ghost{color:var(--accent); background:transparent; border:1px solid color-mix(in srgb,var(--accent) 38%, transparent)}
.tier__indic--save{color:#fff; background:var(--accent); border:0; font-size:.66rem; padding:6px 13px; font-weight:700; letter-spacing:.06em; box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 38%, transparent)}
.tier__for{font-size:.9rem; color:var(--text-mid); margin:6px 0 18px; line-height:1.5; min-height:2.7em}
.tier--enterprise .tier__for{color:rgba(246,242,233,.8)}
.tier__list{list-style:none; margin:0 0 18px; padding:0; display:flex; flex-direction:column; gap:9px; flex:1}
.tier__list li{position:relative; padding-left:23px; font-size:.85rem; color:var(--text-mid); line-height:1.45}
.tier__list li b{color:var(--forest-ink); font-weight:700}
.tier--enterprise .tier__list li b{color:#fff}
.tier__list li::before{content:""; position:absolute; left:0; top:5px; width:14px; height:14px; border-radius:50%; background:color-mix(in srgb,var(--accent) 16%, transparent)}
.tier__list li::after{content:""; position:absolute; left:3.2px; top:8px; width:7.6px; height:7.6px; background:var(--accent); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/8px no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/8px no-repeat}
.tier--enterprise .tier__list li{color:rgba(246,242,233,.85)}
.tier--enterprise .tier__list li::before{background:color-mix(in srgb,var(--accent) 26%, transparent)}
.tier .btn,.flip__face .btn{justify-content:center; width:100%}
.tier--enterprise .btn--secondary{color:#fff; border-color:rgba(246,242,233,.5)}
.tier--enterprise .btn--secondary:hover{background:#fff; color:var(--forest-ink)}
.tier__note{font-size:.78rem; color:var(--muted-ink); margin:12px 0 0; line-height:1.45; text-align:center; min-height:2.9em}
.tier--enterprise .tier__note{color:rgba(246,242,233,.6)}

.pricingFunnel{max-width:var(--maxw); margin:40px auto 0; position:relative; border-radius:14px; overflow:hidden; color:var(--cream-paper)}
.pricingFunnel__photo{position:absolute; inset:0; z-index:0; background-size:cover; background-position:center 64%; opacity:.3; filter:grayscale(.3)}
.pricingFunnel__veil{position:absolute; inset:0; z-index:1; background:linear-gradient(100deg,var(--forest-ink) 35%,rgba(31,58,43,.72))}
.pricingFunnel__in{position:relative; z-index:2; padding:30px 32px; display:flex; align-items:center; gap:24px; flex-wrap:wrap}
.pricingFunnel__txt{flex:1; min-width:260px}
.pricingFunnel h2{color:#fff; font-size:1.4rem; margin:0 0 8px; max-width:24ch}
.pricingFunnel p{color:rgba(246,242,233,.82); margin:0; font-size:.95rem; max-width:44ch}
.pricingFunnel .eyebrow{color:var(--ochre-light)}

/* ── Footer ── */
.wsFoot{background:var(--forest-ink); color:rgba(246,242,233,.7); padding:40px 26px; margin-top:64px; text-align:center}
.wsFoot img{height:24px; width:auto; margin:0 auto 14px; filter:brightness(0) invert(1); opacity:.85}
.wsFoot p{font-family:'Fraunces',serif; font-style:italic; font-weight:400; font-size:1rem; color:rgba(246,242,233,.7); margin:0 0 12px}
.wsFoot .meta{font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(246,242,233,.4)}

/* ════════════════════════════════════════════════════════════
   DESIGN NOTES surface (twin-only)
   ════════════════════════════════════════════════════════════ */
.notes{max-width:var(--maxw); margin:0 auto}
.notes h1{font-size:clamp(1.8rem,3.4vw,2.4rem); margin:0 0 8px; max-width:22ch}
.notes>.lede{margin:0 0 6px; max-width:56ch}
.notes__sec{margin:34px 0 0; padding:24px 0 0; border-top:2px solid var(--forest-ink)}
.notes__sec h2{font-size:1.3rem; font-weight:500; margin:0 0 12px}
.notes__sec p{font-size:.96rem; color:var(--text-mid); margin:0 0 12px; line-height:1.66; max-width:62ch}
.notes__sec p:last-child{margin-bottom:0}
.notes__sec ul{margin:0; padding-left:0; list-style:none; display:flex; flex-direction:column; gap:12px}
.notes__sec li{position:relative; padding-left:26px; font-size:.94rem; color:var(--text-mid); line-height:1.6; max-width:62ch}
.notes__sec li::before{content:""; position:absolute; left:2px; top:9px; width:7px; height:7px; background:var(--ochre); border-radius:1px}
.notes__sec li b{color:var(--forest-ink)}
.flag{display:inline-flex; align-items:center; gap:7px; font-family:'JetBrains Mono',monospace; font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ochre); background:var(--ochre-soft); padding:3px 9px; border-radius:4px; margin-right:8px}
.notes__flag{margin:14px 0 0; padding:14px 18px; border:1px dashed var(--line); border-left:3px solid var(--ochre); border-radius:0 8px 8px 0; background:var(--cream-2); font-size:.9rem; color:var(--text-mid); line-height:1.55}
.notes__flag b{color:var(--forest-mid)}

/* ════════════════════════════════════════════════════════════
   TWIN review chrome
   ════════════════════════════════════════════════════════════ */
.twinbar{position:sticky; top:0; z-index:60; background:var(--forest-deep); color:#f5f0e8; padding:9px 16px; display:flex; flex-wrap:wrap; gap:7px; align-items:center; border-bottom:2px solid var(--ochre); font-size:.8rem}
.twinbar b{color:var(--ochre-light); font-family:'JetBrains Mono',monospace; letter-spacing:.1em; text-transform:uppercase; font-size:.62rem; margin-right:4px}
.twinbar button{background:rgba(246,242,233,.06); color:#f5f0e8; border:1px solid rgba(246,242,233,.16); border-radius:5px; padding:6px 12px; font-family:inherit; font-size:.76rem; cursor:pointer; transition:border-color .14s,background .14s,color .14s}
.twinbar button:hover{border-color:var(--ochre-light); background:rgba(184,118,42,.18)}
.twinbar button.active{border-color:var(--ochre); background:var(--ochre); color:#fff}
.twinbar .sep{width:1px; height:18px; background:rgba(246,242,233,.18); margin:0 4px}
.twinbar .spacer{flex:1}
.twinNote{max-width:var(--maxw-wide); margin:14px auto 0; padding:0 26px; font-size:.82rem; color:var(--muted-ink)}

/* ── Responsive ── */
@media (max-width:820px){
  .cred__grid{grid-template-columns:1fr 1fr}
  .cred__cell:nth-child(2n){border-right:0}
  .cred__cell{border-bottom:1px solid var(--line)}
  .tiers{grid-template-columns:repeat(2,1fr); max-width:620px; margin-left:auto; margin-right:auto}
  .how{grid-template-columns:1fr}
}
@media (max-width:600px){
  main{padding:34px 18px 64px}
  .hero__inner{padding:48px 20px 120px}
  .qcard{padding:24px 20px}
  .qcard__q{font-size:1.26rem}
  .resultHero__in,.resultBody{padding:26px 22px}
  .calib__head,.ridge,.calib__worth{padding-left:18px; padding-right:18px}
  .worthRow{grid-template-columns:1fr; gap:10px}
  .formGrid{grid-template-columns:1fr}
  .ctaBlock{padding:24px 20px}
  .cred__grid{grid-template-columns:1fr}
  .cred__cell{border-right:0}
  .tiers{grid-template-columns:1fr; max-width:380px}
  /* polish pass (additive): WCAG tap targets — .opt keeps its display/align,
     min-height alone doesn't reflow the absolutely-positioned .opt__mark which
     is centred via top:50%/translateY (item B) */
  .opt{min-height:44px}
  .phase__label{min-height:44px; display:flex; align-items:center}
  /* polish pass (additive): app-shell header breathing room on phones (item C) */
  .wsHeader__inner{padding:12px 16px; gap:10px}
  /* polish pass (additive): large buttons sit better on narrow screens (item D) */
  .btn--lg{padding:14px 20px; font-size:.9rem}
  /* polish pass (additive): pricing hero padding + full-bleed inner (item E) */
  .pricingHero{padding:32px 20px}
  .pricingHero__in{max-width:100%}
}
/* polish pass (additive): reclaim usable width on small phones (items A + F) */
@media (max-width:375px){
  main{padding:28px 16px 48px}
  .hero__inner{padding:40px 16px 100px}
  .qcard{padding:20px 16px}
  .interstitial__in{padding:28px 20px}
  .ridge__axis{font-size:.55rem; gap:2px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important; transition-duration:.001ms !important}
}
