/* Review pass 1. Final layout contract; no clipping or whole-page scaling.
   Unreviewed sections deliberately retain natural height until their layout is repaired. */
:root{--header-clearance:96px;--section-room:calc(100svh - var(--header-clearance));--h1:var(--ds-hero);--h2:var(--ds-title);--h3:var(--ds-card);--section-y:var(--ds-pad)}
@media(max-width:999px){:root{--header-clearance:80px}}
html{scroll-padding-top:var(--header-clearance)}
main section[id]{scroll-margin-top:var(--header-clearance)}
/* These are real headings, not numbers/labels baked into illustrations. */
main :is(.zh-hero,.znh-hero) h1{font-size:var(--ds-hero)!important;line-height:1.05!important;}
main :is(.zc-section,.zgo,.zs-section,.zt-section,.zpv3,.z4,.znf,.zsa-section) h2{font-size:var(--ds-title)!important;line-height:1.1!important;}
main :is(.zc-section,.zgo,.zs-section,.zt-section,.zpv3,.z4,.znf,.zsa-section) :is(h1,h2,h3){font-family:var(--headline)!important;font-weight:400!important;font-synthesis:style}
/* Championship stage + all three navigation choices fit as one section. */
main .zc-section[data-kind]{height:min(740px,var(--section-room));min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 146px}
main .zc-section[data-kind] .zc-hero{aspect-ratio:auto;min-height:0;height:100%}
main .zc-section[data-kind] .zc-copy{top:8%;left:5%;width:34%}
main .zc-section[data-kind] .zc-cup{top:1%;bottom:auto;height:91%;max-height:none;width:47%;left:45%}
main .zc-section[data-kind] .zc-nav{min-height:0;padding:12px 3%;height:146px}
main .zc-section[data-kind] .zc-tab{gap:12px;padding:4px 14px}
main .zc-section[data-kind] .zc-tab img{width:60px;height:86px!important}
main .zc-section[data-kind] .zc-tab-name{font-size:18px;white-space:normal}
main .zc-section[data-kind] .zc-tab-scope{font-size:12px;letter-spacing:.15em}
main .zc-section[data-kind] .zc-tab-description{font-size:14px;min-height:0;max-width:30ch}
main .zc-section[data-kind] .zc-tab-arrow{display:none}
main .zc-section[data-kind] .zc-tab-copy{padding-left:10px}
main .zc-section[data-kind] .zc-support{margin-top:18px;padding-top:16px}
@media(max-width:700px){
 main .zc-section[data-kind]{height:min(744px,var(--section-room));grid-template-rows:minmax(0,1fr) 190px}
 main .zc-section[data-kind] .zc-copy{position:relative;top:auto;left:auto;width:auto;margin:20px 20px 0}
 main .zc-section[data-kind] .zc-title{margin-bottom:10px;text-wrap:wrap;transform:none}
 main .zc-section[data-kind] .zc-title span{display:inline}
 main .zc-section[data-kind] .zcc-eyebrow{font-size:var(--ds-eyebrow)!important;margin-bottom:10px;letter-spacing:.14em!important;}
 main .zc-section[data-kind] .zc-intro{font-size:15px;line-height:1.35;max-width:none}
 main .zc-section[data-kind] .zc-support{font-size:14px;line-height:1.35;max-width:none;margin-top:10px;padding-top:10px;gap:10px}
 main .zc-section[data-kind] .zc-consent-icon{width:18px;height:30px;min-width:18px}
 main .zc-section[data-kind] .zc-cup{top:auto;bottom:4px;height:48%;max-height:none;width:66%;left:28%}
 main .zc-section[data-kind] .zc-stage-backdrop{object-fit:cover;object-position:65% 90%}
 main .zc-section[data-kind] .zc-backdrop-name{top:auto;bottom:18%;font-size:17vw;left:5%;width:90%}
 main .zc-section[data-kind] .zc-nav{height:190px;padding:8px 6px}
 main .zc-section[data-kind] .zc-tab{display:flex;flex-direction:column;gap:4px;padding:4px;align-items:center;text-align:center;justify-content:start}
 main .zc-section[data-kind] .zc-tab img{width:30px;height:40px!important}
 main .zc-section[data-kind] .zc-tab-copy{padding:0;border:0}
 main .zc-section[data-kind] .zc-tab-name{font-size:14px;line-height:1.15}
 main .zc-section[data-kind] .zc-tab-scope{font-size:10px;letter-spacing:.06em;margin:4px 0}
 main .zc-section[data-kind] .zc-tab-description{font-size:11px;line-height:1.2}
 main .zc-section[data-kind] .zc-controls{opacity:1;pointer-events:auto;bottom:12px}
}
/* Forms: same approved split composition; paginate controls rather than
   squeeze nine complete forms into tiny text or nested scroll boxes. */
