:root{
      --bg: #081310;
      --bg-deep: #050d0b;
      --surface: #0d1b17;
      --surface-2: #11231e;
      --ink: #f1ece1;
      --ink-soft: #c6cdc5;
      --muted: #7f918a;
      --line: rgba(241, 236, 225, 0.14);
      --line-strong: rgba(241, 236, 225, 0.32);
      --green: #79a895;
      --green-bright: #a9cbbd;
      --orange: #f1703a;
      --orange-dark: #c64d22;
      --max: 1240px;
      --pad: clamp(22px, 5vw, 72px);
      --section: clamp(92px, 12vw, 180px);
      --ease: cubic-bezier(.25, 0, 0, 1);
    }
*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; background: var(--bg); }
body{
      margin: 0;
      color: var(--ink);
      background:
        linear-gradient(rgba(121,168,149,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(121,168,149,.035) 1px, transparent 1px),
        var(--bg);
      background-size: 64px 64px;
      font-family: "Figtree", system-ui, -apple-system, sans-serif;
      font-size: 17px;
      line-height: 1.58;
      letter-spacing: -0.012em;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
body::before{
      content: "";
      position: fixed;
      inset: 0;
      z-index: 99;
      pointer-events: none;
      opacity: .16;
      mix-blend-mode: soft-light;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");
    }
a{ color: inherit; }
button, input, select, textarea{ font: inherit; }
button{ cursor: pointer; }
img, video, svg{ max-width: 100%; display: block; }
::selection{ background: var(--orange); color: var(--bg-deep); }
.skip-link{
      position: fixed;
      left: 12px;
      top: -80px;
      z-index: 200;
      padding: 12px 16px;
      background: var(--orange);
      color: var(--bg-deep);
      text-decoration: none;
      transition: top .15s var(--ease);
    }
.skip-link:focus{ top: 12px; }
.wrap{ width: min(100%, var(--max)); margin: 0 auto; padding-inline: var(--pad); }
.eyebrow{
      margin: 0;
      font-family: "Figtree", monospace;
      font-size: 11px;
      line-height: 1.3;
      text-transform: uppercase;
      letter-spacing: .19em;
      color: var(--green-bright);
    }
.lead{
      margin: 0;
      max-width: 720px;
      font-size: clamp(20px, 2.15vw, 29px);
      line-height: 1.35;
      letter-spacing: -.025em;
      color: var(--ink-soft);
    }
.micro{ color: var(--muted); font-size: 13px; line-height: 1.55; }
.nav{
      position: sticky;
      top: 0;
      z-index: 80;
      background: color-mix(in srgb, var(--bg) 92%, transparent);
      backdrop-filter: blur(14px);
      border-bottom: 1px solid var(--line);
    }
.nav-inner{
      min-height: 76px;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      gap: 24px;
      align-items: center;
    }
.brand{
      display: flex;
      align-items: center;
      gap: 13px;
      text-decoration: none;
      font-weight: 600;
      letter-spacing: -.02em;
    }
.brand small{
      display: block;
      margin-top: 2px;
      color: var(--muted);
      font: 500 9px/1.2 "Figtree", monospace;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
.nav-links{ display: flex; align-items: center; gap: 28px; }
.nav-links a, .nav-cta{
      position: relative;
      text-decoration: none;
      font: 500 11px/1.2 "Figtree", monospace;
      letter-spacing: .12em;
      text-transform: uppercase;
      white-space: nowrap;
    }
.nav-links a::after, .text-link::after, .nav-cta::after{
      content: "";
      position: absolute;
      height: 2px;
      left: 0;
      right: 0;
      bottom: -7px;
      background: var(--orange);
      transform: scaleX(0);
      transform-origin: right;
      transition: transform .15s var(--ease);
    }
.nav-links a:hover::after, .nav-links a:focus-visible::after, .text-link:hover::after, .text-link:focus-visible::after, .nav-cta:hover::after, .nav-cta:focus-visible::after{
      transform: scaleX(1);
      transform-origin: left;
    }
.nav-cta{ justify-self: end; color: var(--orange); }
.nav-toggle{ display: none; background: none; border: 0; color: var(--ink); padding: 10px; }
.text-link{
      display: inline-flex;
      align-items: center;
      gap: 12px;
      min-height: 48px;
      font: 600 12px/1 "Figtree", monospace;
      text-transform: uppercase;
      letter-spacing: .11em;
      text-decoration: none;
      border-radius: 0;
      transition: all .15s var(--ease);
    }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
      outline: 2px solid var(--orange);
      outline-offset: 3px;
    }
.proof-strip{ border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--bg-deep); }
.proof-item{ padding: 30px clamp(18px, 3vw, 40px); border-right: 1px solid var(--line); }
.proof-item:last-child{ border-right: 0; }
.proof-item b{ display: block; font-size: clamp(38px, 4.6vw, 68px); line-height: 1; letter-spacing: -.055em; color: var(--green-bright); }
.proof-item span{ display: block; margin-top: 11px; font: 500 10px/1.5 "Figtree", monospace; text-transform: uppercase; letter-spacing: .11em; color: var(--muted); }
.comparison-wrap{ overflow-x: auto; border-top: 1px solid var(--line); margin-top: 68px; }
.comparison{ width: 100%; min-width: 840px; border-collapse: collapse; }
.comparison th, .comparison td{ padding: 22px 20px; text-align: left; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); vertical-align: top; }
.comparison th{ font: 500 10px/1.4 "Figtree", monospace; letter-spacing: .11em; text-transform: uppercase; color: var(--muted); }
.comparison th:first-child, .comparison td:first-child{ padding-left: 0; }
.comparison th:last-child, .comparison td:last-child{ border-right: 0; }
.comparison td{ color: var(--ink-soft); }
.comparison td:first-child{ color: var(--ink); font-weight: 600; }
.case-metric{ margin-top: 52px; font-size: clamp(58px, 7vw, 110px); line-height: .8; letter-spacing: -.065em; color: var(--orange); }
.founder-grid{ display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(46px, 8vw, 120px); align-items: center; }
.faq{ margin-top: 64px; border-top: 1px solid var(--line); }
.faq-item{ border-bottom: 1px solid var(--line); }
.faq-question{
      width: 100%;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 24px;
      align-items: center;
      padding: 26px 0;
      border: 0;
      background: transparent;
      color: var(--ink);
      text-align: left;
      font-size: clamp(21px, 2.2vw, 31px);
      letter-spacing: -.03em;
    }
.faq-icon{ font: 400 28px/1 "Figtree", monospace; color: var(--orange); }
.faq-answer{ max-height: 0; overflow: hidden; transition: max-height .2s ease, opacity .2s ease; opacity: 0; }
.faq-answer > div{ max-width: 780px; padding: 0 0 28px; color: var(--ink-soft); }
.faq-item.open .faq-answer{ opacity: 1; }
.form-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field.full{ grid-column: 1 / -1; }
label{ display: block; margin-bottom: 8px; font: 600 10px/1.3 "Figtree", monospace; letter-spacing: .1em; text-transform: uppercase; }
input, select, textarea{
      width: 100%;
      min-height: 54px;
      border: 1px solid rgba(5,13,11,.36);
      border-radius: 0;
      background: rgba(5,13,11,.08);
      color: var(--bg-deep);
      padding: 12px 14px;
      outline: none;
      transition: border-color .15s var(--ease), background .15s var(--ease);
    }
textarea{ min-height: 126px; resize: vertical; }
input::placeholder, textarea::placeholder{ color: rgba(5,13,11,.5); }
input:focus, select:focus, textarea:focus{ border-color: var(--bg-deep); background: rgba(5,13,11,.03); }
.submit{
      min-height: 58px;
      width: 100%;
      border: 1px solid var(--bg-deep);
      background: var(--bg-deep);
      color: var(--ink);
      font: 600 12px/1 "Figtree", monospace;
      letter-spacing: .11em;
      text-transform: uppercase;
      transition: background .15s var(--ease), color .15s var(--ease);
    }
.submit:hover{ background: transparent; color: var(--bg-deep); }
.form-status{ min-height: 22px; margin-top: 14px; font: 600 10px/1.5 "Figtree", monospace; text-transform: uppercase; letter-spacing: .08em; }
footer{ background: var(--bg-deep); border-top: 1px solid var(--line); }
.footer-grid{ padding-block: 48px; display: grid; grid-template-columns: 1.25fr .75fr .75fr; gap: 44px; }
.footer-grid p{ color: var(--muted); max-width: 50ch; font-size: 14px; }
.footer-links{ display: grid; gap: 10px; align-content: start; }
.footer-links a{ color: var(--ink-soft); text-decoration: none; font-size: 14px; }
.footer-bottom{ border-top: 1px solid var(--line); padding-block: 22px; display: flex; justify-content: space-between; gap: 30px; color: var(--muted); font: 500 10px/1.5 "Figtree", monospace; letter-spacing: .06em; text-transform: uppercase; }
.reveal{ opacity: 0; transform: translateY(20px); transition: opacity .5s var(--ease), transform .5s var(--ease); }
.reveal.in{ opacity: 1; transform: none; }
@media (max-width: 1020px){.nav-inner{ grid-template-columns: 1fr auto; }
.nav-links{ display: none; position: absolute; left: 0; right: 0; top: 76px; padding: 24px var(--pad); background: var(--bg-deep); border-bottom: 1px solid var(--line); flex-direction: column; align-items: flex-start; }
.nav-links.open{ display: flex; }
.nav-toggle{ display: inline-flex; justify-self: end; }
.nav-cta{ display: none; }
.founder-grid{ grid-template-columns: 1fr; }}
@media (max-width: 760px){body{ font-size: 16px; }
.form-grid, .footer-grid{ grid-template-columns: 1fr; }
.proof-item{ border-right: 0; border-bottom: 1px solid var(--line); }
.proof-item:last-child{ border-bottom: 0; }
.footer-bottom{ flex-direction: column; }}
@media (prefers-reduced-motion: reduce){*, *::before, *::after{ scroll-behavior: auto !important; transition: none !important; animation: none !important; }
.reveal{ opacity: 1; transform: none; }}
/* ===== V2 credibility, photography, testimonials{ grid-template-columns: repeat(4, 1fr); }
.hero-photo{
      position: relative;
      min-height: 640px;
      overflow: hidden;
      border: 1px solid var(--line-strong);
      background: var(--surface);
    }
.hero-photo::before{
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      background: linear-gradient(180deg, rgba(5,13,11,.02) 42%, rgba(5,13,11,.9) 100%);
      pointer-events: none;
    }
.hero-photo img{ width: 100%; height: 100%; min-height: 640px; object-fit: cover; object-position: 52% 38%; filter: saturate(.84) contrast(1.04); }
.founder-photo{ border: 1px solid var(--line-strong); min-height: 680px; overflow: hidden; position: relative; }
.founder-photo img{ width: 100%; height: 100%; min-height: 680px; object-fit: cover; object-position: 50% 32%; }
.founder-photo::after{ content: "Maryam Alavi, Ph.D., MBA, CSSBB"; position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 20px; background: rgba(5,13,11,.86); border-top: 1px solid var(--line); color: var(--ink); font: 500 10px/1.4 "Figtree", monospace; letter-spacing: .1em; text-transform: uppercase; }
.credential-timeline{ margin-top: 38px; border-top: 1px solid var(--line); }
.timeline-row{ display: grid; grid-template-columns: 176px 1fr; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.timeline-row b{ color: var(--green-bright); font: 500 10px/1.45 "Figtree", monospace; letter-spacing: .1em; text-transform: uppercase; }
.timeline-row span{ color: var(--ink-soft); }
@media (max-width: 900px){.proof-item:nth-child(2){ border-right: 0; }
.proof-item:nth-child(-n+2){ border-bottom: 1px solid var(--line); }}
@media (max-width: 760px){.hero-photo, .hero-photo img{ min-height: 520px; }
.proof-item, .proof-item:nth-child(2){ border-right: 0; border-bottom: 1px solid var(--line); }
.proof-item:last-child{ border-bottom: 0; }
.founder-photo, .founder-photo img{ min-height: 540px; }
.timeline-row{ grid-template-columns: 1fr; gap: 6px; }}
/* ===== V3: light, restrained, high-ticket B2B editorial system ===== */
    :root{
      --bg: #eef1ef;
      --bg-deep: #17352d;
      --surface: #ffffff;
      --surface-2: #f5f7f5;
      --ink: #111916;
      --ink-soft: #4f5c57;
      --muted: #7a8580;
      --line: rgba(17, 25, 22, 0.11);
      --line-strong: rgba(17, 25, 22, 0.2);
      --green: #315f51;
      --green-bright: #315f51;
      --orange: #d86a35;
      --orange-dark: #ae4f24;
      --max: 1240px;
      --pad: clamp(22px, 4.5vw, 64px);
      --section: clamp(86px, 9vw, 138px);
    }
html{ background: var(--bg); }
body{
      color: var(--ink);
      background: var(--bg);
      font-family: "Figtree", system-ui, -apple-system, sans-serif;
      letter-spacing: -.01em;
    }
body::before{ opacity: .035; mix-blend-mode: multiply; }
::selection{ background: rgba(216,106,53,.25); color: var(--ink); }
.wrap{ width: min(100%, var(--max)); }
.eyebrow{
      color: var(--green);
      letter-spacing: .13em;
      font-size: 10px;
      font-weight: 600;
    }
.lead{ color: var(--ink-soft); font-size: clamp(19px, 1.7vw, 24px); line-height: 1.46; }
.micro{ color: var(--muted); }
/* Navigation: sparse and white, like a premium advisory site. */
    .nav{
      position: relative;
      background: #fff;
      border-bottom: 1px solid var(--line);
      backdrop-filter: none;
    }
