
:root{
  --red:#CE3A2D; --red-dark:#E25B4B; --ink:#14161A; --charcoal:#17181C;
  --paper:#FAFAF9; --slate:#5A5D66; --line:#E5E4E1; --soft:#EFEEEB; --white:#fff;
  --r:2px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Manrope',system-ui,-apple-system,sans-serif;
  font-size:15.5px;line-height:1.62;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,.dsp{font-family:'Space Grotesk',system-ui,sans-serif;letter-spacing:-.03em;margin:0}
p{margin:0 0 16px}
a{color:inherit}
.n{font-family:'Space Grotesk',sans-serif;font-variant-numeric:tabular-nums}
.wrap{max-width:1160px;margin:0 auto;padding:0 30px}
.narrow{max-width:800px;margin:0 auto;padding:0 30px}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:200;background:rgba(250,250,249,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;justify-content:space-between;height:70px;gap:22px}
.brand{display:flex;align-items:center;cursor:pointer;flex-shrink:0}
.brand svg{height:27px;width:auto;display:block}
.mainnav{display:flex;gap:19px;align-items:center;margin-left:auto;margin-right:6px}
.mainnav a{font-size:13px;font-weight:600;text-decoration:none;color:var(--ink);cursor:pointer;white-space:nowrap;position:relative;padding:4px 0}
.mainnav a:hover{color:var(--red)}
.mainnav a.on{color:var(--red)}
.mainnav a.on:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--red)}
.btn{display:inline-block;font-family:'Manrope',sans-serif;font-size:14px;font-weight:800;letter-spacing:.01em;
  padding:12px 22px;border:none;border-radius:var(--r);cursor:pointer;text-decoration:none;transition:.15s;white-space:nowrap}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:#B5301F}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#000}
