/* Finishing pass: retain artwork, palette and CMS typography overrides. */
#home .entrance-title img{filter:drop-shadow(0 0 4px #b8ff3590) drop-shadow(0 0 12px #b8ff3555) drop-shadow(0 0 27px #b8ff3524)}
.gate-grounding{position:absolute;z-index:1;pointer-events:none;left:19%;right:5%;bottom:1%;height:4%;border-radius:50%;background:radial-gradient(ellipse,#03061080,transparent 70%);filter:blur(5px);opacity:calc(1 - var(--door-open,0)*.45)}
#home .gate-inner-light{transition:opacity .18s linear}
main>.section:not(.join){padding-block:clamp(64px,7vw,112px)}
.section-head{gap:clamp(24px,4vw,64px);margin-bottom:clamp(30px,3.5vw,52px)}
.section-head h2,.academy h2,.tools h2{line-height:1.3;letter-spacing:-.025em;font-weight:500;text-wrap:balance}
.section-head p,.academy-copy>p,.tools-copy>p{line-height:1.9;text-wrap:pretty}
.section .eyebrow{line-height:1.6;letter-spacing:.16em}
#programs .program-card{transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease;box-shadow:inset 0 1px 0 #ffffff20,0 12px 28px #05091932}
#programs .program-card h3{font-weight:500;letter-spacing:.015em;line-height:1.4}
#programs .program-card:hover{transform:translateY(-5px);border-color:#bac7e65c;box-shadow:inset 0 1px 0 #ffffff28,0 20px 36px #05091948}
#programs .program-card:hover .card-illustration,#programs .program-card:hover img{transform:scale(1.025) rotate(0)}
main .pill{min-height:46px;transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
main .pill:hover{transform:translateY(-2px);box-shadow:0 5px 18px #b8ff351a}
.contact-grid article{box-shadow:inset 0 1px 0 #ffffff12,0 12px 32px #05091925}
.event-photo{transition:box-shadow .25s ease}
.event-photo:hover{box-shadow:0 8px 28px #0004}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid #b8ff35;outline-offset:5px}
#home.home-effects-paused .gate-metal-surface:after,#home.home-effects-paused .gate-liquid-tank:after,#home.home-effects-paused .tank-bubble,#home.home-effects-paused .tank-current,#home.home-effects-paused .tank-liquid-body,#home.home-effects-paused .gate-red-scan,#home.home-effects-paused .gate-status-lamp,#home.home-effects-paused .gate-status-lamp:before,#home.home-effects-paused .gate-status-lamp:after,#home.home-effects-paused .gate-panel-lamps i{animation-play-state:paused!important}
@media(max-width:760px){
 main>.section:not(.join){padding-block:64px}
 .section-head h2{font-size:clamp(30px,8vw,42px)}
 .section-head>p,.section-head>div>p{max-width:100%;font-size:15px}
 .contact-grid .pill{white-space:normal;line-height:1.6}
 .merch-controls,.merch-controls>div{flex-wrap:wrap;gap:10px}
 .rail-buttons button,.merch-controls button,.event-controls button{min-width:44px;min-height:44px}
 #modal{max-width:calc(100vw - 24px);max-height:90svh;overflow:auto}
}
@media(hover:none){#programs .program-card:hover{transform:none}#programs .program-card:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){
 #programs .program-card,main .pill,.event-photo{transition:none}
 #programs .program-card:hover,main .pill:hover{transform:none}
 #home .gate-metal-surface:after,#home .gate-liquid-tank:after,#home .tank-bubble,#home .tank-current,#home .tank-liquid-body,#home .gate-red-scan{animation:none}
}
