/* ============================================================
   ABOUT PAGE - page-specific layer (shared tokens above)
   ============================================================ */
.hero-page{min-height:min(64vh,580px);padding:92px 0 80px}

.hero-solo{max-width:54rem}

.hero-page h1{max-width:22ch;font-size:clamp(2.1rem,4.3vw,3.4rem)}

.hero-page .hero-sub{max-width:62ch}

.prose{max-width:66ch}

.prose p{color:var(--body)}

.pull{margin:26px 0;padding:2px 0 2px 22px;border-left:2px solid var(--mint)}

.pull p{font-family:var(--sans);font-style:italic;font-size:clamp(1.14rem,1.9vw,1.4rem);
  color:var(--emerald-ink);line-height:1.5;margin:0;max-width:56ch}

.pull-wide p{max-width:62ch}

.stat-line{padding:16px 20px;border-radius:var(--r-sm);background:var(--tint-soft);
  border:1px solid #b7ecd4;font-size:.97rem;margin-bottom:1.1em}

.stat-line strong{color:var(--forest);font-weight:600}

/* the two consultations - dialogue device */
.tc-card{background:linear-gradient(180deg,var(--white) 0%,#f7fbf9 100%);border:1px solid var(--hairline);
  border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-1)}

.tc-half{padding:22px 24px}

.tc-half + .tc-half{border-top:1px solid var(--hairline);
  background:linear-gradient(180deg,#fbfdfc 0%,#f2f7f5 100%)}

.tc-role{font-family:var(--sans);font-style:italic;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--emerald-ink);margin:0 0 14px}

.tc-line{display:grid;grid-template-columns:4.8rem 1fr;gap:12px;margin:0 0 11px;
  font-size:.95rem;line-height:1.55}

.tc-line:last-child{margin-bottom:0}

.tc-who{font-family:var(--sans);font-style:italic;font-size:.78rem;color:var(--muted);padding-top:3px}

.tc-says{color:var(--forest)}

.tc-blank{display:block;height:1.2em;width:min(230px,100%);border-bottom:2px dashed #b9c8c2}

.tc-foot{margin:0;padding:16px 24px;border-top:1px solid var(--hairline);background:var(--white);
  font-family:var(--sans);font-style:italic;font-size:.9rem;color:var(--muted);line-height:1.55}

.need-sub{margin:0 0 20px;font-size:.95rem;color:var(--muted);max-width:62ch}

/* contrast table (Forest sub-band) */
.contrast{position:relative;overflow:hidden;background:var(--forest);color:#bcd4c9;padding:72px 0}

.ct-table{border-top:1px solid rgba(255,255,255,.14)}

.ct-row{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,.14)}

.ct-head-row{padding:10px 0 12px}

.ct-head-row .ct-them,.ct-head-row .ct-us{font-family:var(--sans);font-style:italic;font-size:.8rem;
  letter-spacing:.05em;color:#8fae9f;font-weight:400}

.ct-head-row .ct-us{color:var(--mint)}

.ct-them{color:#8fae9f;font-size:.98rem;line-height:1.5}

.ct-us{color:#fff;font-size:.98rem;line-height:1.5;display:flex;gap:10px;align-items:flex-start;font-weight:500}

.ct-us svg{width:17px;height:17px;flex:0 0 17px;margin-top:4px;color:var(--mint)}

/* dark bands */
.sec-dark{position:relative;overflow:hidden;background:var(--forest);color:#bcd4c9;padding:88px 0}

.sec-dark-grad{background:linear-gradient(180deg,#0b3b27 0%,#061c14 78%)}

.dark-inner{max-width:66ch}

.sec-dark h2{color:#fff;max-width:18ch}

.sec-dark h2 em{color:var(--mint)}

.sec-dark p{color:#bcd4c9;font-size:1.03rem}

.dark-lede{font-size:1.1rem}

.sec-dark strong{color:#fff;font-weight:600}

.dark-pull{font-family:var(--sans);font-style:italic;font-size:clamp(1.2rem,2.1vw,1.5rem);
  color:var(--mint);margin:22px 0 0}

.ctarow-l{justify-content:flex-start;margin-top:26px}

/* managed tiers */
.tier-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}

.tier{background:linear-gradient(180deg,var(--white) 0%,#fafcfb 100%);border:1px solid var(--hairline);
  border-radius:var(--r);padding:28px 26px;position:relative;overflow:hidden;
  box-shadow:0 1px 2px rgba(6,28,20,.045)}

.tier h3{margin:0 0 .4em}

.tier > p{color:var(--muted);font-size:.95rem}

.tier-hi{background:linear-gradient(180deg,var(--tint-soft) 0%,#dff7ec 100%);border-color:#a9e8cf;
  box-shadow:0 2px 4px rgba(6,28,20,.05),0 22px 50px rgba(5,150,105,.14)}

.tier-hi::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--mint);
  animation:macBreathe 6.5s ease-in-out infinite}

.tier-hi > p{color:var(--body)}

.tier-qual{margin:0;border-top:1px solid var(--hairline)}

.tier-qual > div{padding:13px 0;border-bottom:1px solid var(--hairline)}

.tier-qual dt{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
  font-weight:600;margin-bottom:5px}

.tier-qual dd{margin:0;font-size:.93rem;color:var(--forest);line-height:1.55}

.tier-hi .tier-qual,.tier-hi .tier-qual > div{border-color:#b7ecd4}

/* what a paid campaign needs - compact strip */
.need-head{font-size:1.16rem;color:var(--forest);margin:46px 0 .35em}

.needs-strip{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;
  gap:0 40px}

.needs-strip li{font-size:.92rem;color:var(--body);padding:12px 0 12px 22px;position:relative;
  border-top:1px solid var(--hairline)}

.needs-strip li::before{content:"";position:absolute;left:0;top:1.15em;width:7px;height:7px;
  border-radius:2px;background:var(--mint)}

/* how to close / how to price */
.teach-grid{align-items:start;gap:48px}

.teach-h{font-size:1.24rem;margin-bottom:.5em}

.bench{display:flex;align-items:stretch;gap:14px;margin-top:22px;flex-wrap:wrap}

.bench-item{flex:1 1 180px;padding:18px 20px;border:1px solid var(--hairline);border-radius:var(--r-sm);
  background:linear-gradient(180deg,var(--white) 0%,#f7fbf9 100%)}

.bench-item.is-hi{background:linear-gradient(180deg,var(--tint-soft) 0%,#dff7ec 100%);border-color:#a9e8cf}

.bench-item b{display:block;font-family:var(--serif);font-size:1.7rem;color:var(--emerald-ink);line-height:1.1}

.bench-item span{display:block;margin-top:7px;font-size:.79rem;color:var(--muted);line-height:1.4}

.bench-arrow{align-self:center;color:#b6c4be;font-size:1.2rem}

/* the three futures */
.futures{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}

.future{background:linear-gradient(180deg,var(--white) 0%,#fafcfb 100%);border:1px solid var(--hairline);
  border-radius:var(--r);padding:24px 22px;position:relative;overflow:hidden;
  box-shadow:0 1px 2px rgba(6,28,20,.045)}

.future h3{font-size:1.05rem;margin:12px 0 .35em}

.future p{margin:0;font-size:.9rem;color:var(--muted);line-height:1.55}

.closing-line{margin:38px 0 0;font-family:var(--sans);font-style:italic;font-size:1.06rem;
  color:var(--forest);max-width:60ch}

.rv-stagger.on > *:nth-child(7){transition-delay:.48s}

.rv-stagger.on > *:nth-child(8){transition-delay:.56s}

@media (max-width:860px){
  .tier-grid,.futures,.needs-strip{grid-template-columns:1fr}
  .tc-line{grid-template-columns:1fr;gap:2px}
  .teach-grid{gap:32px}
  .hero-page{padding:64px 0 56px;min-height:0}
  .vs-card{grid-template-columns:1fr}
  .vs-col + .vs-col{border-left:0;border-top:1px solid var(--hairline)}
  .ct-row{grid-template-columns:1fr;gap:6px;padding:14px 0}
  .ct-head-row{display:none}
  .ct-them{font-size:.9rem}
  .contrast{padding:56px 0}
}

@media (max-width:560px){
  .bench{flex-direction:column}
  .bench-arrow{transform:rotate(90deg);align-self:flex-start;margin-left:22px}
}

@media (prefers-reduced-motion:reduce){
  .tier-hi::before{animation:none !important}
}