
:root{
  --ink:#0C1826; --ink-2:#2E4358; --slate:#5F7382;
  --white:#FFFFFF; --paper:#F8F7F4; --paper-2:#F0EEE8;
  --primary:#14304E; --primary-2:#20527F; --wash:#E9EEF4;
  --gold:#C9A227; --gold-ink:#7E6209; --gold-wash:#FBF3DC;
  --rule:#E4E2DA; --rule-2:#C8C5BA;
  --deep:#070D15; --deep-2:#0C1826; --deep-3:#14263A;
  --deep-line:#20364C; --gold-lit:#E3C271;
  --on-deep:#C6D4E0; --on-deep-2:#8395A6;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --lift:0 1px 2px rgba(12,24,38,.05),0 16px 40px -26px rgba(12,24,38,.42);
  --lift-deep:0 2px 6px rgba(0,0,0,.34),0 48px 96px -42px rgba(0,0,0,.86);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:600;letter-spacing:-.018em;
  text-wrap:balance;line-height:1.1}
p{margin:0 0 18px}
a{color:var(--primary-2)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.wrap{max-width:1200px;margin:0 auto;padding:0 34px}
.lbl{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-ink);margin:0 0 18px}
.deep .lbl,.hero .lbl,.close .lbl{color:var(--gold-lit)}

/* ---------------- motion ---------------- */
.js .rv{opacity:0;transform:translateY(20px)}
.js .rv.in{opacity:1;transform:none;
  transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
.stg{opacity:0;animation:rise .9s cubic-bezier(.2,.7,.3,1) forwards}
.d1{animation-delay:.06s}.d2{animation-delay:.18s}.d3{animation-delay:.3s}.d4{animation-delay:.42s}
@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes panelIn{from{opacity:0;transform:perspective(1500px) rotateY(-13deg) translateY(48px) scale(.96)}
  to{opacity:1;transform:perspective(1500px) rotateY(-8deg) translateY(0) scale(1)}}
@keyframes chipOn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes drawUnder{from{background-size:0% 1.5px}to{background-size:100% 1.5px}}
@keyframes drawThin{from{background-size:0% 1px}to{background-size:100% 1px}}
@keyframes glow{0%,100%{opacity:.5}50%{opacity:.85}}

/* ---------------- header ---------------- */
header.site{position:sticky;top:0;z-index:40;background:rgba(7,13,21,.84);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.07)}
.head{display:flex;align-items:center;gap:26px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px}
.brand{display:flex;align-items:center;gap:4px;text-decoration:none}
/* viewBox is cropped to the artwork, so the box is the ink and the gaps are real.
   Height is the wordmark's cap height (26px Newsreader x .649), so the mark's top
   and bottom land exactly on the P's cap line and baseline. */
.mark{width:24.5px;height:17px;flex:none;margin-top:0}
.wm{display:flex;align-items:center;gap:7px}
.wm b{display:block;font-family:var(--serif);font-size:26px;font-weight:600;
  letter-spacing:-.028em;color:#fff;line-height:1}
.wm i{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.1em;font-style:normal;
  font-weight:600;text-transform:uppercase;color:var(--gold-lit);line-height:1.24;
  white-space:nowrap;padding-left:7px;border-left:1px solid rgba(226,192,102,.3)}
/* option B is 22px narrower, so the tagline now survives down to 1050px, not 1180px */
@media (max-width:1050px){.wm i{display:none}}
nav.main{margin-left:auto;display:flex;gap:25px;align-items:center;flex-wrap:wrap}
nav.main a{font-size:14.5px;color:var(--on-deep);text-decoration:none;transition:color .2s}
nav.main a:hover{color:#fff}
.navcta{background:var(--gold);color:var(--deep) !important;font-weight:600;
  padding:9px 17px;border-radius:2px;font-size:14px;transition:transform .2s,box-shadow .2s}
.navcta:hover{transform:translateY(-1px);box-shadow:0 8px 22px -10px rgba(201,162,39,.85)}
@media (max-width:980px){nav.main{margin-left:0;width:100%;gap:8px 18px;padding-top:6px}}

/* ---------------- buttons ---------------- */
.cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 26px;border-radius:2px;font-size:15px;font-weight:600;
  font-family:var(--sans);text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s}
.btn.gold{background:var(--gold);color:var(--deep)}
.btn.gold:hover{transform:translateY(-2px);box-shadow:0 14px 32px -14px rgba(201,162,39,.9)}
.btn.line{background:transparent;color:var(--on-deep);border-color:var(--deep-line)}
.btn.line:hover{color:#fff;border-color:#fff;transform:translateY(-2px)}
.btn.dark{background:var(--primary);color:#fff}
.btn.dark:hover{background:var(--ink);transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--primary);border-color:var(--rule-2)}
.btn.ghost:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-2px)}

/* ---------------- hero ---------------- */
.hero{position:relative;background:var(--deep);color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-30% -10% auto -10%;height:120%;
  background:radial-gradient(56% 50% at 74% 32%,rgba(201,162,39,.17),transparent 70%),
             radial-gradient(50% 46% at 10% 10%,rgba(32,82,127,.36),transparent 72%);
  animation:glow 12s ease-in-out infinite;pointer-events:none}
