/* fonts: self-hosted Latin subsets, SIL Open Font Licence */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 600;font-display:swap;src:url(/fonts/cormorant-garamond.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-italic-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/manrope.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
    --ink:#0D2419; --ink-2:#153529; --panel:#1B4033;
    --paper:#EFE4C8; --paper-2:#C9BC9A; --paper-3:#9BB2A6;
    --ruby:#9B111E; --ruby-2:#C41E3A; --ruby-text:#F28C99; --gold:#D6A84E; --fit:#62C48F;
    --line:rgba(239,228,200,.14);
    --serif:'Cormorant Garamond',serif; --sans:'Manrope',sans-serif; --mono:'IBM Plex Mono',monospace;
    --max:1100px; --gutter:24px;
    --dc-ruby:#C41E3A;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{background:var(--ink);color:var(--paper);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
  h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--paper);line-height:1.12}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--ruby);color:#fff}

  header{position:sticky;top:0;z-index:50;background:rgba(13,36,25,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:78px}
  .brand{font-family:var(--serif);font-size:clamp(28px,3.4vw,36px);font-weight:600;letter-spacing:.005em;line-height:1}
  .dc-lockup{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
  .dc-mark{width:36px;height:36px;flex:0 0 auto;display:block}
  .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:start}
  .hero-mark{display:none}
  @media(min-width:900px){.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.hero-mark{display:flex;justify-content:center;align-self:start;padding-top:4px}}
  .dc-mark-hero{width:min(500px,96%);height:auto;color:var(--paper)}
  .footer-row{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
  .dc-mark-foot{width:22px;height:22px;color:var(--paper-3)}
  .m-page-lockup{display:flex;align-items:center;gap:8px;--dc-ruby:#9B111E}
  .m-page-lockup .dc-mark{width:26px;height:26px;color:var(--ink)}
  .brand em{color:var(--ruby-text);font-style:normal}
  .nav ul{display:none;gap:28px;list-style:none;font-size:14px;color:var(--paper-2)}
  @media(min-width:820px){.nav ul{display:flex}}
  .btn{display:inline-block;padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;border:1px solid var(--ruby);background:var(--ruby);color:var(--paper);cursor:pointer;transition:opacity .15s}
  .btn:hover{opacity:.88}
  .btn-ghost{background:transparent;border:1px solid var(--line);color:var(--paper-2)}

  /* HERO */
  .hero{padding:40px 0 40px;border-bottom:1px solid var(--line)}
  .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--paper-3)}
  .hero h1{font-size:clamp(34px,5.5vw,54px);margin:16px 0 18px;max-width:15ch}
  .hero p.lede{font-size:18px;color:var(--paper-2);max-width:52ch;margin-bottom:28px}
  .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
  .stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px 28px;margin-top:26px;max-width:960px}
  .stat b{display:block;font-family:var(--serif);font-size:28px;line-height:1.1;color:var(--paper);margin-bottom:2px}
  .stat span{display:block;font-size:13px;line-height:1.35;color:var(--paper-3);max-width:24ch}

  /* THE GROUP */
  #group .section-head{max-width:64ch;margin-bottom:26px}
  #group .section-head h2{margin-top:10px;font-size:30px}
  #group .section-head p{color:var(--paper-2);margin-top:10px;font-size:17px}
  .group-grid{display:grid;gap:16px;grid-template-columns:1fr}
  @media(min-width:860px){.group-grid{grid-template-columns:repeat(3,1fr)}}
  #group{padding:64px 0}
  #group .section-head{max-width:64ch}
  #group .section-head h2{font-size:32px}
  .group-card{border:1px solid var(--line);border-radius:14px;padding:28px;background:var(--ink);display:flex;flex-direction:column}
  .group-card.current{background:var(--ink-2);border-color:var(--ruby)}
  .group-card h3{font-family:var(--serif);font-size:26px;font-weight:600;margin-bottom:10px;color:var(--paper)}
  .group-card p{color:var(--paper-2);font-size:16px;line-height:1.55;flex:1;margin-bottom:18px}
  .group-link{font-size:15px;font-weight:600;color:var(--ruby-text);text-decoration:none}
  .group-link:hover{text-decoration:underline}
  .group-badge{display:inline-block;align-self:flex-start;font-family:var(--mono);font-size:10px;letter-spacing:.06em;padding:3px 8px;border-radius:5px;background:var(--ruby-2);color:var(--paper);margin-bottom:10px}
  .card-lockup{display:flex;align-items:center;gap:11px;margin-bottom:10px;text-decoration:none;color:inherit}
  .card-lockup h3{margin-bottom:0}
  .card-mark{width:38px;height:38px;flex:0 0 auto;display:block;color:var(--paper)}
  /* FUNDING PATH */
  .fund-band{border:1px solid var(--gold);border-left:5px solid var(--gold);border-radius:14px;padding:22px 26px;background:rgba(201,151,58,.07);display:grid;grid-template-columns:1fr;gap:16px;align-items:center}
  @media(min-width:860px){.fund-band{grid-template-columns:1fr auto}}
  .fund-band h3{font-family:var(--serif);font-size:26px;font-weight:600;line-height:1.15;margin:6px 0 8px;color:var(--paper);text-wrap:balance}
  .fund-band p{font-size:14.5px;color:var(--paper-2);max-width:78ch}
  @media(min-width:860px){.m-fund{grid-template-columns:1fr auto}}
  /* PERSONAS */
  .pav img{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;background:#1B4033}
  .big12{font-size:1.6em;line-height:1;color:var(--ruby-text);font-weight:600}
  #personas .section-head p{color:var(--paper-2);margin-top:10px;font-size:15px;max-width:78ch}
  .pgrid{display:grid;gap:14px;grid-template-columns:1fr;margin-top:22px}
  @media(min-width:640px){.pgrid{grid-template-columns:repeat(2,1fr)}}
  @media(min-width:1000px){.pgrid{grid-template-columns:repeat(4,1fr)}}
  .pc{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--ink-2)}
  .pav{width:72px;height:72px;margin-bottom:10px}
  .pav svg{width:100%;height:100%;display:block}
  .pnm{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.1;color:var(--paper)}
  .pal{font:500 12px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ruby-text);margin:2px 0 8px}
  .pseat{font-size:13px;color:var(--paper-3);margin-bottom:6px}
  .pc p{font-size:14px;color:var(--paper-2);line-height:1.45}
  /* review page: the panel strip */
  .m-panel .m-lede{font-size:13.5px;color:var(--paper-2);margin-top:4px;max-width:78ch}
  .m-strip12{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
  @media(min-width:640px){.m-strip12{grid-template-columns:repeat(4,minmax(0,1fr))}}
  @media(min-width:1000px){.m-strip12{grid-template-columns:repeat(6,minmax(0,1fr))}}
  .pp{border:1px solid var(--line);border-radius:12px;padding:12px 8px 10px;background:var(--ink-2);text-align:center;position:relative;cursor:pointer}
  .pp:hover,.pp.open{border-color:var(--paper-2);box-shadow:0 0 0 3px rgba(239,228,200,.08)}
  .pp .pav{width:56px;height:56px;margin:0 auto 6px}
  .pp .nm{font-weight:700;font-size:14px;color:var(--paper)}
  .pp .al{font-size:11.5px;color:var(--paper-3);line-height:1.3;min-height:30px}
  .pp .st{margin-top:6px;font:600 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:3px 0;border-radius:5px}
  .pp.fit .st{background:rgba(76,175,122,.18);color:var(--fit)} .pp.doubt .st{background:rgba(201,151,58,.18);color:var(--gold)} .pp.no .st{background:rgba(196,30,58,.18);color:var(--ruby-text)}
  .pp .info{position:absolute;top:7px;right:7px;width:16px;height:16px;border-radius:50%;border:1px solid var(--paper-3);color:var(--paper-3);font:500 10px var(--mono);line-height:14px}
  .pp .tip{display:none;position:absolute;z-index:6;top:100%;left:50%;transform:translateX(-50%);margin-top:8px;width:280px;max-width:88vw;background:#0A1C13;border:1px solid var(--paper-3);border-radius:12px;padding:12px 14px;text-align:left;box-shadow:0 12px 30px rgba(0,0,0,.5);cursor:default}
  .pp:hover .tip,.pp.open .tip{display:block}
  .pp .tip .al{font:500 11px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ruby-text);min-height:0;margin-bottom:3px}
  .pp .tip .seat{font-size:12px;color:var(--paper-3);margin-bottom:5px}
  .pp .tip p{font-size:13px;color:var(--paper);line-height:1.45}
  .pp .tip a{display:inline-block;margin-top:6px;font-size:12px;color:var(--paper-2)}
  .m-tally{display:flex;gap:18px;margin-top:14px;font-size:14px;color:var(--paper-2);align-items:center;flex-wrap:wrap}
  .m-tally b{font-family:var(--serif);font-size:22px;color:var(--paper);margin-right:4px}
  .m-split{margin-top:10px;font-size:14px;color:var(--paper);border-left:3px solid var(--ruby-2);padding-left:12px}
  .m-panel .m-foot{font-size:12px;color:var(--paper-3);margin-top:10px}
  /* locked critiques */
  .m-crit{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}
  @media(min-width:640px){.m-crit{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media(min-width:1000px){.m-crit{grid-template-columns:repeat(3,minmax(0,1fr))}}
  .lk{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--ink-2);display:flex;flex-direction:column;gap:8px}
  .lk .hd{display:flex;align-items:center;gap:10px}
  .lk .pav{width:34px;height:34px;margin:0;flex:0 0 auto}
  .lk .nm{font-weight:700;font-size:14px;color:var(--paper);line-height:1.2}
  .lk .al{font-size:11.5px;color:var(--paper-3)}
  .lk .st{margin-left:auto;font:600 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:5px}
  .lk.fit .st{background:rgba(76,175,122,.18);color:var(--fit)} .lk.doubt .st{background:rgba(201,151,58,.18);color:var(--gold)} .lk.no .st{background:rgba(196,30,58,.18);color:var(--ruby-text)}
  .lk .line{font-size:13.5px;color:var(--paper-2);line-height:1.5;flex:1}
  .lk .pad{font:500 11px var(--mono);letter-spacing:.05em;color:var(--paper-3);display:flex;align-items:center;gap:6px}
  .lk .pad svg{width:12px;height:12px;fill:none;stroke:var(--paper-3);stroke-width:2}
  .lk.pp{border-color:var(--gold);border-left:4px solid var(--gold);background:rgba(201,151,58,.07)}
  .lk.pp.fit{grid-column:1 / -1}
  .lk .consult{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px}
  .lk .consult small{font-size:12px;color:var(--paper-3);flex:1;min-width:200px}
  /* PRICING */
  section{padding:36px 0}
  .section-head{max-width:60ch;margin-bottom:32px}
  .plans{display:grid;grid-template-columns:1fr;gap:16px}
  @media(min-width:760px){.plans{grid-template-columns:repeat(3,1fr)}}
  .plan{border:1px solid var(--line);border-radius:14px;padding:26px;background:var(--ink-2);display:flex;flex-direction:column}
  .plan.featured{border-color:var(--ruby);background:var(--panel)}
  .plan .name{font-size:13px;color:var(--paper-3);font-family:var(--mono)}
  .plan .price{font-family:var(--serif);font-size:34px;margin:8px 0 4px}
  .plan .price span{font-size:14px;color:var(--paper-3);font-family:var(--sans)}
  .plan p{color:var(--paper-2);font-size:14px;margin-bottom:16px}
  .plan ul{list-style:none;font-size:14px;color:var(--paper-2);margin-bottom:20px;flex:1}
  .plan li{padding:6px 0;border-top:1px solid var(--line)}
  .plan li:first-child{border-top:none}

  /* STRAPLINE + USP */
  .strap{font-family:var(--serif);font-size:clamp(19px,2.4vw,25px);color:var(--ruby-text);margin:0 0 14px;max-width:34ch;line-height:1.25}
  .strap em{color:var(--ruby-text);font-style:normal}
  #why{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .usp{display:grid;grid-template-columns:1fr;gap:16px}
  @media(min-width:760px){.usp{grid-template-columns:repeat(2,1fr)}}
  .usp-item{border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--ink)}
  .usp-item h3{font-size:22px;margin-bottom:10px}
  .usp-item p{font-size:16px;line-height:1.5;color:var(--paper-2)}
  .usp-item p b{color:var(--paper);font-weight:600}
  .usp-item .vs{display:block;margin-top:12px;font-size:14px;color:var(--paper-3);border-top:1px solid var(--line);padding-top:10px}

  .plans.four .plan{padding:22px}
  .plans.four .price{font-size:30px}
  @media(min-width:700px){.plans.four{grid-template-columns:repeat(2,1fr)}}
  @media(min-width:1040px){.plans.four{grid-template-columns:repeat(4,1fr)}}
  .plan .terms{font-size:12px;color:var(--paper-3);margin-top:2px;margin-bottom:14px}

  /* EVALUATOR v2.0 */
  #evaluate{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  #evaluate *{min-width:0}
  .hidden{display:none !important}
  .m-pill{display:inline-block;font:500 11px var(--mono);letter-spacing:.04em;padding:3px 9px;border-radius:999px;border:1px solid rgba(239,228,200,.26);color:var(--paper-2);white-space:nowrap}
  .m-pill.role{border-color:var(--ruby);color:var(--paper)}
  .m-pill.paid{border-color:var(--gold);color:var(--gold)}
  .m-band{margin-top:14px;padding:0}
  .m-red{color:var(--ruby-text)}
  .m-title{font-family:var(--serif);font-size:30px;font-weight:600;text-wrap:balance}
  .m-sec{font-family:var(--serif);font-size:22px;font-weight:600;margin-bottom:10px;text-wrap:balance}
  .m-card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;background:var(--ink)}

  /* intake */
  .m-intake{border:2px solid var(--ruby-2);border-radius:16px;background:var(--ink);padding:26px 28px;box-shadow:0 0 0 6px rgba(196,30,58,.08)}
  .m-intake .lede{font-size:14px;color:var(--paper-2);margin:6px 0 18px;max-width:64ch}
  .m-igrid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
  .m-intake{margin:0 auto}
  .m-q{display:flex;flex-direction:column;gap:8px}
  .m-q .lbl{font:600 13.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--paper)}
  .m-opts{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .m-opt{text-align:left;border:1px solid var(--line);border-radius:10px;padding:13px 15px;background:var(--ink-2);cursor:pointer;color:var(--paper);font-family:var(--sans);transition:border-color .15s,background .15s}
  .m-opt:hover{border-color:var(--paper-3)}
  .m-opt[aria-pressed="true"]{border-color:var(--ruby);background:var(--panel)}
  .m-opt:focus-visible{outline:2px solid var(--paper);outline-offset:2px}
  .m-opt b{display:block;font-size:14px;margin-bottom:3px}
  .m-opt span{display:block;font-size:12px;color:var(--paper-3);line-height:1.4}
  .drop{display:block;border:1px dashed rgba(239,228,200,.26);border-radius:10px;background:var(--ink-2);padding:16px 18px;text-align:center;cursor:pointer;transition:border-color .15s}
  .drop:hover,.drop.over{border-color:var(--ruby)}
  .drop.has-file{border-style:solid;border-color:var(--ruby)}
  .drop-main{display:block;font-size:14px;color:var(--paper-2);margin-top:8px}
  .drop-sub{display:block;font-size:12.5px;color:var(--paper-3);margin-top:6px;line-height:1.5}
  .drop-btn{display:inline-block;background:var(--ruby);color:#fff;font-weight:600;font-size:15px;padding:11px 22px;border-radius:8px;border:1px solid var(--ruby-2)}
  .drop-btn.ghost{background:transparent;color:var(--paper);border-color:var(--paper-3)}
  .drop:hover .drop-btn{filter:brightness(1.12)}
  .drop.has-file .drop-btn{display:none}
  textarea{width:100%;min-height:96px;background:var(--ink-2);border:1px solid var(--line);border-radius:10px;color:var(--paper);font-family:var(--sans);font-size:14px;padding:14px 16px;resize:vertical}
  textarea:focus{outline:none;border-color:var(--ruby)}
  textarea::placeholder,#accessCode::placeholder{color:var(--paper-2);opacity:.85}
  .run-row{display:flex;align-items:center;gap:14px;margin-top:6px;flex-wrap:wrap}
  .hint{font-size:12px;color:var(--paper-3)}
  .codewrap{position:relative;display:inline-flex;align-items:center}
  #accessCode{background:var(--ink-2);border:1px solid var(--line);border-radius:8px;color:var(--paper);font-family:var(--sans);font-size:13px;padding:9px 62px 9px 12px;width:210px}
  #accessCode:focus{outline:none;border-color:var(--ruby)}
  .codetoggle{position:absolute;right:5px;background:transparent;border:0;color:var(--paper-3);font-family:var(--sans);font-size:12px;font-weight:600;cursor:pointer;padding:5px 7px;border-radius:6px}
  .codetoggle:hover{color:var(--paper);background:rgba(239,228,200,.08)}
  .m-link{width:100%;background:var(--ink-2);border:1px solid var(--line);border-radius:8px;color:var(--paper);font-family:var(--sans);font-size:13px;padding:10px 12px}
  .m-link:focus{outline:none;border-color:var(--ruby)}
  .m-link::placeholder{color:var(--paper-2);opacity:.85}
  .m-msg{margin-top:14px;font-size:13.5px;color:var(--paper-2);border:1px solid var(--line);border-radius:8px;padding:11px 14px;background:var(--ink-2)}
  .m-msg.err{border-color:var(--ruby)}
  .loading{color:var(--paper-3);font-style:italic}

  /* strip */
  .m-strip{border:1px solid var(--line);border-radius:10px;background:var(--ink);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--paper-2)}
  .m-strip b{color:var(--paper);font-weight:600}
  .m-strip .meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

  /* verdict */
  .m-verdict{display:grid;grid-template-columns:minmax(0,1fr);gap:11px}
  @media(min-width:1000px){.m-verdict{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}
  .m-big .cav{font-size:40px;line-height:0;vertical-align:top;position:relative;top:14px;margin-left:2px;font-family:var(--serif)}
  .m-big .cav.t1{color:var(--ruby-text)}
  .m-big .cav.t2{color:var(--gold)}
  .m-override .tag .star{font-size:15px;line-height:0;margin-right:4px}
  .m-score{border:1px solid var(--line);border-radius:14px;background:var(--ink);padding:24px 26px 22px;display:flex;flex-direction:column;gap:12px}
  .m-eyebrow{font:500 11px var(--mono);letter-spacing:.06em;color:var(--paper-3);text-transform:uppercase}
  .m-big{font-family:var(--serif);font-weight:600;line-height:.95;display:flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}
  .m-big .n{font-size:84px;color:var(--paper)}
  .m-big .d{font-size:24px;color:var(--paper-3)}
  .m-lensline{font-size:13px;color:var(--paper-2)}
  .m-lensline b{color:var(--paper);font-weight:600}
  .m-adj{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:4px}
  .m-adj .row{display:flex;align-items:baseline;gap:10px;font-family:var(--serif);font-size:30px;color:var(--ruby-text);font-variant-numeric:tabular-nums}
  .m-adj .row small{font:500 11px var(--mono);letter-spacing:.04em;color:var(--paper-3)}
  .m-adj p{font-size:12.5px;color:var(--paper-2)}
  .m-big.ov .n{color:var(--ruby-text)}
  .m-override{margin-top:12px;border:1px solid var(--ruby-2);border-left:5px solid var(--ruby-2);background:rgba(155,17,30,.16);padding:10px 14px;border-radius:6px}
  .m-override .tag{font:600 11.5px var(--mono);letter-spacing:.12em;color:var(--ruby-text)}
  .m-override .flag{display:block;font-size:14px;color:var(--paper);font-weight:600;margin-top:4px;line-height:1.4}
  .m-override p{font-size:12.5px;color:var(--paper-2);margin-top:4px}
  .m-others{border-top:1px solid var(--line);padding-top:12px}
  .m-others .m-eyebrow{margin-bottom:8px}
  .m-others .o{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--paper-2);padding:3px 0;font-variant-numeric:tabular-nums}
  .m-others .o b{font-family:var(--mono);font-weight:500;color:var(--paper)}
  .m-others .o.cur{color:var(--paper)}
  .m-others .o.cur b{color:var(--ruby-text)}
  .m-notice{border:1px solid var(--gold);background:rgba(201,151,58,.12);border-radius:8px;padding:9px 12px;font-size:12.5px;color:var(--paper)}
  .m-notice b{color:var(--gold)}
  .m-vpill{align-self:flex-start;font:600 12px var(--sans);padding:6px 12px;border-radius:8px;border:1px solid var(--gold);color:var(--gold);background:rgba(201,151,58,.1)}
  .m-why{display:grid;grid-template-columns:minmax(0,1fr);gap:11px}
  @media(min-width:640px) and (max-width:999px){.m-why{grid-template-columns:repeat(2,minmax(0,1fr))}}
  .m-why > div{border:1px solid var(--line);border-radius:14px;padding:22px 24px;background:var(--ink)}
  .m-why p{font-size:14px;color:var(--paper-2);white-space:pre-wrap}

  /* evidence */
  .m-evidence{display:grid;grid-template-columns:minmax(0,1fr);gap:11px}
  @media(min-width:960px){.m-evidence{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
  .m-dims{display:flex;flex-direction:column;gap:10px;margin-top:6px}
  .m-dim{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) 92px;gap:14px;align-items:center;font-size:13px}
  .m-dim .lbl{color:var(--paper-2)}
  .m-dim .lbl small{display:block;font:500 10.5px var(--mono);color:var(--paper-3);letter-spacing:.03em}
  .m-dim .track{height:8px;background:rgba(239,228,200,.08);border-radius:4px;overflow:hidden}
  .m-dim .fill{height:100%;background:var(--paper-2);border-radius:4px}
  .m-dim.low .fill{background:var(--ruby-2)}
  .m-dim.high .fill{background:#5E9C76}
  .m-dim .val{font:500 13px var(--mono);color:var(--paper);text-align:right;font-variant-numeric:tabular-nums}
  .m-dim .val small{color:var(--paper-3)}
  .m-dim .why{grid-column:1/-1;font-size:12.5px;color:var(--paper-3);margin:-4px 0 2px}
  .m-sum{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:12px;padding-top:12px;font:500 13px var(--mono);color:var(--paper-3)}
  .m-sum b{color:var(--paper);font-weight:500;white-space:nowrap}
  .m-legend{font-size:12.5px;color:var(--paper-3);margin:-4px 0 14px}
  .m-legend b{color:var(--paper-2);font-weight:600}
  .m-flags{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:4px}
  .m-flags li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;font-size:13.5px;color:var(--paper-2)}
  .m-tier{font:500 10.5px var(--mono);letter-spacing:.05em;padding:3px 7px;border-radius:4px;height:max-content;white-space:nowrap;background:rgba(201,151,58,.15);color:var(--gold);border:1px solid rgba(201,151,58,.5)}
  .m-tier.t1{background:rgba(196,30,58,.15);color:var(--ruby-text);border-color:rgba(196,30,58,.5)}
  .m-pattern{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}
  .m-pattern p{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--paper-2);line-height:1.4}
  .m-next{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}
  .m-next ol{padding-left:20px;font-size:13.5px;color:var(--paper-2);display:flex;flex-direction:column;gap:6px}

  /* advisory */
  .m-adv{border:1px solid rgba(239,228,200,.26);border-radius:16px;background:var(--panel);padding:26px 28px 28px}
  .m-adv .head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
  .m-adv .head p{font-size:13.5px;color:var(--paper-2);max-width:60ch;margin-top:4px}
  .m-agrid{display:grid;grid-template-columns:minmax(0,1fr);gap:11px}
  @media(min-width:900px){.m-agrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
  .m-ablock{background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:20px 22px}
  .m-ablock.wide{grid-column:1/-1}
  .m-ablock h4{font-family:var(--serif);font-size:20px;font-weight:600;margin-bottom:12px}
  .m-items{list-style:none;display:flex;flex-direction:column}
  .m-items li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--paper)}
  .m-items li:first-child{border-top:0;padding-top:0}
  .m-items .n{font:700 12.5px var(--mono);color:var(--paper);padding-top:2px}
  .m-items li.locked{color:var(--paper-3)}
  .m-items li.locked .n{color:var(--paper-3);font-weight:500}
  .m-items li.locked .t{font-style:italic}
  .m-items li.locked .n::before{content:"\1F512";font-size:11px}
  .m-split{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
  @media(min-width:600px){.m-split{grid-template-columns:repeat(2,minmax(0,1fr))}}
  .m-split h5{font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--paper-3);margin-bottom:8px}
  .m-ceil{display:flex;flex-direction:column;gap:8px}
  .m-ceil .row{display:grid;grid-template-columns:minmax(110px,160px) minmax(0,1fr) 84px;gap:12px;align-items:center;font-size:13px;color:var(--paper-2)}
  .m-ceil .track{height:8px;background:rgba(239,228,200,.08);border-radius:4px;position:relative;overflow:hidden}
  .m-ceil .now{position:absolute;left:0;top:0;bottom:0;background:var(--paper-2);border-radius:4px}
  .m-ceil .up{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,#5E9C76 0 4px,transparent 4px 8px);opacity:.9}
  .m-ceil .val{font:500 12.5px var(--mono);text-align:right;color:var(--paper);font-variant-numeric:tabular-nums}
  .m-ceil .val i,.m-ceil .total i{color:#5E9C76;font-style:normal}
  .m-ceil .total{border-top:1px solid var(--line);padding-top:10px;margin-top:4px;display:flex;justify-content:space-between;gap:12px;font-family:var(--serif);font-size:22px;font-variant-numeric:tabular-nums}
  .m-ceil p.caveat{font-size:12px;color:var(--paper-3);margin-top:6px}
  .m-upsell{margin-top:20px;border:1px solid var(--ruby-2);border-radius:12px;padding:18px 22px;background:rgba(155,17,30,.14);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
  .m-upsell b{display:block;font-size:15px;margin-bottom:3px}
  .m-upsell span{font-size:13px;color:var(--paper-2)}
  .m-upsell .price{font-family:var(--serif);font-size:26px;white-space:nowrap}
  .m-upsell .price small{font:500 12px var(--sans);color:var(--paper-3)}

  /* slides */
  .m-slides{border:1px solid var(--line);border-radius:16px;background:var(--ink);padding:26px 28px}
  .m-slides .head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
  .m-slides .head p{font-size:13.5px;color:var(--paper-2);max-width:56ch;margin-top:4px}
  .m-sgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  @media(min-width:700px){.m-sgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
  @media(min-width:980px){.m-sgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
  .m-slide{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--ink-2);min-height:120px;display:flex;flex-direction:column;gap:8px}
  .m-slide .num{font:500 11px var(--mono);letter-spacing:.05em;color:var(--paper-3);display:flex;justify-content:space-between}
  .m-slide .num em{font-style:normal;font-weight:700;font-size:12px;letter-spacing:.06em}
  .m-slide .title{font-size:13px;font-weight:600;color:var(--paper)}
  .m-slide p{font-size:12.5px;color:var(--paper-2);line-height:1.45}
  .m-slide.open{border-color:rgba(239,228,200,.26)}
  .m-slide.locked p{color:var(--paper-3);font-style:italic}
  .m-slide.open p{color:var(--paper)}
  .m-slide.fine .num em{color:#5E9C76}

  /* report */
  .m-report{border:1px solid var(--line);border-radius:16px;background:var(--ink);padding:26px 28px;display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:center}
  @media(min-width:860px){.m-report{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
  .m-report p{font-size:13.5px;color:var(--paper-2);max-width:56ch;margin-top:6px}
  .m-report ul{list-style:none;margin-top:12px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--paper-2)}
  .m-report li::before{content:"-  ";color:var(--paper-3)}
  .m-page{background:var(--paper);color:var(--ink);border-radius:6px;padding:26px 28px;aspect-ratio:1/1.3;max-width:320px;justify-self:center;display:flex;flex-direction:column;gap:10px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
  .m-page .brand{font-family:var(--serif);font-size:22px;font-weight:600}
  .m-page .brand em{color:var(--ruby-text);font-style:normal}
  .m-page .meta{font:500 9px var(--mono);letter-spacing:.06em;color:#5A6B62;text-transform:uppercase}
  .m-page .pscore{font-family:var(--serif);font-size:56px;line-height:1;font-weight:600;margin-top:6px}
  .m-page .pscore small{font-size:16px;color:#5A6B62}
  .m-page .pline{height:6px;background:#D9CFB2;border-radius:3px}
  .m-page .pline.short{width:60%}.m-page .pline.mid{width:82%}
  .m-page .pfoot{margin-top:auto;font:500 8.5px var(--mono);color:#5A6B62;letter-spacing:.04em;border-top:1px solid #D9CFB2;padding-top:8px;display:flex;justify-content:space-between}
  .m-cachenote{font-size:12px;color:var(--paper-3);border:1px solid var(--line);border-radius:8px;padding:9px 12px;margin-top:14px}
  .disclaimer{font-size:12px;color:var(--paper-3);margin-top:22px;border-top:1px solid var(--line);padding-top:14px}

  /* v2.1 additions */
  .m-progress{margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--ink-2)}
  .m-progress .ptrack{width:100%;height:auto;display:block;color:var(--paper);overflow:visible}
  .m-progress .pbase{fill:none;stroke:rgba(239,228,200,.14);stroke-width:3;stroke-linecap:round}
  .m-progress .pdraw{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset 1s linear}
  .m-progress .pshimmer{fill:none;stroke:var(--dc-ruby, #9B111E);stroke-width:3;stroke-linecap:round;stroke-dasharray:10 26;animation:pshim 1.1s linear infinite;opacity:.95}
  @keyframes pshim{to{stroke-dashoffset:-36}}
  .m-progress .psuit{opacity:0;transition:opacity .45s ease}
  .m-progress .psuit.on{opacity:1}
  .m-progress .pcursor{transition:transform 1s linear}
  .m-progress .pcursor rect{fill:var(--ink-2);stroke:currentColor;stroke-width:2.4}
  .m-progress .pbob{animation:pbob 1.3s ease-in-out infinite alternate}
  @keyframes pbob{from{transform:translateY(-2px)}to{transform:translateY(2px)}}
  .m-progress .pdc{opacity:0;transition:opacity .5s ease}
  .m-progress .pdc.on{opacity:1}
  @media(prefers-reduced-motion:reduce){.m-progress .pshimmer,.m-progress .pbob{animation:none}.m-progress .pdraw,.m-progress .pcursor,.m-progress .psuit,.m-progress .pdc{transition:none}}
  .m-progress .ptext{display:flex;justify-content:space-between;gap:12px;margin-top:6px;font-size:13.5px;color:var(--paper-2);flex-wrap:wrap}
  .m-progress .ptext b{font-family:var(--mono);font-weight:500;color:var(--paper-3)}
  .m-filelist{list-style:none;display:flex;flex-direction:column;gap:6px;margin-top:8px}
  .m-filelist li{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--paper-2);border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:var(--ink-2)}
  .m-filelist button{background:transparent;border:0;color:var(--paper-3);cursor:pointer;font:600 12px var(--sans)}
  .m-filelist button:hover{color:var(--ruby-text)}
  .m-dim.na .fill{width:0}
  .m-dim.na .val{color:var(--paper-3);font-size:11px;letter-spacing:.03em}
  .m-dim.na .lbl small{color:var(--gold)}
  .m-tier.gap{background:rgba(239,228,200,.08);color:var(--paper-2);border-color:rgba(239,228,200,.3)}
  .m-val{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
  @media(min-width:900px){.m-val{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}}
  .m-val .figure{font-family:var(--serif);font-size:44px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
  .m-val .figure small{font-size:16px;color:var(--paper-3);font-family:var(--sans);font-weight:500}
  .m-val .range{margin-top:14px}
  .m-val .rtrack{position:relative;height:10px;background:rgba(239,228,200,.08);border-radius:5px}
  .m-val .rband{position:absolute;top:0;bottom:0;background:rgba(94,156,118,.45);border-radius:5px}
  .m-val .rmark{position:absolute;top:-5px;width:4px;height:20px;background:var(--ruby-2);border-radius:2px;transform:translateX(-50%)}
  .m-val .rlabels{display:flex;justify-content:space-between;font:500 11px var(--mono);color:var(--paper-3);margin-top:6px}
  .m-val .pos{display:inline-block;font:600 12px var(--sans);padding:6px 12px;border-radius:8px;border:1px solid;margin-top:14px}
  .m-val .pos.above{color:var(--ruby-text);border-color:var(--ruby);background:rgba(196,30,58,.1)}
  .m-val .pos.within{color:var(--gold);border-color:var(--gold);background:rgba(201,151,58,.1)}
  .m-val .pos.below{color:#5E9C76;border-color:#5E9C76;background:rgba(94,156,118,.1)}
  .m-val .pos.na{color:var(--paper-3);border-color:rgba(239,228,200,.3)}
  .m-val p{font-size:13.5px;color:var(--paper-2)}
  .m-val .cav{font-size:12px;color:var(--paper-3);margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
  .m-forecast{border:1px solid rgba(201,151,58,.5);border-radius:16px;background:var(--ink);padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
  .m-forecast p{font-size:13.5px;color:var(--paper-2);max-width:60ch;margin-top:6px}

  .print-only{display:none}

  /* PDF report: the same memo, printed */
  @media print{
    :root{--dc-ruby:#9B111E}
    @page{margin:14mm}
    @page :first{margin:0}
    .print-only{display:block !important}
    .m-cover{display:flex !important;flex-direction:column;justify-content:space-between;height:100vh;min-height:0;overflow:hidden;box-sizing:border-box;padding:22mm 20mm 16mm;background:#0D2419 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;page-break-after:always;break-after:page}
    .m-cover,.m-cover *{color:#EFE4C8 !important}
    .m-cover .cv-brand{display:flex;align-items:center;gap:16px}
    .m-cover .dc-mark-cover{width:76px !important;height:76px !important;color:#EFE4C8 !important;--dc-ruby:#C41E3A}
    .m-cover .cv-word{font-family:var(--serif);font-size:44px;font-weight:600;line-height:1}
    .m-cover .cv-word em{color:#C41E3A !important;font-style:normal}
    .m-cover .cv-eyebrow{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8FA69A !important;margin-top:10px}
    .m-cover .cv-deck{font-family:var(--serif);font-size:34px;line-height:1.15;margin-top:44px;max-width:85%;word-break:break-word}
    .m-cover .cv-sup{font-family:var(--sans);font-size:14px;margin-top:8px;color:#C9BC9A !important}
    .m-cover .cv-score{font-family:var(--serif);font-size:128px;line-height:.95;margin-top:30px;font-weight:600;font-variant-numeric:tabular-nums}
    .m-cover .cv-score small{font-size:30px;color:#8FA69A !important;font-weight:500}
    .m-cover .cv-lens{font-size:16px;margin-top:8px;color:#C9BC9A !important}
    .m-cover .cv-adj{font-family:var(--serif);font-size:32px;color:#C41E3A !important;margin-top:12px}
    .m-cover .cv-verdict{display:inline-block;margin-top:20px;border:1.5px solid var(--gold);color:var(--gold) !important;padding:9px 16px;border-radius:8px;font-weight:600;font-size:15px;background:rgba(201,151,58,.12) !important}
    .m-cover .cv-foot{display:flex;justify-content:space-between;gap:16px;font:500 11px var(--mono);letter-spacing:.05em;color:#8FA69A !important;border-top:1px solid rgba(239,228,200,.3);padding-top:12px;margin-top:30px}
    .m-title,.m-sec,.m-ablock h4{color:#0D2419 !important}
    .m-big .n,.m-red,.m-adj .row{color:#9B111E !important}
    .m-eyebrow,.m-others .m-eyebrow{color:#9B111E !important}
    .m-score,.m-card,.m-ablock,.m-adv,.m-slides,.m-why > div{border-color:#D9CFB2 !important}
    .m-adv{background:#F6F1E4 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .dc-mark{color:#111}
    .hero-mark{display:none !important}
    header,.hero,#split,#how,#why,#group,#funding,#personas,#pricing,#qa,footer,.stickybar,.m-intake,.m-strip .btns,.m-upsell,.m-report,.m-cachenote,.m-forecast,.m-progress{display:none !important}
    body,#evaluate{background:#fff !important;color:#111 !important}
    #evaluate{border:0}
    .m-card,.m-score,.m-why > div,.m-adv,.m-ablock,.m-slides,.m-slide,.m-strip{background:#fff !important;border-color:#ccc !important;color:#111 !important;box-shadow:none}
    .m-title,.m-sec,.m-big .n,.m-ablock h4,.m-slide .title,.m-strip b,.m-lensline b,.m-others .o.cur,.m-items li,.m-why p,.m-dim .lbl,.m-dim .val,.m-flags li,.m-pattern p,.m-next ol,.m-slide p,.m-ceil .row,.m-ceil .total,.m-adv .head p,.m-slides .head p{color:#111 !important}
    .m-eyebrow,.m-dim .lbl small,.m-slide .num,.m-items .n,.m-legend,.m-dim .why{color:#555 !important}
    .m-dim .track,.m-ceil .track{background:#e6e6e6 !important}
    .m-dim .fill,.m-ceil .now{background:#444 !important}
    .m-band{break-inside:auto;margin-top:8px}
    .m-score,.m-why > div,.m-dim,.m-flags li,.m-items li,.m-slide,.m-val,.m-pattern,.m-legend,.m-strip{break-inside:avoid}
    .m-sec,.m-title,.m-ablock h4,.m-eyebrow,.m-slides .head,.m-adv .head{break-after:avoid}
    .m-card,.m-score,.m-adv,.m-ablock,.m-slides{border-radius:0 !important;border-left:0 !important;border-right:0 !important;border-color:#e2dccb !important;padding-left:0 !important;padding-right:0 !important}
    .m-card{padding-top:10px !important;padding-bottom:12px !important}
    .m-adv{padding:12px 0 10px !important;background:#fff !important}
    .m-ablock{padding:10px 0 !important;border:0 !important;border-top:1px solid #e2dccb !important}
    .m-slides{padding:12px 0 !important}
    .m-evidence{gap:0 !important}
    .m-verdict{gap:0 !important}
    .pp .tip,.pp .info{display:none !important}
    .lk{background:#fff !important;border-color:#ccc !important;break-inside:avoid}
    .lk .nm,.lk .line{color:#111 !important}
    .lk .consult .btn{display:none !important}
    .m-crit{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important}
    .pp{break-inside:avoid}
    .pp,.m-panel .m-card{background:#fff !important;border-color:#ccc !important;color:#111 !important}
    .pp .nm,.m-tally b,.m-split{color:#111 !important}
    .
    .m-score{padding:10px 0 12px !important;gap:8px}
    .m-big .n{font-size:64px !important}
    .m-why > div{padding:8px 0 !important;border:0 !important}
    .m-dims{gap:6px !important}
    .m-dim .why{margin:-2px 0 0 !important}
    .m-slide{min-height:0 !important;padding:8px 10px !important}
    .m-slides .grid,.m-slidegrid{gap:8px !important}
    .m-items li{padding:6px 0 !important}
    body{font-size:12.5px}
    .m-strip{margin-bottom:6px}
    #evaluate,#evaluate .wrap,#result{padding:0 !important;margin:0 !important}
    .m-cover{margin:0 !important}
    .disclaimer{font-size:10px !important;line-height:1.35;margin-top:8px !important;break-inside:avoid}
    .m-slide{padding:6px 9px !important}
    .m-slide p{font-size:11.5px !important;line-height:1.4}
    .m-slides .head p{font-size:12px !important}
    .m-slides .head{margin-bottom:10px !important}
    .m-verdict,.m-evidence,.m-agrid{grid-template-columns:1fr !important}
    .m-verdict > .m-why{display:grid !important}
  }

  footer{padding:32px 0;text-align:center;font-size:13px;color:var(--paper-3)}
  .drop{display:block;border:1px dashed var(--line);border-radius:10px;background:var(--ink);padding:30px 20px;text-align:center;cursor:pointer;transition:border-color .15s}
  .drop:hover,.drop.over{border-color:var(--ruby)}
  .drop.has-file{border-style:solid;border-color:var(--ruby)}
  .drop-main{display:block;font-size:14px;color:var(--paper)}
  .drop-sub{display:block;font-size:12px;color:var(--paper-3);margin-top:8px;line-height:1.5}


/* ===== LAUNCH LAYER (brief v0.2, 5 Oct 2026) ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--ruby-text);outline-offset:2px}
.btn{font-size:14px;padding:11px 18px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.btn-lg{font-size:15px;padding:13px 22px}
/* header and mobile menu (3.1) */
.nav ul a{padding:12px 0;display:inline-block}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--paper);cursor:pointer}
.menu-btn svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none}
.nav .nav-cta{display:none}
@media(min-width:820px){.menu-btn{display:none}.nav .nav-cta{display:inline-flex}}
.mobile-menu{display:none;border-top:1px solid var(--line);background:var(--ink)}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:14px var(--gutter);font-size:16px;color:var(--paper);border-bottom:1px solid var(--line);min-height:48px}
@media(min-width:820px){.mobile-menu{display:none !important}}
/* hero (2.1, 2.2, 3.2) */
.hero{padding:28px 0 36px}
.hero h1{max-width:18ch;margin:10px 0 12px}
.hero .support{font-family:var(--serif);font-size:clamp(20px,2.6vw,26px);color:var(--ruby-text);line-height:1.25;margin-bottom:14px;max-width:30ch}
.hero .plain{font-size:clamp(19px,2.4vw,24px);font-weight:600;color:var(--paper);line-height:1.3;margin-bottom:14px;max-width:32ch}
.hero p.lede{font-size:17px;max-width:54ch;margin-bottom:20px}
.hero .stat-row{margin-top:26px}
.hero-sample{border:1px solid var(--line);border-radius:14px;background:var(--ink-2);padding:20px 22px;max-width:480px;justify-self:center;width:100%}
.hero-sample .tag{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--gold);border:1px dashed var(--gold);border-radius:5px;padding:2px 7px;display:inline-block;margin-bottom:10px}
.hero-sample .top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.hero-sample .sc{font-family:var(--serif);font-size:64px;line-height:.9}.hero-sample .sc small{font:500 12px var(--mono);color:var(--paper-3)}
.hero-sample .vd{font:600 12px var(--sans);border:1px solid var(--gold);color:var(--gold);border-radius:8px;padding:5px 10px}
.hs-dim{display:grid;grid-template-columns:132px 1fr 34px;gap:8px;align-items:center;font-size:12px;color:var(--paper-2);margin-bottom:5px}
.hs-dim .tr{height:6px;border-radius:3px;background:rgba(239,228,200,.1)}.hs-dim .tr i{display:block;height:6px;border-radius:3px;background:var(--paper-2)}
.hs-dim.low .tr i{background:var(--ruby-2)}.hs-dim.high .tr i{background:var(--fit)}.hs-dim b{font:500 11px var(--mono);color:var(--paper);text-align:right}
.hs-flag{margin-top:10px;border-left:4px solid var(--ruby-2);background:rgba(155,17,30,.16);padding:8px 12px;border-radius:6px;font-size:12.5px;color:var(--paper)}
.hs-flag b{display:block;font:600 10.5px var(--mono);letter-spacing:.1em;color:var(--ruby-text);margin-bottom:2px}
.hs-meet{margin-top:10px;font-size:12.5px;color:var(--paper-2)}.hs-meet b{font-family:var(--serif);font-size:18px;color:var(--paper)}
/* audience split (2.4) and how it works (2.5) */
.split{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:760px){.split{grid-template-columns:1fr 1fr}}
.split .sp{border:1px solid var(--line);border-radius:14px;background:var(--ink-2);padding:22px 24px;display:flex;flex-direction:column}
.split h3{font-size:24px;margin-bottom:10px}
.split ul{list-style:none;margin-bottom:16px;flex:1}
.split li{font-size:15px;color:var(--paper-2);padding:6px 0 6px 18px;position:relative}
.split li:before{content:'';position:absolute;left:0;top:14px;width:8px;height:8px;border-radius:2px;background:var(--ruby-2)}
.steps3{display:grid;grid-template-columns:1fr;gap:14px;counter-reset:st}
@media(min-width:760px){.steps3{grid-template-columns:repeat(3,1fr)}}
.steps3 .st3{border-top:2px solid var(--ruby-2);padding-top:12px;counter-increment:st}
.steps3 .st3:before{content:'0' counter(st);font:500 12px var(--mono);color:var(--paper-3);letter-spacing:.06em}
.steps3 h3{font-size:21px;margin:4px 0 6px}.steps3 p{font-size:15px;color:var(--paper-2)}
/* funding path, three gates (1.2) */
.fund3{border:1px solid var(--gold);border-left:5px solid var(--gold);border-radius:14px;padding:22px 26px;background:rgba(201,151,58,.07)}
.fund3 h2{font-size:28px;margin:6px 0 14px}
.fund3 ol{list-style:none;display:grid;grid-template-columns:1fr;gap:12px;counter-reset:g;margin-bottom:14px}
@media(min-width:860px){.fund3 ol{grid-template-columns:repeat(3,1fr)}}
.fund3 li{border:1px solid var(--line);border-radius:10px;background:var(--ink-2);padding:14px 16px;font-size:15px;color:var(--paper);counter-increment:g}
.fund3 li:before{content:'Gate ' counter(g);display:block;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.fund3 .row{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.fund3 .row p{font-size:14.5px;color:var(--paper-2);max-width:60ch}
/* investor panel on mobile (3.3) */
.pav picture,.pav img{width:100%;height:100%;display:block;border-radius:50%}
.show-all{display:none;margin-top:14px}
@media(max-width:639px){
}
/* pricing, statement, Q&A, footer */
.statement{font-size:14px;color:var(--paper-2);border-left:3px solid var(--paper-3);padding:6px 0 6px 12px;margin-top:18px;max-width:78ch}
.qa{display:grid;grid-template-columns:1fr;gap:10px;max-width:860px}
.qa details{border:1px solid var(--line);border-radius:12px;background:var(--ink-2);padding:0 18px}
.qa summary{cursor:pointer;font-family:var(--serif);font-size:21px;font-weight:600;padding:14px 0;min-height:48px;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.qa summary::-webkit-details-marker{display:none}
.qa summary:after{content:'+';font-family:var(--mono);font-size:18px;color:var(--paper-3)}
.qa details[open] summary:after{content:'\2212'}
.qa details p{font-size:15.5px;color:var(--paper-2);padding:0 0 16px;max-width:72ch}
.qa details p a{display:inline-block;padding:11px 0}
footer{padding:28px 0 96px;text-align:left}
.footer-row{justify-content:space-between}
.footer-row .fl{display:flex;align-items:center;gap:10px}
.footer-row nav{display:flex;gap:22px}.footer-row nav a{padding:12px 0;color:var(--paper-2);font-size:14px}
/* confidentiality beside the upload control (2.7) */
.conf{list-style:none;border:1px solid var(--line);border-radius:10px;background:var(--ink-2);padding:12px 16px;margin-top:4px}
.conf li{font-size:15px;color:var(--paper-2);padding:5px 0 5px 20px;position:relative;line-height:1.45}
.conf li:before{content:'';position:absolute;left:0;top:13px;width:9px;height:6px;border-left:2px solid var(--fit);border-bottom:2px solid var(--fit);transform:rotate(-45deg)}
@media(min-width:900px){.deck-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;align-items:start}.deck-row .conf{margin-top:0}}
.m-link,textarea,#accessCode{min-height:44px}
.tlink{color:var(--ruby-text);text-decoration:underline}
/* sticky bottom bar on mobile (3.4) */
.stickybar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(13,36,25,.96);border-top:1px solid var(--line);padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));display:none}
.stickybar .btn{width:100%}
@media(max-width:819px){.stickybar.show{display:block}}
@media(min-width:820px){footer{padding-bottom:32px}}
/* mobile tightening (3.2, 3.4) */
@media(max-width:639px){
  section{padding:26px 0}
  #group{padding:30px 0}
  .hero{padding:16px 0 26px}
  .hero h1{font-size:30px;margin:6px 0 8px}
  .hero .support{font-size:19px;margin-bottom:8px}
  .hero .plain{font-size:18px;margin-bottom:8px}
  .hero p.lede{font-size:15.5px;margin-bottom:14px}
  .hero .eyebrow{font-size:11px}
  .hero-actions .btn{flex:1}
  .stat-row{grid-template-columns:1fr 1fr;gap:12px 16px}
  .stat b{font-size:22px}.stat span{font-size:12px}
  .section-head{margin-bottom:18px}
  .group-card{padding:20px}.group-card h3{font-size:23px}.group-card p{font-size:15px;margin-bottom:12px}
  .usp-item h3{font-size:20px}.usp-item p{font-size:15px}
  .plan{padding:18px}
  .qa summary{font-size:19px}
  .fund3{padding:18px}.fund3 h2{font-size:24px}
}
/* optional upload steps: open on desktop, folded on a phone */
.fold summary{display:none;cursor:pointer;min-height:44px;align-items:center;font-size:14px;font-weight:600;color:var(--paper);border:1px dashed var(--line);border-radius:10px;padding:0 14px;list-style:none}
.fold summary::-webkit-details-marker{display:none}
.fold summary:before{content:'+';font-family:var(--mono);margin-right:8px;color:var(--paper-3)}
.fold[open] summary:before{content:'\2212'}
.fold[open] summary{margin-bottom:8px}
.fold > *{margin-bottom:6px}
.hs-brand{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-family:var(--serif);font-size:20px;font-weight:600;color:var(--paper)}
.hs-brand .dc-mark{width:26px;height:26px}
.hs-brand em{color:var(--ruby-2);font-style:normal}
.hs-brand span.r{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--paper-3);margin-left:auto}
.swipe-hint{display:none;font-size:13px;color:var(--paper-3);margin-top:4px}
/* touch targets (3.6) */
.dc-lockup,.card-lockup{min-height:44px}
.group-link{display:inline-flex;align-items:center;min-height:44px}
.group-card h3 a{display:inline-block;padding:9px 0}
.codetoggle{min-height:44px;min-width:48px}
.m-filelist button{min-width:44px;min-height:44px}
/* phone length (3.4): the panel, the group cards and the plans swipe on a phone (owner, 5 Oct); optional upload steps fold; everything stays on the page */
@media(max-width:639px){
  .split .sp{padding:16px 18px}.split li{font-size:14.5px;padding:4px 0 4px 18px}.split li:before{top:12px}.split ul{margin-bottom:10px}
  .steps3{gap:10px}.steps3 h3{font-size:19px;margin:2px 0 2px}.steps3 p{font-size:14.5px}.steps3 .st3{padding-top:8px}
  .usp{gap:12px}.usp-item{padding:16px 18px}.usp-item h3{font-size:19px;margin-bottom:6px}.usp-item p{font-size:14.5px;line-height:1.45}.usp-item .vs{font-size:13px;margin-top:8px}
  section{padding:20px 0}#group{padding:22px 0}
  .hero-grid{gap:16px}.hero .stat-row{margin-top:16px}
  .section-head{margin-bottom:12px}#group .section-head{margin-bottom:14px}
  .qa{gap:8px}.qa summary{padding:8px 0;font-size:18px}.qa details{padding:0 14px}
  .split{gap:10px}.fund3 h2{margin:4px 0 10px}
  .m-q{gap:6px}.hint{font-size:12px}
  .group-card h3 a{padding:11px 0}
  .pgrid,.plans.four,.group-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:10px;-webkit-overflow-scrolling:touch}
  .pgrid .pc{flex:0 0 78%;scroll-snap-align:start}
  .plans.four .plan{flex:0 0 82%;scroll-snap-align:start}
  .group-grid .group-card{flex:0 0 84%;scroll-snap-align:start}
  .swipe-hint{display:block}
  .group-card .eyebrow{margin-bottom:4px !important}.group-badge{margin-bottom:6px}
  .fold summary{display:flex}
  .steps3 .st3{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:baseline}.steps3 .st3 p{grid-column:2}
  .hero-sample .hs-dim:nth-of-type(n){margin-bottom:2px}
  .group-card{padding:16px 18px}.group-card h3{font-size:21px;margin-bottom:6px}.group-card p{font-size:14.5px;line-height:1.45;margin-bottom:6px}
  #group .section-head p{font-size:15px}
  .fund3 li{padding:10px 14px;font-size:14.5px}.fund3 ol{gap:8px;margin-bottom:10px}
  .hero-sample{padding:14px 16px}.hero-sample .sc{font-size:48px}.hs-dim{margin-bottom:3px;font-size:11.5px;grid-template-columns:128px 1fr 32px}
  .m-intake{padding:18px 16px}.m-igrid{gap:14px}.drop{padding:18px 14px}
  #notes{min-height:76px}
  .conf li{font-size:14.5px;padding:3px 0 3px 20px}
  .disclaimer{font-size:11.5px;margin-top:14px}
  footer{padding:20px 0 84px}
}
/* simple pages (privacy, terms, sample report, 404) */
.doc{max-width:760px;margin:0 auto;padding:40px var(--gutter) 60px}
.doc h1{font-size:40px;margin-bottom:8px}.doc h2{font-size:24px;margin:28px 0 8px}
.doc p,.doc li{font-size:16px;color:var(--paper-2);margin-bottom:10px}.doc ul{padding-left:20px}
.doc .draft{border:1px dashed var(--gold);color:var(--gold);border-radius:8px;padding:10px 14px;font-size:14px;margin:14px 0 22px}
.doc .hole{background:rgba(201,151,58,.12);border-bottom:1px dashed var(--gold);color:var(--paper);padding:0 4px}
@media print{header,.stickybar,.mobile-menu,#split,#how,#qa,.statement.screen{display:none !important}}

/* WP1B */
.ph{background:rgba(214,168,78,.16);border-bottom:1px dashed var(--gold);color:var(--paper);padding:0 4px;font-weight:600}
.pricing-note{font-size:13.5px;color:var(--paper-2);margin-top:16px;max-width:78ch}
.footnote{font-size:13px;color:var(--paper-3);margin-top:8px}
.doc .draft{border:1px dashed var(--gold);color:var(--gold);border-radius:8px;padding:10px 14px;font-size:14px;margin:14px 0 22px}

.split-note{font-size:15.5px;color:var(--paper-2);max-width:86ch;margin:0 0 14px}
@media(max-width:639px){.split-note{font-size:14.5px;margin-bottom:10px}}
