/* Approved sections use shared site type and a measured viewport budget. */
html body main :is(#requirements,#levels).zga-section{--zga-art:clamp(240px,30vw,440px);--zga-budget:calc(100svh - var(--ds-header) - 12px);box-sizing:border-box;position:relative;isolation:isolate;color:#06152d;background:#fff;font:400 var(--ds-copy)/1.45 var(--ds-body);padding:20px 0!important;max-height:var(--zga-budget);overflow:auto;overscroll-behavior-y:auto;scroll-margin-top:16px;}
html body main :is(#requirements,#levels) .zga-inner{width:calc(100% - 2 * var(--ds-gutter));max-width:1360px;margin:auto;min-width:0}
html body main :is(#requirements,#levels) :is(p,h2,h3){margin:0;padding:0;color:inherit}
html body main :is(#requirements,#levels) :is(h2,h3){font-family:var(--ds-display)!important;font-weight:400!important;letter-spacing:0!important;line-height:1.1!important;text-transform:none!important}
html body main :is(#requirements,#levels) h2{font-size:var(--ds-title)!important}
html body main :is(#requirements,#levels) h3{font-size:var(--ds-card)!important}
html body main :is(#requirements,#levels) :is(.zga-eyebrow,.zga-kicker){font:600 var(--ds-eyebrow)/1.3 var(--ds-ui);color:#0062ff;letter-spacing:.1em}
html body main :is(#requirements,#levels) .zga-eyebrow{margin-bottom:8px}
html body main :is(#requirements,#levels) :is(.zga-intro,.zga-subtitle){font:400 var(--ds-copy)/1.45 var(--ds-body)}
html body main :is(#requirements,#levels) .zga-subtitle{margin-top:8px}
html body main :is(#requirements,#levels) .zga-ground-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:center}
html body main :is(#requirements,#levels) .zga-intro{border-left:1px solid #c5d4e0;padding-left:24px}
html body main :is(#requirements,#levels) :is(.zga-ground-grid,.zga-territory-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:16px 0;min-width:0}
html body main :is(#requirements,#levels) :is(.zga-ground-card,.zga-territory-card){min-width:0}
html body main :is(#requirements,#levels) :is(.zga-ground-art,.zga-territory-art){display:block;width:100%;height:var(--zga-art);margin:0;object-fit:contain;object-position:center}
html body main :is(#requirements,#levels) .zga-territory-art img{display:block;height:100%;width:100%;object-fit:contain;object-position:center}
html body main :is(#requirements,#levels) .zga-ground-card h3{margin-top:8px;text-align:center}
html body main :is(#requirements,#levels) .zga-ground-card h3::after{content:'';display:block;width:36px;height:3px;margin:10px auto 0;background:#0062ff;border-radius:3px}
html body main :is(#requirements,#levels) .zga-features{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;padding:12px;list-style:none;background:#eaf6ff;border-radius:12px}
html body main :is(#requirements,#levels) .zga-features li{display:flex;align-items:center;gap:10px;padding:0 12px;font:600 1rem/1.25 var(--ds-ui);min-width:0}
html body main :is(#requirements,#levels) .zga-features li+li{border-left:1px solid #bdd7e8}
html body main :is(#requirements,#levels) .zga-feature-icon{width:32px;height:32px;flex:none;color:#0062ff}
html body main :is(#requirements,#levels) .zga-note{font:400 .875rem/1.4 var(--ds-body);text-align:center;margin-top:10px}
html body main :is(#requirements,#levels) .zga-territory-copy{padding:10px 12px 0}
html body main :is(#requirements,#levels) .zga-territory-card+.zga-territory-card .zga-territory-copy{border-left:1px solid #b5daea;padding-left:24px}
html body main :is(#requirements,#levels) .zga-kicker{display:flex;align-items:center;gap:10px;min-height:30px;margin-bottom:8px}
html body main :is(#requirements,#levels) .zga-number{display:grid;place-items:center;flex:0 0 30px;height:28px;border-radius:7px;background:#0062ff;color:#fff;letter-spacing:0}
html body main :is(#requirements,#levels) .zga-territory-copy>p:last-child{font:400 1rem/1.45 var(--ds-body);margin-top:8px}
html body main :is(#requirements,#levels) .zga-disclaimer{display:flex;align-items:center;gap:12px;border-radius:10px;background:#eaf6ff;padding:10px 14px;font:400 .875rem/1.4 var(--ds-body);margin-top:12px}
html body main :is(#requirements,#levels) .zga-disclaimer span{color:#0062ff;font-size:22px;flex:none}
@media(max-width:1023px){
html body main :is(#requirements,#levels).zga-section{padding:16px 0!important;--zga-art:clamp(180px,32vw,320px)}
html body main :is(#requirements,#levels) .zga-ground-heading{grid-template-columns:1fr;gap:10px}
html body main :is(#requirements,#levels) .zga-intro{padding:0;border:0}
html body main :is(#requirements,#levels) :is(.zga-ground-grid,.zga-territory-grid){gap:16px;margin:12px 0}
html body main :is(#requirements,#levels) .zga-features li{padding:0 6px;gap:6px}
html body main :is(#requirements,#levels) .zga-territory-copy{padding-inline:0}
html body main :is(#requirements,#levels) .zga-territory-card+.zga-territory-card .zga-territory-copy{padding-left:14px}
}
@media(max-width:639px){
html body main :is(#requirements,#levels) :is(.zga-ground-grid,.zga-territory-grid){display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;margin:12px 0;padding:0 0 8px;scrollbar-width:thin;scrollbar-color:#0062ff #eaf6ff}
html body main :is(#requirements,#levels) :is(.zga-ground-card,.zga-territory-card){flex:0 0 94%;scroll-snap-align:start}
html body main :is(#requirements,#levels) .zga-ground-card h3{text-align:left}
html body main :is(#requirements,#levels) .zga-ground-card h3::after{margin-left:0}
html body main :is(#requirements,#levels) .zga-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
html body main :is(#requirements,#levels) .zga-features li{padding:0;border:0;font-size:.875rem}
html body main :is(#requirements,#levels) .zga-feature-icon{width:24px;height:24px}
html body main :is(#requirements,#levels) .zga-desktop-break{display:none}
html body main :is(#requirements,#levels) .zga-note{font-size:.8125rem}
html body main :is(#requirements,#levels) .zga-territory-card+.zga-territory-card .zga-territory-copy{padding-left:0;border:0}
html body main :is(#requirements,#levels) .zga-disclaimer{font-size:.8125rem;padding:8px 10px;margin-top:8px}
}

/* Artwork occupies the available stage rather than thumbnail-sized boxes. */
html body main :is(#requirements,#levels) :is(.zga-ground-grid,.zga-territory-grid){position:relative;gap:8px}
html body main :is(#requirements,#levels) :is(.zga-ground-art,.zga-territory-art){position:relative;z-index:2;filter:drop-shadow(0 8px 7px #12355412)}
html body main :is(#requirements,#levels) .zga-territory-art{display:flex;align-items:flex-end}
html body main :is(#requirements,#levels) .zga-territory-art img{object-position:center bottom;transform-origin:center bottom}
html body main :is(#requirements,#levels) .zga-territory-card:nth-of-type(1) .zga-territory-art img{height:92%}
html body main :is(#requirements,#levels) .zga-territory-card:nth-of-type(2) .zga-territory-art img{height:96%}
html body main :is(#requirements,#levels) .zga-territory-card:nth-of-type(3) .zga-territory-art img{transform:scale(1.08)}
html body main :is(#requirements,#levels) .zga-territory-copy{position:relative;z-index:3;background:#fff}
html body main :is(#requirements,#levels) .zga-link-light{position:absolute;top:calc(var(--zga-art) * .55);left:0;width:100%;height:calc(var(--zga-art) * .26);z-index:1;overflow:visible;pointer-events:none}
html body main :is(#requirements,#levels) .zga-feature-icon{width:42px;height:42px;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:639px){
html body main :is(#requirements,#levels).zga-section{--zga-art:clamp(200px,65vw,290px)}
html body main :is(#requirements,#levels) :is(.zga-ground-grid,.zga-territory-grid){gap:16px}
html body main :is(#requirements,#levels) .zga-link-light{display:none}
html body main :is(#requirements,#levels) .zga-territory-card:nth-of-type(3) .zga-territory-art img{transform:none}
html body main :is(#requirements,#levels) .zga-feature-icon{width:30px;height:30px}
}
