/* ============================================================================
   Pillar PEO Advisors — drawing-set system.
   Existing brand only: navy #02064B, green #2ECC70, sky #54C5F2 (one use),
   League Spartan (display + tracked-caps label layer), Nunito Sans (body).
   No shadows. No gradients. Radius 0 except buttons and inputs (4px).
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@500;600;700;800&family=Nunito+Sans:ital,opsz,wght@0,6..12,400;0,6..12,600;0,6..12,700;1,6..12,400&display=swap');

:root{
  /* brand */
  --navy:#02064B;
  --navy-deep:#010328;
  --navy-card:#090C34;
  --navy-border:#0E124E;
  --green:#2ECC70;
  --green-ink:#1A7A45;          /* green-coded text on light — 5.4:1 */
  --green-soft:rgba(46,204,112,.12);
  --sky:#54C5F2;                /* used once: the water on the Charlotte plat */

  /* ground */
  --ground:#F4F6FA;
  --sheet:#FFFFFF;
  --sheet-2:#EEF1F7;

  /* ink */
  --ink:#02064B;
  --ink-70:rgba(2,6,75,.74);    /* 8.7:1 on white */
  --ink-50:rgba(2,6,75,.62);    /* 5.6:1 on white — was 3.9:1 */

  /* structure */
  --hair:rgba(2,6,75,.18);
  --hatch:rgba(2,6,75,.18);     /* kept: index.html uses --hatch */
  --hatch-2:rgba(2,6,75,.08);   /* kept for index.html */
  --rule:2px solid #02064B;
  --white-hair:rgba(255,255,255,.28);

  /* marks */
  --pass:#1A7A45; --pass-soft:rgba(46,204,112,.14);
  --watch:#8A5A00; --watch-soft:rgba(138,90,0,.12);
  --fail:#A3231B; --fail-soft:rgba(163,35,27,.10);

  /* type */
  --display:'League Spartan',"Helvetica Neue",Arial,sans-serif;
  --body:'Nunito Sans',"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:'League Spartan',"Helvetica Neue",Arial,sans-serif; /* label layer */
  --label:'League Spartan',"Helvetica Neue",Arial,sans-serif;

  --max:1280px;
  --r:4px;
  --ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);
  font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums}
.page{position:relative}
a{color:inherit}
img{max-width:100%;display:block}
svg{display:block}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.03em;
  line-height:.95;margin:0;text-wrap:balance}
h1{font-size:clamp(56px,7.2vw,96px)}
h2{font-size:clamp(40px,4.8vw,64px)}
h3{font-size:clamp(24px,2.2vw,28px);line-height:1.05;letter-spacing:-.02em}
h4{font-size:20px}
p{margin:0}
b,strong{font-weight:700}

::selection{background:var(--green);color:var(--navy)}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.ink :focus-visible,.hero :focus-visible,.band :focus-visible{outline-color:var(--green)}

.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--navy);color:#fff;
  padding:12px 18px;font-family:var(--label);font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.skip:focus{left:0}