.hero .wrap{position:relative;padding-top:78px;padding-bottom:74px}
.hgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.14fr);gap:0 60px;align-items:start}
.hgrid > div:first-child{padding-top:26px}
.hero h1{font-size:clamp(46px,6.6vw,82px);letter-spacing:-.028em;line-height:1.0;
  color:#fff;margin:0 0 24px;font-weight:600}
.hero h1 em{font-style:italic;color:var(--gold-lit);font-weight:400}
.hero .lede{font-size:19px;line-height:1.62;color:var(--on-deep);max-width:47ch;margin:0 0 32px}
.hero .lede b{color:#fff;font-weight:600}
@media (max-width:1060px){.hgrid{grid-template-columns:minmax(0,1fr);gap:52px}}

/* ---------------- product mockups ---------------- */
.stage{position:relative}
.stage::after{content:"";position:absolute;inset:10% -8% -16% 2%;border-radius:50%;
  background:radial-gradient(closest-side,rgba(201,162,39,.24),transparent 74%);
  filter:blur(30px);z-index:0;pointer-events:none}

/* the app window */
.app{position:relative;z-index:1;background:#FFFFFF;border:1px solid #D7DEE5;
  border-radius:11px;overflow:hidden;box-shadow:var(--lift-deep)}
.app.tilt{transform:perspective(1500px) rotateY(-8deg);opacity:0;
  animation:panelIn 1.2s cubic-bezier(.18,.72,.26,1) .55s forwards}
.chrome{display:flex;align-items:center;gap:7px;padding:10px 14px;background:#EDF1F5;
  border-bottom:1px solid #DDE4EB}
.chrome .dot{width:9px;height:9px;border-radius:50%;background:#C7D1DA;flex:none}
.urlpill{margin:0 auto;font-family:var(--sans);font-size:10.5px;color:#7A8B9B;background:#FFFFFF;
  border:1px solid #DDE4EB;border-radius:20px;padding:3px 16px;letter-spacing:.01em}
.appbody{display:grid;grid-template-columns:158px minmax(0,1fr)}

/* sidebar */
.side{background:#F5F7F9;border-right:1px solid #E3E8ED;padding:15px 12px 13px;
  display:flex;flex-direction:column;min-height:330px}
.sidelogo{display:flex;align-items:center;gap:8px;padding:0 4px 15px;
  border-bottom:1px solid #E3E8ED;margin-bottom:14px}
.sidelogo svg{width:22px;height:22px;flex:none}
.sidelogo b{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.nav{display:flex;flex-direction:column;gap:2px}
.nv{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:5px;
  font-size:12px;color:#5F7383;position:relative}
.nv svg{width:13px;height:13px;flex:none;opacity:.7}
.nv.on{background:#FFFFFF;color:var(--ink);font-weight:600;
  box-shadow:0 1px 2px rgba(12,24,38,.07)}
.nv.on::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;
  background:var(--gold);border-radius:2px}
.nv.on svg{opacity:1;color:var(--primary)}
.nv .badge{margin-left:auto;font-size:9.5px;font-weight:600;color:var(--gold-ink);
  background:var(--gold-wash);border-radius:9px;padding:1px 6px}
.recent{margin-top:16px;padding-top:13px;border-top:1px solid #E3E8ED}
.rh{font-family:var(--sans);font-size:8.5px;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:#93A2AF;margin:0 0 8px;padding:0 9px}
.re{font-size:11px;color:#5F7383;padding:4px 9px;border-radius:4px;line-height:1.35;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.re.on{color:var(--ink);background:#EAEFF4}
.sideuser{margin-top:auto;display:flex;align-items:center;gap:8px;padding-top:13px;
  border-top:1px solid #E3E8ED}
.sideuser .av{width:22px;height:22px;border-radius:50%;background:var(--primary);color:var(--gold-lit);
  font-family:var(--serif);font-size:10.5px;font-weight:600;flex:none;
  display:flex;align-items:center;justify-content:center}
.sideuser span{font-size:11px;color:#5F7383}

/* main column */
.appmain{min-width:0;display:flex;flex-direction:column}
.apptop{display:flex;align-items:center;gap:11px;padding:13px 18px 0}
.apptop h4{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:-.015em;
  color:var(--ink);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.statepill{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--gold-ink);background:var(--gold-wash);
  border:1px solid #EADEB4;border-radius:3px;padding:2px 7px;flex:none}
.wc{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none}
.wc span{font-size:10.5px;color:#7A8B9B;font-variant-numeric:tabular-nums}
.wcbar{width:52px;height:4px;border-radius:3px;background:#E3E8ED;overflow:hidden}
.wcbar i{display:block;height:100%;width:97%;background:var(--primary);border-radius:3px}
.tabs{display:flex;gap:18px;padding:11px 18px 0;border-bottom:1px solid #E3E8ED;overflow:hidden}
.tab{font-size:11.5px;color:#8496A5;padding-bottom:9px;border-bottom:2px solid transparent;
  white-space:nowrap}
.tab.on{color:var(--ink);font-weight:600;border-bottom-color:var(--primary)}
.appcontent{padding:16px 18px 0;flex:1}
.meta{font-size:10.5px;color:#8496A5;margin:0 0 12px;letter-spacing:.01em}
.claim{font-size:14px;line-height:1.72;color:#1B2C3C;margin:0 0 14px}
.claim u{text-decoration:none;background-image:linear-gradient(#D9BB6A,#D9BB6A);
  background-repeat:no-repeat;background-position:0 100%;background-size:0% 1.5px;
  animation:drawUnder .7s cubic-bezier(.3,.8,.4,1) forwards;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.claim u:nth-of-type(1){animation-delay:1.5s}
.claim u:nth-of-type(2){animation-delay:1.85s}
.claim u:nth-of-type(3){animation-delay:2.2s}
.claim sup{font-family:var(--mono);font-size:8.5px;color:var(--gold-ink);background:var(--gold-wash);
  border:1px solid #EADEB4;border-radius:3px;padding:1px 4px;margin-left:3px;
  vertical-align:.4em;opacity:0;animation:chipOn .45s ease forwards}
.claim u:nth-of-type(1) sup{animation-delay:2.05s}
.claim u:nth-of-type(2) sup{animation-delay:2.4s}
.claim u:nth-of-type(3) sup{animation-delay:2.75s}
.flagged{border-left:2px solid #C79A4E;background:#FCF6EA;padding:10px 13px;
  border-radius:0 4px 4px 0;margin-bottom:14px}
.flagged .ft{font-family:var(--sans);font-size:7.5px;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:#8A6212;margin:0 0 5px}
.flagged p{font-size:12px;line-height:1.55;color:#5A6B7A;margin:0}
.flagged s{color:#93A2AF}
.appfoot{display:flex;border-top:1px solid #E3E8ED;background:#FAFBFC}
.uf{flex:1;padding:11px 6px;text-align:center;border-right:1px solid #E3E8ED}
.uf:last-child{border-right:0}
.uf b{display:block;font-family:var(--serif);font-size:20px;font-weight:600;color:var(--primary);
  font-variant-numeric:tabular-nums;line-height:1}
.uf b.g{color:var(--gold-ink)}
.uf span{display:block;font-size:9.5px;color:#8496A5;margin-top:5px;line-height:1.3}
.uicap{position:relative;z-index:1;font-family:var(--sans);font-size:12.5px;
  color:var(--on-deep-2);margin:18px 0 0;text-align:right}
@media (min-width:1300px){.stage{margin-right:-72px}}
@media (max-width:1060px){.app.tilt{transform:none;animation:none;opacity:1}
  .stage::after{display:none}.uicap{text-align:left}}

/* ---------------- in-page app screens ---------------- */
.app.wide{max-width:952px;border-radius:10px;box-shadow:var(--lift)}
.app.wide .appbody{grid-template-columns:170px minmax(0,1fr)}
.app.wide .side{min-height:376px}
.appcap{font-size:13.5px;color:var(--slate);margin:14px 0 0}

/* toolbar */
.apptool{display:flex;align-items:center;gap:10px;padding:12px 18px;
  border-bottom:1px solid #E3E8ED;background:#FCFDFD;flex-wrap:wrap}
.search{display:flex;align-items:center;gap:7px;background:#FFFFFF;border:1px solid #DFE5EB;
  border-radius:6px;padding:6px 11px;min-width:190px;flex:1;max-width:290px}
.search svg{width:12px;height:12px;color:#9AA9B6;flex:none}
.search span{font-size:11.5px;color:#9AA9B6}
.chipf{font-size:10.5px;font-weight:600;color:#5F7383;background:#EEF2F6;
  border:1px solid #E0E7ED;border-radius:20px;padding:4px 11px;white-space:nowrap}
.chipf.on{background:var(--primary);border-color:var(--primary);color:#fff}
.toolcount{margin-left:auto;font-size:10.5px;color:#8496A5;font-variant-numeric:tabular-nums;
  white-space:nowrap}

/* table shell */
.thead{display:grid;align-items:center;gap:0 14px;padding:8px 18px;background:#F7F9FA;
  border-bottom:1px solid #E3E8ED}
.thead span{font-family:var(--sans);font-size:8.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:#93A2AF}
.trow{display:grid;align-items:center;gap:0 14px;padding:12px 18px;
  border-bottom:1px solid #EDF1F4;transition:background .16s}
.trow:last-child{border-bottom:0}
.trow:hover{background:#FAFCFD}
.gcols{grid-template-columns:minmax(0,1fr) 62px 128px}
.fcols{grid-template-columns:18px 60px minmax(0,1fr) 74px 60px}

/* ledger */
.ltxt{font-size:13.5px;line-height:1.5;color:#1B2C3C}
.ltxt s{color:#93A2AF}
.lsrc{font-family:var(--mono);font-size:10.5px;color:var(--gold-ink);background:var(--gold-wash);
  border:1px solid #EADEB4;border-radius:4px;padding:2px 7px;justify-self:start;white-space:nowrap}
.lsrc.none{color:#93A2AF;background:#F2F5F7;border-color:#E0E7ED}
.stat{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;
  letter-spacing:.02em;padding:4px 10px;border-radius:20px;white-space:nowrap;justify-self:start}
.stat::before{content:"";width:6px;height:6px;border-radius:50%;flex:none}
.stat.ok{background:#EAF1F8;color:#1B4470}.stat.ok::before{background:#2F6DA8}
.stat.narrow{background:#FAF1E4;color:#8A6212}.stat.narrow::before{background:#C79A4E}
.stat.ask{background:#F6EFDD;color:#7E6209}.stat.ask::before{background:var(--gold)}

/* files */
.cbox{width:14px;height:14px;border-radius:4px;background:var(--primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:8px;line-height:1}
.ext{font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.05em;color:#5F7383;
  background:#F2F5F7;border:1px solid #E0E7ED;border-radius:4px;padding:3px 0;
  text-align:center;justify-self:start;width:52px}
.fnm{font-size:13.5px;color:#1B2C3C;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fmeta{font-size:11px;color:#8496A5;font-variant-numeric:tabular-nums;justify-self:end}
.fstate{font-size:10.5px;font-weight:600;color:#2F6DA8;justify-self:start}

/* questions */
.qlist{padding:6px 0}
.qcard{display:grid;grid-template-columns:26px minmax(0,1fr);gap:0 12px;padding:15px 18px;
  border-bottom:1px solid #EDF1F4;transition:background .16s}
.qcard:last-child{border-bottom:0}
.qcard:hover{background:#FAFCFD}
.qn{font-family:var(--sans);font-size:11px;font-weight:600;color:#93A2AF;padding-top:2px;
  font-variant-numeric:tabular-nums}
.qt{font-size:14px;line-height:1.5;color:#1B2C3C;font-weight:500;margin:0 0 10px}
.qmeta{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.who{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:#5F7383;
  background:#F4F7F9;border:1px solid #E4EAEF;border-radius:20px;padding:3px 11px 3px 3px}
.who i{width:19px;height:19px;border-radius:50%;background:var(--primary);color:#fff;
  font-family:var(--sans);font-style:normal;font-size:8.5px;font-weight:600;
  display:flex;align-items:center;justify-content:center;flex:none}
.crittag{font-size:10.5px;font-weight:600;color:var(--gold-ink);background:var(--gold-wash);
  border:1px solid #EADEB4;border-radius:4px;padding:3px 9px;white-space:nowrap}
.unlock{font-size:12px;color:#7A8B9B}

/* summary strip */
.sumbar{display:flex;border-top:1px solid #E3E8ED;background:#FAFBFC}
.sb{flex:1;padding:10px 8px;text-align:center;border-right:1px solid #E3E8ED}
.sb:last-child{border-right:0}
.sb b{display:block;font-family:var(--serif);font-size:19px;font-weight:600;color:var(--primary);
  font-variant-numeric:tabular-nums;line-height:1}
.sb b.g{color:var(--gold-ink)}
.sb span{display:block;font-size:8.5px;color:#8496A5;margin-top:5px;line-height:1.3}

@media (max-width:720px){
  .gcols,.fcols{grid-template-columns:minmax(0,1fr);gap:8px}
  .thead{display:none}
  .fmeta{justify-self:start}
  .sumbar{flex-wrap:wrap}.sb{flex:1 0 50%;border-bottom:1px solid #E3E8ED}
}

/* ---------------- phone ---------------- */
.qstage{position:relative}
.phone{width:192px;background:#0B121A;border-radius:30px;padding:9px;
  box-shadow:0 2px 6px rgba(12,24,38,.3),0 44px 74px -34px rgba(12,24,38,.75);
  border:1px solid #2A3B4E}
.pscreen{position:relative;background:#FFFFFF;border-radius:22px;overflow:hidden;
  aspect-ratio:9/19.5;display:flex;flex-direction:column}
.island{position:absolute;top:7px;left:50%;transform:translateX(-50%);
  width:52px;height:15px;border-radius:9px;background:#0B121A;z-index:4}
.pstatus{height:30px;flex:none;display:flex;align-items:center;justify-content:space-between;
  padding:0 12px 0 14px}
.pstatus b{font-size:8.5px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.pico{display:flex;gap:3.5px;align-items:center}
.pico svg{height:8px;width:auto;color:var(--ink)}
.phead{display:flex;align-items:center;gap:6px;padding:7px 12px;border-bottom:1px solid #EDF1F4;
  flex:none}
.phead svg.pm{width:14px;height:14px;flex:none}
.phead b{font-family:var(--serif);font-size:11.5px;font-weight:600;color:var(--ink);
  letter-spacing:-.015em}
.phead .pav{margin-left:auto;width:16px;height:16px;border-radius:50%;background:var(--primary);
  color:#fff;font-size:6.5px;font-weight:600;display:flex;align-items:center;justify-content:center}
.pbody{padding:10px 11px;flex:1;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.pday{text-align:center;font-size:7px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:#A6B3BE;margin:0}
.bin{background:#F1F4F7;border-radius:12px 12px 12px 4px;padding:8px 10px;margin-right:16px}
.bin .plab{font-size:6.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:#94A3AE;margin:0 0 5px}
.bin p{font-size:10.5px;line-height:1.42;color:#1B2C3C;margin:0}
.bin .ptags{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}
.bin .ptags span{font-size:7px;font-weight:600;color:#5F7383;background:#FFFFFF;
  border:1px solid #E1E7EC;border-radius:8px;padding:2px 6px}
.bin .ptags span.g{color:var(--gold-ink);background:var(--gold-wash);border-color:#EADEB4}
.bout{background:var(--primary);border-radius:12px 12px 4px 12px;padding:8px 9px;margin-left:20px}
.bout .pw{display:flex;align-items:center;gap:6px}
.ptri{width:0;height:0;border-left:6px solid #fff;border-top:4.5px solid transparent;
  border-bottom:4.5px solid transparent;flex:none;margin-left:1px}
.wave{display:flex;align-items:center;gap:1.4px;flex:1;height:15px;overflow:hidden}
.wave i{width:1.8px;background:#7099C4;border-radius:1px;display:block}
.wave i.lit{background:var(--gold-lit)}
.bout .dur{font-size:7.5px;color:#A9C2D8;font-variant-numeric:tabular-nums;flex:none}
.psent{text-align:right;font-size:7px;color:#A6B3BE;margin:-4px 0 0}
.pmore{margin-top:auto;text-align:center;font-size:8px;color:#8496A5;
  border-top:1px solid #EDF1F4;padding-top:8px}
.pbar{display:flex;align-items:center;gap:8px;padding:7px 11px 4px;border-top:1px solid #EDF1F4;
  background:#FAFBFC;flex:none}
.pmic{width:26px;height:26px;border-radius:50%;background:var(--gold);flex:none;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 10px -3px rgba(201,162,39,.9)}
.pmic svg{width:12px;height:12px;color:var(--deep)}
.pbar span{font-size:8.5px;color:#93A2AF}
.phome{flex:none;background:#FAFBFC;padding:5px 0 7px;display:flex;justify-content:center}
.phome i{display:block;width:66px;height:3.5px;border-radius:3px;background:#C9D2DA}
@media (min-width:1120px){
  .phone{position:absolute;right:-30px;bottom:-52px;z-index:3}
  .qstage{padding-bottom:16px}
  .qstage .qcard{padding-right:206px}
  .qstage .apptool .toolcount{padding-right:200px}
  .qstage .apptop .wc{padding-right:196px}
}
@media (max-width:1119px){.phone{margin:22px auto 0}}

.buildtag{margin-left:auto;font-family:var(--sans);font-size:9px;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;color:#6C7F90;background:#FFFFFF;
  border:1px solid #DDE4EB;border-radius:3px;padding:2px 8px;white-space:nowrap}
.inbuild{opacity:.97}
.claim2{font-size:14px;line-height:1.72;color:#1B2C3C;margin:0 0 14px}
.claim2 sup.c{font-family:var(--mono);font-size:8.5px;color:var(--gold-ink);background:var(--gold-wash);
  border:1px solid #EADEB4;border-radius:3px;padding:1px 4px;margin-left:3px;vertical-align:.4em}
.appcap b{color:var(--ink);font-weight:600}
.tracenote{font-size:9px;line-height:1.5;color:#93A2AF;margin:0 0 9px;
  padding-left:13px;border-left:1px solid #E1E7EC}
.answer{margin:0 0 9px}
.answer p{font-size:10.5px;line-height:1.66;color:#22364A;margin:0 0 8px;
  text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.answer p:last-child{margin-bottom:0}
.answer p.open{font-family:var(--serif);font-size:12.5px;line-height:1.4;color:var(--ink);
  font-weight:500;letter-spacing:-.012em;text-align:left;margin-bottom:9px;hyphens:none}
.answer u{text-decoration:none;background-image:linear-gradient(#E8D5A4,#E8D5A4);
  background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;
  animation:drawThin .6s cubic-bezier(.3,.8,.4,1) forwards;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.answer u:nth-of-type(1){animation-delay:1.35s}.answer u:nth-of-type(2){animation-delay:1.5s}
.answer u:nth-of-type(3){animation-delay:1.65s}.answer u:nth-of-type(4){animation-delay:1.8s}
.answer u:nth-of-type(5){animation-delay:1.95s}.answer u:nth-of-type(6){animation-delay:2.1s}
.answer u:nth-of-type(7){animation-delay:2.25s}.answer u:nth-of-type(8){animation-delay:2.4s}
.answer u:nth-of-type(9){animation-delay:2.55s}
.answer sup{font-family:var(--mono);font-size:6.5px;color:var(--gold-ink);background:var(--gold-wash);
  border:1px solid #EADEB4;border-radius:3px;padding:0 3px;margin-left:2px;vertical-align:.45em;
  opacity:0;animation:chipOn .4s ease forwards;animation-delay:2.7s}
.doc .flagged{padding:7px 11px;margin-bottom:0}
.doc .flagged p{font-size:10px;line-height:1.5}
.docq p{font-size:11.5px;line-height:1.4}
.docq{background:#F6F8FA;border-left:2px solid var(--primary);border-radius:0 4px 4px 0;
  padding:8px 12px;margin:0 0 10px}
.docq p{font-family:var(--serif);font-size:15px;font-style:italic;line-height:1.45;
  color:var(--primary);margin:0}
.docq .qn2{font-family:var(--sans);font-size:7.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:#8496A5;margin:0 0 4px;font-style:normal}
.wcrow{display:flex;align-items:center;gap:9px;margin:0 0 10px}
.wcrow span{font-size:9px;color:#8496A5;font-variant-numeric:tabular-nums;white-space:nowrap}
.wcrow .bar{flex:1;max-width:150px;height:4px;border-radius:3px;background:#E6EBEF;overflow:hidden}
.wcrow .bar i{display:block;height:100%;width:97%;background:var(--primary)}
.trow.more{background:#FBFCFD}
.trow.more .ltxt,.trow.more .fnm{color:#8496A5;font-style:italic;font-size:13px}
.srcdoc{font-size:12.5px;color:#5F7383;line-height:1.4;justify-self:start}
.srcdoc.none{color:#A08040;font-style:italic}
.stat.notw{background:#F2F5F7;color:#68788A;border:1px solid #E0E7ED}
.ffacts{font-size:12px;color:var(--gold-ink);font-variant-numeric:tabular-nums;justify-self:end;
  font-weight:600}
.qask{font-size:12px;color:#5F7383}
.qask b{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:#93A2AF;margin-right:6px}
.qtime{font-size:11.5px;color:#8496A5;white-space:nowrap}
.gcols2{grid-template-columns:minmax(0,1fr) 178px 118px}
.fcols2{grid-template-columns:56px minmax(0,1fr) 78px 62px}
.ccols{grid-template-columns:minmax(0,1fr) 86px 92px 74px 106px}
.cnum{font-size:13.5px;color:#1B2C3C}
.cmet{font-size:12px;color:#5F7383;font-variant-numeric:tabular-nums;justify-self:start}
.cmet.warn{color:#A0691F}
/* ---------------- deliverable documents ---------------- */
.doc{position:relative;z-index:1;background:#FFFFFF;border:1px solid #DDE2E6;border-radius:4px;
  overflow:hidden;box-shadow:var(--lift)}
.doc::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold);z-index:2}
.doc.onDark{box-shadow:var(--lift-deep);border-color:#C9D2DA}
.doc.tilt{transform:perspective(1500px) rotateY(-8deg);opacity:0;
  animation:panelIn 1.2s cubic-bezier(.18,.72,.26,1) .55s forwards}
.doc.wide{max-width:952px}
.dochead{display:flex;align-items:center;gap:8px;padding:12px 22px 11px;
  border-bottom:1px solid #E7EBEF}
.dochead svg{width:20px;height:20px;flex:none}
.dochead b{font-family:var(--serif);font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.dochead .dm{margin-left:auto;font-family:var(--sans);font-size:9.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);background:var(--gold-wash);
  border:1px solid #EADEB4;border-radius:3px;padding:3px 9px;white-space:nowrap}
.docbody{padding:14px 22px 3px}
.dockick{font-family:var(--sans);font-size:8px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:#93A2AF;margin:0 0 8px}
.doctitle{font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:-.018em;
  color:var(--ink);margin:0 0 12px;line-height:1.15}
.docfoot{display:flex;gap:14px;align-items:center;padding:9px 22px;border-top:1px solid #E7EBEF;
  background:#FBFCFD;font-size:9px;color:#8496A5;flex-wrap:wrap}
.docfoot .pg{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.doc .thead{padding-left:24px;padding-right:24px}
.doc .trow{padding-left:24px;padding-right:24px}
.doc .qcard{padding-left:24px;padding-right:24px}
.doc .meta{font-size:10.5px;color:#8496A5;margin:0 0 12px}
.doc .claim{font-size:14.5px;line-height:1.72;color:#1B2C3C;margin:0 0 14px}
.doc .sumbar{border-top:1px solid #E7EBEF}
@media (max-width:1060px){.doc.tilt{transform:none;animation:none;opacity:1}}
@media (max-width:640px){.dochead,.docbody,.docfoot{padding-left:16px;padding-right:16px}
  .doc .thead,.doc .trow,.doc .qcard{padding-left:16px;padding-right:16px}}

/* ---------------- proof ---------------- */
.proof{background:var(--paper);border-bottom:1px solid var(--rule)}
.proof .wrap{padding:76px 34px}
.pgrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0 60px;align-items:center}
.bignum{font-family:var(--serif);font-size:clamp(100px,13.5vw,178px);font-weight:600;
  letter-spacing:-.045em;line-height:.82;color:var(--primary);font-variant-numeric:tabular-nums}
.bignum span{color:var(--gold)}
.pclaim{font-family:var(--serif);font-size:clamp(22px,2.7vw,30px);line-height:1.32;font-weight:500;
  letter-spacing:-.014em;color:var(--ink);margin:0 0 18px;max-width:25ch}
.pwho{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--slate);margin:0 0 18px}
.pnote{font-size:16px;line-height:1.62;color:var(--ink-2);max-width:52ch;margin:0;
  padding-top:17px;border-top:1px solid var(--rule-2)}
@media (max-width:880px){.pgrid{grid-template-columns:minmax(0,1fr);gap:24px}}

/* ---------------- bands ---------------- */
.band{padding:82px 0}
.band.pale{background:var(--white)}
.band.tint{background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.band.wash{background:var(--wash);border-top:1px solid #D5DEE8;border-bottom:1px solid #D5DEE8}
.band.deep{background:var(--deep-2);color:#fff}
.rail{display:grid;grid-template-columns:152px minmax(0,1fr);gap:0 42px;align-items:start}
.rail .marker{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-ink);text-align:right;padding-top:.85em;line-height:1.5}
.deep .rail .marker{color:var(--gold-lit)}
@media (max-width:920px){.rail{grid-template-columns:minmax(0,1fr);gap:12px}
  .rail .marker{text-align:left;padding-top:0}}
h2.sec{font-size:clamp(31px,4.1vw,46px);margin:0 0 18px;max-width:21ch;letter-spacing:-.022em}
.deep h2.sec{color:#fff}
.lead{font-size:19px;line-height:1.6;color:var(--ink-2);max-width:58ch;margin:0 0 22px}
.deep .lead{color:var(--on-deep)}
.body{max-width:62ch}
.deep .body{color:var(--on-deep)}
.note{font-size:15px;line-height:1.6;color:var(--ink-2);max-width:70ch;margin:22px 0 0}
.pull{font-family:var(--serif);font-size:clamp(22px,2.8vw,30px);line-height:1.34;font-weight:500;
  letter-spacing:-.016em;max-width:38ch;margin:32px 0 0;padding-left:22px;
  border-left:2px solid var(--gold);color:#fff}

/* ---------------- evidence panel ---------------- */
.evid{max-width:928px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);
  gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:4px;
  overflow:hidden;box-shadow:var(--lift)}
.ev-col{background:var(--white);padding:24px 26px 26px}
.clbl{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--slate);margin:0 0 15px;display:flex;align-items:baseline;
  gap:9px;flex-wrap:wrap}
.clbl i{font-family:var(--sans);font-style:normal;font-size:10.5px;letter-spacing:.02em;
  color:var(--rule-2);text-transform:none;font-weight:400}
.frag{border-left:2px solid var(--rule-2);padding:1px 0 1px 14px;margin-bottom:15px;
  transition:border-color .25s}
.frag:last-child{margin-bottom:0}
.frag:hover{border-left-color:var(--gold)}
.frag p{font-family:var(--sans);font-size:12.5px;line-height:1.62;color:var(--ink-2);margin:0}
.frag span{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--slate);margin-top:7px}
.fid{font-family:var(--mono);font-size:10.5px;font-weight:500;color:var(--gold-ink);
  background:var(--gold-wash);border:1px solid #EADEB4;border-radius:2px;padding:1px 5px;flex:none}
.ev-out{background:var(--wash)}
.ev-out .clbl{color:var(--primary)}
.ev-out .out{font-size:17.5px;line-height:1.62;letter-spacing:-.008em;color:var(--ink);margin:0}
.ev-out .out u{text-decoration:none;border-bottom:1.5px solid #C7AC63;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.ev-out .out sup{font-family:var(--mono);font-size:9.5px;font-weight:500;color:var(--gold-ink);
  background:var(--gold-wash);border:1px solid #EADEB4;border-radius:2px;padding:1px 4px;
  margin-left:3px;vertical-align:.35em}
.ev-out .scored{margin:16px 0 0;padding-top:14px;border-top:1px solid #CDD8E4;
  font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.ev-out .scored b{color:var(--primary);font-weight:600}
.ev-miss{grid-column:1/-1;background:var(--gold-wash);padding:20px 26px 22px;
  display:grid;grid-template-columns:152px minmax(0,1fr);gap:0 22px;align-items:baseline}
.ev-miss .clbl{color:var(--gold-ink);margin:0;display:block}
.ev-miss p{font-size:15.5px;line-height:1.58;color:var(--ink-2);margin:0}
.ev-miss p b{color:var(--ink);font-weight:600}
.cap{font-size:13.5px;color:var(--slate);margin:14px 0 0}
@media (max-width:860px){.evid{grid-template-columns:minmax(0,1fr)}
  .ev-miss{grid-template-columns:minmax(0,1fr);gap:11px}}

/* ---------------- capability cards ---------------- */
.caps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.capc{background:var(--white);border:1px solid var(--rule);border-radius:4px;
  padding:26px 24px 28px;position:relative;overflow:hidden;
  transition:transform .24s cubic-bezier(.2,.7,.3,1),box-shadow .24s,border-color .24s}
.capc::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.2,.7,.3,1)}
.capc:hover{transform:translateY(-4px);box-shadow:var(--lift);border-color:var(--rule-2)}
.capc:hover::before{transform:scaleX(1)}
.capc .n{font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;color:var(--gold-ink)}
.capc h3{font-size:23px;margin:11px 0 0;line-height:1.18}
.capc p{font-size:15.5px;line-height:1.58;color:var(--ink-2);margin:12px 0 0}
@media (max-width:880px){.caps{grid-template-columns:minmax(0,1fr)}}

/* ---------------- two jobs ---------------- */
.twojobs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tj{background:var(--white);border:1px solid var(--rule);border-radius:4px;padding:24px 26px 26px}
.tj .n{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--slate)}
.tj h3{font-size:21px;margin:10px 0 0;line-height:1.2}
.tj p{font-size:15.5px;color:var(--ink-2);line-height:1.58;margin:11px 0 0}
.tj .t{font-family:var(--sans);font-size:12.5px;color:var(--gold-ink);margin-top:13px}
.restlist{margin-top:18px;background:var(--paper-2);border:1px solid var(--rule);border-radius:4px;
  padding:20px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(4,auto);grid-auto-flow:column;gap:12px 40px}
.restlist span{font-size:14.5px;color:var(--ink-2);line-height:1.45;
  display:grid;grid-template-columns:30px minmax(0,1fr);align-items:baseline}
.restlist span i{font-family:var(--sans);font-style:normal;font-size:12px;color:var(--rule-2)}
@media (max-width:880px){.twojobs{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.restlist{grid-template-columns:minmax(0,1fr);grid-template-rows:none;
  grid-auto-flow:row;gap:11px}}

/* ---------------- founder ---------------- */
.founder{display:grid;grid-template-columns:132px minmax(0,1fr);gap:0 34px;align-items:start}
.avatar{width:132px;height:132px;border-radius:3px;background:var(--primary);
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);
  font-size:44px;color:var(--gold-lit);font-weight:600;letter-spacing:-.02em}
.founder p{max-width:62ch}
@media (max-width:660px){.founder{grid-template-columns:minmax(0,1fr);gap:20px}}

/* ---------------- offer ---------------- */
.offer{background:var(--deep-2);border-radius:5px;padding:48px 46px 50px;
  box-shadow:var(--lift-deep);position:relative;overflow:hidden}
.offer::before{content:"";position:absolute;inset:auto -20% -70% 20%;height:150%;
  background:radial-gradient(closest-side,rgba(201,162,39,.18),transparent 72%);pointer-events:none}
.offer > *{position:relative}
.offer h2{font-size:clamp(30px,3.8vw,42px);color:#fff;margin:0 0 16px;max-width:16ch}
.offer p{color:var(--on-deep);max-width:56ch}
.offer .price{font-family:var(--serif);font-size:66px;font-weight:600;letter-spacing:-.035em;
  color:var(--gold-lit);margin:20px 0 4px;line-height:1;font-variant-numeric:tabular-nums}
.offer ul{list-style:none;margin:22px 0 30px;padding:0;display:flex;flex-direction:column;
  gap:11px;max-width:58ch}
.offer li{position:relative;padding-left:26px;color:#DCE5EC;font-size:15.5px;line-height:1.55}
.offer li::before{content:"";position:absolute;left:0;top:.66em;width:12px;height:2px;background:var(--gold)}
.offer .fine{font-size:14.5px;color:var(--on-deep-2);margin:22px 0 0}
@media (max-width:640px){.offer{padding:34px 26px 36px}}

/* ---------------- pricing ---------------- */
.rowlbl{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink);margin:0 0 13px;display:flex;align-items:center;gap:11px}
.rowlbl::before{content:"";width:10px;height:10px;background:var(--gold);border-radius:2px;flex:none}
.deep .rowlbl{color:#fff}
.prices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--deep-line);border:1px solid var(--deep-line);border-radius:4px;overflow:hidden}
.pc{background:var(--deep-3);padding:46px 20px 24px;position:relative;
  display:flex;flex-direction:column;justify-content:flex-end;transition:background .24s}
.pc:hover{background:#1B3149}
.pc::before{content:attr(data-step);position:absolute;top:15px;left:20px;font-family:var(--sans);
  font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#7288A0}
.pc::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold);opacity:.18}
.pc:nth-child(2)::after{opacity:.42}.pc:nth-child(3)::after{opacity:.7}.pc:nth-child(4)::after{opacity:1}
.pc b{font-family:var(--serif);font-size:36px;font-weight:600;letter-spacing:-.028em;color:#fff;
  font-variant-numeric:tabular-nums;line-height:1.06}
.pc span{font-size:13.5px;line-height:1.5;color:var(--on-deep-2);margin-top:9px}
@media (max-width:760px){.prices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.prices{grid-template-columns:minmax(0,1fr)}}
.cmpsplit{margin-top:44px;padding-top:26px;border-top:1px solid var(--deep-line)}
.cmpsplit .rowlbl{color:var(--on-deep)}
.cmpsplit .rowlbl::before{background:var(--deep-line)}
.rowsub{font-size:14.5px;color:var(--on-deep-2);margin:0;max-width:70ch}
.threeway{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  background:var(--deep-line);border:1px solid var(--deep-line);border-radius:4px;
  overflow:hidden;margin:16px 0 26px}
.tw{background:var(--deep-3);padding:22px 20px}
.tw.win{background:#1A3A5C}
.tw .h{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:#7288A0;margin:0 0 12px}
.tw.win .h{color:var(--gold-lit)}
.tw .v{font-family:var(--serif);font-size:30px;font-weight:600;letter-spacing:-.024em;color:#fff;
  margin:0;font-variant-numeric:tabular-nums;line-height:1.05}
.tw .l{font-size:14px;line-height:1.5;color:var(--on-deep-2);margin:11px 0 0}
@media (max-width:760px){.threeway{grid-template-columns:minmax(0,1fr)}}

/* ---------------- faq ---------------- */
.qa{border-top:1px solid var(--rule);max-width:74ch}
.q{padding:30px 0;border-bottom:1px solid var(--rule)}
.q h3{font-family:var(--serif);font-size:25px;font-weight:400;font-style:italic;
  color:var(--primary);margin:0 0 14px;letter-spacing:-.01em;line-height:1.25}
.q p{margin:0 0 13px;font-size:16.5px;line-height:1.62;color:var(--ink-2)}
.q p:last-child{margin-bottom:0}

/* ---------------- free ---------------- */
.urgent{display:inline-flex;align-items:baseline;gap:9px;padding:9px 16px;background:var(--gold-wash);
  border:1px solid var(--gold);border-radius:2px;font-size:15px;color:var(--ink);margin-bottom:22px}
.urgent b{font-family:var(--sans);color:var(--gold-ink);font-variant-numeric:tabular-nums}

/* ---------------- close ---------------- */
.close{background:var(--deep);color:#fff;position:relative;overflow:hidden}
.close::before{content:"";position:absolute;inset:auto -10% -60% -10%;height:130%;
  background:radial-gradient(46% 60% at 50% 100%,rgba(201,162,39,.17),transparent 72%);
  pointer-events:none}
.close .wrap{position:relative;padding:88px 34px 96px;text-align:center}
.close .lbl{text-align:center}
.close h2{font-size:clamp(33px,4.6vw,54px);color:#fff;margin:0 auto 20px;max-width:17ch}
.close p{font-size:18.5px;color:var(--on-deep);max-width:56ch;margin:0 auto 30px;line-height:1.58}
.close .cta{justify-content:center}
.close .fine{font-size:14.5px;color:var(--on-deep-2);margin:26px 0 0}

footer{background:var(--deep);border-top:1px solid var(--deep-line);padding:30px 0;
  color:#5F7284;font-size:14px}
.fbar{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.fbar .sp{margin-left:auto;font-family:var(--sans);font-size:12px}

@media (max-width:680px){
  .appbody,.app.wide .appbody{grid-template-columns:minmax(0,1fr)}
  .side,.app.wide .side{min-height:0;border-right:0;border-bottom:1px solid #E3E8ED;
    flex-direction:row;align-items:center;gap:12px;padding:10px 14px;overflow:hidden}
  .sidelogo{border-bottom:0;margin:0;padding:0;flex:none}
  .sidelogo b{font-size:15px}
  .nav{flex-direction:row;gap:3px;overflow:hidden;flex:1;min-width:0}
  .nv{padding:5px 8px;font-size:10.5px;white-space:nowrap}
  .nv svg{display:none}
  .nv.on::before{display:none}
  .nv .badge,.sideuser,.recent{display:none}
  .apptop{flex-wrap:wrap;gap:8px}
  .apptool{gap:7px}
  .search{min-width:0;max-width:none;flex:1 0 100%}
  .toolcount{margin-left:0}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  .js .rv{opacity:1;transform:none}
  .ui.tilt{opacity:1;transform:none}
  .claim u{background-size:100% 1.5px}
  .claim sup{opacity:1}
}
/* ================= subpage components (new design) ================= */
section.headband{background:var(--paper);border-bottom:1px solid var(--rule)}
.pagehead{padding-top:52px;padding-bottom:34px}
.pagehead .eyebrow{margin-bottom:16px}
section.headband + .wrap{padding-top:42px}
section.headband + .wrap > *:first-child{margin-top:0}
.eyebrow{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-ink);margin:0 0 18px;text-wrap:balance;line-height:1.5}
h1.pt{font-family:var(--serif);font-size:clamp(36px,5.2vw,58px);line-height:1.05;
  letter-spacing:-.024em;max-width:19ch;font-weight:600}
.measure{max-width:1200px;margin:0 auto;padding-left:34px;padding-right:34px}
.measure > *{max-width:720px}
.measure > .tblwrap,.measure > .cards,.measure > .steps,.measure > .pricegrid,
.measure > .gloss,.measure > .qa,.measure > .callout,.measure > .claimlist{max-width:948px}
.measure-wide > *{max-width:948px}
h2.sec{font-family:var(--serif);font-size:clamp(27px,3.4vw,37px);line-height:1.14;
  margin:46px 0 18px;font-weight:600;letter-spacing:-.02em}
.measure > h2.sec:first-child{margin-top:0}
h3.sub{font-family:var(--serif);font-size:21px;margin:32px 0 8px;font-weight:600;line-height:1.24}
.pull{font-family:var(--serif);font-size:clamp(20px,2.5vw,27px);line-height:1.36;font-weight:500;
  letter-spacing:-.016em;color:var(--primary);max-width:42ch;margin:32px 0;
  padding-left:22px;border-left:2px solid var(--gold)}
.band.deep .pull{color:#fff}
ul.ticks{list-style:none;margin:6px 0 22px;padding:0;display:flex;flex-direction:column;gap:11px;max-width:66ch}
ul.ticks li{position:relative;padding-left:26px;line-height:1.62}
ul.ticks li::before{content:"";position:absolute;left:0;top:.66em;width:12px;height:2px;background:var(--gold)}
ol.steps-n{margin:6px 0 22px;padding-left:22px;max-width:66ch}
ol.steps-n li{margin-bottom:13px;line-height:1.62;padding-left:6px}
ol.steps-n li::marker{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--gold-ink)}
.callout{background:var(--paper);border:1px solid var(--rule-2);border-left:3px solid var(--gold);
  border-radius:3px;padding:22px 24px;margin:26px 0}
.callout .ct{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--gold-ink);margin-bottom:9px}
.callout p{margin:0;max-width:66ch}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:16px;margin:12px 0 8px}
.card{display:flex;flex-direction:column;gap:9px;padding:24px 22px;background:var(--white);
  border:1px solid var(--rule);border-radius:4px;text-decoration:none;color:var(--ink);
  position:relative;overflow:hidden;
  transition:transform .24s cubic-bezier(.2,.7,.3,1),box-shadow .24s,border-color .24s}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.2,.7,.3,1)}
.card:hover{transform:translateY(-4px);box-shadow:var(--lift);border-color:var(--rule-2);color:var(--ink)}
.card:hover::before{transform:scaleX(1)}
.card .ct{font-family:var(--serif);font-size:21px;line-height:1.25;color:var(--ink);font-weight:600}
.card p{font-size:15.5px;color:var(--ink-2);margin:0;line-height:1.58;flex:1}
.card .more{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-ink)}
.tblwrap{overflow-x:auto;border:1px solid var(--rule);border-radius:4px;background:var(--white);
  box-shadow:var(--lift)}
.tblwrap.plain{margin:14px 0 8px}
table{border-collapse:collapse;width:100%;font-size:15.5px}
table.cmp{min-width:620px;table-layout:fixed}
thead th{background:var(--primary);text-align:left;font-family:var(--sans);font-weight:600;
  font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;color:#fff;padding:13px 16px;white-space:nowrap}
tbody td{padding:13px 16px;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.5}
tbody tr:last-child td{border-bottom:0}
table.cmp tbody tr:nth-child(even) td{background:var(--paper)}
table.cmp tbody td:first-child{color:var(--slate)}
table.cmp b{color:var(--primary)}
.pricegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:4px;overflow:hidden;margin:12px 0 8px}
.pricecell{background:var(--white);padding:26px 22px}
.pricecell.lead{background:var(--wash);margin:0;max-width:none;
  font-size:inherit;line-height:inherit;color:inherit}
.pricecell.gold{background:var(--gold-wash)}
.pricecell .p{font-family:var(--serif);font-size:34px;color:var(--ink);font-weight:600;
  letter-spacing:-.028em;font-variant-numeric:tabular-nums;line-height:1.1}
.pricecell .l{font-size:14.5px;color:var(--ink-2);margin-top:9px;line-height:1.5}
.pricegrid.big .pricecell{padding:30px 24px}
.pricegrid.big .p{font-size:44px}
.qa{border-top:1px solid var(--rule);margin-top:14px;max-width:74ch}
.qa .q{padding:28px 0;border-bottom:1px solid var(--rule)}
.qa .q h3{font-family:var(--serif);font-size:24px;font-weight:400;font-style:italic;
  color:var(--primary);margin:0 0 12px;line-height:1.26}
.qa .q p{margin:0 0 12px;font-size:16.5px;line-height:1.62;color:var(--ink-2)}
.qa .q p:last-child{margin-bottom:0}
dl.gloss{margin:14px 0 0;border-top:1px solid var(--rule);max-width:74ch}
dl.gloss dt{font-family:var(--serif);font-weight:600;padding-top:20px;color:var(--ink);font-size:18px}
dl.gloss dd{margin:6px 0 20px;padding-bottom:20px;border-bottom:1px solid var(--rule);
  color:var(--ink-2);max-width:70ch;line-height:1.62}
.claimlist{list-style:none;margin:0;padding:0}
.claimlist li{border-top:1px solid var(--rule)}
.claimlist li:last-child{border-bottom:1px solid var(--rule)}
.claimrow{width:100%;text-align:left;background:none;border:0;padding:18px 0;cursor:pointer;
  font:inherit;color:var(--ink);display:flex;gap:15px;align-items:baseline}
.claimrow:hover .ctext{color:var(--primary-2)}
.ctext{flex:1;font-size:17px}
.chev{color:var(--rule-2);font-size:14px;transition:transform .2s ease}
.claimrow[aria-expanded="true"] .chev{transform:rotate(90deg);color:var(--gold-ink)}
.source{display:none;padding:0 0 22px}
.source.open{display:block}
.source .body{border-left:2px solid var(--gold);padding:3px 0 3px 18px;font-size:15px;
  color:var(--ink-2);max-width:58ch;line-height:1.62}
.source .body strong{color:var(--ink);font-weight:600}
.offer h2{font-family:var(--serif)}
.band.deep .offer{padding:14px 0;background:none;box-shadow:none;border-radius:0}
.band.deep .offer::before{display:none}
.offer h2{color:#fff;font-size:clamp(29px,3.7vw,40px);line-height:1.14;margin:0 0 18px}
.offer p{color:var(--on-deep);max-width:58ch}
.offer .price{font-family:var(--serif);font-size:58px;line-height:1;color:var(--gold-lit);
  font-weight:600;letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin:6px 0 4px}
.offer ul{list-style:none;margin:22px 0 28px;padding:0;display:flex;flex-direction:column;gap:11px;max-width:58ch}
.offer li{position:relative;padding-left:26px;color:#DCE5EC;font-size:15.5px;line-height:1.58}
.offer li::before{content:"";position:absolute;left:0;top:.66em;width:12px;height:2px;background:var(--gold)}
.offer li b{color:#fff}
.offer .fine{font-size:14.5px;color:var(--on-deep-2);margin:20px 0 0}
.band.deep{background:var(--deep-2)}
.band.deep h2,.band.deep h3{color:#fff}
.band.deep p{color:var(--on-deep)}
.btn.ghost-light{background:transparent;color:#E6D9AE;border-color:#3A4753}
.btn.ghost-light:hover{background:rgba(255,255,255,.06);color:#fff;border-color:#5A6976}
.fig{background:var(--white);border:1px solid var(--rule);border-radius:4px;padding:26px 24px 20px;
  box-shadow:var(--lift);margin:8px 0 0;min-width:0}
.fig svg{display:block;width:100%;max-width:100%;height:auto;color:var(--ink)}
.fig figcaption{margin-top:18px;padding-top:16px;border-top:1px solid var(--rule);
  font-size:14.5px;color:var(--ink-2);line-height:1.58;max-width:76ch}
.figscroll{overflow-x:auto;min-width:0;-webkit-overflow-scrolling:touch}
.figscroll > svg{min-width:640px}
.item{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 28px}
.item .num{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--gold-ink);padding-top:.5em;letter-spacing:.06em}
.stack{display:flex;flex-direction:column;gap:34px}
@media (max-width:700px){.item{grid-template-columns:minmax(0,1fr);gap:5px}}
.steps{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:4px;overflow:hidden}
.step{display:block;background:var(--white);padding:26px 26px 28px;position:relative}
.step::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold);opacity:.2}
.step:nth-child(2)::after{opacity:.45}.step:nth-child(3)::after{opacity:.7}.step:nth-child(4)::after{opacity:1}
.step .n{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--gold-ink);
  letter-spacing:.1em;display:block;margin-bottom:9px}
.step h3.sub{margin-top:0;font-size:20px;line-height:1.24}
.step p{font-size:15.5px;line-height:1.58;color:var(--ink-2);margin:11px 0 0}
@media (max-width:760px){.steps{grid-template-columns:minmax(0,1fr)}}
.note{font-size:15px;line-height:1.6;color:var(--ink-2);max-width:72ch;margin:22px 0 0}
.crumb{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--slate);margin:0 0 16px}
.crumb a{color:var(--slate)}
/* deadline list app */
.listhead{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.count{font-family:var(--sans);font-size:13px;color:var(--slate);font-variant-numeric:tabular-nums;margin-left:auto}
.filters{display:flex;gap:10px;flex-wrap:wrap;padding:16px;background:var(--white);
  border:1px solid var(--rule);border-radius:4px;margin-bottom:18px;box-shadow:var(--lift)}
.filters input,.filters select{font:inherit;font-family:var(--sans);font-size:15px;padding:9px 11px;
  border-radius:4px;border:1px solid var(--rule-2);background:var(--white);color:var(--ink)}
.filters input{flex:1 1 220px;min-width:0}
table.list{min-width:860px;table-layout:fixed}
table.list tbody tr.prog{cursor:pointer}
tr.detail > td{background:var(--paper);padding:14px 18px 16px}
.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));
  background:var(--white);border:1px solid var(--rule);border-radius:4px;overflow:hidden}
.dgrid > div{padding:12px 14px;font-size:14px;box-shadow:0 0 0 .5px var(--rule);
  color:var(--ink-2);line-height:1.5;overflow-wrap:anywhere}
.dgrid span{display:block;font-family:var(--sans);font-size:8.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:#9AA7B2;margin-bottom:5px}
table.list tbody tr.prog:hover td{background:var(--paper)}
td.nm{font-weight:500}
td.nm > a{display:inline-block;padding:6px 0;min-height:30px}
td.nm .org{display:block;font-size:13.5px;color:var(--slate);font-weight:400;margin-top:3px}
td.dt{font-family:var(--sans);font-size:13.5px;font-variant-numeric:tabular-nums;
  white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.pill{display:inline-block;font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;padding:4px 9px;border-radius:3px;border:1px solid var(--rule-2);
  color:var(--slate);white-space:nowrap}
.pill.open{color:var(--deep);border-color:var(--gold);background:var(--gold)}
.empty{padding:48px 20px;text-align:center;color:var(--slate)}
.tools{display:flex;gap:11px;flex-wrap:wrap;align-items:center;margin-top:18px}
.toast{font-family:var(--sans);font-size:14px;color:var(--primary-2)}
.progmeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:4px;overflow:hidden;margin:10px 0 26px}
.progmeta div{background:var(--white);padding:18px 20px;font-size:15px}
.progmeta span{display:block;font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--slate);margin-bottom:5px}
.urgentstrip{background:var(--gold-wash);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);
  padding:12px 34px;text-align:center;font-size:15.5px;color:var(--ink)}
.urgentstrip b{font-family:var(--sans);font-weight:700;color:var(--gold-ink);font-variant-numeric:tabular-nums}
.urgentstrip a{color:var(--primary-2)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.alertbox{margin:30px 0 8px;background:var(--white);border:1px solid var(--rule-2);border-radius:4px;
  box-shadow:var(--lift);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);
  gap:0 34px;padding:26px 28px;align-items:start}
.alertbox h3{font-family:var(--serif);font-size:21px;font-weight:600;margin:0 0 8px}
.alertbox p{font-size:15.5px;color:var(--slate);line-height:1.58;margin:0;max-width:52ch}
.alertform{display:flex;flex-direction:column;gap:9px}
.alertform input,.alertform select{font-family:var(--sans);font-size:15px;padding:10px 12px;
  border:1px solid var(--rule-2);border-radius:4px;background:var(--white);color:var(--ink);width:100%}
.alertform .btn{text-align:center;cursor:pointer}
.alertform .fnote{font-size:13.5px;color:var(--slate);margin-top:2px;line-height:1.5}
@media (max-width:820px){.alertbox{grid-template-columns:minmax(0,1fr);gap:20px}}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
@media (max-width:840px){.vs{grid-template-columns:minmax(0,1fr)}}
.panel{border:1px solid var(--rule);border-radius:4px;background:var(--white);
  display:flex;flex-direction:column;box-shadow:var(--lift)}
.panel.good{border-color:var(--primary);box-shadow:var(--lift)}
.panel .ph{padding:12px 20px;border-bottom:1px solid var(--rule);font-family:var(--sans);
  font-size:10.5px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;
  color:var(--slate);background:var(--paper-2)}
.panel.good .ph{color:#fff;background:var(--primary)}
.panel .pb{padding:22px 20px;flex:1}
.panel .quote{font-family:var(--serif);font-size:20px;line-height:1.5;color:var(--ink);margin:0;font-weight:500}
.panel .verdict{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--rule);
  font-size:14.5px;color:var(--slate);line-height:1.58}
.illus{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--slate);margin:14px 0 0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(152px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:4px;overflow:hidden;margin:8px 0 36px}
.stat2{background:var(--white);padding:24px 22px}
.stats .stat{background:var(--white);padding:24px 22px;display:block;border-radius:0}
.stats .stat::before{display:none}
.stats .stat .v{font-family:var(--serif);font-size:44px;line-height:1;color:var(--primary);
  font-weight:600;letter-spacing:-.032em;font-variant-numeric:tabular-nums}
.stats .stat .v.zero{color:var(--gold-ink)}
.stats .stat .k{font-size:14.5px;color:var(--ink-2);margin-top:9px;line-height:1.45}
.crow{display:grid;grid-template-columns:142px minmax(0,1fr) 104px;gap:0 16px;align-items:center;padding:9px 0}
.crow .cl{font-size:15px;color:var(--ink)}
.crow .cl small{display:block;color:var(--slate);font-size:13px;font-variant-numeric:tabular-nums}
.crow .ct{font-family:var(--sans);font-size:13px;color:var(--slate);text-align:right;
  font-variant-numeric:tabular-nums;white-space:nowrap;text-transform:none;letter-spacing:0;font-weight:400}
.bar2{display:flex;height:26px;border-radius:4px;overflow:hidden;background:var(--paper-2)}
.bar{display:flex;height:26px;border-radius:4px;overflow:hidden;background:var(--paper-2)}
.seg{position:relative;display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 1px var(--white) inset}
.seg span{font-family:var(--sans);font-size:12.5px;font-variant-numeric:tabular-nums}
.seg.s1{background:#A9BDD1}.seg.s1 span{color:var(--ink)}
.seg.s2{background:#3D6A96}.seg.s2 span{color:#fff}
.seg.s3{background:var(--primary)}.seg.s3 span{color:#fff}
.legend{display:flex;gap:22px;flex-wrap:wrap;margin-top:14px;font-size:14px;color:var(--slate);align-items:center}
.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:7px;vertical-align:-1px}
.founder{display:grid;grid-template-columns:132px minmax(0,1fr);gap:0 34px;align-items:start}
.mono-avatar{width:132px;height:132px;border-radius:3px;background:var(--primary);
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);
  font-size:44px;color:var(--gold-lit);font-weight:600}
.founder.noav{grid-template-columns:minmax(0,1fr)}
@media (max-width:660px){.founder{grid-template-columns:minmax(0,1fr);gap:20px}}
.rowlbl2{font-family:var(--sans)}
.cmpsplit{margin-top:44px;padding-top:26px;border-top:1px solid var(--rule-2)}
.cmpsplit .rowlbl{color:var(--slate)}
.cmpsplit .rowlbl::before{background:var(--rule-2)}
.rowsub{font-size:14.5px;color:var(--slate);margin:0;max-width:74ch}
.tw-col{background:var(--white);padding:22px 20px}
.tw-col.win{background:var(--wash)}
.tw-h{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--slate);margin:0 0 12px}
.tw-col.win .tw-h{color:var(--primary)}
.tw-v{font-family:var(--serif);font-size:29px;font-weight:600;letter-spacing:-.026em;
  line-height:1.05;color:var(--ink);margin:0;font-variant-numeric:tabular-nums}
.tw-col.win .tw-v{color:var(--primary)}
.tw-l{font-size:14.5px;line-height:1.5;color:var(--ink-2);margin:10px 0 0}
.joblist{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:1px;background:var(--rule);
  border:1px solid var(--rule);border-radius:4px;overflow:hidden;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:720px){.joblist{grid-template-columns:minmax(0,1fr)}}
.joblist li{background:var(--white);padding:13px 16px;font-size:15px;line-height:1.45;
  display:flex;gap:12px;align-items:baseline;color:var(--ink)}
.joblist .jn{font-family:var(--sans);font-size:13px;color:var(--slate);flex:none;font-variant-numeric:tabular-nums}
.joblist li.mine{background:var(--gold-wash)}
.joblist li.mine b{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--deep);background:var(--gold);border-radius:3px;
  padding:2px 7px;margin-left:auto;white-space:nowrap;align-self:center}
.yours{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--deep);background:var(--gold);border-radius:3px;
  padding:2px 7px;white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;z-index:60;background:var(--ink);color:#fff;
  padding:12px 18px;border-radius:0 0 3px 0;font-size:15px;text-decoration:none}
.skip:focus{left:0}
.view{display:none}
.view.on{display:block}
.tintblock{background:var(--paper);border:1px solid var(--rule);border-radius:4px;padding:26px 28px;margin:26px 0}
.tintblock > *:first-child{margin-top:0}
.tintblock > *:last-child{margin-bottom:0}
.reveal{opacity:0;transform:translateY(18px);
  transition:opacity .75s cubic-bezier(.2,.7,.3,1),transform .75s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
footer.site{border-top:1px solid var(--deep-line);background:var(--deep);padding-top:52px;padding-bottom:40px}
.sitemap{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:30px;margin-bottom:36px}
.sitemap h4{font-family:var(--sans);font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;
  color:var(--gold-lit);margin:0 0 13px;font-weight:600}
.sitemap ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.sitemap a{font-size:15px;color:var(--on-deep-2);text-decoration:none;display:inline-block;padding:4px 0}
.sitemap a:hover{color:#fff;text-decoration:underline}
.foot{display:flex;gap:26px;flex-wrap:wrap;align-items:center;font-size:14.5px;color:var(--on-deep-2);
  border-top:1px solid var(--deep-line);padding-top:26px}
.foot .sp{margin-left:auto}
.footmark{display:flex;align-items:center;gap:4.5px;margin-bottom:8px}
.footmark svg{width:21.6px;height:15px}
.footmark b{font-family:var(--serif);font-weight:600;font-size:23px;letter-spacing:-.022em;color:#fff}

/* mobile action bar */
.stickybar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
  background:var(--white);border-top:1px solid var(--rule-2);
  box-shadow:0 -6px 26px -16px rgba(12,24,38,.55);
  padding:11px 16px calc(11px + env(safe-area-inset-bottom));
  align-items:center;gap:14px;transform:translateY(115%);transition:transform .22s ease}
.stickybar.on{transform:translateY(0)}
.stickybar .sp{flex:1;min-width:0;line-height:1.3}
.stickybar .sp b{display:block;font-family:var(--sans);font-size:15px;font-weight:600;color:var(--ink)}
.stickybar .sp i{display:block;font-style:normal;font-size:13.5px;color:var(--slate);margin-top:3px}
.stickybar .btn{flex:none;align-self:center;padding:11px 20px;font-size:15px;white-space:nowrap}
@media (max-width:860px){.stickybar{display:flex}}
/* the fixed bar is 71px tall, so the page needs room to end above it */
@media (max-width:860px){footer.site{padding-bottom:92px}}
@media (prefers-reduced-motion:reduce){.stickybar{transition:none}}
/* deadline page head spacing */
#v-deadlines .wrap:first-child{padding-top:56px}
.spec-h,.specimen,.spec-zone,.spec-div,.spec-score{display:none}

/* ---------- how it works walkthrough ---------- */
.walk{display:flex;flex-direction:column;gap:0;margin-top:18px;max-width:948px}
.wstep{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 26px;
  padding:34px 0 20px;border-top:1px solid var(--rule)}
.walk > .wstep:first-child{border-top:0;padding-top:8px}
.wnum{font-family:var(--serif);font-size:34px;font-weight:600;color:var(--gold-ink);
  line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;padding-top:2px}
.wbody h3{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.22;
  letter-spacing:-.02em;margin:0 0 10px}
.wbody p{font-size:16.5px;line-height:1.62;color:var(--ink-2);margin:0;max-width:64ch}
.wshot{padding:6px 0 34px 90px}
.wshot .appcap{margin-top:13px;font-size:13.5px;color:var(--slate)}
@media (max-width:900px){
  .wstep{grid-template-columns:44px minmax(0,1fr);gap:0 16px}
  .wnum{font-size:26px}
  .wshot{padding-left:0}
}

/* homepage offer card, two columns */
.band.tint .offer{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);
  gap:0 46px;align-items:start;padding:44px 46px 46px}
.band.tint .offer .oleft h2{margin-top:0}
.band.tint .offer .oright{background:rgba(255,255,255,.05);border:1px solid var(--deep-line);
  border-radius:4px;padding:26px 26px 28px;text-align:center}
.band.tint .offer .oright .price{margin:0 0 4px;font-size:60px}
.band.tint .offer .oright .plab{font-family:var(--sans);font-size:10.5px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lit);margin:0 0 18px}
.band.tint .offer .oright .btn{width:100%;margin-top:4px}
.band.tint .offer .oright .fine{margin:16px 0 0;font-size:13.5px;text-align:left}
.band.tint .offer ul{margin-bottom:0}
@media (max-width:900px){
  .band.tint .offer{grid-template-columns:minmax(0,1fr);gap:28px;padding:34px 26px 36px}
}

/* evidence panel inside a document shell */
.evdoc .evid{max-width:none;border:0;border-radius:0;box-shadow:none;
  border-top:1px solid var(--rule);margin-top:2px}
.evdoc .ev-miss{grid-column:1/-1;border-top:1px solid var(--rule)}
.evdoc .ev-col{padding:22px 24px 24px}
.evdoc .ev-miss{padding:20px 24px 22px}

/* final bundle cover */
.cover .coverbody{padding:30px 30px 26px}
.covertitle{font-family:var(--serif);font-size:clamp(30px,3.6vw,42px);font-weight:600;
  letter-spacing:-.024em;line-height:1.1;color:var(--ink);margin:0 0 9px}
.coversub{font-size:15.5px;color:var(--ink-2);margin:0 0 24px}
.covermeta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:4px;overflow:hidden;margin:0 0 28px}
.covermeta div{background:var(--paper);padding:14px 16px;font-size:15px;color:var(--ink)}
.covermeta span{display:block;font-family:var(--sans);font-size:9px;font-weight:600;
  letter-spacing:.17em;text-transform:uppercase;color:var(--slate);margin-bottom:5px}
.tochead{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--slate);margin:0 0 4px}
.toc{display:flex;flex-direction:column}
.tocrow{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--rule)}
.tocrow:last-child{border-bottom:0}
.toct{font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tocrow::after{content:"";flex:1;order:2;border-bottom:1px dotted var(--rule-2);
  transform:translateY(-4px);min-width:20px}
.tocp{font-family:var(--sans);font-size:13.5px;color:var(--slate);
  font-variant-numeric:tabular-nums;flex:none;order:3}
.tocrow .toct{order:1}
@media (max-width:820px){.covermeta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cover .coverbody{padding:22px 18px 20px}}

.tocpart{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-ink);margin:0 0 6px;
  display:flex;align-items:center;gap:11px}
.tocpart::after{content:"";flex:1;border-bottom:1px solid var(--rule)}
.tocpart.later{margin-top:22px;color:var(--slate)}
.tocpart.later::after{border-color:var(--rule)}
.attlist{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--rule);
  border-radius:4px;overflow:hidden}
.attrow{display:grid;grid-template-columns:30px minmax(0,1fr) 92px;gap:0 12px;align-items:center;
  padding:9px 14px;border-bottom:1px solid var(--rule)}
.attrow:last-child{border-bottom:0}
.attn{font-family:var(--sans);font-size:11px;font-weight:600;color:var(--gold-ink);
  font-variant-numeric:tabular-nums}
.attf{font-family:var(--mono);font-size:12px;color:var(--ink);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.atte{font-size:11.5px;color:var(--slate);justify-self:end;white-space:nowrap}
.attnote{font-size:13.5px;line-height:1.55;color:var(--ink-2);margin:11px 0 0;max-width:66ch}
@media (max-width:640px){.attrow{grid-template-columns:24px minmax(0,1fr);gap:0 9px}.atte{display:none}}

.inboxblock{margin-top:8px}
.inboxblock > *{max-width:none}
.inboxblock .lead{max-width:58ch}

/* ---------- subpage hero ---------- */
.subhero{position:relative;background:var(--deep);color:#fff;overflow:hidden;
  border-bottom:1px solid var(--deep-line)}
.subhero::before{content:"";position:absolute;inset:-40% -10% auto -10%;height:140%;
  background:radial-gradient(52% 54% at 78% 30%,rgba(201,162,39,.15),transparent 70%),
             radial-gradient(46% 46% at 8% 8%,rgba(32,82,127,.32),transparent 72%);
  pointer-events:none}
.subhero .wrap{position:relative;padding-top:64px;padding-bottom:58px}
.subhero .lbl{color:var(--gold-lit);margin-bottom:16px}
.subhero h1{font-family:var(--serif);font-size:clamp(38px,5.4vw,62px);font-weight:600;
  line-height:1.04;letter-spacing:-.026em;color:#fff;margin:0 0 20px;max-width:17ch}
.subhero-lede{font-size:19px;line-height:1.6;color:var(--on-deep);max-width:58ch;margin:0}
@media (max-width:640px){.subhero .wrap{padding-top:44px;padding-bottom:42px}}
/* section rhythm on subpages */
#v-how .band{padding:74px 0}
#v-how .band.pale{background:var(--white)}
#v-how .band.tint{background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
#v-how .band.deep{background:var(--deep-2)}
#v-how .band.deep .measure > *{color:var(--on-deep)}
#v-how .band.deep h2.sec,#v-how .band.deep h3.sub{color:#fff}
#v-how .band.deep .lead{color:var(--on-deep)}
#v-how .band.deep .callout{background:rgba(255,255,255,.04);border-color:var(--deep-line);
  border-left-color:var(--gold)}
#v-how .band.deep .callout p{color:var(--on-deep)}
#v-how .band.deep .callout .ct{color:var(--gold-lit)}
#v-how .band.deep ul.ticks li{color:var(--on-deep)}
#v-how .band.deep .tblwrap{background:var(--deep-3);border-color:var(--deep-line)}
#v-how .band.deep tbody td{border-bottom-color:var(--deep-line);color:var(--on-deep)}
#v-how .band.deep table.cmp tbody tr:nth-child(even) td{background:rgba(255,255,255,.03)}
#v-how .band .measure > h2.sec:first-child{margin-top:0}

.measure > .inboxblock{max-width:952px}



/* banded subpages */
.view .band{padding:66px 0}
.view .band.pale{background:var(--white)}
.view .band.tint{background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.view .band.deep{background:var(--deep-2)}
.view .band + .band.tint{border-top:0}
.view .band .measure > h2.sec:first-child,
.view .band .measure-wide > h2.sec:first-child{margin-top:0}
.view .band.deep h2.sec,.view .band.deep h3.sub,.view .band.deep dl.gloss dt{color:#fff}
.view .band.deep p,.view .band.deep .lead,.view .band.deep li,
.view .band.deep dl.gloss dd,.view .band.deep .note,.view .band.deep .rowsub{color:var(--on-deep)}
.view .band.deep a{color:var(--gold-lit)}
.view .band.deep .callout{background:rgba(255,255,255,.04);border-color:var(--deep-line);border-left-color:var(--gold)}
.view .band.deep .callout .ct{color:var(--gold-lit)}
.view .band.deep .tblwrap{background:var(--deep-3);border-color:var(--deep-line);box-shadow:none}
.view .band.deep tbody td{border-bottom-color:var(--deep-line);color:var(--on-deep)}
.view .band.deep table.cmp tbody tr:nth-child(even) td{background:rgba(255,255,255,.03)}
.view .band.deep table.cmp tbody td:first-child{color:var(--on-deep-2)}
.view .band.deep table.cmp b{color:var(--gold-lit)}
.view .band.deep .card{background:var(--deep-3);border-color:var(--deep-line);color:#fff}
.view .band.deep .card .ct{color:#fff}
.view .band.deep .card p{color:var(--on-deep)}
.view .band.deep .qa,.view .band.deep .qa .q{border-color:var(--deep-line)}
.view .band.deep .qa .q h3{color:var(--gold-lit)}
.view .band.deep dl.gloss,.view .band.deep dl.gloss dd{border-color:var(--deep-line)}
.view .band.deep ul.ticks li{color:var(--on-deep)}
.view .band.deep .pricegrid,.view .band.deep .threeway{background:var(--deep-line);border-color:var(--deep-line)}
.view .band.deep .pricecell,.view .band.deep .tw-col{background:var(--deep-3)}
.view .band.deep .pricecell .p,.view .band.deep .tw-v{color:#fff}
.view .band.deep .pricecell .l,.view .band.deep .tw-l{color:var(--on-deep-2)}
.view .band.deep .pricecell.lead,.view .band.deep .tw-col.win{background:#1A3A5C}
.view .band.deep .rowlbl{color:#fff}
.view .band.deep .panel{background:var(--deep-3);border-color:var(--deep-line)}
.view .band.deep .panel .ph{background:rgba(255,255,255,.05);color:var(--on-deep-2);border-color:var(--deep-line)}
.view .band.deep .panel .quote{color:#fff}
.view .band.deep .panel .verdict{color:var(--on-deep-2);border-color:var(--deep-line)}
.view .band.deep .stats{background:var(--deep-line);border-color:var(--deep-line)}
.view .band.deep .stats .stat{background:var(--deep-3)}
.view .band.deep .stats .stat .v{color:var(--gold-lit)}
.view .band.deep .stats .stat .k{color:var(--on-deep-2)}
.view .band.deep .illus{color:var(--on-deep-2)}
/* ---------- client submission document, three pages ---------- */
.lhset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;
  max-width:952px;margin-top:24px;align-items:start}
.shpg{background:#fff;border:1px solid #D9DEE3;border-radius:2px;overflow:hidden;
  box-shadow:0 1px 2px rgba(12,24,38,.05),0 18px 44px -26px rgba(12,24,38,.45);
  aspect-ratio:1/1.414;display:flex;flex-direction:column;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s}
.shpg:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(12,24,38,.07),0 28px 60px -28px rgba(12,24,38,.6)}

/* shared header + footer */
.pg-head{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:9px 13px 8px;border-bottom:1px solid #E6EAEE;flex:none}
.ph-logo{font-family:var(--sans);font-size:5.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:#9BA7B3;border:1px dashed #CFD7DE;border-radius:2px;padding:4px 8px}
.ph-prog{font-family:var(--sans);font-size:5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:#AAB4BE;text-align:right;line-height:1.4}
.pg-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:7px 13px 8px;border-top:1px solid #E6EAEE;flex:none;
  font-family:var(--sans);font-size:5px;letter-spacing:.06em;color:#A6B0BA}
.pg-body{flex:1;padding:13px 14px;min-height:0;overflow:hidden}

/* cover */
.shpg.pg-cover{border-color:#0E161F;background:#131C25}
.cv-inner{flex:1;min-height:0;display:flex;flex-direction:column;padding:15px 16px 0;
  position:relative;overflow:hidden}
.cv-inner::before{content:"";position:absolute;inset:-40% -30% auto -30%;height:110%;
  background:radial-gradient(50% 46% at 78% 14%,rgba(201,162,39,.13),transparent 68%),
             radial-gradient(46% 44% at 6% 6%,rgba(60,110,168,.2),transparent 70%);
  pointer-events:none}
.cv-inner > *{position:relative}
.cv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex:none}
.cv-logo{font-family:var(--sans);font-size:5.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.6);
  border:1px dashed rgba(255,255,255,.28);border-radius:2px;padding:5px 10px}
.cv-mark{font-family:var(--sans);font-size:4.5px;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(226,192,102,.75);padding-top:4px}
.cv-body{margin-top:auto;flex:none}
.cv-body::before{content:"";display:block;width:30px;height:2px;background:var(--gold);margin-bottom:12px}
.cv-cat{font-family:var(--sans);font-size:5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-lit);margin:0 0 9px}
.cv-title{font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.06;
  letter-spacing:-.028em;color:#fff;margin:0}
.cv-sub{font-family:var(--serif);font-style:italic;font-size:8px;color:rgba(198,212,224,.85);
  margin:10px 0 0}
.cv-meta{flex:none;display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;
  margin:16px 0 15px;padding-top:12px;border-top:1px solid rgba(255,255,255,.13)}
.cv-meta div{font-family:var(--sans);font-size:5.5px;line-height:1.55;color:rgba(226,236,244,.9)}
.cv-meta span{display:block;font-size:4.2px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:3px}
.cv-foot{border-top-color:rgba(255,255,255,.13);color:rgba(255,255,255,.4)}

/* letter */
.lt-date{font-family:var(--sans);font-size:5.5px;letter-spacing:.06em;color:#9BA7B3;margin:0 0 12px}
.lt-to{font-size:6.5px;color:#101B26;margin:0 0 8px;font-weight:600}
.lt-p{font-size:6px;line-height:1.75;color:#33475A;margin:0 0 7px;text-align:justify}
.lt-sign{font-size:6px;color:#33475A;margin:10px 0 0}
.lt-name{margin-top:22px;padding-top:7px;border-top:1px solid #E6EAEE;max-width:64%}
.lt-name b{display:block;font-family:var(--serif);font-size:8px;font-weight:600;color:#101B26}
.lt-name span{display:block;font-family:var(--sans);font-size:5.5px;letter-spacing:.05em;
  color:#7A8794;margin-top:3px}

/* answer page */
.an-lbl{font-family:var(--sans);font-size:5.5px;font-weight:700;letter-spacing:.17em;
  text-transform:uppercase;color:var(--gold-ink);margin:0 0 6px;
  display:flex;align-items:center;gap:7px}
.an-lbl::after{content:"";flex:1;border-bottom:1px solid #EADEB4}
.an-q{font-family:var(--serif);font-style:italic;font-size:7.5px;line-height:1.45;
  color:#1B3550;margin:0 0 9px;padding-left:8px;border-left:2px solid #C8D3DE}
.an-p{font-size:5.7px;line-height:1.7;color:#33475A;margin:0 0 6px;text-align:justify;
  hyphens:auto;-webkit-hyphens:auto}
.an-p.an-open{font-family:var(--serif);font-size:7.5px;line-height:1.4;color:#101B26;
  font-weight:500;text-align:left;hyphens:none;margin-bottom:8px;letter-spacing:-.008em}
.an-out{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#E6EAEE;
  border:1px solid #E6EAEE;margin:9px 0 10px}
.an-out div{background:#FAFBFC;padding:6px 5px;text-align:center}
.an-out b{display:block;font-family:var(--serif);font-size:12px;font-weight:600;color:#1B3550;
  line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.an-out span{display:block;font-family:var(--sans);font-size:4.5px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:#8B98A5;margin-top:4px;line-height:1.4}
.an-fig{margin-top:2px}
.an-img{aspect-ratio:16/4.8;border:1px solid #E1E6EB;border-radius:1px;
  background:linear-gradient(140deg,#D9E0E7,#EFF2F5 46%,#D2DAE2);
  display:flex;align-items:center;justify-content:center;padding:0 8px}
.an-img span{font-family:var(--sans);font-size:5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:#8F9BA7;text-align:center;line-height:1.6}
.an-cap{font-family:var(--serif);font-style:italic;font-size:6px;color:#5F7383;margin:5px 0 0}
.an-cap::first-letter{font-style:normal}

@media (max-width:900px){.lhset{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.lhset{grid-template-columns:minmax(0,1fr);max-width:340px}}

/* bundle cover, compacted */
.measure > .inboxblock{max-width:812px}
.inboxblock .doc.wide{max-width:812px}
.cover .coverbody{padding:22px 24px 20px}
.covertitle{font-size:clamp(25px,2.8vw,32px);margin:0 0 7px}
.coversub{font-size:14px;margin:0 0 18px}
.covermeta{margin:0 0 20px}
.covermeta div{padding:11px 13px;font-size:13.5px}
.covermeta span{font-size:8px;margin-bottom:4px}
.toccols{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;align-items:start}
.toccol .tocpart.later{margin-top:0;color:var(--gold-ink)}
.tocrow{padding:6px 0}
.toct{font-size:13.5px}
.tocp{font-size:12.5px}
.tochead{margin-bottom:8px}
.attlist{margin-top:2px}
.attrow{padding:7px 12px}
.attf{font-size:11.5px}
.atte{font-size:11px}
.attnote{font-size:12.5px;margin-top:9px}
.cover .sb b{font-size:21px}
.cover .sb{padding:11px 8px}
@media (max-width:720px){.toccols{grid-template-columns:1fr;gap:0}
  .toccol .tocpart.later{margin-top:20px}}

/* artefact scale: sit just beyond the 720px text measure, not sprawl past it */
.doc.wide,.app.wide{max-width:828px}
.measure > .inboxblock,.inboxblock .doc.wide{max-width:828px}
.lhset{max-width:880px}
.evdoc{max-width:828px}
.wshot{padding-bottom:44px}
.appcap{margin-top:15px;font-size:13px;max-width:70ch}

@media (min-width:1120px){
  .qstage .phone{right:-22px;bottom:-34px}
  .qstage .qcard{padding-right:176px}
  .qstage .apptool .toolcount{padding-right:170px}
  .qstage .apptop .wc{padding-right:166px}
  .qstage .docfoot{padding-right:180px}
}

/* ================= motion ================= */
/* 01 ledger checks itself */
.mo-ledger.mo-armed .trow.gcols2{opacity:0;transform:translateY(8px)}
.mo-ledger.mo-armed.mo .trow.gcols2{animation:moRow .72s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes moRow{to{opacity:1;transform:none}}
.mo-ledger.mo-armed .stat.mo-real{display:none}
.mo-ledger.mo-armed.mo-done .stat.wait{display:none}
.mo-ledger.mo-armed.mo-done .stat.mo-real{display:inline-flex;
  animation:moFlip .62s cubic-bezier(.2,.7,.3,1) backwards}
@keyframes moFlip{from{opacity:0;transform:translateY(-5px) scale(.94)}to{opacity:1;transform:none}}
.stat.wait{background:#F2F5F7;color:#8B98A5;border:1px solid #E2E8ED}
.stat.wait::before{background:#B6C1CB;animation:moPulse 1s ease-in-out infinite}
@keyframes moPulse{0%,100%{opacity:.4}50%{opacity:1}}
.band.deep .stat.wait{background:rgba(255,255,255,.06);color:var(--on-deep-2);border-color:var(--deep-line)}

/* 03 evidence traces itself */
.evdoc.mo-armed .ev-out .out u{border-bottom:0;
  background-image:linear-gradient(#C7AC63,#C7AC63);background-repeat:no-repeat;
  background-position:0 100%;background-size:0% 1.5px}
.evdoc.mo-armed.mo .ev-out .out u{animation:moDraw .65s cubic-bezier(.3,.8,.4,1) forwards}
.evdoc.mo-armed.mo .ev-out .out u:nth-of-type(1){animation-delay:.45s}
.evdoc.mo-armed.mo .ev-out .out u:nth-of-type(2){animation-delay:.9s}
.evdoc.mo-armed.mo .ev-out .out u:nth-of-type(3){animation-delay:1.35s}
@keyframes moDraw{to{background-size:100% 1.5px}}
.evdoc.mo-armed .ev-out .out sup{opacity:0}
.evdoc.mo-armed.mo .ev-out .out sup{animation:moChip .4s ease forwards}
.evdoc.mo-armed.mo .ev-out .out u:nth-of-type(1) sup{animation-delay:1.0s}
.evdoc.mo-armed.mo .ev-out .out u:nth-of-type(2) sup{animation-delay:1.45s}
.evdoc.mo-armed.mo .ev-out .out u:nth-of-type(3) sup{animation-delay:1.9s}
@keyframes moChip{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.evdoc.mo-armed.mo .frag{animation:moLit .85s ease forwards}
.evdoc.mo-armed.mo .frag:nth-of-type(2){animation-delay:.3s}
.evdoc.mo-armed.mo .frag:nth-of-type(3){animation-delay:.75s}
.evdoc.mo-armed.mo .frag:nth-of-type(4){animation-delay:1.2s}
@keyframes moLit{0%{border-left-color:var(--rule-2)}28%{border-left-color:var(--gold)}
  100%{border-left-color:var(--rule-2)}}
.evdoc.mo-armed.mo .fid{animation:moPop .6s ease forwards}
.evdoc.mo-armed.mo .frag:nth-of-type(2) .fid{animation-delay:.35s}
.evdoc.mo-armed.mo .frag:nth-of-type(3) .fid{animation-delay:.8s}
.evdoc.mo-armed.mo .frag:nth-of-type(4) .fid{animation-delay:1.25s}
@keyframes moPop{0%{transform:scale(1)}40%{transform:scale(1.2);background:var(--gold);color:var(--deep)}
  100%{transform:scale(1)}}

/* 04 hero document drift */

@media (prefers-reduced-motion:reduce){
  .mo-ledger .trow.gcols2{opacity:1 !important;transform:none !important;animation:none !important}
  .stat.wait{display:none !important}
  .stat.mo-real{display:inline-flex !important;animation:none !important}
  .evdoc .ev-out .out u{background-size:100% 1.5px !important;animation:none !important}
  .evdoc .ev-out .out sup{opacity:1 !important;animation:none !important}
  .stage{transform:none !important}
}

/* ======================================================================
   MOBILE
   Desktop is untouched. Everything below is inside a max-width query.
   ====================================================================== */

/* ---------- 1. compact header with a menu ---------- */
.navtoggle{display:none}
@media (max-width:980px){
  .head{padding-top:11px;padding-bottom:11px;flex-wrap:wrap;align-items:center;row-gap:0}
  .mark{width:20.6px;height:14.3px}
  .wm b{font-size:22px}
  .navtoggle{display:flex;flex-direction:column;justify-content:center;gap:4.5px;
    margin-left:auto;width:42px;height:38px;padding:0 9px;background:transparent;
    border:1px solid rgba(255,255,255,.38);border-radius:3px;cursor:pointer;
    -webkit-tap-highlight-color:transparent}
  /* solid, never translucent: a blurred bar can wash out to white on phone browsers */
  header.site{background:var(--deep);backdrop-filter:none;-webkit-backdrop-filter:none;
    border-bottom:1px solid var(--deep-line)}
  .navtoggle span{display:block;height:2px;background:#fff;border-radius:2px;
    transition:transform .24s cubic-bezier(.2,.7,.3,1),opacity .18s}
  .navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  nav.main{display:none}
  nav.main.open{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;
    margin-top:11px;padding-top:4px;border-top:1px solid var(--deep-line);
    max-height:calc(100vh - 96px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  nav.main.open a{font-size:16.5px;padding:14px 2px;color:var(--on-deep);
    border-bottom:1px solid rgba(255,255,255,.07)}
  nav.main.open a[aria-current]{color:#fff}
  nav.main.open .navcta{margin:16px 0 4px;border-bottom:0;text-align:center;
    padding:15px;font-size:15.5px;border-radius:2px}
  header.site.menuopen{background:var(--deep);backdrop-filter:none;-webkit-backdrop-filter:none;
    box-shadow:0 24px 44px -26px rgba(0,0,0,.8)}
  header.site.menuopen .head{padding-bottom:20px}
}

/* ---------- 2. document tables stack instead of colliding ---------- */
@media (max-width:720px){
  /* statement / source / outcome */
  .trow.gcols2{grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;
    padding-top:15px;padding-bottom:15px;align-items:center}
  .trow.gcols2 .ltxt{grid-column:1/-1;line-height:1.45}
  .trow.gcols2 .srcdoc{grid-column:1;grid-row:2;font-size:12px;line-height:1.35}
  .trow.gcols2 .stat{grid-column:2;grid-row:2;justify-self:end}
  .trow.gcols2.more .ltxt{grid-column:1/-1}

  /* type / file / extent / facts */
  .thead.fcols2{display:none}
  .trow.fcols2{grid-template-columns:auto minmax(0,1fr);gap:6px 10px;
    padding-top:13px;padding-bottom:13px;align-items:center}
  .trow.fcols2 .ext{grid-column:1;grid-row:1}
  .trow.fcols2 .fnm{grid-column:2;grid-row:1;white-space:normal;line-height:1.4}
  .trow.fcols2 .fmeta{grid-column:1/-1;grid-row:2;justify-self:start;font-size:11.5px}
  .trow.fcols2 .ffacts{grid-column:2;grid-row:2;justify-self:end}

  /* criterion / words / claims / questions / status */
  .trow.ccols{grid-template-columns:repeat(3,auto);justify-content:start;
    gap:8px 16px;padding-top:14px;padding-bottom:14px}
  .trow.ccols .cnum{grid-column:1/-1;grid-row:1;line-height:1.4}
  .trow.ccols .cmet{grid-row:2;font-size:11.5px}
  .trow.ccols .stat{grid-column:1/-1;grid-row:3;justify-self:start;margin-top:2px}

  /* the pill must never be the thing that pushes a row wide */
  .trow .stat{white-space:nowrap}
}

/* ---------- 3. the three page submission document reads bigger ---------- */
@media (max-width:600px){
  .lhset{max-width:none;gap:22px}
  .lhset .shpg{width:100%}
  .shpg .ph-logo{font-size:7px;padding:5px 10px}
  .shpg .ph-prog{font-size:6.5px}
  .shpg .pg-foot{font-size:6.5px;padding:9px 15px 10px}
  .shpg .pg-head{padding:11px 15px 10px}
  .shpg .pg-body{padding:16px 17px}
  .cv-inner{padding:18px 19px 0}
  .cv-logo{font-size:7px;padding:6px 11px}
  .cv-mark{font-size:6px}
  .cv-cat{font-size:6.5px}
  .cv-title{font-size:27px}
  .cv-sub{font-size:10px}
  .cv-meta div{font-size:7px}
  .cv-meta span{font-size:5.5px}
  .lt-date{font-size:7px}
  .lt-to{font-size:8.5px}
  .lt-p{font-size:7.8px;line-height:1.72}
  .lt-sign{font-size:7.8px}
  .lt-name b{font-size:10px}
  .lt-name span{font-size:7px}
  .an-lbl{font-size:7px}
  .an-q{font-size:9.5px}
  .an-p{font-size:7.4px}
  .an-p.an-open{font-size:9.5px}
  .an-out b{font-size:15px}
  .an-out span{font-size:5.8px}
  .an-img span{font-size:6.5px}
  .an-cap{font-size:7.6px}
}

/* ---------- 4. small screen trims ---------- */
@media (max-width:560px){
  .dochead b{font-size:15px}
  .dochead .dm{font-size:8.5px;padding:3px 7px}
  .doctitle{font-size:19px}
  .tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .apptool{flex-wrap:wrap}
  .an-out{grid-template-columns:repeat(3,1fr)}
}

/* ---------- 5. comparison tables stack instead of scrolling off screen ---------- */
@media (max-width:640px){
  table.cmp{min-width:0;display:block;font-size:15px}
  table.cmp colgroup,table.cmp thead{display:none}
  table.cmp tbody,table.cmp tr,table.cmp td{display:block}
  table.cmp tr{padding:15px 17px;border-bottom:1px solid var(--rule)}
  table.cmp tr:last-child{border-bottom:0}
  table.cmp tbody tr:nth-child(even){background:var(--paper)}
  table.cmp tbody tr:nth-child(even) td{background:transparent}
  table.cmp td{padding:0;border:0}
  table.cmp tbody td:first-child{color:var(--ink);font-weight:500;line-height:1.42}
  table.cmp td[data-l]{margin-top:11px;font-size:14.5px;line-height:1.45}
  table.cmp td[data-l]::before{content:attr(data-l);display:block;font-family:var(--sans);
    font-size:8.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
    color:#9AA7B2;margin-bottom:3px}
  .view .band.deep table.cmp tbody tr:nth-child(even){background:rgba(255,255,255,.03)}
  .view .band.deep table.cmp tbody td:first-child{color:var(--on-deep)}
  .view .band.deep table.cmp td[data-l]::before{color:var(--on-deep-2)}
  .view .band.deep table.cmp tr{border-bottom-color:var(--deep-line)}
}

/* ---------- 6. deadline list stacks into cards ---------- */
@media (max-width:640px){
  table.list{min-width:0;display:block}
  table.list colgroup,table.list thead{display:none}
  table.list tbody,table.list tr,table.list td{display:block}
  table.list tbody tr.prog{padding:16px 17px;border-bottom:1px solid var(--rule)}
  table.list tbody tr.detail{padding:0 17px 16px;border-bottom:1px solid var(--rule)}
  table.list td{padding:0;border:0}
  table.list td.nm{font-size:16px;line-height:1.35}
  table.list td.nm > a{padding:0;min-height:0}
  table.list td.nm .org{font-size:13px;margin-top:4px}
  table.list td[data-l]{margin-top:10px;font-size:14px;line-height:1.4}
  table.list td[data-l]::before{content:attr(data-l);display:block;font-family:var(--sans);
    font-size:8.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
    color:#9AA7B2;margin-bottom:3px}
  table.list td[data-l="Status"]{margin-top:12px}
  table.list td[data-l="Status"]::before{display:none}
  .dgrid{grid-template-columns:minmax(0,1fr)}
}

/* ---------- 7. deadline filters two up ---------- */
@media (max-width:640px){
  .filters{gap:8px;padding:13px}
  /* full width: two up clips the longer labels, e.g. "Sort: programme name" */
  .filters input,.filters select{flex:1 0 100%;min-width:0;max-width:100%;
    padding:11px 12px;text-overflow:ellipsis}
}

/* ---------- 8. document prose reads at phone size, not page size ---------- */
@media (max-width:640px){
  .answer p{font-size:12.8px;line-height:1.62;text-align:left;hyphens:none;-webkit-hyphens:none;
    margin-bottom:10px}
  .answer p.open{font-size:15.5px;line-height:1.34;margin-bottom:11px}
  .answer sup{font-size:8px;vertical-align:.4em;padding:0 3px}
  .tracenote{font-size:10.5px;line-height:1.55;padding-left:11px}
  .docq p{font-size:14.5px;line-height:1.4}
  .wcrow{font-size:11px}
  .doc .flagged p{font-size:11.5px;line-height:1.5}
  .doc .flagged .ft{font-size:8.5px}
  .lt-p,.an-p{text-align:left;hyphens:none;-webkit-hyphens:none}
}

/* ---------- 9. hero answer opens on demand on phones ---------- */
.docmore{display:none}
@media (max-width:640px){
  .hero .doc .answer{max-height:232px;overflow:hidden;position:relative}
  .hero .doc .answer::after{content:"";position:absolute;left:0;right:0;bottom:0;height:78px;
    background:linear-gradient(rgba(255,255,255,0),#fff 86%);pointer-events:none}
  .hero .doc.anopen .answer{max-height:none}
  .hero .doc.anopen .answer::after{display:none}
  .docmore{display:block;width:100%;margin:0 0 13px;padding:11px 12px;
    font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.02em;
    color:var(--primary-2);background:#F4F7FA;border:1px solid #DCE4EC;border-radius:3px;
    cursor:pointer;-webkit-tap-highlight-color:transparent}
  .docmore:active{background:#E9EFF5}
}

/* ---------- 10. hero sits higher on phones ---------- */
@media (max-width:640px){
  .hero .wrap{padding-top:46px;padding-bottom:52px}
  .hero .lbl{font-size:10px;letter-spacing:.14em;line-height:1.6;margin-bottom:16px}
  .hero .lede{margin-bottom:26px}
}

/* footer link colours */
.sitemap h4 a{font-size:inherit;color:inherit;letter-spacing:inherit;text-decoration:none;padding:0;display:inline}
.sitemap h4 a:hover{color:#fff}
.foot a{color:var(--on-deep-2);text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}

/* days-left marker in the deadline list */
.dleft{display:block;margin-top:4px;font-family:var(--sans);font-size:11px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--gold-ink)}
