/* MVG v86.2 — clarity polish for home, challenge, and controls */
/* Home hero: restore flagship cadence while keeping protocol module below */
.home-hero-copy .pill{margin-bottom:.8rem;}
.home-hero-copy h1{max-width:12.2ch;}
.home-hero-copy .home-hero-lede{max-width:40rem;}
.home-hero-copy .hero-machine-line{margin-top:1rem;}
.home-hero-copy .home-hero-support{margin-top:.55rem;max-width:34rem;color:var(--muted,#b8c4ee);font-weight:560;}
.home-hero-copy .hero-actions{margin-top:1rem;}
.state-layer-home{padding-top:.65rem;}
.state-layer-module{gap:1.1rem;}
.state-layer-module-head h2{max-width:14ch;}
.state-layer-module-head p{max-width:52rem;}
.state-layer-protocol-line{font-size:1.02rem;font-weight:620;}
.state-layer-protocol-quote{max-width:42rem;font-size:.95rem;line-height:1.62;color:var(--muted,#b8c4ee)!important;}
.state-layer-actions{margin-top:.15rem;}
.state-layer-mini-grid{align-items:stretch;}
.state-layer-mini-card{padding:1.05rem 1rem 1.1rem;}
.state-layer-mini-card h3{font-size:1.08rem;line-height:1.14;}
.state-layer-mini-card p{max-width:24rem;}

/* Challenge page: stronger title, clearer rhythm, quieter left rail */
.verify-challenge-shell{grid-template-columns:minmax(260px,.76fr) minmax(0,1.1fr) minmax(280px,.74fr);gap:1rem 1.15rem;align-items:start;}
.challenge-rail-wrap h1{margin:.3rem 0 .7rem;font-size:clamp(3rem,5.8vw,5rem);line-height:.92;letter-spacing:-.058em;max-width:7ch;text-wrap:balance;}
.challenge-rail-wrap .hero-lede{max-width:24rem;font-size:1.1rem;line-height:1.62;}
.challenge-rail{margin-top:1rem;gap:.62rem;}
.challenge-scenario-btn{padding:.88rem .92rem;gap:.22rem;}
.challenge-scenario-btn small{font-size:.72rem;letter-spacing:.14em;}
.challenge-scenario-btn strong{font-size:1.04rem;line-height:1.12;}
.challenge-scenario-btn span{font-size:.92rem;line-height:1.42;color:var(--muted,#b8c4ee);}
.challenge-scene-card h2{margin:.25rem 0 .35rem;font-size:clamp(2.1rem,3.6vw,3.3rem);line-height:.96;letter-spacing:-.05em;}
.challenge-scene-card p{line-height:1.56;}
.challenge-observed-card, .challenge-expected-card{min-height:17rem;}
.challenge-observed-head strong, .challenge-expected-head strong{font-size:1.08rem;}
.challenge-download-row .btn{white-space:nowrap;}
.claim-graph-surface .claim-node{min-height:3.1rem;}
.challenge-export-copy{max-width:28rem;}
.challenge-scene-note{font-weight:560;}

/* Controls: shorter copy + fix the 3-card path balance */
.controls-page .controls-copy h1{max-width:9.5ch;}
.controls-page .controls-copy .hero-lede{max-width:42rem;}
.controls-page .controls-summary-list{gap:.72rem;}
.controls-page .controls-summary-list span{max-width:34rem;}
.controls-page .controls-path{grid-template-columns:repeat(3,minmax(0,1fr));gap:.82rem;}
.controls-page .controls-step{padding:1rem .94rem 1.02rem;}
.controls-page .controls-step h3{font-size:1.26rem;line-height:1.08;max-width:7ch;text-wrap:balance;}
.controls-page .controls-step p{font-size:1rem;line-height:1.56;max-width:19ch;}
.controls-page .controls-step:not(:last-child)::after{right:-.92rem;}
.controls-page .controls-diagram-note{max-width:64rem;}
.controls-page .controls-check-grid.v86_1-checks .controls-check-card{min-height:10rem;}
.controls-page .controls-check-grid.v86_1-checks .controls-check-card h3{font-size:1.08rem;}
.controls-page .controls-check-grid.v86_1-checks .controls-check-card p{font-size:.98rem;}

@media (max-width:1180px){
  .verify-challenge-shell{grid-template-columns:1fr;}
  .challenge-rail-wrap h1{max-width:none;}
  .challenge-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:980px){
  .controls-page .controls-path{grid-template-columns:1fr;}
  .controls-page .controls-step p{max-width:none;}
}
@media (max-width:780px){
  .state-layer-module-head h2{max-width:none;}
  .challenge-rail{grid-template-columns:1fr;}
  .challenge-rail-wrap h1{font-size:clamp(2.5rem,14vw,4rem);}
  .challenge-rail-wrap .hero-lede{max-width:none;}
}
:root[data-theme="light"] .home-hero-copy .home-hero-support,
:root[data-theme="light"] .state-layer-protocol-quote,
:root[data-theme="light"] .challenge-scenario-btn span{
  color:rgba(18,26,48,.72)!important;
}