.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
section{padding:128px 0}
section.tight{padding:88px 0}
.sheet{background:var(--sheet)}
.ink{background:var(--navy);color:#fff}

/* the 2px navy rule that opens every light module */
.rule{height:2px;background:var(--navy);margin:0 0 44px}
.ink .rule,.hero .rule,.band .rule,.founders .rule{background:var(--green)}

/* ---- label layer: League Spartan tracked caps (the logo's "PEO ADVISORS") -- */
.lbl,.mono{font-family:var(--label);font-size:12px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-70);line-height:1.35}
.lbl.g{color:var(--green-ink)}
.ink .lbl,.ink .mono,.hero .lbl,.founders .lbl{color:rgba(255,255,255,.72)}
.lede{font-size:21px;line-height:1.5;color:var(--ink-70);max-width:52ch}
.prose{max-width:60ch;font-size:18px}
.prose p+p{margin-top:1.1em}
.sec{font-size:15px;color:var(--ink-70)}
.dim{display:flex;align-items:center;gap:14px;margin-bottom:20px;
  font-family:var(--label);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.dim::before{content:"";height:2px;width:28px;background:var(--green);flex:0 0 28px}
.ink .dim,.hero .dim,.founders .dim{color:rgba(255,255,255,.72)}

/* ------------------------------- buttons --------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:40px;
  padding:0 18px;border-radius:var(--r);font-family:var(--body);font-weight:700;font-size:15px;
  text-decoration:none;border:1px solid var(--navy);background:var(--navy);color:#fff;
  cursor:pointer;transition:background .16s var(--ease),transform .16s var(--ease),color .16s}
.btn:hover{background:var(--navy-border)}
.btn:active{transform:scale(.98)}
.btn.fill{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn.ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn.ghost:hover{background:var(--sheet-2)}
.btn.big{height:52px;padding:0 24px;font-size:16px}
.btn.wide{width:100%}
.ink .btn,.hero .btn,.band .btn,
.ink .btn.fill,.hero .btn.fill,.band .btn.fill{background:var(--green);color:var(--navy);border-color:var(--green)}
.ink .btn:hover,.hero .btn:hover,.band .btn:hover{background:#26b463}
.ink .btn.ghost,.hero .btn.ghost,.band .btn.ghost{background:transparent;color:#fff;
  border-color:rgba(255,255,255,.5)}
.ink .btn.ghost:hover,.hero .btn.ghost:hover,.band .btn.ghost:hover{background:rgba(255,255,255,.08);
  border-color:#fff}
.ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.tlink{font-family:var(--body);font-weight:700;font-size:16px;color:var(--navy);
  text-decoration:none;border-bottom:2px solid var(--green);padding-bottom:2px}
.tlink:hover{border-bottom-color:var(--navy)}
.ink .tlink,.band .tlink,.founders .tlink{color:#fff;border-bottom-color:var(--green)}
.ink .tlink:hover,.band .tlink:hover,.founders .tlink:hover{border-bottom-color:#fff}

/* ------------------------------- header ---------------------------------- */
.hdr{position:sticky;top:0;z-index:60;background:var(--sheet);border-bottom:1px solid var(--hair)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
.brand img{height:40px;width:auto}
.nav{display:flex;gap:26px;margin-left:auto;font-size:15px;font-weight:600;font-family:var(--body)}
.nav a{text-decoration:none;color:var(--ink-70);padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--ink);border-bottom-color:var(--green)}
.hdr .btn{flex:0 0 auto}
.menu{display:none}
.menu>summary{list-style:none;display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;
  border:1px solid var(--navy);border-radius:var(--r);font-family:var(--label);font-size:12px;
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.menu>summary::-webkit-details-marker{display:none}
.menu>summary::after{content:"";width:14px;height:8px;
  border-top:2px solid var(--navy);border-bottom:2px solid var(--navy)}
.menu[open]>summary::after{border-bottom-color:transparent}
.menupanel{position:absolute;left:0;right:0;top:72px;background:var(--sheet);
  border-top:1px solid var(--hair);border-bottom:2px solid var(--navy);padding:8px 20px 20px}
.menupanel a{display:block;padding:14px 0;border-bottom:1px solid var(--hair);
  text-decoration:none;font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em}
.menupanel .btn{margin-top:18px;width:100%;height:52px}

/* -------------------------------- hero ----------------------------------- */
.hero{background:var(--navy);color:#fff;position:relative;padding:56px 0 0}
.hero h1{color:#fff}
.hero h1 em{font-style:normal;color:var(--green)}
.hero .lede{color:rgba(255,255,255,.8);font-size:21px;max-width:52ch}
.hero .wrap{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:end;
  min-height:clamp(660px,calc(100vh - 72px),720px);padding-bottom:0}
.hero .col-l{padding-bottom:96px}
.hero .stand{position:relative}
.hero .stand svg{width:100%;height:auto;max-width:480px;margin:0 auto}
.hero .ground{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--green)}
.hero .plain{margin-top:22px;font-size:17px;color:#fff;font-weight:700}
.hero .plain span{color:var(--green)}

/* hero variant: centred split, no full-height column (audit + charlotte) */
.hero.split .wrap{grid-template-columns:6fr 6fr;align-items:center;min-height:0;padding-bottom:96px}
.hero.split .col-l{padding-bottom:0}
.hero.split h1{font-size:clamp(48px,6vw,84px)}

/* fee strip (HR audit hero) */
.fees{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;border-top:1px solid var(--white-hair)}
.fees>div{padding:22px 20px 0;border-left:1px solid var(--white-hair)}
.fees>div:first-child{border-left:0;padding-left:0}
.fees .rec{border-top:2px solid var(--green);margin-top:-1px}
.fees .hc{display:block;font-family:var(--label);font-size:11.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);min-height:32px}
.fees .pr{font-family:var(--display);font-size:clamp(38px,4.4vw,56px);font-weight:700;
  letter-spacing:-.03em;line-height:1;margin:8px 0 8px}
.fees .inc{font-size:14.5px;color:rgba(255,255,255,.78);line-height:1.4}
.fees + .feenote{margin-top:18px;font-size:15px;color:rgba(255,255,255,.78)}

/* -------------------------- proof ledger --------------------------------- */
.ledger{display:grid;grid-template-columns:2fr 2fr 1.3fr 1.3fr;border-top:var(--rule)}
.ledger>*{padding:26px 20px;min-height:168px}
.ledger>*:first-child{border-left:0;padding-left:0}
.ledger.two{grid-template-columns:1fr 1fr}
.ledger blockquote{margin:0;font-family:var(--display);font-weight:600;font-size:24px;
  line-height:1.15;letter-spacing:-.02em}
.ledger cite{display:block;margin-top:14px;font-style:normal;font-family:var(--label);
  font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-70)}

/* slot: honest placeholder for proof not yet collected */
.slot{border:1px dashed rgba(2,6,75,.5);border-radius:0;padding:18px 20px;background:none;
  font-size:15px;color:var(--ink-70)}
.slot b{display:block;font-family:var(--label);font-size:11.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--green-ink);margin-bottom:8px}
.ink .slot,.band .slot,.founders .slot{border-color:rgba(255,255,255,.5);color:rgba(255,255,255,.8)}
.ink .slot b,.band .slot b,.founders .slot b{color:var(--green)}
.ledger .slot{border:0;padding:26px 20px;font-size:14.5px}
.ledger .slot .in{border:1px dashed rgba(2,6,75,.5);height:100%;padding:14px}
.ledger>*+*{border-left:1px solid var(--hair)}

/* --------------------- schedule (drafting sheet) ------------------------- */
.docsheet{background:var(--sheet);border:1px solid var(--navy);outline:1px solid var(--navy);
  outline-offset:8px;padding:0}
.dochead{display:flex;justify-content:space-between;gap:20px;padding:14px 20px;
  border-bottom:1px solid var(--navy);font-family:var(--label);font-size:11.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-70)}
