:root {
      --cream:#f9f6ef; --cream2:#f2ede3;
      --rule:#d8d0c0; --rule2:#c4baa8;
      --ink:#141210; --ink2:#302c27; --muted:#736b5e;
      --forest:#183028; --forest2:#1e3d30;
      --gold:#c9a84c; --gold2:#a88835; --gold-pale:#f0e6c8;
      --green:#1a6b42; --green-pale:#e8f5ed;
      --plum-deep:#3F1144; --plum:#66255E; --mauve:#95527C; --rose:#C36F92; --blush:#E9AFB4;
      /* on-forest text steps - alphas tuned to clear WCAG AA on --forest */
      --on-forest:rgba(255,255,255,.88); --on-forest2:rgba(255,255,255,.66); --on-forest3:rgba(255,255,255,.52);
      --hairline:rgba(255,255,255,.1);
      --r:4px; --nav-h:68px;
      --f-display:'Cormorant Garamond',Georgia,serif;
      --f-body:'DM Sans',system-ui,sans-serif;
      --f-mono:'JetBrains Mono',monospace;
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
    body{font-family:var(--f-body);background:var(--cream);color:var(--ink);line-height:1.6;overflow-x:hidden}
    a{color:inherit;text-decoration:none}
    button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}

    .container{width:100%;max-width:1120px;margin-inline:auto;padding-inline:clamp(1.25rem,5vw,3rem)}

    /* NAV */
    nav{position:sticky;top:0;z-index:200;background:rgba(249,246,239,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}
    .nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:1rem}
    .wordmark{font-family:var(--f-mono);font-size:1.15rem;font-weight:500;letter-spacing:.22em;color:var(--ink);display:flex;align-items:center;gap:.85rem}
    .wm-sep{width:1px;height:18px;background:var(--rule2)}
    .wm-sub{font-size:.62rem;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}
    @media(min-width:768px){.wordmark{font-size:1.3rem}}
    .nav-links{display:none;gap:2.5rem;list-style:none}
    .nav-links a{font-size:.8rem;color:var(--muted);transition:color .2s}
    .nav-links a:hover{color:var(--ink)}
    .nav-apply{display:none;padding:.48rem 1.1rem;background:var(--forest);color:#fff;font-size:.77rem;font-weight:500;border-radius:var(--r);transition:background .2s}
    .nav-apply:hover{background:var(--forest2)}
    .ham{display:flex;flex-direction:column;gap:5px;padding:8px;margin-right:-8px}
    .ham span{display:block;width:20px;height:1.5px;background:var(--ink);transition:.28s}
    .ham.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
    .ham.open span:nth-child(2){opacity:0}
    .ham.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
    @media(min-width:768px){.nav-links{display:flex}.nav-apply{display:block}.ham{display:none}}
    .mob{display:none;position:fixed;inset:68px 0 0;z-index:199;background:var(--cream);border-top:1px solid var(--rule);flex-direction:column;align-items:center;justify-content:center;gap:2.5rem}
    .mob.open{display:flex}
    .mob a{font-family:var(--f-display);font-size:2.2rem;font-weight:400;color:var(--ink)}
    .mob a:hover{color:var(--gold2)}
    .mob .m-cta{font-family:var(--f-body);font-size:.85rem;font-weight:500;padding:.7rem 2.2rem;background:var(--forest);color:#fff;border-radius:var(--r)}

    /* HERO */
    .hero{padding:clamp(4rem,10vw,7rem) 0 clamp(3rem,6vw,5rem);border-bottom:1px solid var(--rule);position:relative;overflow:hidden}
    .hero::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(transparent,transparent 47px,var(--rule) 47px,var(--rule) 48px);opacity:.18}
    .hero-layout{display:grid;grid-template-columns:1fr;gap:3rem;position:relative;z-index:1}
    @media(min-width:900px){.hero-layout{grid-template-columns:1fr 380px;align-items:start;gap:4rem}}

    .hero-tag{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--f-mono);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);margin-bottom:1.75rem}
    .hero-tag::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2.8s infinite}
    @keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
    .hero h1{font-family:var(--f-display);font-size:clamp(3rem,7vw,5.8rem);font-weight:300;line-height:1.06;letter-spacing:-.01em;color:var(--ink)}
    .hero h1 em{font-style:italic}
    .hero-desc{margin-top:1.75rem;max-width:460px;font-size:clamp(.9rem,1.6vw,1rem);font-weight:300;color:var(--muted);line-height:1.8}
    .hero-actions{margin-top:2.25rem;display:flex;flex-wrap:wrap;gap:.9rem}
    .hero-alt{margin-top:1rem;font-size:.8rem;color:var(--muted);line-height:1.6}
    .hero-alt a{color:var(--ink2);text-decoration:underline;text-underline-offset:3px}
    .btn-forest{display:inline-flex;align-items:center;gap:.45rem;padding:.72rem 1.6rem;background:var(--forest);color:#fff;font-size:.82rem;font-weight:500;border-radius:var(--r);transition:background .2s,transform .15s}
    .btn-forest:hover{background:var(--forest2);transform:translateY(-1px)}
    .btn-lined{display:inline-flex;align-items:center;gap:.45rem;padding:.72rem 1.6rem;border:1px solid var(--rule2);color:var(--ink2);font-size:.82rem;border-radius:var(--r);transition:.2s}
    nav::after{content:'';display:block;height:2px;background:linear-gradient(90deg,var(--plum-deep),var(--plum),var(--rose),var(--blush))}
    .hero h1 em{color:var(--plum)}
    .btn-lined:hover{border-color:var(--plum);color:var(--plum)}

    /* LIVE DEAL PANEL */
    .deal{background:var(--cream2);border:1px solid var(--rule);border-radius:6px;overflow:hidden}
    .dp-head{padding:.85rem 1.1rem;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between}
    .dp-lbl{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
    /* One demo device, used here and in the portal/admin views. Plum rather than red: this is a
       neutral statement of what the data is, not a warning. */
    .dp-demo{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--f-mono);
      font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--plum);
      border:1px solid var(--plum);border-radius:2px;padding:2px 6px;white-space:nowrap}
    .dp-demo::before{content:'';width:5px;height:5px;border-radius:1px;background:var(--plum)}
    .dp-note{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--rule);
      font-size:.72rem;line-height:1.6;color:var(--muted)}
    @media(max-width:420px){.dp-head{flex-wrap:wrap;gap:.4rem}}
    .dp-live{display:flex;align-items:center;gap:.4rem;font-family:var(--f-mono);font-size:.6rem;color:var(--green);letter-spacing:.1em}
    .dp-live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2.8s infinite}
    .dp-body{padding:1.1rem}
    .dp-co{font-family:var(--f-display);font-size:1.3rem;font-weight:600;color:var(--ink)}
    .dp-sub{font-size:.75rem;color:var(--muted);margin-top:.15rem}
    .dp-score{display:flex;align-items:center;gap:1rem;margin:1rem 0;padding:.75rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
    .dp-ring{position:relative;width:56px;height:56px;flex-shrink:0}
    .dp-ring svg{transform:rotate(-90deg)}
    .r-bg{fill:none;stroke:var(--cream);stroke-width:5}
    .r-fill{fill:none;stroke:var(--gold);stroke-width:5;stroke-linecap:round;stroke-dasharray:157;stroke-dashoffset:calc(157 - (157*.78))}
    .dp-num{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-size:1.1rem;font-weight:600;color:var(--ink)}
    .dp-info{font-size:.78rem;line-height:1.6;color:var(--ink2)}
    .dp-info strong{font-family:var(--f-display);font-size:.95rem}
    .dp-dims{display:flex;flex-direction:column;gap:.35rem}
    .dpd{display:flex;align-items:center;gap:.65rem}
    .dpd-l{font-size:.7rem;color:var(--muted);width:100px;flex-shrink:0}
    .dpd-b{flex:1;height:3px;background:var(--rule);border-radius:2px;overflow:hidden}
    .dpd-f{height:100%;background:linear-gradient(90deg,var(--plum),var(--rose));border-radius:2px}
    .dpd-p{font-family:var(--f-mono);font-size:.62rem;color:var(--muted);width:2ch;text-align:right;flex-shrink:0}
    .dp-lead{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--rule);font-size:.73rem;color:var(--muted)}
    .dp-lead strong{color:var(--ink2);font-weight:500}

    /* BAND */
    .stance{border-top:1px solid var(--rule);padding:2.6rem 0}
    .stance p{font-family:var(--f-display);font-size:clamp(1.25rem,2.6vw,1.75rem);font-weight:300;
      line-height:1.45;color:var(--ink);max-width:46ch}
    .stance em{font-style:italic;color:var(--plum)}
    .alloc-steps{margin-top:2.6rem;padding-top:2rem;border-top:1px solid var(--rule)}
    .as-t{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
      color:var(--muted);margin-bottom:1rem}
    .alloc-steps ol{margin:0;padding-left:1.3rem;display:flex;flex-direction:column;gap:.7rem}
    .alloc-steps li{font-size:.9rem;line-height:1.7;color:var(--ink2)}
    .alloc-steps li strong{color:var(--ink);font-weight:500}
    .as-note{margin-top:1.3rem;padding:.9rem 1.1rem;background:#faf8f5;border:1px solid var(--rule);
      border-left:2px solid var(--plum);font-size:.85rem;line-height:1.7;color:var(--ink2)}
    .alloc-cta{margin-top:2.4rem;padding-top:2rem;border-top:1px solid var(--rule);
      display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem;justify-content:space-between}
    .alloc-cta p{font-size:.9rem;color:var(--ink2);margin:0;max-width:42ch}
    .band{background:var(--forest)}
    .band-grid{display:grid;grid-template-columns:repeat(2,1fr)}
    .bs{padding:1.5rem clamp(.9rem,3vw,2rem);border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
    .bs:nth-child(2n){border-right:none}
    .bs:nth-last-child(-n+2){border-bottom:none}
    .bs-v{font-family:var(--f-display);font-size:clamp(1.7rem,4vw,2.5rem);font-weight:300;color:#fff;letter-spacing:-.01em}
    .bs-l{font-size:.72rem;color:rgba(255,255,255,.45);margin-top:.2rem;letter-spacing:.04em}
    @media(min-width:640px){.band-grid{grid-template-columns:repeat(4,1fr)}.bs{border-bottom:none}.bs:nth-child(2n){border-right:1px solid rgba(255,255,255,.1)}.bs:last-child{border-right:none}}

    /* SECTIONS */
    section{padding:clamp(3.5rem,8vw,6rem) 0}
    .sl{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);display:flex;align-items:center;gap:.65rem;margin-bottom:1.1rem}
    .sl::before{content:'';width:24px;height:1px;background:var(--gold)}
    h2{font-family:var(--f-display);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:300;letter-spacing:-.01em;line-height:1.1;color:var(--ink)}
    h2 em{font-style:italic;color:var(--forest)}
    .sd{margin-top:.9rem;color:var(--muted);max-width:480px;font-size:.9rem;line-height:1.8;font-weight:300}

    /* HOW */
    .how{border-top:1px solid var(--rule)}
    .steps{margin-top:3rem;display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--rule);border-radius:6px;overflow:hidden}
    @media(min-width:768px){.steps{grid-template-columns:repeat(3,1fr)}}
    .step{padding:clamp(1.5rem,4vw,2.25rem);border-bottom:1px solid var(--rule);background:#fff;display:flex;flex-direction:column;gap:.8rem;transition:background .2s}
    .step:last-child{border-bottom:none}
    @media(min-width:768px){.step{border-bottom:none;border-right:1px solid var(--rule)}.step:last-child{border-right:none}}
    .step:hover{background:#fdfcf9}
    .step-n{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.18em;color:var(--gold2)}
    .step-i{width:38px;height:38px;border:1px solid var(--rule2);border-radius:5px;background:var(--cream);display:grid;place-items:center}
    .step-i svg{width:18px;height:18px;stroke:var(--forest);fill:none;stroke-width:1.5}
    .step-t{font-family:var(--f-display);font-size:1.15rem;font-weight:600;color:var(--ink)}
    .step-b{font-size:.84rem;color:var(--muted);line-height:1.72;font-weight:300}
    .step-a{display:inline-flex;align-items:center;gap:.4rem;margin-top:auto;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.1em;color:var(--forest);background:rgba(24,48,40,.07);border:1px solid rgba(24,48,40,.15);padding:3px 8px;border-radius:3px;width:fit-content}

    /* WHY (contrarian positioning) */
    .why{border-top:1px solid var(--rule);background:#fff}
    .why-grid{margin-top:3rem;display:grid;grid-template-columns:1fr;gap:1.25rem}
    @media(min-width:900px){.why-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}
    .why-card{border:1px solid var(--rule);border-radius:6px;overflow:hidden;background:var(--cream)}
    .why-head{padding:1.1rem 1.5rem;background:#fff;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:.75rem}
    .why-head svg{width:18px;height:18px;stroke:var(--forest);fill:none;stroke-width:1.5;flex-shrink:0}
    .why-title{font-family:var(--f-display);font-size:1.1rem;font-weight:600;color:var(--ink);line-height:1.3}
    .why-body{padding:1.25rem 1.5rem 1.5rem}

    /* BUILT FOR (archetypes) */
    .archetype-grid{margin-top:3rem;display:grid;grid-template-columns:1fr;gap:1.25rem}
    @media(min-width:640px){.archetype-grid{grid-template-columns:repeat(2,1fr)}}
    @media(min-width:1000px){.archetype-grid{grid-template-columns:repeat(4,1fr)}}
    .archetype{border:1px solid var(--rule);border-radius:6px;padding:1.75rem 1.5rem;background:var(--cream);position:relative;overflow:hidden;transition:box-shadow .25s,transform .25s}
    .archetype:hover{box-shadow:0 8px 24px rgba(0,0,0,.06);transform:translateY(-2px)}
    .archetype::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold)}
    .archetype-tag{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);margin-bottom:1rem}
    .archetype-title{font-family:var(--f-display);font-size:1.15rem;font-weight:600;color:var(--ink);line-height:1.25;margin-bottom:.85rem}
    .archetype-body{font-size:.86rem;color:var(--ink2);line-height:1.7;font-weight:300;margin:0}

    /* APPLY */
    .apply{border-top:1px solid var(--rule)}
    .apply-wrap{display:grid;grid-template-columns:1fr;gap:3rem;margin-top:3rem}
    @media(min-width:900px){.apply-wrap{grid-template-columns:1fr 420px}}
    .apply-aside{order:-1}
    @media(min-width:900px){.apply-aside{order:1}}
    .aside{background:#fff;border:1px solid var(--rule);border-radius:6px;padding:1.5rem;margin-bottom:1.25rem}
    .aside:last-child{margin-bottom:0}
    .aside-t{font-family:var(--f-display);font-size:1rem;font-weight:600;color:var(--ink);margin-bottom:.75rem}
    .aside-r{display:flex;align-items:flex-start;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--rule);font-size:.8rem;color:var(--muted);line-height:1.5}
    .aside-r:last-child{border-bottom:none}
    .aside-r svg{width:14px;height:14px;stroke:var(--gold2);fill:none;stroke-width:1.8;flex-shrink:0;margin-top:2px}
    .form{display:flex;flex-direction:column;gap:1.1rem}
    .fg{display:flex;flex-direction:column;gap:.35rem}
    .fg-g{display:grid;grid-template-columns:1fr;gap:1.1rem}
    @media(min-width:560px){.fg-g{grid-template-columns:repeat(2,1fr)}}
    label{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
    input,textarea,select{background:#fff;border:1px solid var(--rule2);border-radius:var(--r);color:var(--ink);font-family:var(--f-body);font-size:.88rem;padding:.65rem .9rem;width:100%;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}
    input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.12)}
    input::placeholder,textarea::placeholder{color:#b8b0a0}
    textarea{resize:vertical;min-height:90px}
    select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8070' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:2.2rem;cursor:pointer}
    .sub-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-top:.75rem;border-top:1px solid var(--rule)}
    .sub-note{font-size:.73rem;color:var(--muted);max-width:280px;line-height:1.55}
    .sub-btn{padding:.75rem 1.75rem;background:var(--forest);color:#fff;font-size:.82rem;font-weight:500;border-radius:var(--r);transition:.2s;width:100%}
    @media(min-width:480px){.sub-btn{width:auto}}
    .sub-btn:hover:not(:disabled){background:var(--forest2);transform:translateY(-1px)}
    .sub-btn:disabled{opacity:.55;cursor:not-allowed}
    #f-msg{display:none;font-size:.8rem;padding:.65rem .9rem;border-radius:var(--r)}
    #f-msg.ok{background:var(--green-pale);color:var(--green);border:1px solid #b6ddc8;display:block}
    #f-msg.err{background:#fdf2f2;color:#b83232;border:1px solid #f5c0c0;display:block}

    /* FOOTER */
    footer{border-top:1px solid var(--rule);background:var(--forest);color:rgba(255,255,255,.85);padding:clamp(2.5rem,6vw,4rem) 0 2rem}
    .f-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.1)}
    @media(min-width:640px){.f-grid{grid-template-columns:2fr 1fr 1fr}}
    @media(min-width:900px){.f-grid{grid-template-columns:2.5fr 1fr 1fr 1fr}}
    .f-wm{font-family:var(--f-mono);font-size:.9rem;letter-spacing:.2em;color:#fff;font-weight:500}
    .f-desc{font-size:.78rem;color:rgba(255,255,255,.45);margin-top:.5rem;line-height:1.7;max-width:280px}
    .f-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
    .f-badge{font-family:var(--f-mono);font-size:.55rem;letter-spacing:.12em;color:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.15);padding:3px 9px;border-radius:3px}
    .f-col h4{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1rem}
    .f-col ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
    .f-col ul a{font-size:.8rem;color:rgba(255,255,255,.6);transition:color .2s}
    .f-col ul a:hover{color:#fff}
    .f-col .soon{font-size:.78rem;color:rgba(255,255,255,.28);display:flex;align-items:center;gap:.4rem}
    .f-col .soon::after{content:'soon';font-family:var(--f-mono);font-size:.52rem;letter-spacing:.1em;color:var(--gold2);border:1px solid rgba(201,168,76,.3);padding:1px 5px;border-radius:2px}
    .f-bot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.5rem}
    .f-copy{font-size:.72rem;color:rgba(255,255,255,.3)}
    .f-legal{display:flex;gap:1.5rem}
    .f-legal a{font-size:.72rem;color:rgba(255,255,255,.3);transition:color .2s}
    .f-legal a:hover{color:rgba(255,255,255,.6)}

    /* consent */
    /* iOS Safari zooms on focus when a control is under 16px, and overflow-x:hidden then
       strands the viewport panned right. 16px on touch widths prevents the zoom entirely. */
    @media(max-width:767px){
      input,textarea,select{font-size:16px}
      .consent input{width:22px;height:22px;flex:0 0 22px}
      .consent{padding:1.1rem 1rem}
    }
    .consent{display:flex;gap:.7rem;align-items:flex-start;padding:.9rem 1rem;background:#fff;
      border:1px solid var(--rule);border-left:3px solid var(--plum);border-radius:4px}
    .consent input{width:16px;height:16px;flex:0 0 16px;margin-top:.15rem;accent-color:var(--plum)}
    .consent label{font-family:var(--f-body);font-size:.8rem;line-height:1.6;color:var(--ink2);
      letter-spacing:normal;text-transform:none}
    .consent a{color:var(--plum);text-decoration:underline}

    /* intake stepper */
    .steps-bar{display:flex;flex-wrap:wrap;gap:1.25rem;padding-bottom:.9rem;margin-bottom:.35rem;border-bottom:1px solid var(--rule)}
    .fstep{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
    .fstep.on{color:var(--plum)}
    .fstep.done{color:var(--ink2)}
    .fpane{display:flex;flex-direction:column;gap:1.1rem}
    .fpane[hidden]{display:none}
    .reg-note{font-size:.78rem;line-height:1.65;color:var(--muted);margin:.2rem 0 0;font-weight:300}
    .intent-note{font-size:.8rem;line-height:1.7;color:var(--muted);margin:0 0 .3rem;font-weight:300}
    .fnav{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
    .fnav .sub-btn,.fnav .btn-lined{width:auto}

    /* Anchor targets sat under the 68px sticky nav on every in-page jump. */
    :where(section,[id]){scroll-margin-top:calc(var(--nav-h) + 12px)}
    /* Keyboard navigation had no visible focus anywhere on the page. */
    a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
      outline:2px solid var(--plum);outline-offset:3px;border-radius:2px}
    /* Firefox drew its own arrow on top of the custom one. */
    select{appearance:none}
    /* h1 em is plum; h2 em was still forest from before the palette change. */
    h2 em{color:var(--plum)}
    @media(prefers-reduced-motion:reduce){
      *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
        transition-duration:.001ms !important;scroll-behavior:auto !important}
      .rv{opacity:1 !important;transform:none !important}
    }
    /* Reveal-on-scroll hid all content if JS failed or was blocked. */
    .no-js .rv{opacity:1;transform:none}
    .rv{opacity:0;transform:translateY(22px);transition:opacity .55s,transform .55s}
    .rv.vis{opacity:1;transform:none}
    .rv:nth-child(2){transition-delay:80ms}
    .rv:nth-child(3){transition-delay:160ms}
  

