/* Home: data-first overview. Extends the dossier language (warm paper, hairlines, mono labels). */
body[data-page="home"] main{padding-top:36px}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.vz{display:block;max-width:100%;height:auto;overflow:visible}
.vz text{font-family:Arial,Helvetica,sans-serif}
.vz-axis{font:10px var(--mono);fill:#6b675d}
.vz-label{font-size:13px;font-weight:500;fill:#252a26}
.vz-label.sm{font-size:12px}
.vz-sub{font-size:11px;font-weight:400;fill:#6b675d}
.vz-val{font-size:14px;font-weight:500;fill:#252a26}
.vz-val.soft{fill:#6b675d;font-weight:500}
.vz-val.red{fill:#a23829}
.vz-big{font-weight:400;letter-spacing:-.05em;fill:#252a26}
.vz-small{font-size:12px;fill:#6b675d}
.halo{paint-order:stroke;stroke:#f6f5f0;stroke-width:5px;stroke-linejoin:round}
.vz-in-bar{font-size:12px;font-weight:500;fill:#fff}
.vz-in-bar.dark{fill:#252a26}
.vz-num-in{font-size:11px;font-weight:700;fill:#fff}

/* hero */
.hero2{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:center;padding:12px 0 48px}
.hero2 h1{font-family:Arial,Helvetica,sans-serif;font-weight:500;font-size:clamp(46px,6.2vw,92px);letter-spacing:-.06em;line-height:.95;max-width:none;margin:0 0 24px}
.hero2 h1 em{font-style:normal;color:#a23829}
.hero2 .lead{font-size:clamp(17px,1.6vw,21px);line-height:1.5;color:#252a26;max-width:36ch;margin:0 0 32px}
.hero2 .lead strong{font-weight:500;color:#a23829;box-shadow:inset 0 -2px #a2382955}
.cta-row{display:flex;flex-wrap:wrap;gap:14px 16px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:#252a26;color:#f6f5f0;padding:16px 26px;font:500 15px/1.2 Arial,sans-serif;border-radius:4px;text-decoration:none;border:1px solid #252a26;white-space:nowrap}
.btn:hover{background:#a23829;text-decoration:none}
.btn.ghost{background:none;color:#252a26}
.btn.ghost:hover{background:#252a26;color:#f6f5f0}
.hero-viz{display:flex;align-items:center;gap:28px;justify-content:center}
.hero-viz>svg{flex:none;width:240px;height:240px}
.hero-viz-text{min-width:0}
.vz-kicker{font:10px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#6b675d;margin:0 0 8px}
.vz-title{font:500 24px/1.15 Arial,sans-serif;letter-spacing:-.03em;margin:0 0 14px}
.vz-legend{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:#454545}
.vz-legend li{display:flex;align-items:center;gap:7px}
.vz-legend b{font-weight:500;color:#252a26}
.sw{display:inline-block;width:11px;height:11px;border-radius:2px;flex:none}
.sw-hit{background:#4b655a}.sw-miss{background:#ae5d4f}
.sw-partial{background:repeating-linear-gradient(135deg,#b08c55 0 2.4px,#f1e8d3 2.4px 6px)}
.sw-tm-hit{background:#4b655a}.sw-tm-mid{background:#8a7544}.sw-tm-low{background:#ae5d4f}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;box-sizing:border-box}
.dot-solid{background:#a23829}.dot-open{border:2px solid #a23829}
.dash{display:inline-block;width:16px;border-top:2px dashed #a23829}.dash-grey{border-color:#6b675d}

/* sections */
.vz-sec{padding:56px 0 8px}
.vz-sec+.vz-sec{margin-top:24px}
.vz-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.55fr);gap:12px 32px;align-items:end;margin-bottom:28px}
.vz-head .eyebrow{grid-column:1/-1;margin:0}
.vz-head h2{margin:0;font:500 clamp(26px,3.2vw,40px)/1.05 Arial,sans-serif;letter-spacing:-.045em}
.vz-head p.vz-cap{margin:0;font-size:14px;line-height:1.5;color:#59564d;max-width:34ch;justify-self:end}
.vz-grid{display:grid;gap:0;grid-template-columns:repeat(12,minmax(0,1fr));border-top:1px solid #8f8d81;border-bottom:1px solid #b9b7ac}
.vz-card{padding:26px 28px 24px 0;min-width:0}
.vz-card+.vz-card{padding-left:28px;border-left:1px solid #cfcdc2}
.vz-card h3{font:500 19px/1.25 Arial,sans-serif;letter-spacing:-.03em;margin:0 0 6px;text-transform:none}
.vz-card .vz-cap{font-size:12.5px;color:#59564d;margin:0 0 20px;line-height:1.45}
.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
.vz-card .vz-legend{margin-top:16px}
.vz-note{font-size:11.5px;color:#6b675d;margin:16px 0 0}
.row2{border-top:1px solid #b9b7ac}
.row2 .vz-card{padding-top:26px}
.vz-grid>.break{grid-column:1/-1;border-top:1px solid #b9b7ac}
.vz-grid .vz-card.nl{padding-left:0;border-left:0}

/* stat cards */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #8f8d81;border-bottom:1px solid #b9b7ac}
.kpi{padding:24px 24px 22px 0;display:flex;flex-direction:column;min-height:250px}
.kpi+.kpi{padding-left:24px;border-left:1px solid #cfcdc2}
.kpi .vz-kicker{min-height:30px}
.kpi-num{font:400 clamp(44px,4.6vw,64px)/1 Arial,sans-serif;letter-spacing:-.065em;color:#252a26;margin:2px 0 4px}
.kpi-num.red{color:#a23829}
.kpi-viz{margin-top:auto;padding-top:16px;min-height:72px;display:flex;align-items:flex-end}
.kpi-viz>svg{width:100%}
.kpi-cap{font-size:12.5px;line-height:1.4;color:#59564d;margin:0}
.kpi-ring{display:flex;align-items:center;gap:14px}
.kpi-ring>div:first-child{flex:none}
#k-ring svg{width:104px;height:104px;max-width:none}
.icons{display:grid;gap:6px;width:100%}
.icons-12{grid-template-columns:repeat(6,1fr)}
.icons-21{grid-template-columns:repeat(7,1fr)}
.icons span{aspect-ratio:1;max-width:30px;display:block}
.icons-12 span{border-radius:2px}
.icons-21 span{border-radius:50%}
.ic-red{background:#a23829}.ic-none{background:#d4d1c4}.ic-hit{background:#4b655a}
.ic-partial{background:repeating-linear-gradient(135deg,#b08c55 0 2.4px,#f1e8d3 2.4px 6px)}

/* funnel */
.funnel{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.step{position:relative;padding:22px 28px 22px 26px;background:#eeede6;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%,22px 50%);display:flex;flex-direction:column;justify-content:center;min-height:128px;margin-right:-8px}
.step:first-child{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%);padding-left:22px}
.step:last-child{margin-right:0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,22px 50%)}
.step-1{background:#e3e1d6}.step-2{background:#d6d3c5}.step-3{background:#a23829;color:#fff}
.step b{font:400 clamp(32px,3.6vw,46px)/1 Arial,sans-serif;letter-spacing:-.06em}
.step span{font-size:14px;font-weight:500;margin-top:6px}
.step small{font-size:12px;opacity:.78;margin-top:2px}
.vz-stack{margin-top:28px}

/* heatmap */
.hm-row{display:grid;grid-template-columns:38px repeat(12,minmax(0,1fr));gap:4px;margin-bottom:4px;align-items:center}
.hm-head span{font:10px var(--mono);color:#6b675d;text-align:center}
.hm-y{font:10px var(--mono);color:#6b675d}
.hm-c{aspect-ratio:1.25;display:flex;align-items:center;justify-content:center;font:500 11px Arial,sans-serif;border-radius:2px}
.hm-0{background:#ebe9df}

/* mini stats */
.mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px 24px;margin-top:24px;padding-top:20px;border-top:1px solid #cfcdc2}
.mini-stat{min-width:0}
.mini-stat b{display:block;font:400 clamp(30px,3vw,40px)/1.05 Arial,sans-serif;letter-spacing:-.05em}
.mini-stat b.red{color:#a23829}
.mini-stat span{display:block;font-size:12.5px;color:#59564d;line-height:1.4;margin-top:4px}
.mini-stat>div{margin-top:12px}

/* treemap */
.tm{position:relative;width:100%}
.tm-c{position:absolute;border:2px solid #f6f5f0;box-sizing:border-box;color:#fff;overflow:hidden}
.tm-hit{background:#4b655a}.tm-mid{background:#7d6a3c}.tm-low{background:#ae5d4f}
.tm-in{padding:8px 9px;line-height:1.25}
.tm-in b{display:block;font:500 12.5px Arial,sans-serif}
.tm-in span{display:block;font:11.5px Arial,sans-serif;opacity:.92;margin-top:2px}

/* events key */
.events{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:#454545}
.events li{display:flex;align-items:center;gap:7px}
.events .num{display:inline-flex;width:20px;height:20px;border-radius:50%;background:#252a26;color:#fff;font-size:11px;font-weight:700;align-items:center;justify-content:center}

/* read more */
.more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #8f8d81;border-bottom:1px solid #b9b7ac}
.more-card{display:flex;flex-direction:column;padding:24px 28px 24px 0;color:#252a26;text-decoration:none!important;min-height:200px;transition:background .2s}
.more-card+.more-card{padding-left:28px;border-left:1px solid #cfcdc2}
.more-card:hover{background:#eeede6}
.more-card h3{font:500 22px/1.2 Arial,sans-serif;letter-spacing:-.035em;margin:0 0 6px;text-transform:none}
.more-card p{margin:0;font-size:13px;color:#59564d}
.more-card .arrow{margin-top:auto;font-size:20px;color:#a23829;padding-top:14px}
.more-viz{margin-top:auto;padding-top:20px}
.mini-bar{display:flex;gap:2px;height:22px}
.mini-bar i{display:block;height:100%}
.mini-six{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}
.mini-six span{aspect-ratio:1;border:1.5px solid #252a26;border-radius:50%;display:flex;align-items:center;justify-content:center;font:600 11px Arial,sans-serif;max-width:30px}
.mini-dots{display:flex;align-items:flex-end;gap:3px;height:40px}
.mini-dots i{flex:1;background:#252a26;border-radius:1px 1px 0 0;opacity:.85}

@media(prefers-reduced-motion:no-preference){
  svg.vz,.tm,.icons,.mini-bar,.mini-dots,.hm-row{animation:vz-fade .8s ease-out both}
  @keyframes vz-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
}
@media(max-width:1000px){
  .hero2{grid-template-columns:1fr;gap:36px}
  .hero-viz{justify-content:flex-start}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi:nth-child(3){padding-left:0;border-left:0}
  .kpi:nth-child(n+3){border-top:1px solid #cfcdc2}
  .vz-grid{display:block}
  .vz-card,.vz-card+.vz-card{padding:26px 0;border-left:0}
  .vz-card+.vz-card{border-top:1px solid #cfcdc2}
  .vz-head{grid-template-columns:1fr}
  .vz-head p.vz-cap{justify-self:start}
  .funnel{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .step,.step:first-child{clip-path:none;margin:0;min-height:110px;padding:18px}
  .more-grid{grid-template-columns:1fr}
  .more-card,.more-card+.more-card{padding:22px 0;border-left:0;min-height:0}
  .more-card+.more-card{border-top:1px solid #cfcdc2}
}
@media(max-width:560px){
  .hero-viz>svg{width:190px;height:190px}
  .hero-viz{flex-direction:column;align-items:flex-start;gap:16px}
  .kpis{grid-template-columns:1fr}
  .kpi,.kpi+.kpi{padding:22px 0;border-left:0;min-height:0}
  .kpi+.kpi{border-top:1px solid #cfcdc2}
  .kpi .vz-kicker{min-height:0}
  .vz-sec{padding-top:40px}
  .cta-row{flex-direction:column;align-items:stretch}
  .btn{width:100%}
}

/* audit + forecast tracks */
.tracks{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #8f8d81;border-bottom:1px solid #b9b7ac}
.track-card{position:relative;display:flex;flex-direction:column;gap:2px;padding:26px 56px 26px 0;color:#252a26;text-decoration:none!important;transition:background .2s}
.track-card+.track-card{padding-left:30px;border-left:1px solid #cfcdc2}
.track-card:hover{background:#eeede6}
.track-tag{align-self:flex-start;font:11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#59564d;border:1px solid #b9b7ac;border-radius:999px;padding:2px 10px;margin-bottom:10px}
.track-fc .track-tag{background:#a23829;color:#fff;border-color:#a23829}
.track-card b{font:400 clamp(44px,4.4vw,60px)/1 Arial,sans-serif;letter-spacing:-.06em}
.track-fc b{color:#a23829}
.track-h{font:500 17px/1.3 Arial,sans-serif;letter-spacing:-.02em;margin-top:6px}
.track-sub{font-size:13px;color:#59564d;margin-top:4px}
.track-go{position:absolute;right:20px;top:50%;font-size:26px;color:#a23829;transform:translateY(-50%);transition:transform .2s}
.track-card+.track-card .track-go{right:8px}
.track-card:hover .track-go{transform:translate(4px,-50%)}
@media(max-width:700px){
  .tracks{grid-template-columns:1fr}
  .track-card,.track-card+.track-card{padding:22px 40px 22px 0;border-left:0}
  .track-card+.track-card{border-top:1px solid #cfcdc2}
}