table.sched{width:100%;border-collapse:collapse;table-layout:fixed}
table.sched th{font-family:var(--label);font-size:11.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;text-align:left;color:var(--ink-70);background:var(--sheet-2);
  height:44px;padding:0 16px;border-bottom:var(--rule);vertical-align:middle}
table.sched td{padding:20px 16px;border-bottom:1px solid var(--hair);vertical-align:top;
  font-size:15px;color:var(--ink-70);height:88px}
table.sched tr:last-child td{border-bottom:0}
.keynote{width:36px;height:36px;display:block}
.keynote text{font-family:var(--label);font-size:12px;font-weight:700;fill:var(--navy);letter-spacing:.04em}
table.sched td.svc{font-family:var(--display);font-size:28px;font-weight:700;letter-spacing:-.03em;
  line-height:1;color:var(--ink)}
table.sched td.svc a{text-decoration:none;border-bottom:2px solid var(--green)}
table.sched td.svc a:hover{border-bottom-color:var(--navy)}
table.sched td.svc small{display:block;font-family:var(--body);font-size:15px;font-weight:400;
  letter-spacing:0;color:var(--ink-70);margin-top:8px;line-height:1.4}
table.sched td.pricecell{font-size:20px;font-weight:700;color:var(--ink);font-family:var(--body)}
table.sched td.pricecell small{display:block;font-size:14px;font-weight:400;color:var(--ink-70);margin-top:4px}
table.sched td.deliv a{color:var(--ink);text-decoration:none;border-bottom:2px solid var(--green);font-weight:700}
.titleblock{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--navy)}
.titleblock div{padding:12px 16px;border-left:1px solid var(--hair)}
.titleblock div:first-child{border-left:0}
.titleblock b{display:block;font-family:var(--label);font-size:10.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-50);margin-bottom:6px}
.titleblock span{font-size:14.5px;color:var(--ink);line-height:1.35;display:block}

/* --------------------------- index rows ---------------------------------- */
.idx{border-top:var(--rule)}
.idx .row{display:grid;grid-template-columns:64px 3.6fr 4.4fr 40px;gap:24px;align-items:baseline;
  padding:32px 0;border-bottom:1px solid var(--hair);text-decoration:none;color:inherit}
.idx .row:last-child{border-bottom:0}
.idx .no{font-family:var(--label);font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--ink-50)}
.idx .nm{font-family:var(--display);font-size:clamp(28px,3vw,40px);font-weight:700;
  letter-spacing:-.03em;line-height:1;transition:transform .16s var(--ease)}
.idx .dsc{font-size:18px;color:var(--ink);line-height:1.4}
.idx .dsc small{display:block;font-size:15px;color:var(--ink-70);margin-top:6px}
.idx .arw{font-family:var(--display);font-size:22px;font-weight:700;color:var(--ink-50);
  justify-self:end;transition:color .16s var(--ease)}
a.row:hover .nm{transform:translateX(8px)}
a.row:hover .arw{color:var(--green-ink)}

/* ---------------------- inspection tag (device) -------------------------- */
.tagfig{margin:0;background:var(--sheet);border:1px solid var(--navy);color:var(--ink);
  max-width:440px;position:relative;padding:0}
.tagfig.wide{max-width:none}
.tagtop{display:flex;align-items:center;gap:12px;padding:14px 16px 12px}
.eyelet{width:22px;height:22px;border-radius:50%;border:2px solid var(--navy);flex:0 0 22px;
  display:flex;align-items:center;justify-content:center}