.znf.znf-stepped{padding:18px}
.znf-stepped .znf-shell{padding:24px;gap:28px;min-height:0}
.znf-stepped .znf-story{padding:16px 0 0;min-height:0}
.znf-stepped .znf-description{font-size:17px;margin-top:14px!important}
.znf-stepped .znf-panel{padding:24px;align-self:stretch}
.znf-stepped .znf-form{margin-top:14px}
.znf-stepped .znf-rule{margin-bottom:10px}
.znf-stepped .znf-grid{gap:14px 18px}
.znf-stepped .znf-art{max-height:230px}
.znf-stepped .znf-scene{min-height:0}
.znf-step-heading{font:600 14px/1.35 var(--body);color:#365476;margin:0 0 12px!important;min-height:19px}
.znf-step-bar{display:flex;gap:5px;margin:12px 0}
.znf-step-bar span{height:3px;flex:1;background:#d6e2ef;border-radius:2px}
.znf-step-bar span[data-current]{background:#0062ff;box-shadow:0 0 6px #0062ff44}
.znf-stepped .znf-group{margin-bottom:0!important}
.znf-stepped .znf-field input:not([type=radio]),.znf-stepped .znf-field select{height:46px;padding:10px 12px}
.znf-stepped .znf-field textarea{height:100px;min-height:100px}
.znf-step-controls{display:flex;gap:12px;align-items:center;margin-top:18px}
.znf-step-controls button{min-height:44px;padding:10px 20px}
.znf-stepped .znf-actions{margin-top:16px;gap:10px}
.znf-stepped .znf-button{min-height:44px;padding:10px 16px}
.znf-stepped .znf-status{margin-top:10px!important;padding:10px}
.znf-stepped .znf-reassurance{flex-basis:100%}
@media(max-width:700px){
 .znf.znf-stepped{padding:12px}
 .znf-stepped .znf-shell{display:block;padding:16px;border-radius:18px}
 .znf-stepped .znf-story{padding:0 90px 0 0;min-height:110px;margin-bottom:16px}
 .znf-stepped .znf-copy{position:relative}
 .znf-stepped .znf-kicker{font-size:var(--ds-eyebrow)!important;margin-bottom:8px!important;}
 .znf-stepped h2{font-size:var(--ds-title)!important;text-wrap:initial;}
 .znf-stepped .znf-description,.znf-stepped .znf-note{font-size:14px;line-height:1.35;margin-top:8px!important}
 .znf-stepped .znf-scene{position:absolute;width:88px;height:95px;right:-2px;top:12px;margin:0}
 .znf-stepped .znf-art{max-height:95px}
 .znf-stepped .znf-phone{font-size:16px;gap:8px;margin-top:8px}
 .znf-stepped .znf-phone>span:first-child{width:30px;height:30px}
 .znf-stepped .znf-phone small{font-size:12px}
 .znf-stepped .znf-panel{padding:16px;border-radius:12px}
 .znf-stepped h3{font-size:var(--ds-card);}
 .znf-stepped .znf-subtitle{font-size:14px}
 .znf-stepped .znf-grid{grid-template-columns:1fr;gap:10px}
 .znf-stepped .znf-field{grid-column:auto;gap:4px}
 .znf-stepped .znf-field>label,.znf-stepped .znf-radio-field>legend{font-size:15px}
 .znf-stepped .znf-button{width:auto;flex:none;font-size:16px!important}
 .znf-stepped .znf-actions{flex-direction:row;align-items:center}
 .znf-stepped .znf-step-controls{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.znf-step-bar span{box-shadow:none}}
/* Footer: keep all navigation and the animated signature in one compact block. */
@media(max-width:520px){
 .zgf .zgf-inner{padding:22px 5% 0}
 .zgf .zgf-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px}
 .zgf .zgf-intro{grid-column:1/-1}
 .zgf .zgf-intro h2{font-size:var(--ds-title);margin-bottom:8px;}
 .zgf .zgf-intro p{margin-bottom:8px}
 .zgf .zgf-nav,.zgf .zgf-nav:last-child{grid-column:auto;display:flex;gap:0}
 .zgf .zgf-nav h3{font-size:var(--ds-nav);letter-spacing:.08em;margin-bottom:6px;}
 .zgf .zgf-nav a{font-size:1rem;min-height:36px;display:flex;align-items:center;}
 .zgf .zgf-signature{margin-top:12px}
 .zgf .zgf-bottom-inner{padding:12px 5%;gap:10px}
}

main .zc-section[data-kind] .zc-tab[aria-selected="true"] .zc-tab-description{max-width:none}
@media(max-width:380px){
 .znf-stepped .znf-shell{padding:12px}
 .znf-stepped .znf-panel{padding:12px}
}