.btn-out{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn-out:hover{background:var(--ink);color:#fff}
.btn-ondark{background:var(--red-dark);color:#fff}
.btn-ondark:hover{background:#CE3A2D}
.btn-lg{padding:15px 30px;font-size:15px}
.btn-sm{padding:9px 16px;font-size:13px}
.menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:4px}
.menu-btn span{display:block;width:20px;height:2px;background:var(--ink)}

/* ---------- generic ---------- */
.sec{padding:88px 0;border-bottom:1px solid var(--line)}
.sec.tight{padding:60px 0}
.sec.dark{background:var(--charcoal);color:#fff;border-bottom:none}
.sec.dark h2,.sec.dark h3{color:#fff}
.sec.dark p,.sec.dark li{color:#B4B6BC}
.sec.white{background:var(--white)}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--red);margin-bottom:16px}
.eyebrow.mute{color:var(--slate)}
h1.big{font-size:clamp(40px,6vw,70px);font-weight:700;line-height:1}
h2{font-size:clamp(27px,3.6vw,42px);font-weight:700;line-height:1.06;margin-bottom:18px}
h3{font-size:20px;font-weight:700;margin-bottom:10px}
h4{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:var(--slate);margin-bottom:12px}
.lede{font-size:19.5px;line-height:1.5;color:var(--slate);max-width:660px}
.sub{color:var(--slate);max-width:700px;margin-bottom:38px}
.mut{color:var(--slate)}
.small{font-size:13px;color:var(--slate)}
.tiny{font-size:11.5px;color:var(--slate)}
.ctarow{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:30px}
.txtlink{font-size:14px;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:2px;cursor:pointer}
.txtlink:hover{color:var(--red)}

/* ---------- hero ---------- */
.hero{padding:92px 0 74px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.trust{display:flex;gap:0;flex-wrap:wrap;margin-top:34px;font-size:12.5px;color:var(--slate);font-weight:600}
.trust span{padding-right:15px;margin-right:15px;border-right:1px solid var(--line)}
.trust span:last-child{border:none}

/* ---------- matrix card ---------- */
.mcard{background:var(--white);border:1px solid var(--line);box-shadow:0 1px 0 rgba(0,0,0,.03)}
.mcard-h{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.mcard-h .t{font-family:'Space Grotesk';font-weight:700;font-size:14px}
.mcard-h .b{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);background:rgba(206,58,45,.09);padding:4px 8px}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--slate);font-weight:800;
  padding:12px 16px;border-bottom:2px solid var(--ink);white-space:nowrap;background:var(--white)}
td{padding:12px 16px;border-bottom:1px solid var(--soft);vertical-align:top}
tbody tr:last-child td{border-bottom:none}
td.num{font-family:'Space Grotesk';font-variant-numeric:tabular-nums;white-space:nowrap}
tr.win td{background:rgba(206,58,45,.05)}
.pill{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:3px 7px}
.pill.r{background:rgba(206,58,45,.11);color:var(--red)}
.pill.g{background:rgba(90,93,102,.11);color:var(--slate)}
.pill.k{background:var(--ink);color:#fff}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ---------- grids ---------- */
.grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(258px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}
.cell{background:var(--paper);padding:28px 26px}
.cell.w{background:var(--white)}
.cell.d{background:var(--charcoal);color:#fff}
.cell.d h3,.cell.d .ct{color:#fff}
.cell.d p,.cell.d li{color:#B4B6BC}
.ct{font-family:'Space Grotesk';font-size:17.5px;font-weight:700;letter-spacing:-.02em;margin-bottom:9px}
.cell p{font-size:14px;color:var(--slate);margin:0}
.stepno{font-family:'Space Grotesk';font-size:11px;font-weight:700;color:var(--red);letter-spacing:.08em;margin-bottom:12px}

/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.stat{background:var(--paper);padding:26px 22px}
.stat .v{font-family:'Space Grotesk';font-size:36px;font-weight:700;line-height:1;letter-spacing:-.045em}
.stat .v.r{color:var(--red)}
.stat .l{font-size:11.5px;color:var(--slate);margin-top:10px;line-height:1.4}

/* callout */
.callout{border-left:3px solid var(--red);background:var(--white);padding:26px 30px;margin:32px 0}
.callout.d{background:var(--charcoal);color:#fff;border-left-color:var(--red-dark)}
.callout.d p{color:#B4B6BC}
.callout .q{font-family:'Space Grotesk';font-size:21px;font-weight:300;letter-spacing:-.02em;line-height:1.42;margin-bottom:12px}

/* list */
ul.ck{list-style:none;padding:0;margin:0}
ul.ck li{padding:10px 0 10px 26px;position:relative;font-size:14.5px;border-bottom:1px solid var(--soft)}
ul.ck li:before{content:"";position:absolute;left:0;top:19px;width:11px;height:2px;background:var(--red)}
ul.ck.no li:before{background:var(--slate);opacity:.4}
ul.ck li:last-child{border-bottom:none}
.cell.d ul.ck li{border-bottom-color:rgba(255,255,255,.09)}

/* timeline */
.tline{margin:40px 0 8px}
.tbar{height:4px;background:var(--line);position:relative}
.tbar i{position:absolute;left:0;top:0;height:4px;width:50%;background:var(--red);display:block}
.tmarks{display:flex}
.tm{flex:1;padding-right:18px}
.tdot{width:12px;height:12px;border-radius:50%;background:var(--red);margin:-8px 0 14px;border:3px solid var(--paper)}
.tdot.h{background:var(--paper);border-color:var(--slate)}
.td{font-family:'Space Grotesk';font-size:13px;font-weight:700}
.tt{font-size:12.5px;color:var(--slate);margin-top:5px;line-height:1.45}

/* faq */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{padding:20px 0;cursor:pointer;font-family:'Space Grotesk';font-weight:700;font-size:16.5px;
  list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-size:22px;font-weight:300;color:var(--red);line-height:1;flex-shrink:0}
.faq details[open] summary:after{content:"–"}
.faq details p{padding:0 0 22px;color:var(--slate);font-size:14.5px;max-width:760px;margin:0}

/* pricing cols */
.pcols{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.pcol{background:var(--paper);padding:40px 34px}
.pcol.d{background:var(--charcoal);color:#fff}
.pcol.d h3,.pcol.d .price{color:#fff}
.pcol.d p,.pcol.d li,.pcol.d h4{color:#B4B6BC}
.pcol.d ul.ck li{border-bottom-color:rgba(255,255,255,.09)}
.pcol.d ul.ck li:before{background:var(--red-dark)}
.price{font-family:'Space Grotesk';font-size:52px;font-weight:700;letter-spacing:-.05em;line-height:1;margin:14px 0 6px}
.price.sm{font-size:32px}
.psub{font-size:13.5px;color:var(--slate);margin-bottom:28px}
.pcol.d .psub{color:#8C8E95}

/* form */
.form-shell{background:var(--white);border:1px solid var(--line);padding:0;max-width:720px;margin:0 auto}
.fsteps{display:flex;border-bottom:1px solid var(--line);overflow-x:auto}
.fstep{flex:1;padding:14px 10px;text-align:center;font-size:10.5px;font-weight:800;letter-spacing:.07em;
  text-transform:uppercase;color:var(--slate);border-right:1px solid var(--line);white-space:nowrap;min-width:88px}
.fstep:last-child{border-right:none}
.fstep.on{background:var(--ink);color:#fff}
.fstep.done{color:var(--red)}
.fbody{padding:34px}
.fq{margin-bottom:26px}
.fq label{display:block;font-size:14px;font-weight:700;margin-bottom:5px}
.fq .help{font-size:12.5px;color:var(--slate);margin-bottom:9px}
input[type=text],input[type=number],input[type=email],select,textarea{
  width:100%;padding:11px 13px;border:1.5px solid var(--line);background:var(--paper);
  font-family:'Manrope',sans-serif;font-size:14.5px;color:var(--ink);border-radius:var(--r)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:8px 14px;border:1.5px solid var(--line);background:var(--paper);font-size:13px;font-weight:600;
  cursor:pointer;border-radius:var(--r);user-select:none}
.chip:hover{border-color:var(--slate)}
.chip.sel{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip.sel.r{background:var(--red);border-color:var(--red)}
.fnav{display:flex;justify-content:space-between;align-items:center;padding:22px 34px;border-top:1px solid var(--line);background:var(--paper)}
.promise{background:rgba(206,58,45,.05);border:1px solid rgba(206,58,45,.18);padding:16px 18px;margin-bottom:28px;font-size:13.5px}
.promise b{color:var(--red)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}

/* calculator */
.calc{display:grid;grid-template-columns:340px 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.calc-in{background:var(--white);padding:32px 28px}
.calc-out{background:var(--charcoal);color:#fff;padding:32px 28px}
.bignum{font-family:'Space Grotesk';font-size:54px;font-weight:700;letter-spacing:-.05em;color:var(--red-dark);line-height:1}
.calcrow{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:13.5px}
.calcrow span:first-child{color:#9A9CA3}
.calcrow span:last-child{font-family:'Space Grotesk';font-variant-numeric:tabular-nums;font-weight:600}
.bars{margin-top:24px}
.bar{margin-bottom:9px}
.bar .bl{display:flex;justify-content:space-between;font-size:11.5px;color:#9A9CA3;margin-bottom:4px}
.bar .bt{height:8px;background:rgba(255,255,255,.12);position:relative}
.bar .bt i{display:block;height:8px;background:var(--red-dark)}
.bar.base .bt i{background:#5A5D66}

/* location page */
.statband{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:28px 0}
.sb{background:var(--white);padding:20px}
.sb .v{font-family:'Space Grotesk';font-size:26px;font-weight:700;letter-spacing:-.04em}
.sb .l{font-size:10.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin-top:7px}
.co{background:var(--white);border:1px solid var(--line);padding:24px 26px;margin-bottom:14px;display:grid;
  grid-template-columns:1fr auto;gap:24px;align-items:start}
.co h3{margin-bottom:6px}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}
.cometa{display:flex;flex-wrap:wrap;gap:0;font-size:12.5px;color:var(--slate)}
.cometa span{padding-right:14px;margin-right:14px;border-right:1px solid var(--line)}
.cometa span:last-child{border:none}
.cometa b{color:var(--ink);font-family:'Space Grotesk';font-weight:700}
.rankline{font-size:12px;color:var(--slate);padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}
.crumb{font-size:12.5px;color:var(--slate);margin-bottom:18px}
.crumb a{cursor:pointer;text-decoration:none}
.crumb a:hover{color:var(--red)}
.citylinks{display:flex;flex-wrap:wrap;gap:8px}
.citylinks a{font-size:13px;padding:7px 13px;background:var(--white);border:1px solid var(--line);text-decoration:none;cursor:pointer}
.citylinks a:hover{border-color:var(--red);color:var(--red)}

/* footer */
footer{background:var(--charcoal);color:#8C8E95;padding:64px 0 40px;font-size:13.5px}
footer .fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:36px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1)}
footer h5{font-size:10.5px;text-transform:uppercase;letter-spacing:.11em;color:#fff;font-weight:800;margin-bottom:16px;font-family:'Manrope'}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:9px}
footer a{color:#8C8E95;text-decoration:none;cursor:pointer;font-size:13px}
footer a:hover{color:#fff}
footer .flogo svg{height:25px;margin-bottom:16px}
.fbot{padding-top:26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11.5px;color:#6E7178}

/* misc */
.split{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.hide{display:none!important}
.page{animation:fade .22s ease}
@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}




@media(max-width:1280px){ .mainnav a[data-nav="audit"]{display:none} }
@media(max-width:1150px){ .mainnav a[data-nav="why"]{display:none} .mainnav{gap:16px} }
@media(max-width:1040px){ .mainnav a[data-nav="report"]{display:none} }
@media(max-width:900px){
  .hero-grid,.calc,.pcols,.split,.row2{grid-template-columns:1fr}
  .mainnav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);flex-direction:column;
    align-items:flex-start;padding:20px 30px;gap:16px;border-bottom:1px solid var(--line)}
  .mainnav.open{display:flex}
  .menu-btn{display:flex}
  .hd .btn{display:none}
  .tmarks{flex-direction:column;gap:20px}
  .tm{padding-right:0}
  footer .fg{grid-template-columns:1fr 1fr}
  .co{grid-template-columns:1fr}
  .sec{padding:56px 0}
}

/* ==================================================================
   Generator additions — page furniture + Get Matched intake
   Brand: Space Grotesk display (300/700, -3% tracking), Manrope UI.
   Match Red #CE3A2D reserved for the mark, primary CTAs, matched
   states and flags — never more than ~10% of a layout.
   ================================================================== */
.pgh1{font-size:clamp(28px,4.2vw,44px);font-weight:700;line-height:1.05;letter-spacing:-.03em;margin-bottom:8px}
.intro{max-width:820px;color:var(--slate);font-size:16.5px;margin-top:18px}
.hrow{display:flex;gap:16px;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}
.hrow h2{margin:0}
main{display:block}
a.brand{text-decoration:none}
a.txtlink{text-decoration:none}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
@media(max-width:700px){.row3{grid-template-columns:1fr}}

/* ---------- intake shell ---------- */
.form-shell{position:relative}
.fprog{height:3px;background:var(--soft)}
.fprog i{display:block;height:3px;background:var(--red);transition:width .28s cubic-bezier(.4,0,.2,1)}
.fsteps{display:flex;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.fsteps::-webkit-scrollbar{display:none}
button.fstep{flex:1;padding:14px 10px;text-align:center;font-family:'Manrope',sans-serif;font-size:10.5px;font-weight:800;
  letter-spacing:.07em;text-transform:uppercase;color:var(--slate);border:none;border-right:1px solid var(--line);
  background:var(--white);white-space:nowrap;min-width:96px;cursor:pointer;transition:.15s}
button.fstep:last-child{border-right:none}
button.fstep:hover{color:var(--ink);background:var(--paper)}
button.fstep.on{background:var(--ink);color:#fff}
button.fstep.done{color:var(--red)}
.fhead{margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--soft)}
.fhead h3{font-size:25px;font-weight:700;letter-spacing:-.03em;margin-bottom:6px}
.fhead p{margin:0;color:var(--slate);font-size:14.5px}
.fq label em.req{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--red);margin-left:9px;vertical-align:1px}

/* ---------- chips ---------- */
.chip{position:relative;transition:.13s}
.chip .rk{position:absolute;left:-1px;top:-1px;width:0;height:0;overflow:hidden;font-style:normal;
  font-family:'Space Grotesk',sans-serif;font-size:10px;font-weight:700;color:#fff;background:var(--red);
  display:flex;align-items:center;justify-content:center;transition:.13s}
.chip.top{padding-left:26px}
.chip.top .rk{width:18px;height:18px;left:5px;top:50%;transform:translateY(-50%);border-radius:50%;overflow:visible}
.chip.sel{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip.top{background:var(--ink);border-color:var(--ink)}
.chip-other{border-style:dashed}
.otherwrap{display:none;margin-top:10px}
.otherwrap.open{display:block;animation:fade .2s ease}
.otherwrap input{max-width:520px}

/* ---------- typeahead ---------- */
.typeahead{position:relative}
.typeahead input{padding-right:150px}
.typeahead .geo{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px;
  background:var(--paper);border:1px solid var(--line);color:var(--slate);font-family:'Manrope',sans-serif;
  font-size:11.5px;font-weight:700;padding:7px 11px;border-radius:2px;cursor:pointer;transition:.13s}
.typeahead .geo:hover{color:var(--red);border-color:var(--red)}
.ta-list{display:none;position:absolute;left:0;right:0;top:calc(100% + 5px);background:var(--white);
  border:1px solid var(--ink);z-index:60;max-height:290px;overflow:auto;box-shadow:0 10px 30px rgba(20,22,26,.09)}
.ta-list.open{display:block}
.ta-item{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;text-align:left;
  padding:11px 14px;background:none;border:none;border-bottom:1px solid var(--soft);cursor:pointer;font-family:'Manrope',sans-serif}
.ta-item:last-child{border-bottom:none}
.ta-item:hover,.ta-item.hi{background:var(--paper)}
.ta-n{font-size:14.5px;font-weight:700;color:var(--ink)}
.ta-m{font-size:11.5px;color:var(--slate);white-space:nowrap}
.ta-empty{padding:14px;font-size:13px;color:var(--slate)}
.locpick{margin-top:12px;border:1px solid var(--line);background:var(--white)}
.lp-row{display:flex;gap:16px;padding:11px 16px;border-bottom:1px solid var(--soft);font-size:13.5px}
.lp-row:last-child{border-bottom:none}
.lp-k{width:150px;flex-shrink:0;color:var(--slate);font-size:11px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;padding-top:2px}
.lp-v{color:var(--ink)}

/* ---------- live market panel ---------- */
.mkt{margin-top:30px;background:var(--charcoal);color:#fff;padding:26px 26px 20px}
.mkt-h{font-family:'Space Grotesk',sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--red-dark);margin-bottom:20px}
.mkt-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px}
.mk .mv{font-family:'Space Grotesk',sans-serif;font-size:27px;font-weight:700;letter-spacing:-.045em;line-height:1}
.mk .ml{font-size:11px;color:#8C8E95;margin-top:8px;line-height:1.4}
.mkt-f{margin:22px 0 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:11.5px;color:#8C8E95}

/* ---------- inline notes ---------- */
.note{margin-top:24px;border-left:3px solid var(--slate);background:var(--white);padding:16px 20px;font-size:14px;color:var(--slate)}
.note b{color:var(--ink)}
.note.warn{border-left-color:var(--red)}
.note a{color:var(--red);font-weight:700}

/* ---------- BoardMatch standards panel ---------- */
.standards{border:1px solid var(--line);background:var(--white);padding:24px 26px;margin:6px 0 28px}
.std-h{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-size:14.5px;
  font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:16px}
.std-h svg{color:var(--red);flex-shrink:0}
.std-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:0 26px}
.std{position:relative;padding:9px 0 9px 20px;font-size:13.5px;color:var(--slate);border-bottom:1px solid var(--soft)}
.std:before{content:"";position:absolute;left:0;top:17px;width:9px;height:2px;background:var(--red)}
.std-f{margin:16px 0 0;font-size:12px;color:var(--slate)}
.std-f a{color:var(--ink);font-weight:700}

/* ---------- upload ---------- */
.drop{border:1.5px dashed var(--line);padding:28px;text-align:center;cursor:pointer;transition:.15s}
.drop:hover{border-color:var(--slate)}
.drop.has{border-color:var(--red);background:rgba(206,58,45,.03)}
.drop b{display:block;font-family:'Space Grotesk',sans-serif;font-size:15px;margin-bottom:5px}
.drop span{font-size:12.5px;color:var(--slate)}

/* ---------- review ---------- */
.miss{border-left:3px solid var(--red);background:var(--white);padding:20px 24px;margin-bottom:26px;font-size:14px}
.miss ul{margin:10px 0 0;padding-left:18px;color:var(--slate)}
.miss li{margin-bottom:5px}
.miss a{color:var(--red);font-weight:700;cursor:pointer;text-decoration:underline}
.okbox{border-left:3px solid var(--ink);background:var(--white);padding:20px 24px;margin-bottom:26px;font-size:14px;color:var(--slate)}
.okbox b{color:var(--ink)}
.revlist{border:1px solid var(--line);background:var(--white)}
.rev{display:flex;gap:18px;padding:13px 18px;border-bottom:1px solid var(--soft);font-size:13.5px}
.rev:last-child{border-bottom:none}
.rk2{width:190px;flex-shrink:0;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--slate);padding-top:3px}
.rv{color:var(--ink)}
.tl-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:26px}
.tm2{background:var(--white);padding:16px 18px}
.tm2 b{display:block;font-family:'Space Grotesk',sans-serif;font-size:14px;letter-spacing:-.02em}
.tm2 span{font-size:11.5px;color:var(--slate);display:block;margin-top:4px;line-height:1.4}
.done{text-align:center;padding:34px 10px}
.done-h{font-family:'Space Grotesk',sans-serif;font-size:42px;font-weight:700;letter-spacing:-.04em;color:var(--red)}
.done p{max-width:460px;margin:18px auto 0;color:var(--slate)}
.promise.soft{background:var(--soft);border-color:var(--line)}

/* ==================================================================
   PORTALS
   ================================================================== */
.pt{display:grid;grid-template-columns:252px 1fr;min-height:70vh}
.pt-side{border-right:1px solid var(--line);background:var(--white);padding:28px 0 40px;position:sticky;top:70px;align-self:start}
.pt-who{padding:0 24px 22px;border-bottom:1px solid var(--line)}
.pt-tag{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;padding:4px 8px;border-radius:2px}
.pt-tag.b{background:rgba(206,58,45,.1);color:var(--red)}
.pt-tag.m{background:var(--ink);color:#fff}
.pt-name{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:700;letter-spacing:-.02em;margin-top:12px;line-height:1.25}
.pt-sub{font-size:11.5px;color:var(--slate);margin-top:5px}
.pt-nav{display:flex;flex-direction:column;padding:14px 0}
.pt-nav a{padding:11px 24px;font-size:13.5px;font-weight:600;text-decoration:none;color:var(--slate);border-left:2px solid transparent}
.pt-nav a:hover{color:var(--ink);background:var(--paper)}
.pt-nav a.on{color:var(--ink);border-left-color:var(--red);background:var(--paper)}
.pt-foot{padding:18px 24px 0;border-top:1px solid var(--line);margin-top:14px}
.pt-foot a{font-size:12.5px;color:var(--slate);text-decoration:none}
.pt-main{padding:34px 38px 70px;background:var(--paper);min-width:0}
.pt-h{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;margin-bottom:26px}
.pt-h h1{font-size:27px;font-weight:700;letter-spacing:-.03em}
.pt-h p{margin:6px 0 0;color:var(--slate);font-size:14px;max-width:640px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(146px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:26px}
.kpi{background:var(--white);padding:20px}
.kv{font-family:'Space Grotesk',sans-serif;font-size:29px;font-weight:700;letter-spacing:-.045em;line-height:1}
.kv.r{color:var(--red)}
.kl{font-size:10.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin-top:9px;line-height:1.35}
.pt-card{background:var(--white);border:1px solid var(--line);margin-bottom:22px}
.pc-h{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 22px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.pc-h h2{font-size:16px;font-weight:700;letter-spacing:-.02em;margin:0}
.pc-b{padding:22px}
.pt-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pt-two2{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.pt-split{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:26px}
.pt-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:8px 0 12px}
ul.feed{list-style:none;padding:0;margin:0}
ul.feed li{padding:12px 0;border-bottom:1px solid var(--soft);font-size:13.5px;color:var(--slate)}
ul.feed li:last-child{border-bottom:none}
ul.feed li b{color:var(--ink)}
ul.feed li span{display:block;font-size:11px;color:var(--slate);opacity:.75;margin-top:4px}
ul.files{list-style:none;padding:0;margin:0}
ul.files li{padding:12px 0;border-bottom:1px solid var(--soft);font-size:13.5px}
ul.files li:last-child{border-bottom:none}
ul.files li b{display:block;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:14px}
ul.files li span{font-size:11.5px;color:var(--slate)}
.meter{margin-bottom:16px}
.mt-l{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px}
.mt-l b{font-family:'Space Grotesk',sans-serif}
.mt-b{height:6px;background:var(--soft)}
.mt-b i{display:block;height:6px;background:var(--ink)}
.meter.warn .mt-b{background:rgba(206,58,45,.14)}
.meter.warn .mt-l b{color:var(--red)}
ol.ranked{margin:12px 0 0;padding-left:20px}
ol.ranked li{padding:5px 0;font-size:14px;font-weight:600}
ol.ranked.red li::marker{color:var(--red);font-weight:800}
.reasons{display:grid;gap:14px;margin-top:14px}
.rsn{display:grid;grid-template-columns:34px 1fr;gap:16px;align-items:start;padding:16px 18px;background:var(--paper);border:1px solid var(--line)}
.rsn>b{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;color:#fff;background:var(--ink);width:30px;height:30px;display:flex;align-items:center;justify-content:center}
.rsn div b{font-size:14.5px;font-family:'Space Grotesk',sans-serif}
.rsn div p{margin:5px 0 0;font-size:13.5px;color:var(--slate)}
.pt-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto}
.ptab{background:none;border:none;padding:12px 18px;font-family:'Manrope',sans-serif;font-size:13px;font-weight:700;color:var(--slate);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.ptab:hover{color:var(--ink)}
.ptab.on{color:var(--ink);border-bottom-color:var(--red)}
.ptp{display:none}.ptp.on{display:block;animation:fade .2s ease}
.calcbox{margin-top:20px;background:var(--charcoal);color:#fff;padding:20px 22px}
.cbrow{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:13.5px}
.cbrow span{color:#9A9CA3}
.cbrow b{font-family:'Space Grotesk',sans-serif}
.cbrow.hi{border-bottom:none}.cbrow.hi b{color:var(--red-dark);font-size:19px}
table.scopegrid td.rad{text-align:center;width:15%}
td.rad label{display:inline-flex;align-items:center;cursor:pointer}
td.rad input{position:absolute;opacity:0}
td.rad span{width:16px;height:16px;border:1.5px solid var(--line);border-radius:50%;display:block;position:relative}
td.rad input:checked+span{border-color:var(--red)}
td.rad input:checked+span:after{content:"";position:absolute;inset:3px;background:var(--red);border-radius:50%}
td.rad span.cbx{border-radius:2px}
td.rad input:checked+span.cbx:after{inset:2px;border-radius:0}
input.mini{width:62px;padding:5px 7px;font-size:12px;margin-left:8px}
.uploads{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.up{border:1.5px dashed var(--line);padding:18px;cursor:pointer;transition:.15s}
.up:hover{border-color:var(--slate)}
.up.ok{border-style:solid;border-color:var(--red);background:rgba(206,58,45,.03)}
.up b{display:block;font-family:'Space Grotesk',sans-serif;font-size:14px;margin-bottom:4px}
.up span{font-size:11.5px;color:var(--slate)}
.prog-big{background:var(--white);border:1px solid var(--line);padding:26px 24px 20px;margin-bottom:24px}
.pb-track{height:5px;background:var(--soft);margin-bottom:20px}
.pb-track i{display:block;height:5px;background:var(--red)}
.pb-marks{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pbm b{display:block;font-family:'Space Grotesk',sans-serif;font-size:13px;color:var(--slate)}
.pbm span{font-size:11.5px;color:var(--slate);display:block;margin-top:3px;line-height:1.35}
.pbm.done b,.pbm.on b{color:var(--ink)}
.pbm.on b{color:var(--red)}
.propmeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:1px;background:var(--line)}
.propmeta>div{background:var(--white);padding:14px 16px}
.propmeta span{display:block;font-size:10px;color:var(--slate);text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.propmeta b{font-family:'Space Grotesk',sans-serif;font-size:14.5px;margin-top:5px;display:block}
.propmeta b.big{font-size:18px}
.propdet{display:none;border-top:1px solid var(--line)}
.prop.open .propdet{display:block;animation:fade .2s ease}
.inv{display:none}.inv.open{display:block;animation:fade .2s ease}
.thread{display:grid;gap:16px}
.th{padding:14px 18px;background:var(--paper);border-left:2px solid var(--line)}
.th b{font-family:'Space Grotesk',sans-serif;font-size:14px}
.th span{font-size:11px;color:var(--slate);margin-left:8px}
.th p{margin:7px 0 0;font-size:13.5px;color:var(--slate)}
.wgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px}
.wl{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px}
.wl b{font-family:'Space Grotesk',sans-serif;color:var(--red)}
.wq input[type=range]{width:100%;accent-color:#CE3A2D}
.rk3{display:grid;grid-template-columns:26px 1fr 160px 52px;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--soft)}
.rk3:last-child{border-bottom:none}
.rp{font-family:'Space Grotesk',sans-serif;font-weight:700;color:var(--slate)}
.rn{font-size:14px;font-weight:600}
.rb{height:7px;background:var(--soft)}
.rb i{display:block;height:7px;background:var(--red)}
.rv{font-family:'Space Grotesk',sans-serif;font-size:14px;text-align:right}
.vote{display:grid;gap:10px}
.vrow{display:grid;grid-template-columns:1fr 150px 28px 150px;gap:14px;align-items:center;font-size:13.5px}
.vn{font-weight:600}
.vb{height:8px;background:var(--soft)}
.vb i{display:block;height:8px;background:var(--ink)}
.vc{font-family:'Space Grotesk',sans-serif;font-weight:700}
.vw{font-size:11.5px;color:var(--slate)}
/* assistant */
.chatwrap{padding:0}
.chat{padding:22px;max-height:560px;overflow:auto;display:flex;flex-direction:column;gap:16px}
.msg{display:flex;gap:12px;max-width:88%}
.msg.u{margin-left:auto;flex-direction:row-reverse}
.msg .av{width:28px;height:28px;flex-shrink:0;background:var(--ink);color:#fff;font-family:'Space Grotesk',sans-serif;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:-.02em}
.bub{padding:14px 18px;font-size:14px;line-height:1.6}
.msg.a .bub{background:var(--paper);border:1px solid var(--line);color:var(--ink)}
.msg.u .bub{background:var(--ink);color:#fff}
.msg.a .bub i{color:var(--slate);font-size:12px;display:block;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.sugg{display:flex;flex-wrap:wrap;gap:8px;padding:0 22px 16px}
.sg{background:var(--white);border:1px solid var(--line);font-family:'Manrope',sans-serif;font-size:12.5px;font-weight:600;padding:8px 13px;cursor:pointer;text-align:left;color:var(--ink);transition:.13s}
.sg:hover{border-color:var(--red);color:var(--red)}
.thinking{font-size:12.5px;color:var(--slate);padding:8px 0}
.chatbar{display:flex;gap:10px;padding:16px 22px;border-top:1px solid var(--line);background:var(--paper)}
.chatbar input{flex:1}
@media(max-width:980px){
  .pt{grid-template-columns:1fr}
  .pt-side{position:static;border-right:none;border-bottom:1px solid var(--line)}
  .pt-nav{flex-direction:row;overflow-x:auto;padding:10px 14px}
  .pt-nav a{border-left:none;border-bottom:2px solid transparent;white-space:nowrap;padding:9px 13px}
  .pt-nav a.on{border-left:none;border-bottom-color:var(--red)}
  .pt-main{padding:24px 20px 60px}
  .pt-two,.pt-two2,.pt-split{grid-template-columns:1fr}
  .pb-marks{grid-template-columns:1fr 1fr}
  .vrow{grid-template-columns:1fr 60px}
  .vb,.vw{display:none}
}
.pt-signin{font-size:13px;font-weight:700;text-decoration:none;color:var(--slate);white-space:nowrap;margin-right:2px}
.pt-signin:hover{color:var(--red)}
@media(max-width:900px){.pt-signin{display:none}}

/* nav fit — with Sign in present */
header .mainnav{gap:17px}
header .mainnav a{font-size:12.5px}
@media(max-width:1400px){.mainnav a[href="/escalator-audit/"]{display:none}}
@media(max-width:1250px){.mainnav a[href="/why-boardmatch/"]{display:none}}
@media(max-width:1120px){.mainnav a[href="/the-boardmatch-report/"]{display:none}}
@media(max-width:1000px){.mainnav a[href="/how-it-works/"]{display:none}}

/* decline feedback loop */
.whyfree{background:var(--charcoal);color:#fff;padding:22px 24px;margin-bottom:26px}
.wf-h{font-family:'Space Grotesk',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--red-dark);margin-bottom:12px}
.whyfree p{margin:0;font-size:14px;color:#B4B6BC;line-height:1.62}
.agg{display:grid;gap:9px}
.agrow{display:grid;grid-template-columns:1fr 170px 46px;gap:16px;align-items:center;font-size:13.5px}
.agn{color:var(--ink)}
.agb{height:8px;background:var(--soft)}
.agb i{display:block;height:8px;background:var(--red)}
.agv{font-family:'Space Grotesk',sans-serif;font-weight:700;text-align:right;font-size:13px}
@media(max-width:760px){.agrow{grid-template-columns:1fr 46px}.agb{display:none}}
/* portal tour */
.tour{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.tourrow{display:grid;grid-template-columns:1.05fr 1.35fr;gap:0;background:var(--paper)}
.tourrow:nth-child(even){grid-template-columns:1.35fr 1.05fr}
.tourrow:nth-child(even) .tt2{order:2}
.tt2{padding:38px 34px;align-self:center}
.tt2 .n{font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:700;color:var(--red);letter-spacing:.09em;margin-bottom:12px}
.tt2 h3{font-size:22px;margin-bottom:10px}
.tt2 p{font-size:14.5px;color:var(--slate);margin:0}
.tshot{background:var(--soft);padding:26px;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--line)}
.tourrow:nth-child(even) .tshot{border-left:none;border-right:1px solid var(--line)}
.tshot img{width:100%;height:auto;display:block;border:1px solid var(--line);box-shadow:0 8px 30px rgba(20,22,26,.10);background:#fff}
@media(max-width:860px){.tourrow,.tourrow:nth-child(even){grid-template-columns:1fr}.tourrow:nth-child(even) .tt2{order:0}
.tshot{border-left:none;border-top:1px solid var(--line)}.tourrow:nth-child(even) .tshot{border-right:none}}

/* sourced-data furniture */
.factband .sb .v{font-size:17px;line-height:1.25;letter-spacing:-.02em}
.srcline{font-size:11.5px;color:var(--slate);margin:-8px 0 0;max-width:900px;line-height:1.55}
.empty{background:var(--white);border:1px solid var(--line);padding:34px 32px}
.em-h{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:700;letter-spacing:-.03em;margin-bottom:14px}
.empty p{font-size:15px;color:var(--slate);max-width:760px}
.em-two{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:26px}
.em-two>div{background:var(--paper);padding:24px 22px}
.em-two p{font-size:13.5px;margin-bottom:16px}
.pending{border-left:3px solid var(--slate);background:var(--white);padding:18px 22px;margin-top:20px;font-size:13.5px;color:var(--slate)}
.pending b{color:var(--ink)}
.demobar{background:var(--ink);color:#B4B6BC;font-size:11.5px;padding:9px 16px;margin-bottom:22px;letter-spacing:.01em}
@media(max-width:700px){.em-two{grid-template-columns:1fr}}

/* site visit + validity */
.validity{background:var(--charcoal);color:#fff;padding:22px 24px;margin:6px 0 26px}
.vl-h{font-family:'Space Grotesk',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--red-dark);margin-bottom:12px}
.validity p{margin:0 0 10px;font-size:14px;color:#B4B6BC;line-height:1.62}
.validity p:last-child{margin-bottom:0}
.validity b{color:#fff}
.visitbox{border:1px solid var(--line);background:var(--paper);padding:24px 26px;margin-top:26px}
.vb-h{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}
.visitbox p{font-size:14px;color:var(--slate);max-width:720px}
.vb-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:18px 0 4px}
.slot{background:var(--white);border:1.5px solid var(--line);padding:13px 15px;cursor:pointer;text-align:left;
  font-family:'Manrope',sans-serif;transition:.13s}
.slot:hover{border-color:var(--slate)}
.slot.sel{border-color:var(--red);background:rgba(206,58,45,.04)}
.slot b{display:block;font-family:'Space Grotesk',sans-serif;font-size:14px}
.slot span{font-size:11.5px;color:var(--slate)}
.attest{display:grid;grid-template-columns:22px 1fr;gap:14px;align-items:start;background:var(--paper);
  border:1px solid var(--line);padding:16px 18px}
.attest input{position:absolute;opacity:0}
.attest span.cbx2{width:16px;height:16px;border:1.5px solid var(--line);display:block;position:relative;margin-top:2px}
.attest input:checked+span.cbx2{border-color:var(--red);background:var(--red)}
.attest input:checked+span.cbx2:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}
.attest b{font-size:14px}
.attest p{margin:5px 0 0;font-size:13px;color:var(--slate)}
.pb-marks.six{grid-template-columns:repeat(6,1fr)}
@media(max-width:900px){.pb-marks.six{grid-template-columns:1fr 1fr}}

.ladder{display:grid;gap:12px;margin-top:8px}
.lad{display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:start;background:var(--white);
  border:1px solid var(--line);padding:20px 22px}
.ln{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;color:#fff;background:var(--ink);
  width:36px;height:36px;display:flex;align-items:center;justify-content:center}
.lad b{font-family:'Space Grotesk',sans-serif;font-size:16px;letter-spacing:-.02em}
.lad p{margin:6px 0 0;font-size:13.5px;color:var(--slate);max-width:820px}

/* reviews policy + testimonials */
.policybox{background:var(--charcoal);color:#fff;padding:24px 26px;margin-bottom:28px}
.pb-h{font-family:'Space Grotesk',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--red-dark);margin-bottom:12px}
.policybox p{margin:0 0 11px;font-size:14px;color:#B4B6BC;line-height:1.62;max-width:820px}
.policybox p:last-child{margin-bottom:0}
.testis{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:12px}
.testi{border:1.5px solid var(--line);background:var(--paper);padding:16px 18px}
.testi.sel{border-color:var(--ink);background:var(--white)}
.tm-h{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:8px}
.tm-h b{font-family:'Space Grotesk',sans-serif;font-size:13px}
.tm-h span{font-size:11px;color:var(--slate)}
.testi p{margin:0;font-size:13.5px;color:var(--ink);line-height:1.55}
.tnote{display:block;margin-top:10px;font-size:11px;color:var(--red);font-weight:700}

.answer{font-size:16.5px;line-height:1.68;color:var(--ink);margin-top:22px}
.answer p{margin:16px 0 0;color:var(--slate)}
.qgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.qcard{background:var(--paper);padding:22px 24px;text-decoration:none;display:block;transition:.13s}
.qcard:hover{background:var(--white)}
.qcard b{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:700;letter-spacing:-.02em;display:block;line-height:1.32}
.qcard span{font-size:11px;color:var(--slate);text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-top:9px;display:block}
.gcard{text-decoration:none;display:block;transition:.13s}
.gcard:hover{background:var(--paper)}
.gsec{display:grid;grid-template-columns:52px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid var(--line)}
.gsec:last-of-type{border-bottom:none}
.gn{font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;color:var(--red);padding-top:5px}
.capture{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;background:var(--charcoal);color:#fff;padding:26px 28px}
.cp-h{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;letter-spacing:-.02em;margin-bottom:7px}
.capture p{margin:0;font-size:13.5px;color:#8C8E95;max-width:520px}
.cp-f{display:flex;gap:9px}
.cp-f input{width:250px;background:#1F2126;border-color:#2C2F35;color:#fff}
@media(max-width:760px){.capture{grid-template-columns:1fr}.cp-f input{width:100%}.gsec{grid-template-columns:1fr;gap:8px}}

/* billing */
.paymethods{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:12px}
.pm{border:1.5px solid var(--line);background:var(--paper);padding:18px 20px}
.pm.sel{border-color:var(--ink);background:var(--white)}
.pm-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}
.pm-t{font-family:'Space Grotesk',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:-.01em}
.pm-n{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;letter-spacing:-.02em}
.pm-m{font-size:11.5px;color:var(--slate);margin-top:8px;line-height:1.45}
.pm.add{border-style:dashed;cursor:pointer;text-align:left;font-family:'Manrope',sans-serif;display:flex;
  flex-direction:column;justify-content:center;gap:5px}
.pm.add:hover{border-color:var(--red)}
.pm.add b{font-family:'Space Grotesk',sans-serif;font-size:14px}
.pm.add span{font-size:11.5px;color:var(--slate)}
.autopay{display:grid;gap:16px}
.ap-row{display:grid;grid-template-columns:42px 1fr;gap:16px;align-items:start}
.ap-row b{font-size:14.5px;font-family:'Space Grotesk',sans-serif;letter-spacing:-.01em}
.ap-row p{margin:5px 0 0;font-size:13px;color:var(--slate)}
.tgl{display:inline-block;position:relative;width:38px;height:22px;cursor:pointer}
.tgl input{position:absolute;opacity:0}
.tgl span{position:absolute;inset:0;background:var(--line);border-radius:22px;transition:.15s}
.tgl span:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:.15s}
.tgl input:checked+span{background:var(--red)}
.tgl input:checked+span:after{transform:translateX(16px)}

@media(max-width:1400px){.mainnav a[href="/compare/"]{display:none}}

/* ================= application ================= */
.loading{padding:70px 30px;text-align:center;color:var(--slate);font-size:14px}
.pt-tag.a{background:var(--red);color:#fff}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,80px);background:var(--ink);color:#fff;
  padding:13px 20px;font-size:13.5px;font-weight:600;z-index:400;opacity:0;transition:.25s;max-width:520px;box-shadow:0 10px 34px rgba(0,0,0,.2)}
.toast.show{transform:translate(-50%,0);opacity:1}
.toast.err{background:var(--red)}
.btnrow{display:flex;gap:6px;flex-wrap:wrap}
.okmsg{background:var(--paper);border-left:3px solid var(--ink);padding:14px 16px;margin-top:14px;font-size:13.5px}
.linkbox{display:inline-block;margin-top:8px;background:var(--ink);color:#fff;padding:7px 10px;font-size:12px;
  word-break:break-all;font-family:ui-monospace,Menlo,monospace}
.jsonbox{background:var(--paper);padding:16px;font-size:12px;overflow:auto;max-height:420px;
  font-family:ui-monospace,Menlo,monospace;border:1px solid var(--line)}

/* auth */
.authwrap{min-height:78vh;display:flex;align-items:center;justify-content:center;padding:50px 24px;background:var(--paper)}
.authcard{width:100%;max-width:430px;background:var(--white);border:1px solid var(--line);padding:40px 36px}
.authlogo{display:block;margin-bottom:10px}
.authlogo svg{width:190px;height:auto;display:block;margin:0 auto}
.authsub{text-align:center;color:var(--slate);font-size:13.5px;margin:0 0 26px}
.ssos{display:grid;gap:9px}
.sso{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;padding:12px;background:var(--white);
  border:1.5px solid var(--line);cursor:pointer;font-family:'Manrope',sans-serif;font-size:14.5px;font-weight:700;
  color:var(--ink);border-radius:2px;transition:.13s}
.sso:hover{border-color:var(--ink)}
.ordiv{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--slate);font-size:12px}
.ordiv:before,.ordiv:after{content:"";flex:1;height:1px;background:var(--line)}
.authcard form{display:grid;gap:11px}
.authcard input[type=email],.authcard input[type=password],.authcard input[type=text]{width:100%}
.terms{display:flex;gap:10px;align-items:flex-start;cursor:pointer;margin:4px 0 6px}
.terms input{position:absolute;opacity:0}
.terms .cbx3{width:17px;height:17px;border:1.5px solid var(--line);flex-shrink:0;margin-top:1px;position:relative;background:#fff}
.terms input:checked+.cbx3{background:var(--red);border-color:var(--red)}
.terms input:checked+.cbx3:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}
.terms em{font-style:normal;font-size:12.5px;color:var(--slate);line-height:1.45}
.btn.wide{width:100%;text-align:center}
.autherr{color:var(--red);font-size:13px;font-weight:700;margin:2px 0 0;min-height:1px}
.authfoot{text-align:center;font-size:12.5px;color:var(--slate);margin:16px 0 0}
.authfoot a{color:var(--ink);font-weight:700}

/* settings + qa */
.setrow{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--soft)}
.setrow:last-child{border-bottom:none}
.setrow b{font-family:'Space Grotesk',sans-serif;font-size:14.5px}
.setrow p{margin:5px 0 0;font-size:13px;color:var(--slate);max-width:560px}
.qpick{display:grid;gap:8px}
.qrow{display:flex;justify-content:space-between;gap:16px;align-items:center;text-align:left;width:100%;
  background:var(--paper);border:1.5px solid var(--line);padding:12px 15px;cursor:pointer;font-family:'Manrope',sans-serif;transition:.13s}
.qrow:hover{border-color:var(--slate)}
.qrow.on{border-color:var(--red);background:rgba(206,58,45,.03)}
.qt{font-size:13.5px;color:var(--ink)}
.qa{font-size:11px;color:var(--slate);white-space:nowrap;font-weight:700}
.ansrow{display:grid;grid-template-columns:170px 1fr;gap:14px;padding:11px 0;border-top:1px solid var(--soft);font-size:13.5px}
.ao{font-weight:700;font-family:'Space Grotesk',sans-serif;font-size:13px}
.aa{color:var(--slate)}
.ad{grid-column:2;font-size:11px;color:var(--slate);opacity:.8}
.ansdate{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--slate);margin-left:9px}
.pkg{border:1px solid var(--line);background:var(--paper);padding:18px 20px;margin-bottom:10px;position:relative}
.pkgx{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--red);font-size:11.5px;
  font-weight:800;cursor:pointer;font-family:'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.07em}
.exgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.ex{border:1px solid var(--line);background:var(--paper);padding:14px 16px}
.ex b{display:block;font-family:'Space Grotesk',sans-serif;font-size:14px;margin-bottom:10px}

/* ---------- legal documents ---------- */
.lg-hero{padding-bottom:34px}
.lg-wrap{max-width:900px;margin:0 auto}
.lg-lead{margin:0 0 34px}
.lg-toc{border:1px solid var(--line);border-radius:14px;padding:22px 26px;margin:0 0 44px;background:#fff}
.lg-toc-h{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--mut);margin-bottom:12px}
.lg-toc ol{margin:0;padding-left:20px;columns:2;column-gap:34px}
.lg-toc li{font-size:14px;margin:0 0 7px;break-inside:avoid}
.lg-toc a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
.lg-toc a:hover{border-bottom-color:var(--red);color:var(--red)}
.lg-sec{padding:0 0 40px;scroll-margin-top:96px}
.lg-h{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:23px;letter-spacing:-.02em;
  margin:0 0 16px;padding-top:26px;border-top:1px solid var(--line);display:flex;gap:14px;align-items:baseline}
.lg-n{color:var(--red);font-size:14px;font-weight:700;min-width:26px}
.lg-sec p{font-size:15.5px;line-height:1.72;margin:0 0 14px}
.lg-sec .ck li{font-size:15px;line-height:1.66;margin-bottom:9px}
.lg-caps{font-size:13.5px!important;line-height:1.66!important;letter-spacing:.005em}
.lg-dl{margin:0}
.lg-dl dt{font-weight:700;font-size:15px;margin:16px 0 4px}
.lg-dl dd{margin:0;font-size:15px;line-height:1.68;color:var(--mut)}
@media(max-width:720px){.lg-toc ol{columns:1}.lg-h{font-size:20px}}

/* ---------- signup / onboarding ---------- */
.authwrap.wide .authcard{max-width:720px}
.supcard{text-align:left}
.suphead{margin:6px 0 22px}
.supsteps{display:flex;gap:8px}
.supsteps span{flex:1;display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;
  color:var(--mut);padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}
.supsteps span i{width:20px;height:20px;border-radius:50%;background:var(--line);color:#fff;
  display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:700;flex:none}
.supsteps span.on{border-color:var(--ink);color:var(--ink)}
.supsteps span.on i{background:var(--red)}
.supsteps span.done i{background:var(--ink)}
.supintro{font-size:14px;color:var(--mut);line-height:1.6;margin:0 0 16px}
.supnav{display:flex;justify-content:space-between;gap:12px;margin-top:24px}
.agbox{max-height:340px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;
  padding:22px 24px;background:#FBFBFC;margin:0 0 20px}
.agbox h4{font-family:'Space Grotesk',sans-serif;font-size:18px;margin:0 0 4px}
.agbox h5{font-size:13.5px;font-weight:800;margin:20px 0 6px;letter-spacing:-.01em}
.agbox p{font-size:13.5px;line-height:1.62;margin:0 0 9px;color:#3B4048}
.agbox .agv{font-size:12px;color:var(--mut);margin-bottom:14px}
.codein{letter-spacing:.5em;text-align:center;font-size:24px!important;font-weight:700;font-family:'Space Grotesk',sans-serif}
.mfato{font-size:14px;color:var(--mut);line-height:1.6;margin:0 0 16px;text-align:center}

/* ---------- payments matrix ---------- */
.paytable td{vertical-align:middle;padding:6px 8px}
.paytable th{font-size:11px;letter-spacing:.04em}
.cellin{width:100%;border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-size:13px;
  font-family:inherit;background:#fff;color:var(--ink)}
.cellin:focus{outline:none;border-color:var(--ink)}
select.cellin{cursor:pointer}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* ---------- demonstration environment ---------- */
.demobar{position:sticky;top:0;z-index:60;background:#14161A;color:#fff}
.demobar-in{max-width:1440px;margin:0 auto;padding:11px 22px;display:flex;align-items:center;
  gap:10px;flex-wrap:wrap;font-size:13px;line-height:1.4}
.demobar-in b{font-weight:800}
.demobar-in span{color:#C9CDD4}
.demodot{width:8px;height:8px;border-radius:50%;background:#CE3A2D;flex:none;
  box-shadow:0 0 0 0 rgba(206,58,45,.7);animation:demopulse 2.2s infinite}
@keyframes demopulse{70%{box-shadow:0 0 0 8px rgba(206,58,45,0)}100%{box-shadow:0 0 0 0 rgba(206,58,45,0)}}
.demoswap{margin-left:auto;display:flex;gap:7px;flex-wrap:wrap}
.demoswap a{color:#fff;text-decoration:none;font-size:12px;font-weight:700;padding:6px 12px;
  border:1px solid rgba(255,255,255,.28);border-radius:99px;white-space:nowrap}
.demoswap a:hover{background:rgba(255,255,255,.12)}
.demoswap a.demoout{background:#CE3A2D;border-color:#CE3A2D}
.demoswap a.demoout:hover{background:#B4291D}
body.demo .pt-side{top:0}
@media(max-width:860px){.demoswap{margin-left:0;width:100%}}

/* ---------- board RFP builder ---------- */
.minicheck{font-size:12px;color:var(--mut);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.rfpsec{margin:22px 0 0}
.rfpsec-h{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--mut);padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:14px}
.rfpq label{display:block;font-size:14px;font-weight:600;line-height:1.5;margin-bottom:7px;color:var(--ink)}
.rfpq .req{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--red);margin-left:6px}
.rfpq textarea.missing{border-color:var(--red);box-shadow:0 0 0 3px rgba(206,58,45,.12)}
.rfpsrc{margin:0 0 18px;border:1px solid var(--line);border-radius:10px;padding:12px 16px;background:#FBFBFC}
.rfpsrc summary{cursor:pointer;font-size:13px;font-weight:700}

/* ---------- demo strip ---------- */
.demo-strip{background:#F6F7F8}
.demo-card{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:48px 52px}
.demo-l h2{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:34px;letter-spacing:-.03em;margin:10px 0 14px}
.demo-r{display:flex;flex-direction:column;gap:12px}
.demo-i{display:flex;align-items:flex-start;gap:11px;font-size:14px;line-height:1.5;color:var(--mut);
  padding:13px 16px;border:1px solid var(--line);border-radius:11px;background:#FBFBFC}
.demo-i i{width:7px;height:7px;border-radius:50%;background:var(--red);flex:none;margin-top:7px}
@media(max-width:900px){.demo-card{grid-template-columns:1fr;gap:30px;padding:34px 26px}.demo-l h2{font-size:27px}}

/* ---------- auth pages: standalone, no site chrome ---------- */
body.bare{background:var(--paper)}
.bare-hd{border-bottom:1px solid var(--line);background:var(--white)}
.bare-hd .hd{justify-content:space-between}
.bare-hd .pt-signin{font-size:13px;color:var(--slate);text-decoration:none}
.bare-hd .pt-signin:hover{color:var(--ink)}
.bare-ft{border-top:1px solid var(--line);background:var(--white);padding:22px 0;margin-top:auto}
.bare-ft .wrap{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;
  font-size:12.5px;color:var(--slate)}
.bare-ft a{color:var(--slate);text-decoration:none}
.bare-ft a:hover{color:var(--ink)}
body.bare{display:flex;flex-direction:column;min-height:100vh}
body.bare main{flex:1;display:flex;flex-direction:column}
body.bare main > *{flex:1;min-width:0;display:flex;flex-direction:column}
body.bare .authwrap{flex:1;width:100%;min-height:0;padding:44px 24px}
body.bare .authcard{margin:0 auto}

/* every field in an auth card is the same field */
.authcard input[type=email],.authcard input[type=password],
.authcard input[type=text],.authcard input[type=tel],.authcard select{
  width:100%;display:block;box-sizing:border-box;padding:13px 15px;
  border:1.5px solid var(--line);border-radius:2px;background:var(--white);color:var(--ink);
  font-family:'Manrope',system-ui,sans-serif;font-size:15px;line-height:1.3;margin:0;
  -webkit-appearance:none;appearance:none}
.authcard input::placeholder{color:#9AA0A8}
.authcard input:focus{outline:none;border-color:var(--ink)}
.authcard input.codein{padding:15px;border-radius:2px}
.authcard .btn.wide{width:100%;justify-content:center}
.authfoot{text-align:center;font-size:12.5px;color:var(--slate);margin:14px 0 0;line-height:1.55}
.authfoot a{color:var(--ink)}
.okmsg{border:1px solid var(--line);background:#F6F7F8;padding:14px 16px;font-size:13px;
  line-height:1.55;margin-top:14px}

/* ---------- admin viewing as another user ---------- */
.impbar{position:sticky;top:0;z-index:61;background:#7A2018;color:#fff}
.impbar-in{max-width:1440px;margin:0 auto;padding:11px 22px;display:flex;align-items:center;
  gap:10px;flex-wrap:wrap;font-size:13px;line-height:1.4}
.impbar-in b{font-weight:800}
.impbar-in span{color:#F0D8D5}
.impdot{width:8px;height:8px;border-radius:50%;background:#fff;flex:none}
.impout{margin-left:auto;background:#fff;color:#7A2018;border:none;border-radius:99px;
  padding:7px 16px;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
.impout:hover{background:#F0D8D5}
@media(max-width:860px){.impout{margin-left:0}}

/* ---------- card grids: no dead space in the last row ----------
   auto-fit grids leave an empty gray remainder whenever the item
   count does not divide by the column count. Flex wrapping makes
   the final row share the full width instead. */
.grid{display:flex;flex-wrap:wrap;gap:1px}
.grid > *{flex:1 1 var(--cellmin,258px);min-width:0}
.g2{--cellmin:300px}
.g3{--cellmin:258px}
.g4{--cellmin:205px}
/* counts that divide by three read better as an even three-up */
@media(min-width:1000px){
  .grid.gfix3 > *{flex:0 0 calc((100% - 2px)/3)}
  .grid.gfix2 > *{flex:0 0 calc((100% - 1px)/2)}
}
@media(max-width:999px) and (min-width:660px){
  .grid.gfix3 > *,.grid.gfix2 > *{flex:0 0 calc((100% - 1px)/2)}
}
@media(max-width:659px){
  .grid > *{flex:1 1 100%}
}

/* ---------- The BoardMatch Report ---------- */
.rpt-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:var(--ink);color:#fff;padding:14px 20px;margin-bottom:22px}
.rpt-bar b{font-size:14px}
.rpt-bar span{display:block;font-size:12px;color:#B9BDC4;margin-top:2px}
.rpt{background:#fff;border:1px solid var(--line)}
.rpt-cover{padding:46px 44px 38px;border-bottom:3px solid var(--ink)}
.rpt-logo svg{width:190px;height:auto;display:block;margin-bottom:26px}
.rpt-eyebrow{font-family:'Space Grotesk',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--red);margin-bottom:10px}
.rpt-cover h1{font-family:'Space Grotesk',sans-serif;font-size:32px;font-weight:700;letter-spacing:-.03em;margin:0 0 8px;line-height:1.15}
.rpt-sub{font-size:14px;color:var(--slate);margin:0 0 26px}
.rpt-meta{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:24px}
.rpt-meta div{flex:1 1 150px;background:#fff;padding:14px 16px}
.rpt-meta span{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--slate);margin-bottom:4px}
.rpt-meta b{font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:700}
.rpt-note{font-size:13.5px;line-height:1.65;color:#3B4048;background:#F6F7F8;border-left:3px solid var(--red);padding:16px 18px;margin:0}
.rpt-sec{padding:36px 44px;border-bottom:1px solid var(--line)}
.rpt-sec h2{font-family:'Space Grotesk',sans-serif;font-size:21px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px}
.rpt-lede{font-size:14px;line-height:1.65;color:var(--slate);margin:0 0 20px;max-width:760px}
.rpt-foot{font-size:12.5px;line-height:1.6;color:var(--slate);margin:16px 0 0;max-width:820px}
.rpt-scope{width:100%;border-collapse:collapse}
.rpt-scope td{border:1px solid var(--line);padding:10px 14px;font-size:13.5px}
.rc-l{background:#FBFBFC;font-weight:600;width:34%}
.rpt-quote{border-left:3px solid var(--line);padding:4px 0 4px 18px;margin:20px 0}
.rpt-quote span{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--slate);margin-bottom:6px}
.rpt-quote p{font-size:14.5px;line-height:1.65;margin:0}
.rpt-pri{margin-top:20px}
.rpt-pri span{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--slate);margin-bottom:8px}
.rpt-pri ol{margin:0;padding-left:20px;font-size:14px;line-height:1.8}
.rpt-matrix{width:100%;border-collapse:collapse;font-size:13px}
.rpt-matrix th,.rpt-matrix td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.rpt-matrix thead th{background:var(--ink);color:#fff;position:sticky;top:0}
.rc-co{font-weight:700;font-size:13px}
.rc-pkg{font-size:11px;color:#B9BDC4;font-weight:500;margin-top:2px}
.rpt-matrix td.num{text-align:right;font-variant-numeric:tabular-nums}
.rpt-matrix tr.rc-total td{background:#FBF2F1;font-size:14px}
.rc-best{color:var(--red)}
.rc-sm{font-size:12px;color:var(--slate)}
.rpt-flags{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.rpt-flag{border:1px solid var(--line);padding:16px 18px;background:#FBFBFC}
.rf-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;margin-bottom:8px}
.rf-pkg{color:var(--slate);font-size:11.5px}
.rf-t{font-weight:700;font-size:14px;margin-bottom:5px}
.rpt-flag p{font-size:13px;line-height:1.6;color:var(--slate);margin:0}
.rpt-thin{background:#FBF2F1;border-left:3px solid var(--red);padding:16px 18px}
.rc-h{font-weight:700;font-size:14px;margin-bottom:6px}
.rpt-thin p{font-size:13.5px;line-height:1.65;margin:0}
.rpt-qa{border:1px solid var(--line);margin-bottom:14px}
.rq-q{background:#FBFBFC;padding:14px 18px;font-weight:600;font-size:14px;line-height:1.5;
  border-bottom:1px solid var(--line);display:flex;gap:12px}
.rq-q span{color:var(--red);font-weight:800;flex:none}
.rq-a{padding:13px 18px;border-bottom:1px solid var(--line)}
.rq-a:last-child{border-bottom:none}
.rq-a b{display:block;font-size:12px;color:var(--slate);margin-bottom:4px}
.rq-a p{font-size:13.5px;line-height:1.6;margin:0}
.rpt-co{border:1px solid var(--line);padding:22px 24px;margin-bottom:16px}
.rco-h{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start;margin-bottom:14px}
.rco-h b{font-family:'Space Grotesk',sans-serif;font-size:18px}
.rco-tag{font-size:13.5px;color:var(--slate);margin-top:3px;max-width:520px}
.rco-web{font-size:13px;color:var(--red);text-decoration:none}
.rco-stats{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:16px}
.rco-stats div{flex:1 1 130px;background:#fff;padding:10px 12px}
.rco-stats span{display:block;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--slate)}
.rco-stats b{font-size:14px}
.rco-b{margin-bottom:14px}
.rco-b span{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--slate);margin-bottom:5px}
.rco-b p{font-size:13.5px;line-height:1.65;margin:0;white-space:pre-line}
.rpt-next{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.rpt-step{border-top:2px solid var(--ink);padding-top:12px}
.rpt-step b{display:block;font-size:14px;margin-bottom:5px}
.rpt-step p{font-size:13px;line-height:1.6;color:var(--slate);margin:0}
.rpt-end{padding:32px 44px;background:#FBFBFC}
.rpt-end p{font-size:12.5px;line-height:1.65;color:var(--slate);margin:0 0 12px;max-width:840px}
.rpt-cite{font-size:11px!important;color:#9AA0A8!important;margin:0!important}
@media(max-width:760px){.rpt-cover,.rpt-sec,.rpt-end{padding-left:22px;padding-right:22px}.rpt-cover h1{font-size:25px}}

@media print{
  header,footer,.pt-side,.rpt-bar,.demobar,.impbar,#bm-toast{display:none!important}
  body{background:#fff}
  .pt,.pt-main{display:block;padding:0;margin:0}
  .rpt{border:none}
  .rpt-sec{break-inside:auto;page-break-inside:auto}
  .rpt-cover{page-break-after:always}
  .rpt-flag,.rpt-qa,.rpt-co,.rpt-step{break-inside:avoid;page-break-inside:avoid}
  .rpt-matrix thead th{position:static;background:#14161A!important;color:#fff!important;
    -webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rpt-matrix tr.rc-total td,.rpt-thin,.rpt-note{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .scroll{overflow:visible!important}
  @page{margin:14mm}
}

/* ---------- intake: account creation on the review step ---------- */
.acctbox{border:1px solid var(--line);background:#FBFBFC;padding:22px 24px;margin-top:24px}
.ab-h{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:15px;margin-bottom:6px}
.acctbox p{font-size:13.5px;line-height:1.6;color:var(--slate);margin:0 0 16px}
.acctbox .fq{margin-bottom:14px}
.acctbox label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.acctbox .opt{font-weight:500;color:var(--slate);font-size:11.5px}
.acctbox input[type=password]{width:100%;box-sizing:border-box;padding:12px 14px;border:1.5px solid var(--line);
  border-radius:2px;font-family:inherit;font-size:15px;background:#fff}
.acctbox input[type=password]:focus{outline:none;border-color:var(--ink)}
.acctbox .terms{margin:6px 0 10px}
.acctbox .autherr{color:var(--red);font-size:13px;font-weight:700;margin:10px 0 0;min-height:1px}

/* ---------- sign-in page: brand presence and clean registration ---------- */
body.bare{background:linear-gradient(180deg,#FAFAF9 0%,#F2F1EF 100%)}
.bare-hd{border-bottom:1px solid var(--line);background:#fff}
.authcard{box-shadow:0 1px 2px rgba(20,22,26,.04),0 12px 32px rgba(20,22,26,.06);position:relative}
.authcard:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--red)}
.authsub{font-size:14px;color:var(--slate)}
.authnew{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.an-h{font-family:'Space Grotesk',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--slate);text-align:center;margin-bottom:12px}
.anbtn{display:block;border:1px solid var(--line);padding:13px 16px;margin-bottom:9px;text-decoration:none;
  background:#fff;transition:border-color .12s,transform .12s}
.anbtn:hover{border-color:var(--ink);transform:translateY(-1px)}
.anbtn b{display:block;font-size:14px;color:var(--ink);margin-bottom:2px}
.anbtn span{display:block;font-size:12.5px;color:var(--slate);line-height:1.45}
.anbtn:last-child{margin-bottom:0}

/* ---------- company logo ---------- */
.logorow{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.logoprev{width:150px;height:74px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;
  padding:8px;flex:none;overflow:hidden}
.logoprev img{max-width:100%;max-height:100%;object-fit:contain}
.logoprev span{font-size:11.5px;color:var(--slate)}
.rco-id{display:flex;gap:14px;align-items:center}
.rco-logo{width:78px;height:44px;object-fit:contain;flex:none}
@media print{.rco-logo{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* ---------- admin company detail ---------- */
.orglink{cursor:pointer;color:var(--ink);border-bottom:1px solid transparent}
.orglink:hover{color:var(--red);border-bottom-color:var(--red)}
.orgback{margin-bottom:14px}
.orgback a{cursor:pointer;font-size:13px;color:var(--slate);text-decoration:none}
.orgback a:hover{color:var(--ink)}
.linkbox{display:block;word-break:break-all;font-size:12px;background:#fff;border:1px solid var(--line);padding:8px 10px;margin-top:6px}
.rpt-h3{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;letter-spacing:-.02em;margin:34px 0 6px}

/* --- slogan lockup --- */
.rpt-slogan{font-family:'Space Grotesk',sans-serif;font-size:13px;letter-spacing:.2px;color:#8A8F98;margin:2px 0 12px}
@media print{.rpt-slogan{color:#5A5D66}}
.authslogan{font-family:'Space Grotesk',sans-serif;font-size:13.5px;letter-spacing:.1px;color:#8A8F98;margin:10px 0 2px}

/* ==================================================================
   Threads, counsel review, current agreement
   ================================================================== */
.thread{display:flex;flex-direction:column;gap:14px;max-height:420px;overflow:auto;padding-right:4px}
.th-m{max-width:86%}
.th-m.me{align-self:flex-end}
.th-w{font-size:12px;color:#8A8F98;margin-bottom:5px;display:flex;gap:8px;align-items:baseline}
.th-w span{font-size:11px}
.th-b{background:#F6F7F8;border:1px solid #E5E4E1;padding:12px 14px;font-size:14.5px;line-height:1.6}
.th-m.me .th-b{background:#FDF3F2;border-color:#F0D6D2}
.th-send{margin-top:18px;border-top:1px solid #E5E4E1;padding-top:16px}
.th-send textarea{width:100%;font:inherit;font-size:14.5px;padding:11px 13px;border:1px solid #D9D8D4;background:#fff;resize:vertical}
.th-send .ctarow{margin-top:10px;align-items:center;gap:14px}
label.sign{display:inline-flex;align-items:center;gap:7px;color:#5A5D66;cursor:pointer}
label.sign input{margin:0}

.qahist{margin-top:18px;border-top:1px solid #E5E4E1;padding-top:14px}
.qh-h{font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:#8A8F98;margin-bottom:10px}
.qahist details{border-bottom:1px solid #EFEEEB;padding:9px 0}
.qahist summary{cursor:pointer;font-size:14.5px;font-weight:600}
.qahist summary span{font-weight:400;color:#8A8F98;font-size:12.5px;margin-left:8px}
.qahist details>div{margin-top:9px;font-size:14px;line-height:1.65;color:#3A3D45}

.curgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px 26px}
.curgrid>div{border-bottom:1px solid #EFEEEB;padding-bottom:11px}
.curgrid span{display:block;font-size:11.5px;letter-spacing:.4px;text-transform:uppercase;color:#8A8F98;margin-bottom:4px}
.curgrid b{font-size:15px;font-weight:600;line-height:1.45}
.copyrow{display:flex;gap:8px;margin-top:10px}
.copyrow input{flex:1;font:inherit;font-size:13px;padding:9px 11px;border:1px solid #D9D8D4;background:#fff}
.chip.wide{display:block;text-align:left;padding:13px 16px;margin-bottom:9px;width:100%}
.chip.wide b{display:block;font-size:14.5px}
.chip.wide em{display:block;font-style:normal;font-size:12.5px;color:#8A8F98;margin-top:3px}
.chip.wide.sel em{color:#F4CFCB}

.rpt-matrix.curcmp .curcol{background:#F6F7F8;font-weight:600}
.rpt-matrix.curcmp thead .curcol{background:#14161A;color:#fff}
.rpt-caution{margin-top:14px;border-left:3px solid #CE3A2D;padding:12px 16px;background:#FDF3F2;font-size:13.5px;line-height:1.6}

.rvwrap{max-width:1080px;margin:0 auto;padding:38px 24px 80px}
.rvhead{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;border-bottom:2px solid #14161A;padding-bottom:22px;margin-bottom:26px;flex-wrap:wrap}
.rv-eyebrow{font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:#CE3A2D;font-weight:700;margin-bottom:8px}
.rvhead h1{font-size:34px;letter-spacing:-1px;margin:0 0 6px}
.rv-badge{text-align:right;font-size:12px;color:#5A5D66}
.rv-badge span{display:inline-block;background:#14161A;color:#fff;padding:4px 10px;font-size:11px;letter-spacing:.6px;text-transform:uppercase;margin-bottom:6px}
.rv-badge b{display:block;font-weight:600}
.rvsec{margin-top:38px}
.rvsec h2{font-size:21px;letter-spacing:-.4px;margin:0 0 12px;padding-bottom:9px;border-bottom:1px solid #E5E4E1}
.rvtable{width:100%;border-collapse:collapse;font-size:14px}
.rvtable th,.rvtable td{border:1px solid #E5E4E1;padding:11px 13px;text-align:left;vertical-align:top}
.rvtable thead th{background:#14161A;color:#fff;font-size:13px}
.rvtable tbody th{background:#F6F7F8;width:230px;font-weight:600}
.rvtable tbody th em{display:block;font-style:normal;font-weight:400;font-size:11.5px;color:#8A8F98;margin-top:3px}
.rvdoc{white-space:pre-wrap;font-size:13.5px;line-height:1.7;background:#FBFBFA;border:1px solid #E5E4E1;padding:20px 24px;max-height:560px;overflow:auto}
.rvnotes{display:flex;flex-direction:column;gap:14px;margin-bottom:18px}
.rvwrap textarea{width:100%;font:inherit;font-size:14.5px;padding:12px 14px;border:1px solid #D9D8D4;resize:vertical}
.rvfoot{margin-top:52px;padding-top:18px;border-top:1px solid #E5E4E1;font-size:12px;line-height:1.65;color:#8A8F98}
@media(max-width:720px){.rvhead h1{font-size:26px}.rvtable tbody th{width:auto}}

/* ==================================================================
   Hero headline sizing

   At 70px the second sentence of "Compare clearly. Choose confidently."
   needed 644px inside a 544px column, so it broke across two lines and the
   line break we placed between the sentences stopped meaning anything. The
   cap is set so the longest sentence fits the column with room to spare at
   the widest layout, and the vw term takes over below that rather than
   letting a headline collide with the bid matrix beside it. Measured, not
   guessed: 425px and 512px against a 544px column at a 1366px viewport.
   ================================================================== */
h1.big{font-size:clamp(30px,4vw,54px);line-height:1.04;letter-spacing:-.015em}
@media(max-width:900px){h1.big{font-size:clamp(29px,6.4vw,44px)}}

/* Two fields side by side.

   .f2 was already used in five places -- the account screen, the counsel
   link form, the service area -- and had no rule behind it, so every pair
   of fields that was meant to sit on one line was stacking. Defining it
   once fixes all of them, and it collapses to one column on a phone where
   two columns would be unreadable anyway. */
.f2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;align-items:end}
.f2 .fq{margin-bottom:14px}
@media(max-width:640px){.f2{grid-template-columns:1fr;gap:0}}

/* Capability grid: what a company ticked, and what it did not.

   The ticks carry meaning, so they are never colour alone -- the glyph
   itself distinguishes them, and a screen reader gets a real character
   rather than a coloured cell. */
.ckgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2px 18px;margin-top:6px}
.ck{display:flex;align-items:flex-start;gap:10px;padding:6px 0;font-size:14px;cursor:pointer;
  line-height:1.35;position:relative}
/* The native box is hidden but must stay inside a positioned parent, or it
   scrolls off to wherever the nearest positioned ancestor happens to be --
   which breaks the adjacent-sibling rule that draws the tick. */
.ck input{position:absolute;opacity:0;width:0;height:0;margin:0}
.ck span.cbx2{flex:0 0 auto;width:16px;height:16px;border:1.5px solid var(--line);display:block;
  position:relative;margin-top:2px;background:#fff}
.ck input:checked+span.cbx2{border-color:var(--red);background:var(--red)}
.ck input:checked+span.cbx2:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}
.ck input:focus-visible+span.cbx2{outline:2px solid var(--red);outline-offset:2px}
.ck:hover span.cbx2{border-color:var(--slate)}
.ck>span:last-child{flex:1}
table tr.grp td{background:#F2F1EE;font:700 11px/1 'Manrope',sans-serif;letter-spacing:.09em;
  text-transform:uppercase;color:#5A5D66;padding:11px 14px;border-top:1px solid #D9D8D4}
.yes{color:#14161A;font-weight:700}
.no{color:#A9A9A4}

/* The comparison grid grew from thirteen rows to seventy-six, and at that
   length the label column was wrapping every line into three. A floor on
   its width costs nothing horizontally -- the table already scrolls -- and
   halves the height of the thing a Board has to read. */
.mcard table th:first-child,.mcard table td:first-child{min-width:230px}
.mcard table td.num{min-width:150px}
.mcard table tr.grp td{min-width:0}

/* The report's comparison tables carry seventy-odd rows now. Without a
   floor under the label column every one of them wraps to three lines,
   which triples the length of the document a Board prints. */
.rpt-cmp td.rc-l{min-width:200px}
.rpt-cmp td.num{min-width:150px}

/* Seat definitions on the Team screen. */
.seatgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.seatdef{border:1px solid var(--line);background:var(--paper);padding:14px 16px}
.seatdef b{font-family:'Space Grotesk',sans-serif;font-size:15px;letter-spacing:-.01em}
.seatdef p{margin:5px 0 0;font-size:13px;color:var(--slate);line-height:1.45}