.eyelet i{width:10px;height:10px;border-radius:50%;background:var(--navy);display:block}
.tagtop .t{font-family:var(--label);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.tagtop .no{margin-left:auto;font-family:var(--label);font-size:11.5px;font-weight:600;
  letter-spacing:.1em;color:var(--ink-70)}
.perf{border-top:1px dashed rgba(2,6,75,.4)}
.tagmeta{padding:14px 16px;font-size:13.5px;color:var(--ink-70);line-height:1.45}
.tagmeta b{display:block;font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-50);margin-bottom:4px}
table.marks{width:100%;border-collapse:collapse;font-size:15px;table-layout:fixed}
table.marks th{font-family:var(--label);font-size:10.5px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-70);padding:8px 4px;border-bottom:var(--rule);
  border-top:1px solid var(--hair)}
table.marks th.ar{text-align:left;padding-left:16px}
table.marks th.mk{text-align:center;padding:8px 2px;font-size:9.5px;letter-spacing:.08em}
table.marks td{border-bottom:1px solid var(--hair);padding:9px 4px;vertical-align:middle}
table.marks tr:last-child td{border-bottom:0}
table.marks td.ar{padding-left:16px;font-size:15px;font-weight:700;line-height:1.2}
table.marks td.ar small{display:block;font-weight:400;font-size:12px;color:var(--ink-70);margin-top:3px;
  font-family:var(--body);letter-spacing:0}
table.marks td.ix{padding-left:14px;font-family:var(--label);font-size:11px;
  font-weight:600;letter-spacing:.1em;color:var(--ink-50)}
table.marks td.mk{text-align:center;padding:9px 0}
.mk i{width:18px;height:18px;border:1px solid var(--navy);display:inline-block;vertical-align:middle}
.mk i.on{background:var(--green)}
.mk i.hatch{background:repeating-linear-gradient(45deg,#02064B 0 2px,#fff 2px 5px)}
.mk i.full{background:var(--navy)}
.tagfoot{display:flex;align-items:flex-end;gap:12px;padding:14px 16px 16px;border-top:1px solid var(--hair);
  font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-70);line-height:1.5;min-height:64px}
.seal{position:absolute;right:-12px;bottom:-12px;width:48px;height:48px;border-radius:50%;
  background:var(--green);transform:rotate(-8deg);display:flex;align-items:center;justify-content:center}
.seal svg{width:22px;height:22px}
.tagfig .expand{width:100%;text-align:left;background:none;border:0;padding:0;font:inherit;cursor:pointer}
details.mrow>summary{list-style:none;cursor:pointer}
details.mrow>summary::-webkit-details-marker{display:none}
.tagfig details.mrow{border-bottom:1px solid var(--hair)}
.tagfig details.mrow:last-of-type{border-bottom:0}
.mrowhead{display:grid;grid-template-columns:34px 1fr 40px 40px 40px 26px;align-items:center;
  gap:0;padding:11px 16px 11px 14px}
.mrowhead .ix{font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--ink-50)}
.mrowhead .ar{font-size:15px;font-weight:700;line-height:1.2;padding-right:10px}
.mrowhead .ar small{display:block;font-weight:400;font-size:12px;color:var(--ink-70);margin-top:3px}
.mrowhead .mk{text-align:center}
.mrowhead .op{font-family:var(--label);font-size:14px;font-weight:700;color:var(--green-ink);text-align:right}
details.mrow[open] .op{transform:rotate(45deg)}
details.mrow[open]>summary .mrowhead{background:var(--sheet-2)}
.mrowbody{padding:2px 16px 18px 44px;font-size:14.5px;color:var(--ink-70);
  display:grid;grid-template-columns:88px 1fr;gap:6px 14px;border-top:1px dashed var(--hair)}
.mrowbody dt{font-family:var(--label);font-size:10.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-50);padding-top:3px}
.mrowbody dd{margin:0}
.taghead{display:grid;grid-template-columns:34px 1fr 40px 40px 40px 26px;padding:8px 16px 8px 14px;
  border-top:1px solid var(--hair);border-bottom:var(--rule);font-family:var(--label);font-size:10.5px;
  font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-70);text-align:center;font-size:9.5px}
.taghead span:nth-child(2){text-align:left}

/* legacy pill (index.html report uses it) — square mark, not a lozenge */
.pill{display:inline-flex;align-items:center;gap:8px;font-family:var(--label);font-size:11.5px;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;
  padding:4px 8px;border:1px solid currentColor;border-radius:0}
.pill::before{content:"";width:9px;height:9px;background:currentColor}
.pill.pass{color:var(--pass)}
.pill.watch{color:var(--watch)}
.pill.fail{color:var(--fail)}

/* --------------------------- cartogram ----------------------------------- */
.carto{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(8,auto);gap:4px}
.carto .st{aspect-ratio:1;border:1px solid var(--hair);display:flex;align-items:center;
  justify-content:center;font-family:var(--label);font-size:12px;font-weight:600;letter-spacing:.06em;
  color:var(--ink-70);background:none}