/* ── Founder band ──────────────────────────────────────────────────
   Homepage signpost to /apply. The application itself lives on its own
   page so the homepage serves the GP alone. */
.founder-band{border-top:1px solid var(--rule);background:var(--cream2);padding:3.25rem 0}
.founder-band .fb-inner{display:grid;gap:1.75rem;align-items:center}
.founder-band .fb-h{font-size:1.65rem;line-height:1.2;margin:.4rem 0 .6rem}
.founder-band .fb-p{max-width:60ch;font-size:.93rem;line-height:1.75;color:var(--ink2);font-weight:300;margin:0}
.founder-band .fb-note{font-size:.78rem;color:var(--muted);font-weight:300;margin:.7rem 0 0;max-width:34ch}
.founder-band .fb-cta{display:flex;flex-direction:column;align-items:flex-start}
@media(min-width:900px){
  .founder-band .fb-inner{grid-template-columns:1.6fr 1fr;gap:3rem}
  .founder-band .fb-cta{align-items:flex-start}
}

/* ── Sharpen pass, 2026-09-17 ──────────────────────────────────────
   Evolution of the editorial identity, not a redesign. The look read
   credible but quiet for infrastructure positioning: everything was
   weight 300 in --muted (4.87:1 on cream - passing AA, but faint).
   These rules add weight and hierarchy without touching the palette,
   the type families or the layout. Appended so each override is
   visible and individually reversible. */

