/* HERO + PLUMB-LINE CURSOR (A2) === */
.hero{padding:clamp(28px,5vw,64px) 0 clamp(40px,6vw,88px)}
.hero-g{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,80px);align-items:center}
@media (max-width:900px){.hero-g{grid-template-columns:minmax(0,1fr)}.hero .plate{max-width:460px}}
.plz{position:relative;overflow:hidden}
.plz:focus-visible{outline:2px solid var(--sang);outline-offset:4px}
.plumb{position:absolute;top:0;bottom:0;left:0;width:1px;pointer-events:none;opacity:0;transition:opacity .24s ease-out}
.plz.armed.over .plumb,.plz.armed.kb .plumb{opacity:1;will-change:transform}
.plumb .ln1{position:absolute;top:0;bottom:20px;left:0;width:1px;background:var(--sang)}
.plumb .tks{position:absolute;top:0;bottom:20px;left:-4px;width:9px;background:repeating-linear-gradient(180deg,var(--sang) 0 1px,transparent 1px 8px);opacity:.75}
.plumb .tkl{position:absolute;top:0;bottom:20px;left:-8px;width:17px;background:repeating-linear-gradient(180deg,var(--sang) 0 1px,transparent 1px 40px)}
.plumb .nums span{position:absolute;left:12px;font:500 .62rem/1 var(--sans);color:var(--sang-d);transform:translateY(-50%)}
.plumb .bob{position:absolute;bottom:2px;left:-6px;width:13px;height:18px;background:var(--sang);clip-path:polygon(50% 100%,0 30%,25% 0,75% 0,100% 30%);transform-origin:50% -300px}
.plumb .lvl{position:absolute;left:-28px;width:57px;height:1px;background:var(--sang);top:0}
.plumb .rd{position:absolute;left:12px;top:0;transform:translate(0,-130%);font:700 .7rem/1 var(--sans);background:var(--graphite);color:var(--chalk);padding:.4em .55em;white-space:nowrap}
.plumb.flip .rd{left:auto;right:12px}
.splumb{display:none;position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--sang);opacity:.55;pointer-events:none}
.plz.static .splumb{display:block}
.price{font:500 1.6rem var(--serif);margin:0}
.hint{font-size:.78rem;color:var(--ink2)}

.hero h1 em{color:var(--sang-d)}
.cta-eyebrow{justify-content:center;color:color-mix(in srgb,var(--bg-color) 82%,var(--text-color))}
.cta-eyebrow b{color:color-mix(in srgb,var(--primary-color) 55%,var(--white))}
.cta-text{color:color-mix(in srgb,var(--bg-color) 92%,var(--text-color))}
/* Layout modifiers (homepage variants) */
.hero--centered .hero-g{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}
.hero--centered .eyebrow,.hero--centered .row{justify-content:center}
.hero--centered .lede{margin-inline:auto}
.hero--centered .plate{width:min(460px,100%)}
.hero--stack .hero-g{grid-template-columns:minmax(0,1fr)}
.hero--stack .plate{display:none}
.hero--term .hero-g{align-items:start}