.carto .st.soon{border-style:dashed;border-color:rgba(2,6,75,.4);color:var(--ink-50)}
.carto .st.home{background:var(--navy);border-color:var(--navy);color:var(--green);font-weight:700;position:relative}
.carto .st.home.jr::after{content:"";position:absolute;right:-5px;top:50%;width:5px;height:2px;background:var(--green)}
.carto .join{align-self:stretch;justify-self:center;width:2px;background:var(--green)}
.legend{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px;font-family:var(--label);font-size:11px;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-70)}
.legend span{display:flex;align-items:center;gap:8px}
.legend i{width:12px;height:12px;border:1px solid var(--hair);display:block}
.legend i.home{background:var(--navy);border-color:var(--navy)}
.legend i.soon{border-style:dashed;border-color:rgba(2,6,75,.4)}

/* worked example table */
table.rules{width:100%;border-collapse:collapse;border-top:var(--rule);margin-top:64px}
table.rules th[scope=col]{background:var(--navy);color:#fff;font-family:var(--label);font-size:11.5px;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-align:left;padding:14px 16px}
table.rules th[scope=row]{text-align:left;font-weight:700;font-size:16px;padding:16px 16px 16px 0;
  border-bottom:1px solid var(--hair);vertical-align:top}
table.rules td{padding:16px;border-bottom:1px solid var(--hair);font-size:16px;color:var(--ink-70);
  vertical-align:top}

/* ------------------------------ founders --------------------------------- */
.founders{background:var(--navy);color:#fff;display:grid;grid-template-columns:5fr 7fr;
  align-items:stretch;overflow:hidden}
.founders figure{margin:0;position:relative}
.founders img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;
  filter:grayscale(1) contrast(1.08);mix-blend-mode:screen}
.founders figcaption{position:absolute;left:24px;bottom:20px;font-family:var(--label);font-size:11px;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.founders .said{padding:96px}
.founders blockquote{margin:0;font-family:var(--display);font-weight:600;font-size:clamp(28px,3vw,40px);
  line-height:1.1;letter-spacing:-.03em;color:#fff}
.founders .by{margin-top:22px;font-size:15px;color:rgba(255,255,255,.78)}

/* ------------------------------ questions -------------------------------- */
.qs{max-width:880px;border-top:var(--rule)}
.qs details{border-bottom:1px solid var(--hair);padding:24px 0;position:relative}
.qs summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:56px 1fr;gap:8px;
  font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.qs summary::-webkit-details-marker{display:none}
.qs summary span{font-family:var(--label);font-size:12px;font-weight:600;letter-spacing:.16em;
  color:var(--ink-50);padding-top:6px}
.qs details[open]{padding-left:0}
.qs details[open]::before{content:"";position:absolute;left:-32px;top:24px;bottom:24px;width:2px;
  background:var(--green)}
.qs p{margin:14px 0 0 56px;font-size:18px;color:var(--ink-70);max-width:66ch}
.ink .qs summary,.band .qs summary{color:#fff}
.ink .qs p,.band .qs p{color:rgba(255,255,255,.78)}

/* ------------------------------ scope sheet ------------------------------ */
.band{background:var(--navy);color:#fff;padding:112px 0}
.band .wrap{display:grid;grid-template-columns:6fr 6fr;gap:64px;align-items:start}
.band h2{color:#fff}
.band .lede{color:rgba(255,255,255,.8)}
.band .tel{margin-top:28px;font-family:var(--label);font-size:12px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.72)}
.band .tel a{color:var(--green);text-decoration:none;border-bottom:1px solid rgba(46,204,112,.5)}
.form{display:block}
.form .fld{margin-bottom:22px}
.form label{display:block;font-family:var(--label);font-size:11.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:6px}
.form ::placeholder{color:rgba(255,255,255,.55)}
.form input,.form select{width:100%;height:52px;background:transparent;color:#fff;border:0;
  border-bottom:1px solid rgba(255,255,255,.4);border-radius:0;font:inherit;font-size:17px;padding:0}
.form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),
  linear-gradient(135deg,#fff 50%,transparent 50%);
  background-position:calc(100% - 14px) 24px,calc(100% - 8px) 24px;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:30px}
.form select option{color:var(--ink);background:#fff}
.form input:focus,.form select:focus{outline:0;border-bottom:2px solid var(--green)}
.form input:focus-visible,.form select:focus-visible{outline:0}
.form .btn{width:100%;height:52px;margin-top:10px}
.form .note{display:block;margin-top:14px;font-size:13px;color:rgba(255,255,255,.72)}
.schedslot{border:1px dashed rgba(255,255,255,.5);min-height:480px;padding:24px;
  display:flex;flex-direction:column;justify-content:center;gap:10px;color:rgba(255,255,255,.8);font-size:15px}
.schedslot b{font-family:var(--label);font-size:11.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--green);display:block}

/* ------------------------------- footer ---------------------------------- */
footer{background:var(--sheet);border-top:2px solid var(--green);padding:64px 0 32px}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;font-size:15px}
footer h4{font-family:var(--label);font-size:11.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-70);margin:0 0 14px}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin:8px 0;color:var(--ink-70)}
footer a{color:var(--ink-70);text-decoration:none}
footer a:hover{color:var(--ink);text-decoration:underline}
footer .brand img{height:44px;margin-bottom:16px}
footer .legal{margin-top:48px;padding-top:18px;border-top:1px solid var(--hair);display:flex;
  justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--label);font-size:11px;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-50)}