/* Hero: the subline is the sentence that has to land. Darker and a
   little wider, so it reads as a statement rather than a caption. */
.hero-desc{color:var(--ink2);max-width:540px;font-weight:300;letter-spacing:.002em}
.hero h1{letter-spacing:-.018em}
.hero-tag{margin-bottom:1.4rem}

/* Primary action should look like the primary action. */
.hero-actions .btn-forest{padding:.85rem 1.9rem;font-size:.86rem;letter-spacing:.005em}
.hero-actions .btn-lined{padding:.85rem 1.7rem;font-size:.86rem}

/* Proof band: these four numbers are the credibility line. They were
   the same visual weight as the labels beneath them. */
.band .bs-v{font-weight:400;letter-spacing:-.01em}
/* REGRESSION FIX 2026-09-19: the sharpen pass set this to --ink2, which is dark
   ink on the forest band - 1.02:1, invisible. Shipped 09-17, caught by the first
   rendered screenshot. --on-forest2 is the token meant for text on forest (4.83:1).
   The pre-existing rgba(255,255,255,.45) was also below AA at ~2.8:1. */
.band .bs-l{color:var(--on-forest2)}
/* Stop the four values wrapping to two lines in a four-column grid. */
.band .bs-v{font-size:clamp(1.55rem,3vw,2.1rem)}

/* Section leads carry the argument; lift them off the background. */
.how .sd{color:var(--ink2)}
.as-note{color:var(--ink2)}

/* ── Accessibility: gold text, 2026-09-19 ─────────────────────────
   --gold2 (#a88835) on cream measures 3.12:1, below the 4.5:1 AA
   floor, and it colours every small mono label on the site: section
   labels, the hero tag, step numbers, archetype tags. Caught by
   `hyperframes check` on the share card, which uses the same token.
   --gold-ink keeps the hue and clears AA on all three
   surfaces the labels sit on: cream 5.18:1, white 5.59:1, cream2 4.79:1. The token itself
   is untouched, so gold rules, borders and fills are unaffected. */
:root{--gold-ink:#7d6524}
.hero-tag,.sl,.step-n,.archetype-tag{color:var(--gold-ink)}
.wordmark .wm-sub{color:var(--gold-ink)}
