/* CourtFull site · design system shared with the Court-Hour P&L instrument */
:root{
  --paper:#F5F6F3; --panel:#FFFFFF; --ink:#191D1B; --ink-soft:#5A615D;
  --line:#DDE1DC; --court:#2456A6; --court-deep:#173B75;
  --burn:#E8541F; --burn-deep:#B23407; --ok:#1E7A4F; --radius:6px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:var(--paper);color:var(--ink);
  font-family:'Archivo',sans-serif;font-size:16px;line-height:1.55;
}
.mono{font-family:'Archivo',monospace}
a{color:var(--court-deep)}
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}

/* ---------- nav ---------- */
nav{
  border-bottom:2px solid var(--ink);background:var(--paper);
  position:sticky;top:0;z-index:40;
}
.navrow{display:flex;align-items:center;gap:22px;padding-block:14px;flex-wrap:wrap}
.navlogo img{display:block;width:172px;height:auto}
.navspacer{flex:1}
.navlinks{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.navlinks a{
  font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;padding:6px 2px;border-bottom:2px solid transparent;
}
.navlinks a:hover{border-bottom-color:var(--ink)}
.navlinks a.active{border-bottom-color:var(--burn)}
.btn{
  display:inline-block;font-family:'Archivo';font-weight:800;font-size:14px;letter-spacing:.03em;
  padding:11px 20px;border-radius:var(--radius);text-decoration:none;cursor:pointer;border:1.5px solid transparent;
}
.btn.burn{background:var(--burn-deep);color:#fff}
.btn.burn:hover{background:#8F2905}
.btn.ink{background:var(--ink);color:#fff}
.btn.ink:hover{background:#000}
.btn.outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.outline:hover{background:var(--ink);color:#fff}
.btn:focus-visible{outline:2px solid var(--court);outline-offset:2px}
.navlinks .btn{font-size:12.5px;padding:9px 16px}

/* ---------- typography blocks ---------- */
.eyebrow{
  font-family:'Archivo';font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--burn-deep);margin-bottom:10px;
}
h1{font-weight:900;font-stretch:112%;font-size:clamp(30px,4.6vw,52px);line-height:1.06;letter-spacing:.005em}
h2{font-weight:900;font-stretch:112%;font-size:clamp(22px,3vw,32px);line-height:1.12;margin-bottom:10px}
h3{font-weight:800;font-size:17px;margin-bottom:6px}
.lede{font-size:clamp(16px,1.6vw,19px);color:var(--ink-soft);max-width:62ch;margin-top:14px}
.section{padding:62px 0;border-bottom:1px solid var(--line)}
.section.hero{padding:72px 0 64px}
.section.tight{padding:44px 0}
@media(max-width:760px){
  .section{padding:40px 0}
  .section.hero{padding:44px 0 40px}
  .section.tight{padding:36px 0}
  .card{padding:18px}
}
.kicker{font-size:13.5px;color:var(--ink-soft);max-width:70ch}

/* ---------- cards ---------- */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}
.card h2{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:2px;font-stretch:100%}
.card .hint{font-size:12.5px;color:var(--ink-soft);margin-bottom:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:880px){.grid2,.grid3{grid-template-columns:1fr}}

/* ---------- KPI style numbers ---------- */
.kpi .label{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}
.kpi .value{font-family:'Archivo';font-weight:600;font-size:clamp(24px,3vw,34px);line-height:1.1}
.kpi .sub{font-size:12px;color:var(--ink-soft);margin-top:4px}
.kpi.gap .value{color:var(--burn-deep)}
.kpi.cap .value{color:var(--court-deep)}

/* ---------- rate card ---------- */
.price{font-family:'Archivo';font-weight:600;font-size:26px;margin:6px 0 2px}
.price small{font-size:14px;color:var(--ink-soft);font-weight:400}
.offer{display:flex;flex-direction:column;gap:8px}
.offer .body{font-size:14px;color:var(--ink-soft);flex:1}
.offer .terms{font-family:'Archivo';font-size:11.5px;color:var(--ink-soft);border-top:1px dashed var(--line);padding-top:10px}

/* ---------- fence / comparison tables ---------- */
.fence{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:760px){.fence{grid-template-columns:1fr}}
.fence .card ul,.list{list-style:none}
.fence .card li,.list li{
  padding:8px 0 8px 22px;border-bottom:1px dashed var(--line);font-size:14.5px;position:relative;
}
.fence .card li:last-child,.list li:last-child{border-bottom:0}
.fence .card li::before,.list li::before{
  content:"";position:absolute;left:2px;top:15px;width:9px;height:9px;border-radius:2px;background:var(--court);
}
.fence .card.owner li::before{background:var(--ink-soft)}
.list.burn li::before{background:var(--burn)}

/* ---------- footer ---------- */
footer{background:var(--ink);color:#B9BFBB;padding:36px 0 44px;font-size:13px}
footer .frow{display:flex;flex-wrap:wrap;gap:20px 44px;align-items:flex-start}
footer img{width:180px;height:auto;display:block;margin-bottom:8px}
footer a{color:#fff;text-decoration:none}
footer a:hover{text-decoration:underline}
footer .mono{font-size:12px}
.fspacer{flex:1}

/* ---------- calculator ---------- */
.calc{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:18px;align-items:stretch}
@media(max-width:880px){.calc{grid-template-columns:1fr}}
.calc .field{margin-bottom:14px}
.calc label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:5px}
.calc input[type=number]{
  width:100%;font-family:'Archivo';font-size:15px;padding:10px 12px;
  border:1.5px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);
}
.calc input:focus{outline:2px solid var(--court);outline-offset:-1px;border-color:var(--court)}
.calc input[type=range]{width:100%;accent-color:var(--burn-deep)}
.calc .rangeval{font-family:'Archivo';font-size:13px;color:var(--ink)}
.calcout{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
@media(max-width:560px){.calcout{grid-template-columns:1fr}}
.calcout .kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.calcout .kpi.hero{grid-column:1/-1;border:2px solid var(--burn-deep)}
.calcout .kpi.hero .value{font-size:clamp(34px,5vw,52px)}

/* ---------- instrument embed ---------- */
.frame{border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;background:#fff}
.frame iframe{display:block;width:100%;height:740px;border:0}
@media(max-width:760px){.frame iframe{height:560px}}
.framecap{font-family:'Archivo';font-size:12px;color:var(--ink-soft);margin-top:10px}

/* ---------- system layers ---------- */
.layer{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);align-items:flex-start;max-width:980px}
.layer:last-child{border-bottom:0}
.layer .n{font-family:'Archivo';font-weight:600;font-size:15px;color:var(--burn-deep);flex:0 0 34px;padding-top:2px}
.layer .body{flex:1;min-width:0}
.layer .body p{font-size:14.5px;color:var(--ink-soft);max-width:72ch}
.layer .tagline{font-size:13px;font-weight:700;color:var(--court-deep);margin-top:6px}

/* daypart table */
table.dp{border-collapse:collapse;width:100%;font-size:13.5px}
table.dp th{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);
  text-align:left;padding:8px 12px;border-bottom:2px solid var(--ink)}
table.dp td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
table.dp td:first-child{font-family:'Archivo';font-size:12px;white-space:nowrap}
table.dp td:last-child{color:var(--ink-soft)}

/* ladder */
.ladder{display:flex;gap:0;align-items:stretch;margin-top:14px;max-width:920px}
.rung{flex:1 1 0;min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);border-left:0;background:var(--panel);padding:12px 12px 14px}
.rung .bar{margin-top:auto}
.rung:first-child{border-left:1px solid var(--line);border-radius:var(--radius) 0 0 var(--radius)}
.rung:last-child{border-radius:0 var(--radius) var(--radius) 0;background:var(--court-deep);color:#fff;border-color:var(--court-deep)}
.rung:last-child .rl{color:#B9C7E2}
.rung .rl{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.rung .rv{font-weight:800;font-size:14px;margin-top:3px}
.rung .bar{height:6px;background:var(--court);border-radius:3px}
@media(max-width:700px){.ladder{flex-direction:column;align-items:stretch}
.rung{border-left:1px solid var(--line);border-top:0}
.rung:first-child{border-top:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0}
.rung:last-child{border-radius:0 0 var(--radius) var(--radius)}}

/* category strip */
.cat .card{height:100%}
.cat .who{font-family:'Archivo';font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.cat h3{font-size:19px;margin:6px 0 8px}
.cat p{font-size:14px;color:var(--ink-soft)}
.cat .card.op{border:2px solid var(--ink)}
.cat .card.op .who{color:var(--burn-deep)}

/* portal login */
.login{max-width:420px;margin:0 auto}
.login input{width:100%;font-family:'Archivo';font-size:14px;padding:11px 12px;
  border:1.5px solid var(--line);border-radius:4px;background:var(--paper);margin-bottom:12px}
.login input:focus{outline:2px solid var(--court);outline-offset:-1px;border-color:var(--court)}
.login .msg{font-family:'Archivo';font-size:12.5px;color:var(--burn-deep);margin-top:12px;display:none}

/* small helpers */
.tag{display:inline-block;font-family:'Archivo';font-size:11px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;background:var(--ink);color:#fff;border-radius:3px;padding:3px 8px}
.tag.orange{background:var(--burn-deep)}
.note{border-left:3px solid var(--court);background:#F2F6FC;padding:12px 14px;border-radius:0 4px 4px 0;font-size:14px;max-width:74ch}
hr.rule{border:0;border-top:1px solid var(--line);margin:26px 0}


/* ---------- mobile nav ---------- */
.navbtn{display:none;background:transparent;border:1.5px solid var(--ink);border-radius:var(--radius);
  padding:9px 12px;cursor:pointer;font-family:'Archivo';font-weight:800;font-size:13px;letter-spacing:.04em}
.navbtn:focus-visible{outline:2px solid var(--court);outline-offset:2px}
.navdrawer{display:none}
@media(max-width:880px){
  .navlinks{display:none}
  .navbtn{display:inline-block;margin-left:auto}
  .navrow{flex-wrap:nowrap}
  .navdrawer.open{display:block;position:absolute;left:0;right:0;top:100%;background:var(--paper);
    border-bottom:2px solid var(--ink);padding:10px clamp(16px,4vw,40px) 20px;z-index:39}
  .navdrawer a{display:block;padding:13px 2px;font-size:14px;font-weight:700;letter-spacing:.05em;
    text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
  .navdrawer .btn{display:block;text-align:center;margin-top:12px;border-bottom:0}
  body.noscroll{overflow:hidden}
}

/* ---------- pricing lifecycle groups ---------- */
.pricewrap{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
@media(max-width:880px){.pricewrap{grid-template-columns:1fr}.pgroup.open{grid-column:auto}}
.pgroup{border:1.5px solid var(--ink);border-radius:var(--radius);padding:16px;background:transparent;display:flex;flex-direction:column}
.pgroup .cards{flex:1;align-items:stretch}
.pgroup.open{grid-column:span 2}
.card.offer{height:100%}
.pgroup .glabel{font-family:'Archivo';font-size:11px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.pgroup .glabel::after{content:"";flex:1;height:1px;background:var(--line)}
.pgroup .cards{display:grid;gap:14px}
.pgroup.open .cards{grid-template-columns:1fr 1fr}
@media(max-width:700px){.pgroup.open .cards{grid-template-columns:1fr}}

/* ---------- founder ---------- */
.founder{display:grid;grid-template-columns:minmax(260px,400px) 1fr;gap:34px;align-items:start}
@media(max-width:820px){.founder{grid-template-columns:1fr}}
.founder .photo{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.founder .photo img{width:100%;height:100%;object-fit:cover;display:block}
.founder .cap{font-family:'Archivo';font-size:12px;color:var(--ink-soft);margin-top:8px}
.founder .body p{font-size:15px;color:var(--ink-soft);max-width:64ch;margin-bottom:12px}

/* ---------- daypart table mobile ---------- */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:920px}
.tscroll table{min-width:640px}
.tscroll-hint{display:none;font-family:'Archivo';font-size:11px;color:var(--ink-soft);margin:6px 0 2px}
@media(max-width:760px){.tscroll-hint{display:block}}

/* ---------- P&L preview / demo ---------- */
.mobiledemo{display:none}
@media(max-width:760px){
  .frame{display:none}
  .mobiledemo{display:block;text-decoration:none;color:inherit}
  .mobiledemo img{width:100%;border:2px solid var(--ink);border-radius:var(--radius);display:block}
  .mobiledemo .btn{display:block;text-align:center;margin-top:12px}
}
.demobar{display:flex;align-items:center;gap:16px;padding:10px clamp(14px,3vw,28px);border-bottom:2px solid var(--ink);background:var(--paper)}
.demobar img{width:150px;display:block}
.demobar .mono{font-size:12px;color:var(--ink-soft)}
.demoframe{width:100%;height:calc(100vh - 58px);border:0;display:block;background:#fff}

/* ---------- start form ---------- */
.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 16px}
.ffield label{display:block;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:5px}
.ffield label .req{color:var(--burn-deep)}
.ffield input[type=text],.ffield input[type=email],.ffield input[type=tel],.ffield input[type=url],
.ffield input[type=number],.ffield select,.ffield textarea{
  width:100%;font-family:'Archivo';font-size:13.5px;padding:10px 11px;
  border:1.5px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink)}
.ffield textarea{min-height:84px;resize:vertical;font-family:'Archivo';font-size:14px}
.ffield input:focus,.ffield select:focus,.ffield textarea:focus{outline:2px solid var(--court);outline-offset:-1px;border-color:var(--court)}
.ffield .help{font-size:11.5px;color:var(--ink-soft);margin-top:4px}
.ffield.invalid input,.ffield.invalid select,.ffield.invalid textarea{border-color:var(--burn-deep)}
.ffield .ferr{display:none;font-family:'Archivo';font-size:11.5px;color:var(--burn-deep);margin-top:4px}
.ffield.invalid .ferr{display:block}
fieldset{border:0;margin:0;padding:0}
.fsection{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}
.fsection legend,.fsection .flegend{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px}
.fsection .fhint{font-size:12.5px;color:var(--ink-soft);margin-bottom:14px}
.stagepick{display:flex;gap:12px;flex-wrap:wrap}
.stagepick label{flex:1;min-width:180px;border:1.5px solid var(--line);border-radius:var(--radius);
  padding:14px;cursor:pointer;font-weight:700;display:flex;gap:10px;align-items:center;background:var(--panel)}
.stagepick input{accent-color:var(--burn-deep)}
.stagepick label:has(input:checked){border-color:var(--ink);background:#fff}
.errsummary{display:none;border-left:3px solid var(--burn-deep);background:#FBEFE9;padding:12px 14px;
  border-radius:0 4px 4px 0;font-size:14px;margin-bottom:18px}
.errsummary.show{display:block}
.errsummary a{color:var(--burn-deep)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink-soft);margin-top:18px}
.consent input{margin-top:3px;accent-color:var(--burn-deep)}
.seq{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.seq span{font-family:'Archivo';font-size:11.5px;border:1px solid var(--line);border-radius:3px;
  padding:5px 9px;background:var(--panel)}
.seq b{color:var(--burn-deep);font-weight:600}


/* ---------- v3: elegance components ---------- */
.fineprint{border-top:2px solid var(--ink);margin-top:34px;padding-top:14px}
.fineprint .ft{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}
.fineprint dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px 28px}
.fineprint dt{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.fineprint dd{font-family:'Archivo';font-size:12px;margin:2px 0 6px}
.rows{border-top:1.5px solid var(--ink)}
.rows .row{display:flex;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);align-items:baseline}
.rows .row .rk{flex:0 0 150px;font-weight:800;font-size:13.5px}
.rows .row .rv{flex:1;font-size:13.5px;color:var(--ink-soft);min-width:0}
@media(max-width:640px){.rows .row{flex-direction:column;gap:2px}.rows .row .rk{flex:none}}
.pull{border-left:3px solid var(--burn);padding:6px 0 6px 20px;margin:26px 0 8px;max-width:66ch}
.pull p{font-weight:800;font-size:clamp(19px,2.2vw,24px);line-height:1.3}
.pull .pnote{font-size:13px;color:var(--ink-soft);margin-top:8px;font-weight:400}
.paths{border-top:1.5px solid var(--ink)}
.path{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
.path .n{font-family:'Archivo';font-weight:600;color:var(--burn-deep);flex:0 0 30px}
.path .pbody{flex:1;min-width:0}
.path .pbody b{font-size:16px}
.path .pbody p{font-size:13.5px;color:var(--ink-soft);margin-top:3px;max-width:64ch}
.path .pgo{flex:0 0 auto}
@media(max-width:640px){.path{flex-wrap:wrap;gap:10px 20px}.path .pgo{flex-basis:100%;margin-left:0}.path .pgo .btn{display:inline-block}}
.artifact{border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;background:#fff}
.artifact iframe{display:block;width:100%;height:900px;border:0}
@media(max-width:760px){.artifact iframe{height:640px}}
.exec{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:start}
@media(max-width:860px){.exec{grid-template-columns:1fr}}
.exec .shot{border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;display:block}
.exec .shot img{width:100%;display:block}
.scriptcard{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--court);border-radius:var(--radius);padding:18px 20px;max-width:640px}
.scriptcard .st{font-family:'Archivo';font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.scriptcard q{quotes:"\201C" "\201D";font-size:15px;font-style:italic}
.scriptcard .sn{font-size:12.5px;color:var(--ink-soft);margin-top:8px}
.minical{border:1.5px solid var(--ink);border-radius:var(--radius);overflow:hidden}
.minical table{border-collapse:collapse;width:100%;min-width:680px;font-size:11px}
.minical th{background:var(--ink);color:#fff;font-size:10px;letter-spacing:.06em;padding:7px 6px;text-align:center}
.minical td{border:1px solid var(--line);padding:5px 6px;vertical-align:top;height:52px;width:12.5%}
.minical td.t{background:var(--paper);font-family:'Archivo';font-size:10px;color:var(--ink-soft);white-space:nowrap;width:70px;text-align:right;padding-right:8px}
.mc{display:block;border-radius:3px;padding:3px 6px;margin-bottom:3px;font-size:10px;font-weight:700;line-height:1.25;background:#E7EDF7;color:var(--court-deep)}
.mc.prime{background:var(--court-deep);color:#fff}
.mc.new{background:var(--burn);color:#fff}

/* ---------- v4: the journey · color bands + dark sections ---------- */
.section.white{background:var(--panel)}
.section.tintc{background:#E9EEF7;border-bottom-color:#CBD5E8}
.section.dark{background:var(--ink);border-bottom:0}
.section.dark h1,.section.dark h2,.section.dark h3{color:#fff}
.section.dark .lede,.section.dark .kicker{color:#AEB6B1}
.section.dark a{color:#fff}
.section.dark .btn.outline{color:#fff;border-color:#fff}
.section.dark .btn.outline:hover{background:#fff;color:var(--ink)}

/* hero as the dark opening scene, faint court lines behind */
.hero.dark{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 440 200"><g fill="none" stroke="%23F5F6F3" stroke-opacity="0.05" stroke-width="2"><rect x="10" y="10" width="420" height="180"/><line x1="220" y1="4" x2="220" y2="196"/><line x1="150" y1="10" x2="150" y2="190"/><line x1="290" y1="10" x2="290" y2="190"/><line x1="10" y1="100" x2="150" y2="100"/><line x1="290" y1="100" x2="430" y2="100"/></g></svg>');
  background-repeat:no-repeat;background-size:780px auto;background-position:right -60px top 30px;
}
@media(max-width:760px){.hero.dark{background-size:560px auto;background-position:right -180px top -60px}}
.hero.dark h1{font-size:clamp(34px,5.4vw,60px)}
.uline{box-shadow:inset 0 -0.16em 0 var(--burn)}

/* white cards keep ink text inside dark sections */
.section.dark .card,.section.dark .calcout .kpi{color:var(--ink)}
.section.dark .card h2,.section.dark .card h3{color:var(--ink)}
.section.dark .calcout .kpi.hero{border-color:var(--burn)}
.section.dark .kpi.gap .value{color:var(--burn-deep)}
.kpi .value.ten{color:var(--court-deep)}
.section.dark .framecap,.section.dark .cap{color:#8F968F}

/* founder on ink */
.section.dark .founder .body p{color:#C7CDC8}
.section.dark .founder .photo{border-color:#3A403C}
.section.dark .founder .cap{color:#8F968F}
.section.dark .mono{color:#C7CDC8}

/* rows on the tinted band read on white hairlines */
.section.tintc .rows{border-top-color:var(--ink)}
.section.tintc .rows .row{border-bottom-color:#CBD5E8}
.section.tintc .rows .row .rv{color:#42506B}
.section.tintc .rows .row .rv b{color:var(--ink)}

/* close band: quiet echo of the court */
.closeband{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 440 200"><g fill="none" stroke="%23191D1B" stroke-opacity="0.05" stroke-width="2"><rect x="10" y="10" width="420" height="180"/><line x1="220" y1="4" x2="220" y2="196"/><line x1="150" y1="10" x2="150" y2="190"/><line x1="290" y1="10" x2="290" y2="190"/><line x1="10" y1="100" x2="150" y2="100"/><line x1="290" y1="100" x2="430" y2="100"/></g></svg>');
  background-repeat:no-repeat;background-size:640px auto;background-position:right -120px center;
}

/* ---------- v5: operating-partner hero + sport color system ---------- */
/* eyebrows become skewed orange chips, site-wide */
.eyebrow{
  display:inline-block;background:var(--burn);color:var(--ink);
  padding:5px 12px 4px;border-radius:2px;transform:skewX(-8deg);
  font-family:'Archivo';font-size:11px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:14px;
}
.section.dark .eyebrow{background:var(--burn);color:var(--ink)}

/* section palettes */
.sec-court{background:var(--court-deep);border-bottom:0}
.sec-court h2,.sec-court h3{color:#fff}
.sec-court .kicker,.sec-court .lede{color:#B9C7E2}
.sec-court a{color:#fff}
.sec-court .eyebrow{background:var(--burn);color:var(--ink)}
.sec-court .rows{border-top-color:rgba(255,255,255,.65)}
.sec-court .rows .row{border-bottom-color:rgba(255,255,255,.18)}
.sec-court .rows .row .rk{color:#FF9A6B;font-family:'Archivo';font-weight:600;font-size:12.5px}
.sec-court .rows .row .rv{color:#C7D3EA}
.sec-court .rows .row .rv b{color:#fff}
.sec-court .btn.ink{background:#fff;color:var(--court-deep)}
.sec-court .btn.ink:hover{background:var(--paper)}

.sec-burn{background:var(--burn-deep);border-bottom:0;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 440 200"><g fill="none" stroke="%23FFFFFF" stroke-opacity="0.10" stroke-width="2"><rect x="10" y="10" width="420" height="180"/><line x1="220" y1="4" x2="220" y2="196"/><line x1="150" y1="10" x2="150" y2="190"/><line x1="290" y1="10" x2="290" y2="190"/><line x1="10" y1="100" x2="150" y2="100"/><line x1="290" y1="100" x2="430" y2="100"/></g></svg>');
  background-repeat:no-repeat;background-size:640px auto;background-position:right -120px center;
}
.sec-burn h2{color:#fff}
.sec-burn .kicker{color:#FBD9C8}
.sec-burn .btn.paper{background:#fff;color:var(--burn-deep)}
.sec-burn .btn.paper:hover{background:var(--paper)}
.sec-burn .btn.outline{color:#fff;border-color:#fff}
.sec-burn .btn.outline:hover{background:#fff;color:var(--burn-deep)}

/* angled edges: hero bottom + burn band top */
.angle-b{clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 44px))}
.angle-t{clip-path:polygon(0 0,100% 44px,100% 100%,0 100%)}
.angle-t{padding-top:86px}
@media(max-width:760px){
  .angle-b{clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 22px))}
  .angle-t{clip-path:polygon(0 0,100% 22px,100% 100%,0 100%)}
  .angle-t{padding-top:60px}
}

/* identity hero */
.hero.dark{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 440 200"><g fill="none" stroke="%23E8541F" stroke-opacity="0.16" stroke-width="2.5"><rect x="10" y="10" width="420" height="180"/><line x1="220" y1="4" x2="220" y2="196"/><line x1="150" y1="10" x2="150" y2="190"/><line x1="290" y1="10" x2="290" y2="190"/><line x1="10" y1="100" x2="150" y2="100"/><line x1="290" y1="100" x2="430" y2="100"/></g></svg>');
  background-size:820px auto;background-position:right -80px top 40px;
}
.hero.dark h1{font-size:clamp(32px,4.9vw,58px)}
.hero.dark h1 .l2{color:var(--burn);display:block}
.proofrow{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:22px;
  font-family:'Archivo';font-size:12px;color:#AEB6B1}
.proofrow span{display:flex;align-items:center;gap:8px}
.proofrow span::before{content:"";width:8px;height:8px;background:var(--burn);border-radius:2px;flex:0 0 auto}
.founderchip{display:inline-flex;align-items:center;gap:12px;margin-top:26px;
  border:1px solid #3A403C;border-radius:999px;padding:8px 18px 8px 8px;background:rgba(255,255,255,.04)}
.founderchip img{width:44px;height:44px;border-radius:50%;object-fit:cover;display:block}
.founderchip .fc{font-family:'Archivo';font-size:12px;color:#C7CDC8;line-height:1.45}
.founderchip .fc b{color:#fff;font-weight:600}
.founderchip a{color:var(--burn);text-decoration:none}
.founderchip a:hover{text-decoration:underline}
.instrumentline{margin-top:22px;border-left:3px solid var(--burn);padding:4px 0 4px 16px;max-width:62ch}
.instrumentline p{font-size:14.5px;color:#DDE1DC;font-weight:600}

/* pull quote on dark */
.section.dark .pull p{color:#fff}
.section.dark .pull .pnote{color:#AEB6B1}

/* ---------- v6: photographic life + strike animation ---------- */
/* hero: ball on the line bleeding in from the right */
.hero.dark.bg-ball{
  background-image:linear-gradient(90deg,#191D1B 0%,#191D1B 50%,rgba(25,29,27,.42) 100%),url('/assets/img-ball.webp');
  background-size:cover;background-position:right center;background-repeat:no-repeat;
}
@media(max-width:900px){
  .hero.dark.bg-ball{background-image:linear-gradient(rgba(25,29,27,.86),rgba(25,29,27,.86)),url('/assets/img-ball.webp')}
}

/* full-bleed diptych band */
.diptych{display:grid;grid-template-columns:1fr 1fr;line-height:0;position:relative}
.diptych img{width:100%;height:clamp(280px,36vw,470px);object-fit:cover;object-position:center 32%;display:block}
.diptych .dlabel{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) skewX(-8deg);
  background:var(--ink);color:#fff;font-family:'Archivo';font-weight:600;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  padding:9px 16px;white-space:nowrap;border:1px solid rgba(255,255,255,.25)
}
@media(max-width:760px){
  .diptych{grid-template-columns:1fr}
  .diptych img{height:230px}
  .diptych .dlabel{font-size:10px;padding:8px 12px}
}

/* soft photographic backdrops under brand overlays */
.sec-court.bg-morning{
  background-image:linear-gradient(rgba(23,59,117,.93),rgba(23,59,117,.95)),url('/assets/img-morning.webp');
  background-size:cover;background-position:center 35%;
}
.sec-burn.bg-league{
  background-image:linear-gradient(rgba(178,52,7,.92),rgba(178,52,7,.94)),url('/assets/img-league.webp');
  background-size:cover;background-position:center 25%;
}
.hero.dark.bg-desk{background-image:linear-gradient(rgba(25,29,27,.88),rgba(25,29,27,.9)),url('/assets/img-desk.webp');background-size:cover;background-position:center 30%}
.hero.dark.bg-build{background-image:linear-gradient(rgba(25,29,27,.84),rgba(25,29,27,.88)),url('/assets/img-build.webp');background-size:cover;background-position:center 60%}
.hero.dark.bg-line{background-image:linear-gradient(rgba(25,29,27,.87),rgba(25,29,27,.9)),url('/assets/img-line.webp');background-size:cover;background-position:center}
.hero.dark.bg-rack{background-image:linear-gradient(rgba(25,29,27,.87),rgba(25,29,27,.9)),url('/assets/img-rack.webp');background-size:cover;background-position:center 40%}

/* the strike: draws itself across the rejected categories after load */
.strike{position:relative;white-space:nowrap}
.strike::after{
  content:"";position:absolute;left:-2%;right:-2%;top:52%;height:.085em;
  background:var(--paper);transform:scaleX(0) rotate(-2deg);transform-origin:left center;
  animation:strikein .5s cubic-bezier(.25,.8,.25,1) forwards;
}
.strike.s1::after{animation-delay:.8s}
.strike.s2::after{animation-delay:1.45s}
@keyframes strikein{to{transform:scaleX(1) rotate(-2deg)}}
@media(prefers-reduced-motion:reduce){
  .strike::after{animation:none;transform:scaleX(1) rotate(-2deg)}
}

/* ---------- v7: hero cleanup ---------- */
.hero.dark h1{text-wrap:balance}
.ctarow{display:flex;align-items:center;justify-content:space-between;gap:14px 18px;flex-wrap:wrap;margin-top:28px}
.ctarow .cbtns{display:flex;gap:12px;flex-wrap:wrap}
.ctarow .founderchip{margin-top:0}
.instrumentline.onlight{margin-top:20px}
.instrumentline.onlight p{color:var(--ink)}
@media(max-width:760px){.ctarow{flex-direction:column;align-items:flex-start}}

/* ---------- v8: diptych treatment ---------- */
/* pull the band up under the hero's angled edge: the diagonal cuts into the photo, not into paper */
.diptych{margin-top:-44px}
@media(max-width:760px){.diptych{margin-top:-22px}}

/* soft dark wash for type legibility */
.diptych::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,29,27,0) 8%,rgba(25,29,27,.34) 38%,rgba(25,29,27,.34) 62%,rgba(25,29,27,0) 92%);pointer-events:none;z-index:1}

/* cinematic title across the image */
.diptych .dlabel{
  position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;
  text-align:center;background:none;border:0;transform:none;padding:0 24px;
  font-family:'Archivo',sans-serif;font-weight:900;font-stretch:112%;text-transform:uppercase;
  color:#fff;font-size:clamp(26px,4.2vw,52px);line-height:1.05;letter-spacing:.005em;
  text-shadow:0 2px 26px rgba(0,0,0,.5);white-space:normal;
}

/* ---------- v9: no orphaned headline words ---------- */
h1,h2{text-wrap:balance}

/* v9b: cadence rows fill the work column */
.cadence{border-top:2px solid var(--ink);margin-top:22px}
.cadence .cd{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.cadence .cd .d{font-family:'Archivo';font-weight:600;font-size:12.5px;color:var(--burn-deep);text-transform:uppercase;letter-spacing:.06em;padding-top:2px}
.cadence .cd .w{font-size:14.5px;color:var(--ink-soft)}

/* v9c: published price line in the paths */
.pprice{font-family:'Archivo';font-weight:600;font-size:13px;color:var(--burn-deep);margin:3px 0 8px}

/* v9d: structured script excerpt */
.scriptcard .scr{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.scriptcard .scr:last-of-type{border-bottom:0}
.scriptcard .sk{font-family:'Archivo';font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--burn-deep);padding-top:3px}
.scriptcard .sv{font-size:14.5px}
.scriptcard .sn{border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
@media(max-width:560px){.scriptcard .scr{grid-template-columns:1fr;gap:2px}}

/* v10: single-family type system; data text in Archivo */
.kpi .value,.pprice,.fineprint dd,.rangeval{font-variant-numeric:tabular-nums}

/* ---------- v11: full-screen mobile hero ---------- */
@media(max-width:760px){
  .hero.dark.herofull .wrap{display:flex;flex-direction:column;min-height:calc(100svh - 150px)}
  .hero.dark h1{font-size:44px;line-height:1.04;margin-top:10px}
  .hero.dark.herofull .eyebrow{order:1}
  .hero.dark.herofull h1{order:2}
  .hero.dark.herofull .ctarow{order:3;margin-top:auto;padding-top:26px}
  .hero.dark.herofull .lede{order:4;margin-top:34px}
  .hero.dark.herofull .proofrow{order:5}
  .hero.dark.herofull .ctarow .cbtns{width:100%}
  .hero.dark.herofull .ctarow .cbtns .btn{width:100%;text-align:center}
}

/* v11: uniform CTA pairs */
.btnrow{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* v11: diptych label anchored per image on mobile */
.diptych .dlabel{flex-direction:column;gap:2px}
@media(max-width:760px){
  .diptych .dlabel{display:block}
  .diptych .dlabel span{position:absolute;left:0;right:0;text-align:center}
  .diptych .dlabel .dl1{bottom:calc(50% + 8px)}
  .diptych .dlabel .dl2{top:calc(50% + 8px)}
}

/* v11: mobile KPI expander */
.kpiextra{display:contents}
.kpitoggle{display:none}
@media(max-width:760px){
  .kpiextra{display:none}
  .kpiextra.open{display:contents}
  .kpitoggle{display:block;width:100%;background:none;border:1.5px solid var(--ink);border-radius:6px;
    padding:12px;font-family:'Archivo';font-weight:600;font-size:14px;color:var(--ink);cursor:pointer}
}

/* ---------- v12: mobile diptych stamp + native P&L teaser ---------- */
.dstamp{display:block;position:absolute;z-index:2;
  background:rgba(25,29,27,.78);color:#F5F6F3;font-family:'Archivo';font-weight:600;
  font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:2px}
.dstamp.s1{left:14px;bottom:14px}
.dstamp.s2{left:calc(50% + 14px);bottom:14px}
@media(max-width:760px){
  .dstamp.s1{top:12px;bottom:auto;left:12px}
  .dstamp.s2{left:12px;bottom:12px}
  .diptych .dlabel .dl1{bottom:calc(50% + 8px)}
  .diptych .dlabel .dl2{top:calc(50% + 8px)}
}

.pnlteaser{display:none}
@media(max-width:760px){
  .deskonly{display:none}
  .pnlteaser{display:block;background:var(--panel);border:2px solid var(--ink);border-radius:var(--radius);padding:20px 18px}
  .pnlteaser .ptcap{font-family:'Archivo';font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px}
  .pnlteaser .pt{padding:10px 0;border-bottom:1px solid var(--line)}
  .pnlteaser .pt .v{font-family:'Archivo';font-weight:900;font-stretch:112%;font-size:38px;line-height:1;color:var(--court-deep);font-variant-numeric:tabular-nums}
  .pnlteaser .pt.gap .v{color:var(--burn-deep);font-size:46px}
  .pnlteaser .pt .l{font-size:13px;color:var(--ink-soft);margin-top:5px}
  .pnlteaser .btn{display:block;text-align:center;margin-top:16px}
}