/* ------------------------------ mockbar ---------------------------------- */
.mockbar{background:var(--green);color:var(--navy);font-family:var(--label);font-weight:700;
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;padding:9px 0;
  border-bottom:1px solid var(--navy)}
.mockbar .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.mockbar a{color:inherit}

/* ------------------------------ gantt ------------------------------------ */
.gantt{border-top:var(--rule)}
.gdays{display:grid;grid-template-columns:300px 1fr;column-gap:32px;align-items:end;padding-top:14px}
.gdays .tickrow{grid-column:2;display:grid;grid-template-columns:repeat(21,1fr);border-bottom:2px solid var(--navy)}
.gdays .tickrow span{font-family:var(--label);font-size:10px;font-weight:600;letter-spacing:.04em;
  color:var(--ink-50);text-align:center;padding-bottom:6px;border-left:1px solid var(--hair)}
.gantt .grow{display:grid;grid-template-columns:300px 1fr;column-gap:32px;row-gap:10px;
  padding:24px 0;border-bottom:1px solid var(--hair);align-items:center}
.gantt .grow:last-of-type{border-bottom:0}
.gantt .gname b{display:block;font-family:var(--display);font-size:28px;font-weight:700;
  letter-spacing:-.03em;line-height:1}
.gantt .gname small{display:block;font-family:var(--label);font-size:11px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--green-ink);margin-top:8px}
.gantt .track{display:grid;grid-template-columns:repeat(21,1fr);align-items:center;min-height:24px}
.gantt .bar{height:24px;background:var(--navy);grid-row:1}
.gantt .bar.gr{background:var(--green)}
.gantt .gdesc{grid-column:2;font-size:15px;color:var(--ink-70);line-height:1.4;max-width:60ch}
.gantt .total{margin-top:22px;font-family:var(--label);font-size:12px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}

/* ------------------------------ checks ----------------------------------- */
.checks{columns:2;column-gap:48px;padding:0;margin:0;list-style:none;font-size:15px;color:var(--ink-70)}
.checks li{break-inside:avoid;margin:0 0 10px;padding-left:22px;position:relative;line-height:1.45}
.checks li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;
  border:1px solid var(--navy);transition:background .16s var(--ease)}
.checks li:hover::before{background:var(--navy)}
.checks.one{columns:1}
.areagroup{border-top:1px solid var(--hair);padding:18px 0}
.areagroup>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:14px;
  font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.02em}
.areagroup>summary::-webkit-details-marker{display:none}
.areagroup>summary .ix{font-family:var(--label);font-size:11.5px;font-weight:600;letter-spacing:.16em;
  color:var(--ink-50)}
.areagroup>summary .cnt{margin-left:auto;font-family:var(--label);font-size:11.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--green-ink)}
.areagroup .checks{margin-top:16px;padding-left:36px}
.bignum{font-family:var(--display);font-size:96px;font-weight:700;letter-spacing:-.05em;line-height:.85;
  color:var(--navy);display:inline-block;margin-right:20px}
h2.hasnum{display:flex;align-items:baseline;flex-wrap:wrap}

/* ---------------------------- plat / state line -------------------------- */
.plat{width:100%;max-width:560px}
.plat text{font-family:var(--label);font-weight:600;letter-spacing:.1em}
.ziplist{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:32px;
  border-top:1px solid var(--white-hair)}
.ziplist div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;
  border-bottom:1px solid var(--white-hair);font-family:var(--label);font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.ziplist div em{font-style:normal;color:var(--green)}
.ziplist div span+span{color:rgba(255,255,255,.62);letter-spacing:.06em;white-space:nowrap}