.nav-inner{ min-height: 72px; }
.brand{ color: var(--ink); }
.brand small{ color: var(--muted); }
.nav-links{ gap: 24px; }
.nav-links a, .nav-cta{ color: #34413c; font-size: 10px; }
.nav-cta{
      display: inline-flex;
      align-items: center;
      min-height: 38px;
      padding: 0 18px;
      border-radius: 3px;
      color: #fff;
      background: var(--green);
    }
.nav-cta::after{ display: none; }
.nav-cta:hover{ background: #24483d; }
.hero-button{
      display: inline-flex;
      align-items: center;
      gap: 12px;
      min-height: 48px;
      padding: 0 22px;
      border-radius: 3px;
      background: var(--green);
      color: #fff;
      text-decoration: none;
      font: 600 11px/1 "Figtree", monospace;
      letter-spacing: .06em;
      text-transform: uppercase;
      transition: background .16s var(--ease), transform .16s var(--ease);
    }
.hero-button:hover{ background: #24483d; transform: translateY(-1px); }
.hero-secondary{
      display: inline-flex;
      align-items: center;
      min-height: 48px;
      color: var(--green);
      text-decoration: underline;
      text-decoration-color: rgba(49,95,81,.34);
      text-underline-offset: 5px;
      font-weight: 600;
    }
.hero-photo{
      min-height: 500px;
      height: min(500px, 68vh);
      border: 0;
      border-radius: 0;
      background: transparent;
      overflow: hidden;
    }
.hero-photo::before{ display: none; }
.hero-photo img{
      min-height: 0;
      height: 100%;
      width: 100%;
      object-fit: cover;
      object-position: 50% 22%;
      filter: saturate(.72) contrast(1.01);
    }
/* Slim authority bar replaces the dark metric wall. */
    .proof-strip{ background: #fff; border: 0; border-bottom: 1px solid var(--line); }
.authority-row{ min-height: 126px; display: grid; grid-template-columns: 230px 1fr; gap: 50px; align-items: center; }
.authority-marks{ display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.authority-marks span{
      min-height: 52px;
      display: grid;
      place-items: center;
      padding: 0 18px;
      border-left: 1px solid var(--line);
      color: #5f6965;
      text-align: center;
      font-size: 14px;
      line-height: 1.25;
    }
.authority-marks b{ color: var(--ink); }
.comparison-wrap{ padding: 10px 28px 20px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.comparison th, .comparison td{ border-color: var(--line); }
.founder-grid{ grid-template-columns: .78fr 1.22fr; }
.founder-photo{
      min-height: 650px;
      border: 0;
      border-radius: 20px;
      box-shadow: 0 22px 60px rgba(34,51,44,.12);
    }
.founder-photo img{ min-height: 650px; filter: saturate(.8); }
.founder-photo::after{ background: rgba(23,53,45,.91); }
.credential-timeline{ border-color: var(--line); }
.timeline-row{ border-color: var(--line); }
.timeline-row b{ color: var(--green); }
.faq{ border-color: var(--line); }
.faq-item{ border-color: var(--line); }
.faq-question{ color: var(--ink); }
.faq-icon{ color: var(--orange-dark); }
.faq-answer > div{ color: var(--ink-soft); }
input, select, textarea{
      border-color: var(--line-strong);
      border-radius: 10px;
      background: #fff;
      color: var(--ink);
    }
input::placeholder, textarea::placeholder{ color: #9ba49f; }
input:focus, select:focus, textarea:focus{ border-color: var(--green); background: #fff; }
.submit{
      border: 0;
      border-radius: 3px;
      background: var(--green);
      color: #fff;
    }
.submit:hover{ background: #24483d; color: #fff; }
footer{ background: #17352d; border: 0; }
footer .brand, footer .footer-links a{ color: #fff; }
footer .brand small, footer .footer-grid p, footer .footer-bottom{ color: rgba(255,255,255,.62); }
footer .eyebrow{ color: #dce7e2; }
.footer-bottom{ border-color: rgba(255,255,255,.15); }
@media (max-width: 1020px){.nav{ position: sticky; }
.nav-cta{ display: none; }
.nav-toggle{ color: var(--ink); justify-self: end; }
.nav-links{ background: #fff; border-color: var(--line); }
.authority-row{ grid-template-columns: 1fr; gap: 22px; padding-block: 32px; }
.authority-marks{ grid-template-columns: repeat(2,1fr); }
.authority-marks span:nth-child(3){ border-top: 1px solid var(--line); }
.authority-marks span:nth-child(4){ border-top: 1px solid var(--line); }}
@media (max-width: 760px){.nav-inner{ min-height: 66px; }
.nav-links{ top: 66px; }
.hero-photo{ height: 520px; min-height: 0; }
.authority-marks{ grid-template-columns: 1fr; }
.authority-marks span{ border-left: 0; border-top: 1px solid var(--line); min-height: 58px; }
.founder-photo, .founder-photo img{ min-height: 560px; }}
/* ===== V4 refinements ===== */
    .brand-logo{
      width: 46px;
      height: 46px;
      object-fit: contain;
      flex: 0 0 auto;
    }
.brand small{ margin-top: 4px; }
.founder-grid--aligned{ margin-top: clamp(34px, 4vw, 52px); }
@keyframes mapFlow{
      0% { transform: translateX(-110%); }
      100% { transform: translateX(320%); }
    }
@media (max-width: 767px){.brand-logo{ width: 40px; height: 40px; }}
/* ===== V6 deliberate-design pass ===== */
    body{
      font-family: "Figtree", system-ui, -apple-system, sans-serif;
      letter-spacing: -.008em;
      background: #f4f5f3;
    }
body::before{ display: none; }
.eyebrow, .brand small, .nav-links a, .nav-cta, .hero-button, label, .footer-bottom{ font-family: "Figtree", monospace; }
.eyebrow{
      text-transform: none;
      letter-spacing: .055em;
      font-size: 11px;
    }
/* Buttons use a precise product-design shape, not the generic capsule. */
    .nav-cta, .hero-button, .submit{
      border-radius: 3px;
      box-shadow: none;
    }
.nav-cta{ min-height: 40px; padding-inline: 17px; }
.hero-button{ min-height: 50px; padding-inline: 20px; }
.hero-button:hover{ transform: none; }
/* Integrate founder proof with the image instead of a floating glass card. */
    .hero-photo{
      clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);
    }
/* Deliberate section rhythm rather than identical vertical bands. */
    #opportunity{ padding-block: clamp(108px, 10vw, 150px) clamp(82px, 8vw, 116px); }
#not-white-label{ padding-block: clamp(72px, 7vw, 98px); }
#incubator{ padding-block: clamp(116px, 11vw, 166px); }
#portfolio{ padding-block: clamp(88px, 8vw, 118px); }
#deliverables{ padding-block: clamp(122px, 11vw, 166px); }
#evidence{ padding-block: clamp(104px, 9vw, 142px); }
#founder{ padding-block: clamp(112px, 10vw, 154px); }
#faq{ padding-block: clamp(82px, 7vw, 108px); }
/* Business case: editorial ledger{
      gap: 0;
      border-top: 1px solid var(--line-strong);
      border-bottom: 1px solid var(--line-strong);
      background: transparent;
    }
/* Process steps read like a development specification{
      padding: 0;
      gap: 0;
      border: 0;
      border-top: 1px solid var(--line-strong);
      border-bottom: 1px solid var(--line-strong);
      border-radius: 0;
      background: transparent;
    }
/* Comparison stays tabular; testimonials break the equal-card rhythm. */
    .comparison-wrap{ border-radius: 0; box-shadow: none; }
/* Final conversion area feels like a considered brief{ background: #e8eeea; }
input, select, textarea{ border-radius: 2px; }
/* ===== V7 alignment and information-hierarchy pass ===== */
    :root{
      --max: 1280px;
      --pad: clamp(24px, 5vw, 64px);
      --grid-gap: clamp(24px, 3vw, 40px);
      --content-gap: clamp(42px, 5vw, 68px);
    }
.icon-sprite{
      position: absolute;
      width: 0;
      height: 0;
      overflow: hidden;
    }
/* One shared content rail for every major section. */
    .wrap{
      width: min(100%, var(--max));
      margin-inline: auto;
      padding-inline: var(--pad);
    }
.comparison-wrap, .founder-grid, .faq{
      width: 100%;
      margin-left: 0;
      margin-right: 0;
    }
.lead{ max-width: 58ch; }
.faq{ max-width: 980px; }
.authority-row{
      grid-template-columns: 1fr;
      padding-block: 28px;
    }
.authority-marks{
      width: 100%;
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
@media (max-width: 980px){.authority-marks{ grid-template-columns: repeat(2, minmax(0, 1fr)); }}
@media (max-width: 760px){:root{ --pad: 22px; --grid-gap: 22px; --content-gap: 38px; }
.authority-marks{ grid-template-columns: 1fr; }}
/* ===== Multi-page site system ===== */
:root{
  --site-max: 1280px;
  --site-pad: clamp(22px, 5vw, 64px);
  --site-green: #315f51;
  --site-orange: #d86a35;
  --site-ink: #111916;
  --site-copy: #4f5c57;
  --site-muted: #7a8580;
  --site-line: rgba(17,25,22,.13);
  --site-paper: #ffffff;
  --site-warm: #f7f5f1;
  --site-cool: #eef3f0;
}
body{ background:#f4f5f3; }
.nav{ position:sticky; top:0; z-index:100; }
.nav-inner{ grid-template-columns: 1fr auto 1fr; }
.nav-links{ justify-self:center; }
.brand-logo{ width:46px; height:46px; object-fit:contain; }
.page-main{ overflow:hidden; }
.page-hero{ background:#fff; border-bottom:1px solid var(--site-line); }
.page-hero__grid{
  min-height:620px;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  align-items:center;
  gap:clamp(42px,7vw,100px);
  padding-block:clamp(72px,8vw,120px);
}
.page-hero__copy{ max-width:760px; }
.page-kicker{
  margin:0 0 22px;
  font:600 11px/1.3 "Figtree", monospace;
  letter-spacing:.08em;
  color:var(--site-orange);
  text-transform:uppercase;
}
.page-title{
  margin:0;
  max-width:13ch;
  font-size:clamp(50px,6.6vw,92px);
  line-height:.96;
  letter-spacing:-.06em;
  font-weight:520;
  color:var(--site-ink);
  text-wrap:balance;
}
.page-title em{ font-family:"Newsreader", Georgia, serif; font-weight:500; color:var(--site-green); }
.page-deck{ margin:30px 0 0; max-width:63ch; font-size:clamp(19px,1.8vw,25px); line-height:1.47; color:var(--site-copy); }
.page-actions{ display:flex; flex-wrap:wrap; gap:18px 26px; align-items:center; margin-top:34px; }
.page-art{ position:relative; min-height:520px; background:#eef2ef; border-top:3px solid var(--site-green); overflow:hidden; }
.page-art img{ width:100%; height:100%; min-height:520px; object-fit:cover; object-position:center 22%; filter:saturate(.78) contrast(1.02); }
.page-art--lab img{ object-position:center 22%; }
.page-art__caption{ position:absolute; left:0; right:0; bottom:0; padding:22px 24px; background:rgba(23,53,45,.93); color:#fff; border-top:3px solid var(--site-orange); }
.page-art__caption strong{ display:block; font-size:20px; letter-spacing:-.025em; }
.page-art__caption span{ display:block; margin-top:6px; color:rgba(255,255,255,.72); font:500 10px/1.5 "Figtree",monospace; text-transform:uppercase; letter-spacing:.08em; }
.page-art--diagram{ display:grid; place-items:center; padding:50px; background:#edf2ef; }
.orbit{ width:min(100%,430px); aspect-ratio:1; border:1px solid rgba(49,95,81,.28); position:relative; transform:rotate(45deg); }
.orbit::before, .orbit::after{ content:""; position:absolute; inset:14%; border:1px solid rgba(216,106,53,.42); }
.orbit::after{ inset:31%; background:var(--site-green); border:0; }
.orbit-label{ position:absolute; inset:auto 26px 24px; margin:0; color:var(--site-copy); font:500 11px/1.5 "Figtree",monospace; letter-spacing:.06em; text-transform:uppercase; }
.site-section{ background:#fff; padding-block:clamp(86px,9vw,138px); border-bottom:1px solid var(--site-line); }
.site-section.warm{ background:var(--site-warm); }
.site-section.cool{ background:var(--site-cool); }
.site-section.dark{ background:#17352d; color:#fff; }
.section-rail{ width:min(100%,var(--site-max)); margin-inline:auto; padding-inline:var(--site-pad); }
.section-heading{ max-width:1050px; }
.section-heading::before{ content:""; display:block; width:54px; height:3px; margin-bottom:23px; background:linear-gradient(90deg,var(--site-orange) 0 72%,transparent 72% 78%,var(--site-green) 78%); }
.section-heading h2{ margin:0; max-width:17ch; font-size:clamp(42px,5vw,72px); line-height:1.01; letter-spacing:-.052em; font-weight:520; color:var(--site-ink); text-wrap:balance; }
.section-heading h2 em{ font-family:"Newsreader",Georgia,serif; font-weight:500; color:var(--site-green); }
.dark .section-heading h2{ color:#fff; }
.dark .section-heading h2 em{ color:#c7d9d1; }
.section-heading p{ margin:28px 0 0; max-width:70ch; font-size:clamp(18px,1.6vw,23px); line-height:1.52; color:var(--site-copy); }
.dark .section-heading p{ color:rgba(255,255,255,.7); }
.prose{ max-width:820px; color:var(--site-copy); font-size:18px; line-height:1.72; }
.prose p{ margin:0 0 22px; }
.prose h2, .prose h3{ color:var(--site-ink); letter-spacing:-.035em; }
.prose h2{ margin:68px 0 24px; font-size:clamp(34px,4vw,54px); line-height:1.05; }
.prose h3{ margin:42px 0 18px; font-size:27px; line-height:1.15; }
.prose ul{ list-style:none; padding:0; margin:26px 0; border-top:1px solid var(--site-line); }
.prose li{ position:relative; padding:15px 0 15px 30px; border-bottom:1px solid var(--site-line); }
.prose li::before{ content:""; position:absolute; left:3px; top:22px; width:10px; height:10px; border:2px solid var(--site-green); transform:rotate(45deg); }
.split{ margin-top:clamp(48px,6vw,78px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(42px,7vw,100px); align-items:start; }
.split--wide{ grid-template-columns:.82fr 1.18fr; }
.editorial-grid{ margin-top:clamp(48px,6vw,76px); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--site-line); border-left:1px solid var(--site-line); }
.editorial-card{ min-height:280px; padding:clamp(28px,4vw,48px); border-right:1px solid var(--site-line); border-bottom:1px solid var(--site-line); background:#fff; }
.editorial-card:nth-child(4n+2), .editorial-card:nth-child(4n+3){ background:#faf8f4; }
.editorial-card svg{ width:32px; height:32px; fill:none; stroke:var(--site-green); stroke-width:1.6; margin-bottom:28px; }
.editorial-card h3{ margin:0; max-width:18ch; font-size:clamp(28px,3vw,42px); line-height:1.05; letter-spacing:-.045em; color:var(--site-ink); }
.editorial-card p{ margin:18px 0 0; max-width:48ch; color:var(--site-copy); font-size:17px; line-height:1.58; }
.asset-grid{ margin-top:clamp(50px,6vw,80px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.asset-card{ padding:32px; min-height:330px; border:1px solid var(--site-line); border-top:3px solid var(--site-green); background:#fff; }
.asset-card:nth-child(2n){ border-top-color:var(--site-orange); }
.asset-card h3{ margin:36px 0 15px; font-size:30px; line-height:1.05; letter-spacing:-.04em; color:var(--site-ink); }
.asset-card p{ color:var(--site-copy); }
.asset-card small{ color:var(--site-muted); font:500 10px/1.5 "Figtree",monospace; letter-spacing:.06em; text-transform:uppercase; }
.check-list{ list-style:none; margin:30px 0 0; padding:0; border-top:1px solid var(--site-line); }
.check-list li{ display:flex; gap:14px; padding:15px 0; border-bottom:1px solid var(--site-line); color:var(--site-copy); }
.check-list li::before{ content:""; flex:0 0 auto; width:10px; height:6px; margin:6px 2px 0 1px; border-left:2px solid var(--site-green); border-bottom:2px solid var(--site-green); transform:rotate(-45deg); }
.contrast{ margin-top:clamp(52px,6vw,80px); display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--site-line); border-bottom:1px solid var(--site-line); }
.contrast article{ padding:clamp(34px,5vw,58px); }
.contrast article:first-child{ padding-left:0; border-right:1px solid var(--site-line); }
.contrast article:last-child{ padding-right:0; }
.contrast h3{ margin:0; font-size:clamp(32px,3.6vw,52px); line-height:1.02; letter-spacing:-.05em; color:var(--site-ink); }
.contrast p{ color:var(--site-copy); }
.pathway{ margin-top:clamp(50px,6vw,80px); border-top:1px solid var(--site-line); }
.pathway-step{ display:grid; grid-template-columns:52px minmax(220px,.8fr) 1.2fr; gap:28px; padding:30px 0; border-bottom:1px solid var(--site-line); align-items:start; }
.pathway-step .diamond{ width:17px; height:17px; margin-top:5px; border:3px solid var(--site-green); transform:rotate(45deg); }
.pathway-step:nth-child(2n) .diamond{ border-color:var(--site-orange); }
.pathway-step h3{ margin:0; font-size:clamp(26px,2.7vw,38px); line-height:1.05; letter-spacing:-.04em; color:var(--site-ink); }
.pathway-step p{ margin:0; color:var(--site-copy); line-height:1.62; }
.metric-grid{ margin-top:clamp(50px,6vw,76px); display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.metric{ padding:35px 28px; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.metric strong{ display:block; font-size:clamp(44px,5vw,72px); line-height:.9; letter-spacing:-.06em; color:#fff; }
.metric span{ display:block; margin-top:13px; color:rgba(255,255,255,.64); line-height:1.5; }
.callout{ margin-top:42px; max-width:980px; padding:24px 0 24px 28px; border-left:4px solid var(--site-orange); color:var(--site-copy); font-size:clamp(19px,1.7vw,24px); line-height:1.52; }
.investment{ margin-top:55px; padding:40px 0; border-top:3px solid var(--site-green); border-bottom:1px solid var(--site-line); display:grid; grid-template-columns:1fr auto; gap:38px; align-items:end; }
.investment strong{ font-size:clamp(46px,6vw,82px); line-height:.9; letter-spacing:-.065em; color:var(--site-green); }
.investment p{ margin:0; max-width:620px; color:var(--site-copy); }
.resource-list{ margin-top:58px; display:grid; gap:0; border-top:1px solid var(--site-line); }
.resource-row{ display:grid; grid-template-columns:1fr auto; gap:30px; padding:28px 0; border-bottom:1px solid var(--site-line); text-decoration:none; }
.resource-row h3{ margin:0; max-width:32ch; color:var(--site-ink); font-size:clamp(24px,2.6vw,36px); line-height:1.12; letter-spacing:-.035em; }
.resource-row p{ margin:10px 0 0; max-width:70ch; color:var(--site-copy); }
.resource-row span{ align-self:center; color:var(--site-orange); font:600 12px/1 "Figtree",monospace; text-transform:uppercase; letter-spacing:.06em; }
.resource-row:hover h3{ color:var(--site-green); }
.application-grid{ margin-top:58px; display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(42px,7vw,90px); }
.application-form{ padding:32px; background:#fff; border-top:3px solid var(--site-orange); border-bottom:1px solid var(--site-line); }
.application-form .form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.application-form .full{ grid-column:1/-1; }
.application-form input, .application-form select, .application-form textarea{ border-radius:2px; }
.legal-layout{ display:grid; grid-template-columns:260px minmax(0,800px); gap:clamp(44px,8vw,120px); align-items:start; }
.legal-toc{ position:sticky; top:110px; padding-top:18px; border-top:3px solid var(--site-green); }
.legal-toc a{ display:block; padding:10px 0; color:var(--site-copy); text-decoration:none; border-bottom:1px solid var(--site-line); font-size:14px; }
.legal-note{ padding:20px 22px; background:#f7f1eb; border-left:3px solid var(--site-orange); color:var(--site-copy); }
.site-cta{ background:#e8eeea; padding-block:clamp(76px,8vw,116px); }
.site-cta__grid{ display:grid; grid-template-columns:1fr auto; gap:42px; align-items:center; border-top:3px solid var(--site-green); border-bottom:1px solid var(--site-line); padding:42px 0; }
.site-cta h2{ margin:0; max-width:16ch; font-size:clamp(38px,4.7vw,66px); line-height:1; letter-spacing:-.052em; font-weight:520; }
.site-cta p{ max-width:64ch; color:var(--site-copy); }
.footer-grid{ grid-template-columns:1.15fr .75fr .75fr .75fr; }
.footer-links a{ line-height:1.45; }
.source-note{ margin-top:24px; color:var(--site-muted); font-size:12px; }
@media (max-width:1020px){.nav-inner{grid-template-columns:1fr auto}
.page-hero__grid, .split, .split--wide, .application-grid, .site-cta__grid, .legal-layout{grid-template-columns:1fr}
.page-art{min-height:480px}
.page-art img{min-height:480px}
.asset-grid{grid-template-columns:1fr 1fr}
.metric-grid{grid-template-columns:1fr 1fr}
.legal-toc{position:static}
.footer-grid{grid-template-columns:1fr 1fr}
.investment{grid-template-columns:1fr}
.nav-links{justify-self:start}}
@media (max-width:760px){.page-hero__grid{min-height:auto;padding-block:54px}
.page-title{font-size:clamp(46px,13vw,72px)}
.page-art{min-height:430px}
.page-art img{min-height:430px}
.editorial-grid, .asset-grid, .contrast, .metric-grid, .application-form .form-grid, .footer-grid{grid-template-columns:1fr}
.contrast article:first-child{padding-left:0;padding-right:0;border-right:0;border-bottom:1px solid var(--site-line)}
.contrast article:last-child{padding-left:0;padding-right:0}
.pathway-step{grid-template-columns:36px 1fr}
.pathway-step p{grid-column:2}
.application-form{padding:24px}
.resource-row{grid-template-columns:1fr}
.resource-row span{justify-self:start}
.site-cta__grid{align-items:start}
.footer-bottom{flex-direction:column}
.metric-grid{border-left:0}
.metric{border-left:1px solid rgba(255,255,255,.18)}}
/* ===== Campaign landing-page system ===== */
.campaign-nav .nav-inner{ min-height:72px; }
.campaign-footer .footer-grid{ grid-template-columns:1.25fr .8fr .8fr .8fr; }
.campaign-page{ background:#f4f5f3; }
.campaign-hero{ background:#fff; border-bottom:1px solid var(--site-line); }
.campaign-hero__grid{ min-height:650px; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:clamp(46px,7vw,104px); align-items:center; padding-block:clamp(68px,8vw,116px); }
.campaign-hero__copy{ max-width:770px; }
.campaign-hero .page-title{ max-width:14ch; font-size:clamp(48px,6.15vw,86px); }
.campaign-hero .page-deck{ max-width:66ch; }
.campaign-hero__trust{ margin-top:38px; padding-top:20px; border-top:1px solid var(--site-line); display:flex; flex-wrap:wrap; gap:9px 24px; color:var(--site-muted); font:500 10px/1.5 "Figtree",monospace; letter-spacing:.06em; text-transform:uppercase; }
.campaign-hero__trust span + span::before{ content:""; display:inline-block; width:5px; height:5px; margin:0 18px 2px 0; background:var(--site-orange); transform:rotate(45deg); }
.campaign-visual{ min-height:520px; display:grid; grid-template-rows:1fr auto; border-top:3px solid var(--site-green); background:#edf2ef; }
.campaign-visual img{ width:100%; height:100%; min-height:430px; object-fit:cover; object-position:center 22%; filter:saturate(.76) contrast(1.02); }
.campaign-visual__note{ padding:22px 24px; border-top:1px solid var(--site-line); background:#fff; }
.campaign-visual__note strong{ display:block; font-size:20px; letter-spacing:-.025em; }
.campaign-visual__note span{ display:block; margin-top:5px; color:var(--site-orange); font:600 10px/1.45 "Figtree",monospace; letter-spacing:.07em; text-transform:uppercase; }
.campaign-visual--diagram{ position:relative; min-height:520px; display:grid; place-items:center; padding:48px; overflow:hidden; }
.campaign-visual--diagram::before{ content:""; width:min(88%,410px); aspect-ratio:1; border:2px solid rgba(49,95,81,.28); transform:rotate(45deg); }
.campaign-visual--diagram::after{ content:""; position:absolute; width:min(46%,210px); aspect-ratio:1; border:3px solid var(--site-orange); transform:rotate(45deg); }
.campaign-visual--diagram img{ position:absolute; width:118px; height:118px; min-height:0; object-fit:contain; filter:none; z-index:2; }
.campaign-proof .authority-row{ min-height:118px; }
.campaign-proof .authority-marks span{ font-size:13px; }
.campaign-section{ background:#fff; padding-block:clamp(82px,8vw,126px); border-bottom:1px solid var(--site-line); }
.campaign-section.warm{ background:var(--site-warm); }
.campaign-section.cool{ background:var(--site-cool); }
.campaign-section.dark{ background:#17352d; color:#fff; }
.campaign-intro{ margin-top:clamp(38px,5vw,62px); display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(40px,7vw,90px); align-items:start; }
.campaign-intro .lead{ color:var(--site-ink); }
.campaign-intro .prose{ font-size:17px; }
.campaign-outcomes{ margin-top:clamp(48px,6vw,78px); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--site-line); border-left:1px solid var(--site-line); }
.campaign-outcome{ min-height:275px; padding:clamp(28px,4vw,46px); border-right:1px solid var(--site-line); border-bottom:1px solid var(--site-line); background:#fff; }
.campaign-outcome:nth-child(4n+2), .campaign-outcome:nth-child(4n+3){ background:#faf8f4; }
.campaign-outcome svg{ width:34px; height:34px; margin-bottom:28px; fill:none; stroke:var(--site-green); stroke-width:1.65; }
.campaign-outcome:nth-child(2n) svg{ stroke:var(--site-orange); }
.campaign-outcome h3{ margin:0; max-width:18ch; font-size:clamp(28px,3vw,42px); line-height:1.03; letter-spacing:-.045em; color:var(--site-ink); }
.campaign-outcome p{ margin:18px 0 0; max-width:48ch; color:var(--site-copy); line-height:1.62; }
.campaign-contrast{ margin-top:clamp(48px,6vw,76px); display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--site-line); border-bottom:1px solid var(--site-line); }
.campaign-contrast article{ padding:clamp(34px,5vw,56px); }
.campaign-contrast article:first-child{ padding-left:0; border-right:1px solid var(--site-line); }
.campaign-contrast article:last-child{ padding-right:0; }
.campaign-contrast .page-kicker{ margin-bottom:15px; }
.campaign-contrast h3{ margin:0; font-size:clamp(32px,3.5vw,50px); line-height:1.02; letter-spacing:-.05em; color:var(--site-ink); }
.campaign-contrast p{ color:var(--site-copy); }
.campaign-process{ margin-top:clamp(48px,6vw,78px); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--site-line); border-left:1px solid var(--site-line); }
.campaign-step{ min-height:290px; padding:clamp(28px,4vw,44px); border-right:1px solid var(--site-line); border-bottom:1px solid var(--site-line); }
.campaign-step__head{ display:grid; grid-template-columns:40px 1fr; gap:18px; align-items:center; }
.campaign-step svg{ width:34px; height:34px; fill:none; stroke:var(--site-orange); stroke-width:1.65; }
.campaign-step h3{ margin:0; font-size:clamp(27px,2.7vw,38px); line-height:1.04; letter-spacing:-.04em; color:var(--site-ink); }
.campaign-step p{ margin:22px 0 0; color:var(--site-copy); line-height:1.62; }
.campaign-deliverables{ margin-top:clamp(50px,6vw,76px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.campaign-deliverable{ min-height:290px; padding:30px; background:#fff; border:1px solid var(--site-line); border-top:3px solid var(--site-green); }
.campaign-deliverable:nth-child(2n){ border-top-color:var(--site-orange); }
.campaign-deliverable svg{ width:30px; height:30px; fill:none; stroke:var(--site-green); stroke-width:1.65; }
.campaign-deliverable:nth-child(2n) svg{ stroke:var(--site-orange); }
.campaign-deliverable h3{ margin:34px 0 12px; font-size:25px; line-height:1.08; letter-spacing:-.035em; color:var(--site-ink); }
.campaign-deliverable p{ margin:0; color:var(--site-copy); line-height:1.58; }
.campaign-proof-block{ margin-top:clamp(48px,6vw,76px); display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); border-top:3px solid var(--site-green); border-bottom:1px solid var(--site-line); }
.campaign-proof-block > div{ padding:clamp(34px,5vw,58px); }
.campaign-proof-block > div:first-child{ padding-left:0; border-right:1px solid var(--site-line); }
.campaign-proof-block > div:last-child{ padding-right:0; }
.campaign-proof-block .metric-big{ margin:0; font-size:clamp(60px,8vw,116px); line-height:.82; letter-spacing:-.07em; color:var(--site-green); }
.campaign-proof-block blockquote{ margin:26px 0 0; max-width:48ch; font:italic 500 clamp(18px,1.6vw,22px)/1.55 "Newsreader",Georgia,serif; color:#33403b; }
.campaign-proof-block footer{ margin-top:24px; background:none; border:0; color:var(--site-copy); }
.campaign-note{ margin-top:24px; color:var(--site-muted); font-size:13px; line-height:1.55; }
.campaign-founder-grid{ margin-top:clamp(46px,6vw,78px); }
.founder-relevance h3{ margin:0; max-width:15ch; font-size:clamp(34px,4vw,56px); line-height:1.02; letter-spacing:-.05em; color:var(--site-ink); }
.founder-relevance > p:not(.page-kicker){ color:var(--site-copy); font-size:18px; line-height:1.65; }
.campaign-fit{ margin-top:clamp(46px,6vw,72px); display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--site-line); }
.campaign-fit > div{ padding:clamp(30px,4vw,48px); }
.campaign-fit > div:first-child{ background:#f3f7f5; border-right:1px solid var(--site-line); }
.campaign-fit > div:last-child{ background:#fbf7f2; }
.campaign-fit h3{ margin:0 0 24px; font-size:34px; letter-spacing:-.04em; color:var(--site-ink); }
.campaign-fit ul{ list-style:none; padding:0; margin:0; }
.campaign-fit li{ display:flex; gap:13px; padding:14px 0; border-top:1px solid var(--site-line); color:var(--site-copy); }
.campaign-fit svg{ width:18px; height:18px; margin-top:3px; flex:0 0 auto; fill:none; stroke:var(--site-green); stroke-width:1.8; }
.campaign-fit .not-fit svg{ stroke:var(--site-orange); }
.campaign-faq{ margin-top:clamp(42px,5vw,64px); max-width:980px; border-top:1px solid var(--site-line); }
.campaign-form-section{ background:#e8eeea; padding-block:clamp(82px,8vw,126px); }
.campaign-form-grid{ display:grid; grid-template-columns:.88fr 1.12fr; gap:clamp(46px,7vw,96px); align-items:start; border-top:3px solid var(--site-green); padding-top:clamp(36px,5vw,60px); }
.campaign-form-copy h2{ margin:0; max-width:13ch; font-size:clamp(42px,5vw,70px); line-height:1.01; letter-spacing:-.052em; font-weight:520; color:var(--site-ink); }
.campaign-form-copy h2 em{ font-family:"Newsreader",Georgia,serif; color:var(--site-green); font-weight:500; }
.campaign-form-copy p{ max-width:55ch; color:var(--site-copy); font-size:18px; line-height:1.65; }
.campaign-form{ padding:30px; background:#fff; border-top:3px solid var(--site-orange); }
.campaign-form .form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.campaign-form .field.full{ grid-column:1/-1; }
.campaign-form label{ color:var(--site-ink); }
.campaign-form input, .campaign-form select, .campaign-form textarea{ background:#fff; color:var(--site-ink); border:1px solid rgba(17,25,22,.24); border-radius:2px; }
.campaign-form .submit{ background:var(--site-green); color:#fff; border:1px solid var(--site-green); }
.campaign-form .submit:hover{ background:#24483d; color:#fff; }
.campaign-form .micro{ color:var(--site-muted)!important; }
.campaign-form-status{ margin-top:14px; min-height:20px; color:var(--site-green); font:600 11px/1.4 "Figtree",monospace; }
.campaign-technical-note{ margin-top:30px; padding:18px 20px; border-left:3px solid var(--site-orange); background:#fff; color:var(--site-copy); font-size:14px; line-height:1.6; }
.campaign-directions{ margin-top:clamp(48px,6vw,76px); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--site-line); border-left:1px solid var(--site-line); }
.campaign-direction{ min-height:235px; padding:28px; border-right:1px solid var(--site-line); border-bottom:1px solid var(--site-line); }
.campaign-direction h3{ margin:0; font-size:25px; line-height:1.08; letter-spacing:-.035em; color:var(--site-ink); }
.campaign-direction p{ color:var(--site-copy); }
.staged-banner{ padding:13px var(--site-pad); background:#17352d; color:#fff; text-align:center; font:600 10px/1.4 "Figtree",monospace; letter-spacing:.07em; text-transform:uppercase; }
.assessment-hero{ min-height:520px; }
.assessment-overview{ margin-top:48px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--site-line); border-left:1px solid var(--site-line); }
.assessment-overview article{ min-height:240px; padding:32px; border-right:1px solid var(--site-line); border-bottom:1px solid var(--site-line); }
.assessment-overview h3{ margin:0; font-size:27px; color:var(--site-ink); letter-spacing:-.035em; }
.assessment-overview p{ color:var(--site-copy); }
.booking-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(44px,7vw,90px); align-items:start; }
.calendar-shell{ min-height:600px; padding:34px; border-top:3px solid var(--site-green); background:#fff; border-bottom:1px solid var(--site-line); }
.prepare-list{ list-style:none; margin:30px 0 0; padding:0; border-top:1px solid var(--site-line); }
.prepare-list li{ padding:15px 0; border-bottom:1px solid var(--site-line); color:var(--site-copy); }
.campaign-footer .source-note{ max-width:110ch; }
@media (max-width:1050px){.campaign-hero__grid, .campaign-form-grid, .booking-grid{grid-template-columns:1fr}
.campaign-visual{max-width:620px}
.campaign-deliverables{grid-template-columns:repeat(2,1fr)}
.campaign-directions{grid-template-columns:repeat(2,1fr)}
.campaign-footer .footer-grid{grid-template-columns:1fr 1fr}
.campaign-proof-block{grid-template-columns:1fr}
.campaign-proof-block>div:first-child{padding-left:0;border-right:0;border-bottom:1px solid var(--site-line)}
.campaign-proof-block>div:last-child{padding-left:0;padding-right:0}}
@media (max-width:760px){.campaign-hero__grid{min-height:auto;padding-block:52px 68px}
.campaign-hero .page-title{font-size:clamp(46px,13vw,72px)}
.campaign-hero__trust{display:grid;gap:8px}
.campaign-hero__trust span+span::before{display:none}
.campaign-intro, .campaign-outcomes, .campaign-process, .campaign-deliverables, .campaign-contrast, .campaign-fit, .campaign-directions, .assessment-overview{grid-template-columns:1fr}
.campaign-outcome, .campaign-step, .campaign-direction{min-height:auto}
.campaign-contrast article:first-child{padding-left:0;padding-right:0;border-right:0;border-bottom:1px solid var(--site-line)}
.campaign-contrast article:last-child{padding-left:0;padding-right:0}
.campaign-fit>div:first-child{border-right:0;border-bottom:1px solid var(--site-line)}
.campaign-form .form-grid{grid-template-columns:1fr}
.campaign-form .field{grid-column:1/-1}
.campaign-footer .footer-grid{grid-template-columns:1fr}
.campaign-visual{min-height:470px}
.campaign-visual img{min-height:390px}
.campaign-proof .authority-marks{grid-template-columns:1fr}}
/* =====================================================================
   V8 — WARM HUMAN ADVISORY SYSTEM  (canonical — supersedes V1–V7 look)
   Type:  Newsreader (humanist serif display) + Figtree (humanist sans)
   Voice of the design: a boutique science advisor{
  /* Warm paper palette — replaces the cool grey-green neutrals. */
  --bg:#f6f3ec; --bg-deep:#1a3a31;
  --surface:#fffdf8; --surface-2:#f3efe6;
  --ink:#1c1a15; --ink-soft:#54504a; --muted:#8a8579;
  --line:rgba(28,24,18,.12); --line-strong:rgba(28,24,18,.2);
  --green:#2f5a4d; --green-bright:#2f5a4d; --orange:#cf6636; --orange-dark:#a84c22;
  /* Mirror into the multi-page + campaign token set. */
  --site-green:#2f5a4d; --site-orange:#cf6636; --site-ink:#1c1a15;
  --site-copy:#54504a; --site-muted:#8a8579; --site-line:rgba(28,24,18,.12);
  --site-paper:#fffdf8; --site-warm:#f4efe5; --site-cool:#eef2ee;
}
html, body{ background:#f2ede3; }
body{
  font-family:"Figtree", system-ui, -apple-system, sans-serif;
  font-size:18px; line-height:1.62; letter-spacing:0; color:var(--ink);
  font-optical-sizing:auto;
}
body::before{ display:none; }
.site-section, .campaign-section, .page-hero, .campaign-hero, .proof-strip, .campaign-proof, .nav{ background:var(--surface); }
.site-section.warm, .campaign-section.warm{ background:var(--site-warm); }
.site-section.cool, .campaign-section.cool{ background:var(--site-cool); }
/* ---- Display type: warm humanist serif, generous, .page-title, .section-heading h2, .founder-relevance h3, .site-cta h2, .campaign-form-copy h2, .campaign-outcome h3, .campaign-step h3, .campaign-contrast h3, .campaign-deliverable h3, .campaign-direction h3, .editorial-card h3, .asset-card h3, .contrast h3, .pathway-step h3, .resource-row h3, .assessment-overview h3, .prose h2, .prose h3{
  font-family:"Newsreader", Georgia, serif !important;
  font-optical-sizing:auto;
  font-weight:430;
  letter-spacing:-.011em;
}
.page-title{ font-weight:440; line-height:1.02; letter-spacing:-.018em; }
.section-heading h2, .site-cta h2, .campaign-form-copy h2{ line-height:1.04; letter-spacing:-.014em; }
/* Italic emphasis now reads as natural editorial stress, .page-title em, .section-heading h2 em, .campaign-form-copy h2 em{
  font-family:"Newsreader", Georgia, serif !important;
  font-style:italic; font-weight:440; color:var(--green);
}
.dark .section-heading h2 em{ color:#bcd3c9; }
.lead, .page-deck{ font-family:"Figtree", system-ui, sans-serif; font-weight:400; color:var(--ink-soft); }
/* ---- Retire the monospace-uppercase micro-label mannerism everywhere ---- */
.eyebrow, .page-kicker, .footer-bottom, .nav-links a, .nav-cta, .hero-button, .hero-secondary, .submit, .text-link, label, .proof-item span, .timeline-row b, .campaign-hero__trust, .campaign-visual__note span, .resource-row span, .asset-card small, .staged-banner, .orbit-label, .page-art__caption span, .campaign-form-status, .comparison th, .form-status, .authority-marks span, .check-list li, .campaign-note, .campaign-technical-note, .source-note, .metric span, .brand small{
  font-family:"Figtree", system-ui, sans-serif !important;
  text-transform:none !important;
  letter-spacing:.004em !important;
}
/* Eyebrows / kickers: quiet lead-ins, sentence case, warm accent. */
.eyebrow, .page-kicker, .campaign-contrast .page-kicker{
  font-size:13px; font-weight:600; color:var(--orange-dark);
}
.page-kicker{ color:var(--orange-dark); }
.brand small{ font-size:11px; font-weight:500; letter-spacing:.01em !important; color:var(--muted); }
/* Navigation: readable, human, not a wide-tracked machine label. */
.nav-links a{ font-size:15px; font-weight:500; color:#3a4641; }
.nav-cta{
  font-size:14px; font-weight:600; border-radius:8px; padding:0 20px; min-height:44px;
  background:var(--green); color:#fff;
}
.nav-cta:hover{ background:#24483d; }
/* Buttons: warm, rounded, sentence case, confident. */
.hero-button, .submit, .campaign-form .submit{
  font-size:15px; font-weight:600; border-radius:9px; letter-spacing:.002em !important;
  background:var(--green); color:#fff;
}
.hero-button{ min-height:54px; padding:0 26px; }
.hero-button:hover, .submit:hover, .campaign-form .submit:hover{ background:#24483d; color:#fff; }
.hero-secondary{ font-size:15px; font-weight:600; text-transform:none; color:var(--green); }
/* Form labels: quiet sentence-case, not shouting monospace. */
label{ font-size:13px; font-weight:600; color:#3a4641; letter-spacing:.004em !important; }
/* Data figures keep confident scale but warm serif for the big numbers. */
.metric strong, .proof-item b, .case-metric, .campaign-proof-block .metric-big, .investment strong{
  font-family:"Newsreader", Georgia, serif !important; font-weight:500;
}
/* ---- More air + softer edges (less boxy, more editorial) ---- */
.asset-card, .editorial-card, .campaign-deliverable, .campaign-form, .application-form, .calendar-shell{
  border-radius:12px;
}
.check-list li{ font-size:16px; }
.prose{ font-size:18px; line-height:1.75; }
/* ---- Imagery-forward: let the founder + lab photography carry warmth ---- */
.page-art, .page-art img{ min-height:560px; }
.page-art img, .campaign-visual img, .hero-photo img, .founder-photo img{
  filter:saturate(.92) contrast(1.02);
}
.page-art{ border-top:3px solid var(--site-green); border-radius:0 0 0 0; }
.page-art__caption{ background:rgba(26,58,49,.92); }
/* Rounded, warm nav CTA + focus states retain the orange system. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{ outline-color:var(--orange); }
::selection{ background:rgba(207,102,54,.22); color:var(--ink); }
/* Footer stays deep green but warmer. */
footer{ background:var(--bg-deep); }
/* =====================================================================
   V9 — INTERACTIVE LEAD FEATURES  (scorecard, count-up, scroll CTA bar)
   Stays inside the Warm-Human-Advisory system. Motion is restrained and
   prefers-reduced-motion is honored globally.
   ===================================================================== */

/* Count-up figures: tabular numerals so widths don't jitter while animating. */
.metric strong, .proof-item b, .case-metric, .campaign-proof-block .metric-big, .investment strong, .authority-marks b{ font-variant-numeric: tabular-nums; }
/* ---- Product Readiness Scorecard ---- */
.scorecard{
  position: relative;
  margin-top: clamp(38px, 5vw, 60px);
  max-width: 860px;
  padding: clamp(26px, 3.4vw, 44px);
  background: #fffdf8;
  border: 1px solid var(--site-line);
  border-top: 3px solid var(--site-green);
  border-radius: 16px;
  box-shadow: 0 22px 60px rgba(26, 58, 49, .07);
  overflow: hidden;
}
.scorecard__progress{
  height: 3px; width: 100%;
  margin-bottom: clamp(26px, 3vw, 38px);
  background: rgba(47, 90, 77, .14);
  border-radius: 2px; overflow: hidden;
}
.scorecard__progress span{
  display: block; height: 100%; width: 12%;
  background: linear-gradient(90deg, var(--site-green), var(--site-orange));
  border-radius: inherit;
  transition: width .45s var(--ease, cubic-bezier(.25,0,0,1));
}
.sc-step{ border: 0; margin: 0; padding: 0; min-inline-size: 0; }
.sc-step[hidden]{ display: none; }
.sc-q{
  padding: 0; margin: 0 0 clamp(20px, 2.4vw, 30px);
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(26px, 3.1vw, 40px); line-height: 1.08;
  letter-spacing: -.014em; color: var(--site-ink);
}
.sc-q em{ font-style: italic; color: var(--site-green); }
.sc-options{ display: grid; gap: 12px; }
.sc-opt{
  display: flex; align-items: center; gap: 14px;
  width: 100%; text-align: left;
  padding: 17px 20px;
  font-family: "Figtree", system-ui, sans-serif;
  font-size: 17px; color: var(--site-ink);
  background: #fff;
  border: 1px solid var(--site-line); border-radius: 11px;
  cursor: pointer;
  transition: border-color .16s var(--ease, ease), background .16s var(--ease, ease), transform .16s var(--ease, ease);
}
.sc-opt::before{
  content: ""; flex: 0 0 auto;
  width: 14px; height: 14px; border-radius: 50%;
  border: 2px solid rgba(47, 90, 77, .4);
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.sc-opt:hover{ border-color: rgba(47, 90, 77, .5); background: #f6faf8; transform: translateX(2px); }
.sc-opt:hover::before{ border-color: var(--site-green); }
.sc-opt.is-selected{ border-color: var(--site-green); background: #eef4f1; }
.sc-opt.is-selected::before{ border-color: var(--site-green); background: var(--site-green); box-shadow: inset 0 0 0 2px #fff; }
.scorecard__foot{
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  margin-top: clamp(22px, 2.6vw, 32px);
  padding-top: 18px; border-top: 1px solid var(--site-line);
}
.sc-back{
  background: none; border: 0; padding: 4px 0; cursor: pointer;
  font: 600 14px/1 "Figtree", system-ui, sans-serif; color: var(--site-green);
  border-bottom: 1px solid transparent;
}
.sc-back:hover{ border-bottom-color: var(--site-green); }
.sc-back[hidden]{ display: none; }
.sc-count{ color: var(--site-muted); font: 500 13px/1 "Figtree", system-ui, sans-serif; letter-spacing: .01em; }
/* Result view */
.scorecard__result[hidden]{ display: none; }
.sc-result-tier{ display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.sc-result-tier .sc-eyebrow{ margin: 0; color: var(--site-orange); font: 600 13px/1.3 "Figtree", system-ui, sans-serif; }
.sc-result h3{
  margin: 6px 0 0; font-family: "Newsreader", Georgia, serif;
  font-size: clamp(28px, 3.2vw, 42px); line-height: 1.06; letter-spacing: -.015em; color: var(--site-ink);
}
.sc-result h3 em{ font-style: italic; color: var(--site-green); }
.sc-meter{ height: 8px; margin: 22px 0 24px; background: rgba(47,90,77,.12); border-radius: 5px; overflow: hidden; }
.sc-meter span{ display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--site-green), var(--site-orange)); transition: width .8s var(--ease, ease); }
.sc-result p{ margin: 0 0 18px; max-width: 60ch; color: var(--site-copy); font-size: 17px; line-height: 1.62; }
.sc-recommend{
  display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center;
  margin: 0 0 26px; padding: 16px 18px;
  background: #f4efe5; border-left: 3px solid var(--site-orange); border-radius: 0 8px 8px 0;
}
.sc-recommend b{ color: var(--site-ink); font-weight: 600; }
.sc-recommend span{ color: var(--site-copy); font-size: 15px; }
.sc-result-actions{ display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: center; }
.sc-restart{ background: none; border: 0; cursor: pointer; font: 600 14px/1 "Figtree", system-ui, sans-serif; color: var(--site-muted); }
.sc-restart:hover{ color: var(--site-green); }
@media (max-width: 620px){.sc-opt{ font-size: 16px; padding: 15px 16px; }}
/* ---- Scroll-aware CTA bar ---- */
.lead-bar{
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 70;
  display: flex; align-items: center; gap: 18px 26px;
  padding: 13px clamp(18px, 4vw, 40px);
  background: rgba(255, 253, 248, .93);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--site-line);
  box-shadow: 0 -12px 34px rgba(26, 58, 49, .08);
  transform: translateY(120%);
  transition: transform .4s var(--ease, cubic-bezier(.25,0,0,1));
}
.lead-bar.is-visible{ transform: translateY(0); }
.lead-bar__text{ flex: 1 1 auto; min-width: 0; color: var(--site-ink); font-size: 15px; line-height: 1.35; }
.lead-bar__text b{ font-weight: 600; }
.lead-bar__text span{ color: var(--site-muted); }
.lead-bar__actions{ display: flex; align-items: center; gap: 10px 14px; flex: 0 0 auto; }
.lead-bar__cta{
  display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 18px;
  background: var(--site-green); color: #fff; text-decoration: none; border-radius: 8px;
  font: 600 14px/1 "Figtree", system-ui, sans-serif;
}
.lead-bar__cta:hover{ background: #24483d; }
.lead-bar__cta--ghost{ background: transparent; color: var(--site-green); border: 1px solid rgba(47,90,77,.32); }
.lead-bar__cta--ghost:hover{ background: #eef4f1; }
.lead-bar__dismiss{
  flex: 0 0 auto; background: none; border: 0; cursor: pointer; padding: 6px;
  color: var(--site-muted); font-size: 20px; line-height: 1;
}
.lead-bar__dismiss:hover{ color: var(--site-ink); }
@media (max-width: 720px){.lead-bar{ gap: 10px 14px; padding: 10px 16px; }
.lead-bar__text{ flex-basis: 100%; font-size: 13.5px; }
.lead-bar__cta--ghost{ display: none; }
.lead-bar__cta{ min-height: 40px; padding: 0 14px; font-size: 13.5px; }}
/* =====================================================================
   V10 — MOTION & ORIENTATION  (reading progress, dot-nav, pathway spine,
   persona tabs, staggered reveals, brand micro-interaction, hero parallax)
   All gated behind prefers-reduced-motion in JS; content is visible without JS.
   ===================================================================== */

/* 4a. Reading-progress accent line across the very top. */
.read-progress{
  position: fixed; top: 0; left: 0; z-index: 120;
  height: 3px; width: 100%; transform: scaleX(0); transform-origin: left;
  background: linear-gradient(90deg, var(--site-green), var(--site-orange));
  pointer-events: none;
}
/* 4b. Section dot-nav (desktop only). */
.dot-nav{
  position: fixed; right: 20px; top: 50%; transform: translateY(-50%);
  z-index: 60; display: flex; flex-direction: column; gap: 15px;
}
.dot-nav button{
  position: relative; width: 10px; height: 10px; padding: 0;
  border: 0; border-radius: 50%; cursor: pointer;
  background: rgba(47, 90, 77, .26);
  transition: background .2s var(--ease, ease), transform .2s var(--ease, ease);
}
.dot-nav button:hover{ background: var(--site-green); transform: scale(1.3); }
.dot-nav button.is-active{ background: var(--site-orange); transform: scale(1.35); }
.dot-nav button span{
  position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
  white-space: nowrap; background: #17352d; color: #fff;
  padding: 5px 11px; border-radius: 7px;
  font: 500 11px/1 "Figtree", system-ui, sans-serif;
  opacity: 0; pointer-events: none; transition: opacity .18s var(--ease, ease);
}
.dot-nav button:hover span, .dot-nav button:focus-visible span{ opacity: 1; }
@media (max-width: 1180px){.dot-nav{ display: none; }}
/* 5. Pathway spine that draws itself as you read the process. */
.pathway{ position: relative; }
.pathway-spine{
  position: absolute; left: 7px; top: 6px; bottom: 6px; width: 2px; z-index: 0;
  background: rgba(47, 90, 77, .16); border-radius: 2px; overflow: hidden;
}
.pathway-spine__fill{
  display: block; width: 100%; height: 0;
  background: linear-gradient(180deg, var(--site-green), var(--site-orange));
  transition: height .15s linear;
}
@media (max-width: 760px){.pathway-spine{ left: 6px; }}
/* 6. "Which founder are you?" segmented tabs. */
.persona{ margin-top: clamp(38px, 5vw, 60px); }
.persona__tabs{ display: flex; flex-wrap: wrap; gap: 10px; }
.persona__tab{
  padding: 11px 19px; border: 1px solid var(--site-line); border-radius: 999px;
  background: #fff; cursor: pointer; color: var(--site-copy);
  font: 600 14px/1 "Figtree", system-ui, sans-serif;
  transition: border-color .16s var(--ease, ease), background .16s var(--ease, ease), color .16s var(--ease, ease);
}
.persona__tab:hover{ border-color: rgba(47, 90, 77, .42); color: var(--site-ink); }
.persona__tab.is-active{ background: var(--site-green); border-color: var(--site-green); color: #fff; }
.persona__panel{
  margin-top: 28px; display: grid; grid-template-columns: 1.1fr .9fr;
  gap: clamp(26px, 4vw, 54px); align-items: start;
  padding-top: 30px; border-top: 3px solid var(--site-green);
}
.persona__panel[hidden]{ display: none; }
.persona__panel h3{
  margin: 0; font-family: "Newsreader", Georgia, serif;
  font-size: clamp(27px, 3vw, 40px); line-height: 1.06; letter-spacing: -.015em; color: var(--site-ink);
}
.persona__panel h3 em{ font-style: italic; color: var(--site-green); }
.persona__panel > div > p{ color: var(--site-copy); font-size: 17px; line-height: 1.66; }
.persona__list{ list-style: none; margin: 0; padding: 0; }
.persona__list li{ position: relative; padding: 12px 0 12px 26px; border-top: 1px solid var(--site-line); color: var(--site-copy); }
.persona__list li::before{ content: ""; position: absolute; left: 2px; top: 19px; width: 9px; height: 9px; border: 2px solid var(--site-green); transform: rotate(45deg); }
.persona__cta{ margin-top: 24px; }
@media (max-width: 800px){.persona__panel{ grid-template-columns: 1fr; }}
/* 7. Staggered reveals for grids (JS adds .stagger-ready only when motion is allowed). */
[data-stagger].stagger-ready > *{
  opacity: 0; transform: translateY(18px);
  transition: opacity .55s var(--ease, ease), transform .55s var(--ease, ease);
}
[data-stagger].stagger-ready > *.in{ opacity: 1; transform: none; }
/* 8. Brand-mark micro-interaction. */
.brand-logo{ transition: transform .35s var(--ease, cubic-bezier(.25,0,0,1)); }
.brand:hover .brand-logo, .brand:focus-visible .brand-logo{ transform: rotate(-9deg) scale(1.07); }
/* =====================================================================
   V11 — GLOBAL TYPE SCALE-DOWN  (client: "make all text smaller, keep
   hierarchy"). Reduces headings ~30% and body ~17%, tightens sections.
   ===================================================================== */
body{ font-size: 15px; line-height: 1.6; }
/* Display / hero / section headings */
.page-title{ font-size: clamp(32px, 4.3vw, 58px) !important; letter-spacing: -.03em; }
.campaign-hero .page-title{ font-size: clamp(30px, 3.9vw, 52px) !important; }
.section-heading h2, .site-cta h2, .campaign-form-copy h2{ font-size: clamp(26px, 3.1vw, 44px) !important; }
/* Decks / leads / prose / body */
.lead, .page-deck{ font-size: clamp(15px, 1.35vw, 19px) !important; line-height: 1.5; }
.prose{ font-size: 15px !important; line-height: 1.72; }
.section-heading p{ font-size: clamp(15px, 1.25vw, 18px) !important; }
.callout{ font-size: clamp(15px, 1.35vw, 19px) !important; }
/* Card / step / feature headings */
.editorial-card h3, .asset-card h3, .campaign-outcome h3, .campaign-deliverable h3, .contrast h3, .pathway-step h3, .persona__panel h3, .campaign-step h3, .campaign-contrast h3, .founder-relevance h3, .resource-row h3, .prose h2{
  font-size: clamp(19px, 2vw, 28px) !important; letter-spacing: -.02em;
}
.prose h3, .assessment-overview h3{ font-size: clamp(18px, 1.7vw, 22px) !important; }
.editorial-card p, .asset-card p, .pathway-step p, .contrast p, .campaign-outcome p, .persona__panel > div > p, .check-list li, .campaign-fit li, .prose li, .resource-row p{ font-size: 15px !important; }
.asset-card small, .page-kicker, .eyebrow{ font-size: 11px !important; }
/* Big data figures — still prominent, just calmer */
.metric strong, .proof-item b, .case-metric, .campaign-proof-block .metric-big, .investment strong{ font-size: clamp(34px, 4vw, 58px) !important; }
.authority-marks span{ font-size: 12px !important; }
/* Scorecard */
.sc-q{ font-size: clamp(20px, 2.1vw, 30px) !important; }
.sc-opt{ font-size: 15px !important; }
.sc-result h3{ font-size: clamp(20px, 2.1vw, 30px) !important; }
/* Buttons / nav / labels a touch smaller */
.nav-links a{ font-size: 14px !important; }
.hero-button, .nav-cta, .submit, .hero-secondary{ font-size: 14px !important; }
label{ font-size: 12px !important; }
/* Tighter vertical rhythm now that type is smaller */
.site-section, .campaign-section{ padding-block: clamp(60px, 6.5vw, 104px) !important; }
.page-hero__grid, .campaign-hero__grid{ padding-block: clamp(52px, 6vw, 92px) !important; }
/* =====================================================================
   V12 — RESTYLED HOME SECTIONS (per client mockups)
   .roadmap = numbered horizontal pathway (image4)
   .build-roadmap = 5-column icon strip (image2)
   .vs-compare = private-label VS comparison (image1)
   denser .asset-card tiles w/ icon + Learn More (image5)
   ===================================================================== */

/* ---- Numbered horizontal roadmap (From Product Idea to Market-Ready Asset) ---- */
.roadmap{ position: relative; display: flex; gap: 6px; margin-top: clamp(40px, 5vw, 64px); }
.roadmap::before{ content: ""; position: absolute; left: 6%; right: 6%; top: 21px; height: 2px; background: rgba(47,90,77,.20); z-index: 0; }
.roadmap-step{ flex: 1 1 0; min-width: 0; text-align: center; position: relative; z-index: 1; padding: 0 4px; }
.roadmap-num{
  width: 42px; height: 42px; margin: 0 auto; border-radius: 50%;
  background: var(--site-orange); color: #fff; display: grid; place-items: center;
  font: 600 14px/1 "Figtree", system-ui, sans-serif; box-shadow: 0 0 0 5px var(--site-warm);
}
.roadmap-step:nth-child(7n) .roadmap-num, .roadmap-step:last-child .roadmap-num{ background: var(--site-green); }
.roadmap-step h3{ margin: 15px 0 10px !important; font-family: "Newsreader", Georgia, serif; font-size: 15px !important; line-height: 1.12; letter-spacing: -.01em; color: var(--site-ink); }
.roadmap-icon{ width: 30px; height: 30px; margin: 0 auto; fill: none; stroke: var(--site-green); stroke-width: 1.6; }
.roadmap-step:nth-child(even) .roadmap-icon{ stroke: var(--site-orange); }
@media (max-width: 900px){.roadmap{ flex-wrap: wrap; gap: 22px 8px; }
.roadmap::before{ display: none; }
.roadmap-step{ flex: 0 0 calc(25% - 8px); }}
@media (max-width: 560px){.roadmap-step{ flex: 0 0 calc(50% - 6px); }}
/* ---- 5-column icon roadmap (What You Build With Launch Lab) ---- */
.build-roadmap{ margin-top: clamp(38px, 5vw, 60px); display: grid; grid-template-columns: repeat(5, 1fr); }
.build-step{ padding: 6px clamp(16px, 2vw, 30px); text-align: center; border-right: 1px solid var(--site-line); }
.build-step:last-child{ border-right: 0; }
.build-icon{ width: 40px; height: 40px; margin: 0 auto 20px; fill: none; stroke-width: 1.55; stroke: var(--site-green); }
.build-step:nth-child(even) .build-icon{ stroke: var(--site-orange); }
.build-step h3{
  margin: 0 0 12px !important; font-family: "Newsreader", Georgia, serif;
  font-size: 15px !important; line-height: 1.15; letter-spacing: .01em;
  text-transform: uppercase; color: var(--site-green);
}
.build-step p{ margin: 0; color: var(--site-copy); font-size: 13px !important; line-height: 1.5; }
@media (max-width: 900px){.build-roadmap{ grid-template-columns: repeat(2, 1fr); gap: 28px 0; }
.build-step{ border-right: 0; }
.build-step:nth-child(odd){ border-right: 1px solid var(--site-line); }}
@media (max-width: 560px){.build-roadmap{ grid-template-columns: 1fr; }
.build-step:nth-child(odd){ border-right: 0; }}
/* ---- VS comparison (private label vs Launch Lab) ---- */
.vs-compare{ position: relative; margin-top: clamp(40px, 5vw, 62px); display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--site-line); border-radius: 16px; overflow: hidden; background: #fffdf8; }
.vs-col{ padding: clamp(26px, 3.4vw, 46px); }
.vs-col:first-child{ border-right: 1px solid var(--site-line); }
.vs-col--own{ background: #f4f8f6; }
.vs-head{ display: flex; align-items: center; gap: 14px; margin-bottom: 6px; }
.vs-head svg{ width: 40px; height: 40px; flex: 0 0 auto; fill: none; stroke-width: 1.5; }
.vs-col--label .vs-head svg{ stroke: var(--site-orange); }
.vs-col--own .vs-head svg{ stroke: var(--site-green); }
.vs-head h3{ margin: 0 !important; font-size: clamp(18px, 1.9vw, 26px) !important; letter-spacing: -.02em; }
.vs-col--label .vs-head h3{ color: #b25a3a; }
.vs-col--own .vs-head h3{ color: var(--site-green); }
.vs-sub{ margin: 0 0 20px; color: var(--site-copy); font-size: 14px; }
.vs-list{ list-style: none; margin: 0; padding: 0; }
.vs-list li{ display: flex; align-items: flex-start; gap: 12px; padding: 10px 0; border-top: 1px solid var(--site-line); color: var(--site-ink); font-size: 14px; }
.vs-list li::before{ content: ""; flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; border-radius: 50%; background-repeat: no-repeat; background-position: center; background-size: 18px; }
.vs-col--label .vs-list li::before{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%23cf6a4a'/%3E%3Cpath d='M6.5 6.5l7 7M13.5 6.5l-7 7' stroke='white' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E"); }
.vs-col--own .vs-list li::before{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%232f5a4d'/%3E%3Cpath d='M5.8 10.3l2.7 2.7 5.7-5.9' stroke='white' stroke-width='1.7' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.vs-badge{
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2;
  width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center;
  background: #fff; border: 1px solid var(--site-line); box-shadow: 0 6px 18px rgba(26,58,49,.12);
  font: 700 12px/1 "Figtree", system-ui, sans-serif; color: var(--site-muted); letter-spacing: .04em;
}
@media (max-width: 760px){.vs-compare{ grid-template-columns: 1fr; }
.vs-col:first-child{ border-right: 0; border-bottom: 1px solid var(--site-line); }
.vs-badge{ top: 50%; }}
/* ---- Denser founder tiles with icon + Learn More (Built for Serious Founders) ---- */
.asset-grid{ gap: 14px; }
.asset-card{ min-height: 0 !important; padding: 24px 22px !important; display: flex; flex-direction: column; }
.asset-card .asset-icon{ width: 34px; height: 34px; margin-bottom: 16px; fill: none; stroke: var(--site-green); stroke-width: 1.6; }
.asset-card:nth-child(even) .asset-icon{ stroke: var(--site-orange); }
.asset-card h3{ margin: 0 0 10px !important; font-size: 18px !important; }
.asset-card p{ margin: 0 0 18px; font-size: 13px !important; }
.asset-more{ margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 7px; background: var(--site-orange); color: #fff; font: 600 12px/1 "Figtree", system-ui, sans-serif; }
.asset-card:hover .asset-more{ background: var(--orange-dark); }
@media (min-width: 901px){.asset-grid{ grid-template-columns: repeat(3, 1fr); }}
.asset-card, .asset-card:hover, .asset-card *{ text-decoration: none; }
/* =====================================================================
   V13 — CREDENTIAL MARQUEE  (right-to-left moving belt of accomplishments)
   ===================================================================== */
.cred-strip{ padding: 0; border-bottom: 1px solid var(--site-line); background: #fff; overflow: hidden; }
.cred-marquee{
  position: relative; overflow: hidden; padding-block: 20px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.cred-track{ display: flex; width: max-content; animation: credScroll 46s linear infinite; will-change: transform; }
.cred-marquee:hover .cred-track{ animation-play-state: paused; }
.cred-item{
  display: inline-flex; align-items: center; gap: 12px; white-space: nowrap;
  padding: 4px 30px; border-right: 1px solid var(--site-line);
  color: #5c655f; font-family: "Figtree", system-ui, sans-serif; font-size: 14px; letter-spacing: .002em;
}
.cred-icon{ width: 26px; height: 26px; flex: 0 0 auto; fill: none; stroke: var(--site-green); stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.cred-item:nth-child(even) .cred-icon{ stroke: var(--site-orange); }
@keyframes credScroll{ from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce){.cred-track{ animation: none; flex-wrap: wrap; justify-content: center; width: 100%; }
.cred-item.cred-dup{ display: none; }
.cred-item{ border-right: 0; }}
@media (max-width: 700px){.cred-item{ font-size: 13px; padding: 4px 22px; gap: 10px; }
.cred-icon{ width: 22px; height: 22px; }}
/* =====================================================================
   V14 — GREEN-ONLY COMPARISON  (client: don't frame private label as
   "wrong" — present both as valid, we're the better fit. No red X.)
   ===================================================================== */
.vs-col--label .vs-list li::before{
  opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%232f5a4d'/%3E%3Cpath d='M5.8 10.3l2.7 2.7 5.7-5.9' stroke='white' stroke-width='1.7' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.vs-col--label .vs-head h3{ color: var(--site-ink); }
.vs-col--label .vs-head svg{ stroke: var(--site-muted); }
.vs-badge{ color: var(--site-muted); }
/* =====================================================================
   V15 — SINGLE-COLUMN HERO when the repeated founder photo is removed
   (kept only on home + About). Uses :has() — modern-browser supported.
   ===================================================================== */
.page-hero__grid:not(:has(.page-art)){ grid-template-columns: 1fr; }
.page-hero__grid:not(:has(.page-art)) .page-hero__copy{ max-width: 62ch; }
.campaign-hero__grid:not(:has(.campaign-visual)){ grid-template-columns: 1fr; }
.campaign-hero__grid:not(:has(.campaign-visual)) .campaign-hero__copy{ max-width: 64ch; }
/* =====================================================================
   V16 — SPRINT-1 STORY DIAGRAMS
   A1 .framework-rail · A2 .transform · A4 .gantt · A5 .owned
   ===================================================================== */

/* A1 — Launch Lab Framework vertical rail */
.framework-rail{ list-style:none; margin:clamp(38px,5vw,60px) 0 0; padding:0; }
.framework-phase{ display:grid; grid-template-columns:52px 1fr; gap:22px; padding-bottom:30px; position:relative; }
.framework-phase::before{ content:""; position:absolute; left:24px; top:46px; bottom:-2px; width:2px; background:rgba(47,90,77,.18); }
.framework-phase:last-child::before{ display:none; }
.framework-node{ width:48px; height:48px; border-radius:50%; background:var(--site-green); color:#fff; display:grid; place-items:center; font:600 15px/1 "Figtree",system-ui,sans-serif; position:relative; z-index:1; box-shadow:0 0 0 5px #fff; }
.framework-phase:last-child .framework-node{ background:var(--site-orange); }
.framework-body{ padding-top:4px; }
.framework-body h3{ margin:0 0 5px !important; font-family:"Newsreader",Georgia,serif; font-size:clamp(19px,2vw,26px) !important; letter-spacing:-.02em; color:var(--site-ink); }
.framework-body p{ margin:0; color:var(--site-copy); font-size:15px; max-width:54ch; }
.framework-when{ display:inline-block; margin-top:11px; padding:4px 12px; border-radius:999px; background:#eef4f1; color:var(--site-green); font:600 12px/1 "Figtree",system-ui,sans-serif; }
.framework-phase:last-child .framework-when{ background:#faf1ea; color:var(--orange-dark); }
/* A2 — Idea -> Asset transformation */
.transform{ margin-top:clamp(38px,5vw,60px); display:grid; grid-template-columns:1fr auto 1.25fr; gap:clamp(18px,2.6vw,36px); align-items:stretch; }
.transform__col{ border:1px solid var(--site-line); border-radius:16px; padding:clamp(22px,2.6vw,32px); background:#fffdf8; }
.transform__col--in{ background:#f6f4ef; }
.transform__col--out{ border-top:3px solid var(--site-green); }
.transform__label{ margin:0 0 16px; font:600 12px/1.3 "Figtree",system-ui,sans-serif; letter-spacing:.03em; text-transform:uppercase; color:var(--site-muted); }
.transform__col--out .transform__label{ color:var(--site-green); }
.transform ul{ list-style:none; margin:0; padding:0; }
.transform li{ padding:11px 0; border-top:1px solid var(--site-line); color:var(--site-ink); font-size:15px; display:flex; gap:11px; align-items:flex-start; }
.transform li:first-of-type{ border-top:0; }
.transform__col--in li::before{ content:""; flex:0 0 auto; width:7px; height:7px; margin-top:7px; border-radius:50%; background:var(--site-muted); }
.transform__col--out li::before{ content:""; flex:0 0 auto; width:18px; height:18px; background:no-repeat center/18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%232f5a4d'/%3E%3Cpath d='M5.8 10.3l2.7 2.7 5.7-5.9' stroke='white' stroke-width='1.7' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.transform__engine{ display:grid; place-items:center; gap:12px; padding:0 2px; }
.transform__badge{ width:86px; height:86px; border-radius:50%; background:var(--site-green); display:grid; place-items:center; box-shadow:0 12px 30px rgba(47,90,77,.22); }
.transform__badge svg{ width:36px; height:36px; fill:none; stroke:#fff; stroke-width:1.5; }
.transform__engine small{ max-width:15ch; text-align:center; color:var(--site-copy); font:600 12px/1.4 "Figtree",system-ui,sans-serif; }
.transform__engine .t-arrow{ color:var(--site-orange); font-size:22px; line-height:1; }
@media (max-width:820px){.transform{ grid-template-columns:1fr; }
.transform__engine{ padding:6px 0; }
.transform__engine .t-arrow{ transform:rotate(90deg); }}
/* A4 — 90-120 day Gantt */
.gantt{ margin-top:clamp(38px,5vw,60px); }
.gantt__axis{ display:flex; justify-content:space-between; padding-bottom:8px; border-bottom:1px solid var(--site-line); color:var(--site-muted); font:600 11px/1 "Figtree",system-ui,sans-serif; }
.gantt__rows{ margin-top:16px; display:grid; gap:16px; }
.gantt__track{ position:relative; height:40px; background:#f4efe5; border-radius:9px; }
.gantt__bar{ position:absolute; top:0; bottom:0; left:calc(var(--s)*1%); right:calc((100 - var(--e))*1%); border-radius:9px; background:var(--site-green); display:flex; align-items:center; padding:0 15px; color:#fff; font:600 13px/1.2 "Figtree",system-ui,sans-serif; white-space:nowrap; overflow:hidden; }
.gantt__row:nth-child(even) .gantt__bar{ background:var(--orange-dark); }
.gantt__meta{ margin-top:7px; color:var(--site-copy); font-size:13px; }
.gantt__handoff{ margin-top:20px; padding:15px 18px; border-left:3px solid var(--site-orange); background:#faf1ea; border-radius:0 9px 9px 0; color:var(--site-ink); font-size:15px; }
.gantt__handoff strong{ color:var(--site-green); }
@media (max-width:640px){.gantt__axis{ display:none; }
.gantt__track{ height:auto; background:transparent; }
.gantt__bar{ position:static; left:auto; right:auto; border-radius:9px; padding:12px 15px; }}
/* A5 — What you own dossier */
.owned{ margin-top:clamp(34px,4vw,52px); display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.owned-item{ padding:22px; border:1px solid var(--site-line); border-radius:12px; background:#fffdf8; border-top:3px solid var(--site-green); }
.owned-item:nth-child(even){ border-top-color:var(--site-orange); }
.owned-item svg{ width:26px; height:26px; fill:none; stroke:var(--site-green); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; margin-bottom:14px; }
.owned-item:nth-child(even) svg{ stroke:var(--site-orange); }
.owned-item h3{ margin:0 0 6px !important; font-family:"Figtree",system-ui,sans-serif; font-size:16px !important; font-weight:600; letter-spacing:-.01em; color:var(--site-ink); }
.owned-item p{ margin:0; color:var(--site-copy); font-size:13px; line-height:1.5; }
@media (max-width:900px){.owned{ grid-template-columns:repeat(2,1fr); }}
@media (max-width:520px){.owned{ grid-template-columns:1fr; }}
/* =====================================================================
   V17 — AUTHENTIC FOUNDER PHOTO BANDS (real lab photography)
   ===================================================================== */
.exp-band{ display:grid; grid-template-columns:minmax(260px,.82fr) 1.18fr; gap:clamp(28px,4vw,56px); align-items:center; }
.exp-band--right{ grid-template-columns:1.18fr minmax(260px,.82fr); }
.exp-band--right .exp-band__media{ order:2; }
.exp-band__media{ border-radius:18px; overflow:hidden; max-height:540px; box-shadow:0 22px 60px rgba(26,58,49,.18); }
.exp-band__media img{ width:100%; height:100%; max-height:540px; object-fit:cover; object-position:center 18%; display:block; }
.exp-band .metric-grid{ margin-top:clamp(26px,3vw,38px); grid-template-columns:1fr 1fr; }
.exp-band .section-heading{ max-width:none; }
.exp-band .callout{ margin-top:28px; }
.work-band__media img{ filter:saturate(.96) contrast(1.02); }
@media (max-width:820px){.exp-band, .exp-band--right{ grid-template-columns:1fr; }
.exp-band--right .exp-band__media{ order:0; }
.exp-band__media, .exp-band__media img{ max-height:440px; }}
/* =====================================================================
   V18 — BLOG / WHITEPAPER SYSTEM (index rolls + article reading layout)
   ===================================================================== */

/* ---- Index (blog roll) ---- */
.blog-hero{ background:#fff; border-bottom:1px solid var(--site-line); }
.blog-hero__grid{ padding-block:clamp(56px,7vw,96px); max-width:820px; }
.blog-cats{ display:flex; flex-wrap:wrap; gap:10px; margin-top:clamp(28px,4vw,44px); }
.blog-cat{ padding:9px 16px; border:1px solid var(--site-line); border-radius:999px; background:#fff; color:var(--site-copy); font:600 13px/1 "Figtree",system-ui,sans-serif; text-decoration:none; transition:all .16s var(--ease,ease); }
.blog-cat:hover, .blog-cat.is-active{ background:var(--site-green); border-color:var(--site-green); color:#fff; }
.post-grid{ margin-top:clamp(40px,5vw,60px); display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.post-card{ display:flex; flex-direction:column; border:1px solid var(--site-line); border-radius:16px; overflow:hidden; background:#fffdf8; text-decoration:none; transition:border-color .18s var(--ease,ease), transform .18s var(--ease,ease); }
.post-card:hover{ border-color:rgba(47,90,77,.4); transform:translateY(-3px); }
.post-card__top{ padding:26px 26px 0; border-top:3px solid var(--site-green); }
.post-card:nth-child(3n+2) .post-card__top{ border-top-color:var(--site-orange); }
.post-card__cat{ font:600 11px/1.3 "Figtree",system-ui,sans-serif; letter-spacing:.03em; text-transform:uppercase; color:var(--site-green); }
.post-card:nth-child(3n+2) .post-card__cat{ color:var(--orange-dark); }
.post-card h3{ margin:12px 0 10px; font-family:"Newsreader",Georgia,serif; font-size:22px; line-height:1.16; letter-spacing:-.02em; color:var(--site-ink); }
.post-card p{ margin:0; color:var(--site-copy); font-size:14px; line-height:1.6; }
.post-card__meta{ margin-top:auto; padding:18px 26px 24px; color:var(--site-muted); font:500 12px/1.4 "Figtree",system-ui,sans-serif; }
.post-card__meta span::before{ content:"·"; margin:0 7px; }
.post-card__meta span:first-child::before{ content:""; margin:0; }
.post-featured{ margin-top:clamp(40px,5vw,60px); display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,4vw,52px); align-items:center; padding:clamp(28px,3.5vw,48px); border:1px solid var(--site-line); border-top:3px solid var(--site-orange); border-radius:20px; background:#fffdf8; text-decoration:none; }
.post-featured__tag{ font:600 11px/1 "Figtree",system-ui,sans-serif; letter-spacing:.04em; text-transform:uppercase; color:var(--orange-dark); }
.post-featured h2{ margin:14px 0 14px; font-family:"Newsreader",Georgia,serif; font-size:clamp(28px,3.2vw,42px); line-height:1.08; letter-spacing:-.02em; color:var(--site-ink); }
.post-featured p{ margin:0 0 18px; color:var(--site-copy); font-size:16px; line-height:1.6; max-width:52ch; }
.post-featured__meta{ color:var(--site-muted); font:500 13px/1.4 "Figtree",system-ui,sans-serif; }
.post-featured__art{ min-height:280px; border-radius:14px; background:linear-gradient(135deg,#eef4f1,#f6f0e9); display:grid; place-items:center; padding:30px; }
.post-featured__art .orbit{ width:min(100%,260px); }
@media (max-width:900px){.post-grid{grid-template-columns:repeat(2,1fr);}
.post-featured{grid-template-columns:1fr;}
.post-featured__art{min-height:200px;}}
@media (max-width:560px){.post-grid{grid-template-columns:1fr;}}
/* ---- Article reading layout ---- */
.article-hero{ background:#fff; border-bottom:1px solid var(--site-line); }
.article-hero__wrap{ max-width:760px; padding-block:clamp(48px,6vw,84px); }
.breadcrumb{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; color:var(--site-muted); font:500 13px/1.4 "Figtree",system-ui,sans-serif; }
.breadcrumb a{ color:var(--site-green); text-decoration:none; }
.breadcrumb a:hover{ text-decoration:underline; }
.breadcrumb span::before{ content:"/"; margin-right:8px; color:var(--site-line); }
.article-cat{ display:inline-block; margin-bottom:16px; font:600 12px/1 "Figtree",system-ui,sans-serif; letter-spacing:.04em; text-transform:uppercase; color:var(--orange-dark); }
.article-hero h1{ margin:0; font-family:"Newsreader",Georgia,serif; font-size:clamp(30px,4.2vw,52px); line-height:1.06; letter-spacing:-.025em; color:var(--site-ink); }
.article-hero .deck{ margin:20px 0 0; color:var(--site-copy); font-size:clamp(17px,1.6vw,21px); line-height:1.5; max-width:60ch; }
.article-byline{ margin-top:28px; padding-top:22px; border-top:1px solid var(--site-line); display:flex; align-items:center; gap:14px; }
.article-byline img{ width:46px; height:46px; border-radius:50%; object-fit:cover; object-position:center 20%; }
.article-byline b{ display:block; color:var(--site-ink); font-size:15px; }
.article-byline span{ color:var(--site-muted); font-size:13px; }
.article-body{ max-width:720px; margin:clamp(40px,5vw,64px) auto; color:#33302b; font-size:18px; line-height:1.75; }
.article-body h2{ margin:44px 0 16px; font-family:"Newsreader",Georgia,serif; font-size:clamp(24px,2.6vw,34px); line-height:1.14; letter-spacing:-.02em; color:var(--site-ink); }
.article-body h3{ margin:34px 0 12px; font-size:20px; font-weight:600; letter-spacing:-.01em; color:var(--site-ink); }
.article-body p{ margin:0 0 22px; }
.article-body a{ color:var(--site-green); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(47,90,77,.35); }
.article-body a:hover{ text-decoration-color:var(--site-green); }
.article-body ul, .article-body ol{ margin:0 0 22px; padding-left:0; list-style:none; }
.article-body li{ position:relative; padding:6px 0 6px 28px; }
.article-body ul li::before{ content:""; position:absolute; left:3px; top:15px; width:8px; height:8px; border:2px solid var(--site-green); transform:rotate(45deg); }
.article-body ol{ counter-reset:li; }
.article-body ol li::before{ counter-increment:li; content:counter(li); position:absolute; left:0; top:6px; color:var(--site-orange); font-weight:600; font-size:14px; }
.article-body blockquote{ margin:32px 0; padding:6px 0 6px 26px; border-left:3px solid var(--site-orange); font-family:"Newsreader",Georgia,serif; font-style:italic; font-size:clamp(20px,2.2vw,26px); line-height:1.35; color:var(--site-green); }
.article-callout{ margin:30px 0; padding:22px 24px; background:#f4efe5; border-radius:12px; border-left:3px solid var(--site-green); }
.article-callout p:last-child{ margin-bottom:0; }
.article-callout strong{ color:var(--site-ink); }
.article-note{ margin:26px 0 0; padding-top:18px; border-top:1px solid var(--site-line); color:var(--site-muted); font-size:13px; line-height:1.55; }
.article-cta{ margin:clamp(48px,6vw,72px) auto 0; max-width:760px; }
.article-cta__box{ padding:clamp(28px,3.4vw,44px); border-radius:18px; border-top:3px solid var(--site-green); background:linear-gradient(135deg,#eef4f1,#f6f0e9); }
.article-cta__box h2{ margin:0 0 12px; font-family:"Newsreader",Georgia,serif; font-size:clamp(24px,2.8vw,34px); line-height:1.1; letter-spacing:-.02em; color:var(--site-ink); }
.article-cta__box p{ margin:0 0 22px; color:var(--site-copy); font-size:16px; max-width:52ch; }
.related{ border-top:1px solid var(--site-line); }
.related__grid{ margin-top:clamp(30px,4vw,44px); display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:760px){.related__grid{grid-template-columns:1fr;}
.article-body{font-size:17px;}}
/* =====================================================================
   V19 — UI/UX SYSTEM PASS (tokens, color roles, gradient discipline,
   motion). Canonical overrides — supersedes ad-hoc values above.
   ===================================================================== */
:root{
  /* Elevation scale (warm-tinted) */
  --shadow-sm: 0 1px 2px rgba(28,24,18,.05), 0 2px 6px rgba(28,24,18,.05);
  --shadow-md: 0 8px 24px rgba(28,24,18,.08);
  --shadow-lg: 0 24px 60px rgba(47,90,77,.16);
  /* Radius scale */
  --r-sm: 8px; --r-md: 12px; --r-lg: 18px;
  /* THE one signature gradient — motion/energy only */
  --grad-progress: linear-gradient(90deg, var(--site-green), var(--site-orange));
  /* Accessibility: darker muted for AA on small text */
  --site-muted: #6f6a5f; --muted: #6f6a5f;
  /* Collapse background alternation to one warm tint + white + dark */
  --site-warm: #f5f1ea; --site-cool: #f5f1ea;
}
.site-section.warm, .site-section.cool, .campaign-section.warm, .campaign-section.cool{ background: #f5f1ea; }
/* ---- Color roles: terracotta is EARNED (primary action + one accent) ---- */
.hero-button{ background: #c05f2f; }
.hero-button:hover{ background: var(--orange-dark); }
.nav-cta{ background: var(--site-green); }
/* nav CTA stays green */
.nav-cta:hover{ background: #24483d; }
/* stop the green/terracotta icon alternation — icons = green (structure) */
.asset-card:nth-child(even) .asset-icon, .build-step:nth-child(even) .build-icon, .owned-item:nth-child(even) svg, .campaign-outcome:nth-child(2n) svg, .roadmap-step:nth-child(even) .roadmap-icon, .cred-item:nth-child(even) .cred-icon, .editorial-card svg, .campaign-deliverable:nth-child(2n) svg{ stroke: var(--site-green) !important; }
/* one earned milestone accent stays terracotta: the final pathway/framework node */

/* ---- Shadow tokens applied (flat cards = border only; floating = shadow) ---- */
.scorecard, .founder-photo, .exp-band__media{ box-shadow: var(--shadow-lg); }
.campaign-form, .application-form, .transform__badge{ box-shadow: var(--shadow-md); }
.vs-badge, .post-card:hover{ box-shadow: var(--shadow-sm); }
.lead-bar{ box-shadow: 0 -8px 24px rgba(28,24,18,.08); }
.asset-card, .editorial-card, .owned-item, .post-card, .post-featured, .campaign-deliverable{ box-shadow: none; }
/* ---- Radius: inputs align to the scale ---- */
input, select, textarea, .campaign-form input, .campaign-form select, .campaign-form textarea, .application-form input, .application-form select, .application-form textarea{ border-radius: var(--r-sm) !important; }
/* ---- Gradient discipline: flat, .article-cta__box, .post-featured__art{ background: #f0ece3; }
.post-featured__art{ border-radius: var(--r-md); }
/* ---- Motion: universal "arrow nudges right" on CTA hover ---- */
.hero-button span[aria-hidden], .nav-cta span[aria-hidden], .site-cta__grid .hero-button span[aria-hidden]{ display:inline-block; transition: transform .16s var(--ease); }
.hero-button:hover span[aria-hidden]{ transform: translateX(4px); }
/* ---- Scorecard step slide-in ---- */
@keyframes scSlide{ from { opacity:0; transform: translateX(14px); } }
.sc-step:not([hidden]){ animation: scSlide .28s var(--ease) both; }
/* ---- Auto-hide nav ---- */
.nav{ transition: transform .3s var(--ease); }
.nav--hidden{ transform: translateY(-100%); }
/* ---- Back-to-top ---- */
.to-top{
  position: fixed; right: 22px; bottom: 22px; z-index: 65;
  width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--site-line);
  background: rgba(255,253,248,.94); backdrop-filter: blur(8px); color: var(--site-green);
  display: grid; place-items: center; cursor: pointer; box-shadow: var(--shadow-md);
  opacity: 0; transform: translateY(10px); pointer-events: none;
  transition: opacity .25s var(--ease), transform .25s var(--ease), background .16s var(--ease);
}
.to-top.is-visible{ opacity: 1; transform: none; pointer-events: auto; }
.to-top:hover{ background: #fff; color: var(--site-ink); }
.to-top svg{ width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
@media (max-width: 700px){.to-top{ right: 16px; bottom: 16px; }
.lead-bar ~ .to-top{ bottom: 74px; }}
/* ---- CSS View Transitions (cross-document soft fade) ---- */
@view-transition{ navigation: auto; }
::view-transition-old(root){ animation-duration: .22s; }
::view-transition-new(root){ animation-duration: .22s; }
@media (prefers-reduced-motion: reduce){.nav{ transition: none; }
.nav--hidden{ transform: none; }
.sc-step:not([hidden]){ animation: none; }
.hero-button:hover span[aria-hidden]{ transform: none; }}
/* blog card/chip anchors: no underline (article-body links keep theirs) */
.post-card, .post-featured, .blog-cat, .related .post-card{ text-decoration:none; }
/* =====================================================================
   V20 — MOBILE READABILITY & CONVERTABILITY PASS
   Targeted phone-view fixes on top of the existing responsive system:
   (1) 16px form controls to stop iOS Safari auto-zoom on field focus,
   (2) restore the mobile body bump V11 accidentally clobbered,
   (3) lift hero decks above body size on phones for hierarchy,
   (4) surface the booking CTA inside the mobile menu (nav-cta is hidden
       on mobile; JS clones it in as .nav-menu-cta),
   (5) comfortable ~44px tap targets in the mobile menu.
   ===================================================================== */

/* (1) Form controls at 16px everywhere: prevents the jarring viewport
   zoom-in when a user taps an input on iOS. 16px reads fine on desktop too. */
input, select, textarea{ font-size: 16px; }

@media (max-width: 767px){
  /* (2) Restore the intended mobile body size (the pre-V11 760px rule). */
  body{ font-size: 16px; }
  .prose{ font-size: 16px !important; }
  /* (3) Keep the hero deck / lead one step above body copy on phones. */
  .lead, .page-deck{ font-size: 16px !important; line-height: 1.5; }
}

/* (4) Booking CTA cloned into the mobile menu (hidden on desktop). */
.nav-menu-cta{ display: none; }
@media (max-width: 1020px){
  .nav-menu-cta{
    display: block; width: 100%; margin-top: 14px; padding: 15px 18px;
    text-align: center; background: var(--site-green, #2f5a4d); color: #fff;
    border-radius: 8px; text-decoration: none;
    font: 600 15px/1 "Figtree", system-ui, sans-serif; letter-spacing: 0;
  }
  .nav-menu-cta::after{ display: none; }
  /* (5) Comfortable tap targets for the stacked menu links. */
  .nav-links a{ display: block; width: 100%; padding: 13px 0; }
}/* =====================================================================
   V21 — PHONE-CONTACT NUDGE (small bottom-right card, JS-injected)
   Prompts a quick call after a 7s delay. Compact so it never blocks
   reading; tasteful pulse draws the eye; fully dismissible.
   ===================================================================== */
.phone-nudge{
  position: fixed; right: 22px; bottom: 22px; z-index: 70;
  width: min(288px, calc(100vw - 32px));
  padding: 18px 18px 18px 16px;
  display: flex; gap: 13px; align-items: flex-start;
  background: #fffdf8; border: 1px solid var(--site-line, #e6e0d4);
  border-top: 3px solid var(--site-green, #2f5a4d);
  border-radius: var(--r-lg, 16px);
  box-shadow: var(--shadow-lg, 0 24px 60px rgba(26,58,49,.18));
  opacity: 0; transform: translateY(16px) scale(.98); pointer-events: none;
  transition: opacity .3s var(--ease, ease), transform .3s var(--ease, ease), bottom .3s var(--ease, ease);
}
.phone-nudge.is-visible{ opacity: 1; pointer-events: auto; animation: phoneNudgeIn .5s var(--ease, cubic-bezier(.25,0,0,1)) both; }
@keyframes phoneNudgeIn{
  0%{ opacity: 0; transform: translateY(20px) scale(.96); }
  70%{ opacity: 1; transform: translateY(-3px) scale(1); }
  100%{ opacity: 1; transform: translateY(0) scale(1); }
}
.phone-nudge__icon{
  position: relative; flex: 0 0 auto; width: 38px; height: 38px; margin-top: 1px;
  border-radius: 50%; background: var(--site-green, #2f5a4d);
  display: grid; place-items: center;
}
.phone-nudge__icon svg{ width: 19px; height: 19px; fill: #fff; }
.phone-nudge__icon::after{
  content: ""; position: absolute; inset: 0; border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(47,90,77,.5);
  animation: phoneNudgePulse 2.2s ease-out infinite;
}
@keyframes phoneNudgePulse{
  0%{ box-shadow: 0 0 0 0 rgba(47,90,77,.45); }
  70%{ box-shadow: 0 0 0 12px rgba(47,90,77,0); }
  100%{ box-shadow: 0 0 0 0 rgba(47,90,77,0); }
}
.phone-nudge__body{ display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.phone-nudge__body b{ color: var(--site-ink, #1c1a15); font-size: 15px; line-height: 1.25; }
.phone-nudge__body span{ color: var(--site-copy, #57534a); font-size: 13px; line-height: 1.4; }
.phone-nudge__cta{
  margin-top: 6px; display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 40px; padding: 0 15px; align-self: flex-start;
  background: var(--site-green, #2f5a4d); color: #fff; text-decoration: none;
  border-radius: 8px; font: 600 14px/1 "Figtree", system-ui, sans-serif;
  transition: background .16s var(--ease, ease);
}
.phone-nudge__cta:hover{ background: #24483d; }
.phone-nudge__close{
  position: absolute; top: 7px; right: 9px; background: none; border: 0; cursor: pointer;
  padding: 4px; line-height: 1; font-size: 19px; color: var(--site-muted, #8a8578);
}
.phone-nudge__close:hover{ color: var(--site-ink, #1c1a15); }
/* Lift the card above the sticky lead-bar when that is showing. */
.lead-bar.is-visible ~ .phone-nudge{ bottom: 82px; }
/* While the nudge occupies the corner, stand down the back-to-top button. */
.has-phone-nudge .to-top{ opacity: 0 !important; pointer-events: none !important; }
@media (max-width: 480px){ .phone-nudge{ right: 14px; bottom: 14px; }
  .lead-bar.is-visible ~ .phone-nudge{ bottom: 78px; } }
@media (prefers-reduced-motion: reduce){
  .phone-nudge{ transition: opacity .2s ease; }
  .phone-nudge.is-visible{ animation: none; transform: none; }
  .phone-nudge__icon::after{ animation: none; display: none; }
}
/* =====================================================================
   V22 — COOKIE-CONSENT BANNER (notice + opt-out)
   Prominent bottom bar shown until a choice is recorded; reopenable from
   the footer. While open it holds down the lead-bar / phone-nudge / to-top
   so the notice reads clearly. Motion is reduced-motion safe.
   ===================================================================== */
.consent-banner{
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 200;
  background: #fbf8f1; border-top: 1px solid var(--site-line, #e6e0d4);
  box-shadow: 0 -14px 40px rgba(26,58,49,.12);
  transform: translateY(110%); transition: transform .4s var(--ease, cubic-bezier(.25,0,0,1));
}
.consent-banner.is-visible{ transform: translateY(0); }
.consent-banner__inner{
  width: min(100%, 1120px); margin: 0 auto; padding: 16px clamp(18px, 4vw, 40px);
  display: flex; align-items: center; gap: 16px 26px; flex-wrap: wrap;
}
.consent-banner__text{
  flex: 1 1 420px; margin: 0; color: var(--site-copy, #57534a);
  font-size: 13.5px; line-height: 1.5;
}
.consent-banner__text a{ color: var(--site-green, #2f5a4d); text-decoration: underline; text-underline-offset: 2px; }
.consent-banner__actions{ flex: 0 0 auto; display: flex; align-items: center; gap: 10px; margin-left: auto; }
.consent-btn{
  min-height: 42px; padding: 0 20px; border-radius: 8px; cursor: pointer;
  font: 600 14px/1 "Figtree", system-ui, sans-serif; border: 1px solid transparent;
  transition: background .16s var(--ease, ease), border-color .16s var(--ease, ease);
}
.consent-btn--solid{ background: var(--site-green, #2f5a4d); color: #fff; }
.consent-btn--solid:hover{ background: #24483d; }
.consent-btn--ghost{ background: transparent; color: var(--site-ink, #1c1a15); border-color: rgba(28,26,21,.28); }
.consent-btn--ghost:hover{ border-color: var(--site-ink, #1c1a15); background: rgba(28,26,21,.04); }
.consent-reopen{ color: inherit; text-decoration: underline; cursor: pointer; }
/* While the notice is up, stand down the secondary corner UI. */
.consent-open .lead-bar{ transform: translateY(130%) !important; }
.consent-open .phone-nudge{ opacity: 0 !important; pointer-events: none !important; }
.consent-open .to-top{ opacity: 0 !important; pointer-events: none !important; }
@media (max-width: 620px){
  .consent-banner__inner{ padding: 14px 16px; gap: 12px; }
  .consent-banner__actions{ width: 100%; }
  .consent-btn{ flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce){
  .consent-banner{ transition: none; }
}