/* ------------------------------- misc ------------------------------------ */
.two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.g57{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
.g75{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:start}
.g66{display:grid;grid-template-columns:6fr 6fr;gap:64px;align-items:start}
.sqlist{list-style:none;padding:0;margin:18px 0 0;font-size:16px;color:var(--ink-70)}
.sqlist li{position:relative;padding-left:26px;margin-bottom:14px;line-height:1.45}
.sqlist li::before{content:"";position:absolute;left:0;top:6px;width:12px;height:12px;background:var(--navy)}
.sqlist.no li::before{background:none;border:1px dashed var(--ink-50)}
.paid{border-top:var(--rule)}
.paid .prow{display:grid;grid-template-columns:1.3fr 2.6fr 1.4fr;gap:24px;padding:22px 0;
  border-bottom:1px solid var(--hair);align-items:baseline}
.paid .prow b{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.02em}
.paid .prow span{font-size:16px;color:var(--ink-70)}
.paid .prow .amt{font-size:17px;font-weight:700;text-align:right;color:var(--ink);white-space:nowrap}
.paid .prow.exc{background:var(--sheet-2)}
.paid .prow.exc b{color:var(--green-ink)}
.freq{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.freq i{flex:0 0 12px;width:12px;height:12px;border:1px solid var(--navy);display:block}
.freq i.on{background:var(--navy)}
.freq i.hatch{background:repeating-linear-gradient(45deg,#02064B 0 2px,#fff 2px 5px)}
.freq i.green{background:var(--green)}
.freq em{font-style:normal;white-space:nowrap;font-family:var(--label);font-size:10.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;margin-left:8px;color:var(--ink-70)}
.callout{border-left:3px solid var(--green);background:var(--green-soft);padding:14px 18px;
  margin:18px 0;font-size:15px;max-width:72ch}
.locs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 32px;border-top:var(--rule);
  padding-top:24px;margin-top:0;list-style:none;padding-left:0}
.locs li{font-family:var(--label);font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-70);padding:8px 0;border-bottom:1px solid var(--hair)}

/* =============================== motion ================================== */
@keyframes settle{from{transform:translateY(-18px);opacity:0}}
@keyframes stamp{from{transform:scale(1.4);opacity:0}}
@keyframes sweep{from{width:0}}
@keyframes greenup{from{fill:#FFFFFF}}
.plate{animation:settle 700ms var(--ease) backwards}
.plate.p1{animation-delay:360ms}
.plate.p2{animation-delay:270ms}
.plate.p3{animation-delay:180ms}
.plate.p4{animation-delay:90ms}
.plate.p5{animation-delay:0ms}
.stampable i{animation:stamp 220ms var(--ease) backwards}
.stampable tr:nth-child(1) i,.stampable .r1 i{animation-delay:300ms}
.stampable tr:nth-child(2) i,.stampable .r2 i{animation-delay:370ms}
.stampable tr:nth-child(3) i,.stampable .r3 i{animation-delay:440ms}
.stampable tr:nth-child(4) i,.stampable .r4 i{animation-delay:510ms}
.stampable tr:nth-child(5) i,.stampable .r5 i{animation-delay:580ms}
.stampable tr:nth-child(6) i,.stampable .r6 i{animation-delay:650ms}
.stampable tr:nth-child(7) i,.stampable .r7 i{animation-delay:720ms}
.stampable tr:nth-child(8) i,.stampable .r8 i{animation-delay:790ms}
.stampable tr:nth-child(9) i,.stampable .r9 i{animation-delay:860ms}
#linemask rect{animation:sweep 900ms var(--ease) backwards}
.scdisc{animation:greenup 350ms var(--ease) 900ms backwards}

/* ============================ responsive ================================= */
@media(max-width:1120px){
  .founders .said{padding:64px}
  .hero .wrap{gap:40px}
}
@media(max-width:960px){
  .wrap{padding:0 20px}
  section{padding:80px 0}
  section.tight{padding:64px 0}
  .nav{display:none}
  .menu{display:block;margin-left:auto}
  .hdr .btn.book{display:none}
  h1{font-size:clamp(40px,10vw,56px)}
  h2{font-size:clamp(32px,7.2vw,44px)}
  .hero{padding-top:56px}
  .hero .wrap{grid-template-columns:1fr;min-height:0;gap:0;padding-bottom:0}
  .hero .col-l{padding-bottom:0}
  .hero .stand{margin-top:48px;padding-bottom:0}
  .hero .stand svg{max-width:360px}
  .hero.split .wrap{grid-template-columns:1fr;padding-bottom:64px}
  .hero.split .stand{margin-top:40px}
  .two,.g57,.g75,.g66{grid-template-columns:1fr;gap:40px}
  .ledger{grid-template-columns:1fr 1fr}
  .ledger>*,.ledger>*+*{border-left:0;border-top:1px solid var(--hair);padding:24px 0;min-height:0}
  .ledger>*:first-child{padding-left:0}
  .ledger .slot{padding:24px 0}
  .founders{grid-template-columns:1fr}
  .founders .said{padding:40px 20px 56px}
  .founders img{aspect-ratio:4/3}
  .band{padding:72px 0}
  .band .wrap{grid-template-columns:1fr;gap:40px}
  .idx .row{grid-template-columns:48px 1fr;gap:8px 16px;padding:24px 0}
  .idx .nm{font-size:28px;grid-column:2}
  .idx .dsc{grid-column:2;font-size:16px}
  .idx .arw{display:none}
  .qs details[open]::before{left:0}
  .qs details[open]{padding-left:16px}
  .qs summary{grid-template-columns:40px 1fr;font-size:20px}
  .qs p{margin-left:40px;font-size:16px}
  footer .cols{grid-template-columns:1fr 1fr;gap:32px}
  .locs{grid-template-columns:1fr 1fr}
  .fees{grid-template-columns:1fr;border-top:0}
  .fees>div{border-left:0;border-top:1px solid var(--white-hair);padding:18px 0 0}
  .fees .hc{min-height:0}
  .fees .pr{font-size:44px}
  .fees .rec{border-top:2px solid var(--green)}
  .checks{columns:1}
  .titleblock{grid-template-columns:1fr 1fr}
  .titleblock div:nth-child(3){border-left:0}
  .titleblock div:nth-child(n+3){border-top:1px solid var(--hair)}
  .gdays,.gantt .grow{grid-template-columns:1fr;column-gap:0}
  .gdays .tickrow,.gantt .gdesc{grid-column:1}
  .gantt .grow{padding:20px 0;row-gap:12px}
  .gantt .gname b{font-size:24px}
  .bignum{font-size:64px}
  .locs{margin-bottom:0}
  .paid .prow{grid-template-columns:1fr;gap:8px}
  .paid .prow .amt{text-align:left}
  .founders figcaption{left:20px}
}
@media(max-width:720px){
  .ledger,.ledger.two{grid-template-columns:1fr}
  .carto .st{font-size:9.5px;letter-spacing:0}
  .plat .town,.plat .tblock,.plat .wlbl{display:none}
  .plat .slbl{font-size:17px;letter-spacing:1.4px}
  .plat .rlbl{font-size:15px}
  .lede{font-size:19px}
  .hero .lede{font-size:19px}
  /* schedule → stacked blocks */
  .docsheet{outline-offset:5px}
  table.sched,table.sched tbody,table.sched tr,table.sched td{display:block;width:auto}
  table.sched thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  table.sched tr{border-bottom:1px solid var(--hair);padding:20px 16px}
  table.sched tr:last-child{border-bottom:0}
  table.sched td{border:0;padding:0;height:auto}
  table.sched td.keycell{margin-bottom:12px}
  table.sched td.svc{font-size:26px;margin-bottom:14px}
  table.sched td:not(.svc):not(.keycell){display:grid;grid-template-columns:96px 1fr;gap:12px;
    padding:8px 0;border-top:1px solid var(--hair)}
  table.sched td:not(.svc):not(.keycell)>span{display:block}
  table.sched td:not(.svc):not(.keycell)::before{content:attr(data-l);font-family:var(--label);
    font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-50);
    padding-top:3px}
  table.rules{margin-top:40px}
  table.rules,table.rules tbody,table.rules tr,table.rules th[scope=row],table.rules td{display:block;width:auto}
  table.rules thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  table.rules tr{padding:16px 0;border-bottom:1px solid var(--hair)}
  table.rules th[scope=row]{border:0;padding:0 0 10px;font-size:18px}
  table.rules td{border:0;padding:6px 0 0;font-size:15px}
  table.rules td::before{content:attr(data-l);display:block;font-family:var(--label);font-size:10.5px;
    font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-50);margin-bottom:2px}
  .ziplist{grid-template-columns:1fr;gap:0}
  .mrowbody{padding-left:16px;grid-template-columns:1fr;gap:2px 0}
  .mrowbody dd{margin-bottom:8px}
  .mrowhead{grid-template-columns:26px 1fr 32px 32px 32px 22px;padding-left:12px}
  .taghead{grid-template-columns:26px 1fr 32px 32px 32px 22px;padding-left:12px;font-size:9px;letter-spacing:.02em}
  .locs{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr}
  .areagroup>summary{flex-wrap:wrap}
  .areagroup>summary .cnt{margin-left:0;flex-basis:100%;margin-top:6px}
  table.findings,table.findings tbody,table.findings tr,table.findings td{display:block;width:auto}
  table.findings thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  table.findings tr{padding:14px 16px;border-bottom:1px solid var(--hair)}
  table.findings tr:last-child{border-bottom:0}
  table.findings td{border:0;padding:0}
  table.findings td.ix{padding:0 0 4px}
  table.findings td.ar{padding:0 0 10px}
  table.findings td[data-l]{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:5px 0;
    border-top:1px solid var(--hair);align-items:center}
  table.findings td[data-l]::before{content:attr(data-l);font-family:var(--label);font-size:10.5px;
    font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-50)}
  .dochead{font-size:10.5px;letter-spacing:.1em}
  .seal{right:-6px;bottom:-6px;width:44px;height:44px}
}
@media(max-width:420px){
  .hero .stand svg{max-width:100%}
  .statute{display:none}
  .titleblock{grid-template-columns:1fr}
  .titleblock div{border-left:0;border-top:1px solid var(--hair)}
  .titleblock div:first-child{border-top:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
