:root{--night:#070b14;--night-2:#0d1422;--panel:#121c2d;--panel-2:#172337;--ink:#f7f4ed;--muted:#b9c1ce;--line:#2a3850;--red:#e4382c;--red-dark:#bd251b;--amber:#ffbd4a;--green:#38b878;--held:#d89936;--busy:#6f7888;--max:1180px;--radius:18px;color-scheme:dark;font-family:'DM Sans',system-ui,sans-serif;background:var(--night);color:var(--ink);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--night);color:var(--ink);font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}img{max-width:100%;height:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:white;color:#111;padding:.75rem 1rem;border-radius:.5rem}.skip-link:focus{top:1rem}
.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,1rem);position:sticky;top:0;z-index:50;background:rgba(7,11,20,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.09)}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;font-family:'Fredoka',sans-serif;font-size:1.55rem;line-height:1}.brand small{display:block;font:500 .65rem/1.2 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.18rem}.brand-mark{width:38px;height:31px;background:var(--red);border-radius:5px;position:relative;box-shadow:4px 4px 0 rgba(255,255,255,.92);flex:none}.brand-mark:before{content:'';position:absolute;left:15px;top:8px;border-left:11px solid white;border-top:7px solid transparent;border-bottom:7px solid transparent}.main-nav{display:flex;align-items:center;gap:1.15rem;font-size:.82rem}.main-nav a{text-decoration:none;color:#d7dbe2;white-space:nowrap}.main-nav a:hover,.main-nav a:focus-visible{color:white}.main-nav .nav-cta{padding:.65rem .9rem;background:var(--red);color:white;border-radius:.45rem;font-weight:700}.menu-toggle{display:none;background:none;border:0;color:white;width:44px;height:44px;padding:10px}.menu-toggle span:not(.sr-only){display:block;height:2px;background:currentColor;margin:5px 0}
.hero{min-height:690px;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,.85fr) minmax(500px,1.15fr);align-items:center;padding:5rem max(4vw,calc((100vw - var(--max))/2));background:radial-gradient(circle at 75% 45%,rgba(255,138,48,.16),transparent 38%),linear-gradient(150deg,#070b14 0%,#0b111e 70%,#15100b 100%)}.stars{position:absolute;inset:0;pointer-events:none;opacity:.42;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px),radial-gradient(circle,var(--amber) 0 1px,transparent 1.5px);background-position:20px 30px,90px 130px;background-size:130px 130px,190px 190px;mask-image:linear-gradient(to bottom,#000,transparent 70%)}.hero-copy{position:relative;z-index:2}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.78rem;color:var(--amber);margin:0 0 .9rem}.eyebrow{display:flex;align-items:center;gap:.55rem}.eyebrow span{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(228,56,44,.15)}h1,h2,h3{font-family:'Fredoka',sans-serif;line-height:1.06;margin-top:0}h1{font-size:clamp(3.4rem,7.4vw,6.7rem);letter-spacing:-.06em;margin-bottom:1.5rem}h1 em{font-style:normal;color:var(--amber)}.hero-lead{font-size:1.15rem;line-height:1.62;max-width:650px;color:#d4d7dd}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:2rem 0 1.1rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.15rem;border-radius:.55rem;border:1px solid var(--line);text-decoration:none;font-weight:700;cursor:pointer}.button.primary{background:var(--red);border-color:var(--red);color:white;box-shadow:0 8px 24px rgba(228,56,44,.22)}.button.primary:hover,.button.primary:focus-visible{background:var(--red-dark)}.button.secondary{background:transparent;color:white;border-color:#687287}.button:disabled{opacity:.55;cursor:not-allowed}.hero-note{font-size:.88rem;color:var(--muted)}.hero-visual{position:relative;z-index:2;margin:0 -10% 0 -8%;align-self:center}.hero-visual img{display:block;width:120%;filter:drop-shadow(0 28px 26px rgba(0,0,0,.5))}.hero-visual figcaption{font-size:.72rem;color:#969dab;text-align:right;margin-right:10%;margin-top:-2rem;position:relative}
.section{padding:6rem max(4vw,calc((100vw - var(--max))/2))}.section-head{max-width:710px;margin-bottom:2.6rem}.section-head.light{color:white}.section-head h2,.municipal h2,.contact h2,.download h2{font-size:clamp(2.3rem,5vw,4.2rem);letter-spacing:-.045em;margin-bottom:.8rem}.section-head>p:last-child,.municipal-copy>p,.contact-copy>p,.download p{color:var(--muted);font-size:1.05rem}.benefits{background:#f2f3f5;color:#101620}.benefits .section-head>p:last-child,.benefits article p{color:#596170}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.benefit-grid article{background:white;border:1px solid #dce0e6;border-radius:var(--radius);padding:1.6rem;min-height:210px}.benefit-grid .icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#fff1d8;color:#1b2430;font-size:1.3rem;margin-bottom:1.5rem}.benefit-grid h3{font-size:1.25rem;margin-bottom:.5rem}.benefit-grid p{font-size:.93rem;margin:0}.benefits .kicker,.pricing .kicker,.calendar-section .kicker,.faq .kicker{color:var(--red)}
.how{background:var(--night-2)}.steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0;counter-reset:step}.steps li{padding:1.3rem;border-top:1px solid var(--line);position:relative}.steps li:before{content:'';position:absolute;top:-2px;left:0;width:35%;height:3px;background:var(--amber)}.steps li>span{font-family:'Fredoka';font-size:2.8rem;color:var(--amber)}.steps h3{font-size:1.2rem;margin:.8rem 0}.steps p{color:var(--muted);font-size:.92rem}.municipal{display:grid;grid-template-columns:1.2fr .8fr;gap:5rem;align-items:center}.check-list{list-style:none;padding:0;margin:1.6rem 0 2rem;display:grid;gap:.65rem}.check-list li:before{content:'✓';color:var(--amber);font-weight:700;margin-right:.7rem}.projector-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#1a273c,#0d1422);border:1px solid var(--line);border-radius:var(--radius);padding:2.2rem;min-height:355px}.projector-card .beam{position:absolute;width:300px;height:300px;background:radial-gradient(circle,rgba(255,189,74,.22),transparent 65%);top:-130px;right:-80px}.projector-card p{font-size:.78rem;letter-spacing:.14em;color:var(--amber);margin-top:1.2rem}.projector-card strong{font-size:1.25rem;line-height:1.45;display:block}.projector-card hr{border:0;border-top:1px solid var(--line);margin:1.8rem 0}
.pricing{background:#f2f3f5;color:#101620}.pricing .section-head>p:last-child,.price-detail{color:#596170}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.price-card{background:white;border:1px solid #dce0e6;border-radius:var(--radius);padding:1.7rem}.price-card.featured{border:2px solid var(--red);box-shadow:0 14px 34px rgba(19,27,40,.1)}.price-label{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}.price-card h3{font-size:1.45rem}.price-card .price{font-family:'Fredoka';font-size:2.35rem;color:#101620;margin:1.2rem 0}.price-card ul{padding-left:1.25rem;color:#515966}.price-card li{margin:.5rem 0}.price-card dl{margin:1.4rem 0 0}.price-card dl div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid #e3e6ea}.price-card dd{margin:0;font-weight:700;text-align:right}.price-detail{max-width:920px;margin:1.5rem 0 0;font-size:.9rem}.films{background:var(--night-2)}.film-categories{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:2rem}.film-categories span{border:1px solid #42516a;border-radius:999px;padding:.55rem .9rem;color:#d9dee7}.film-placeholder{display:grid;grid-template-columns:200px 1fr;gap:2rem;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}.poster-placeholder{aspect-ratio:2/3;display:grid;place-items:center;background:linear-gradient(145deg,#263650,#121a29);border-radius:.75rem;color:var(--amber);font-size:2rem}.film-placeholder h3{font-size:1.8rem;margin-bottom:.6rem}.film-placeholder p{color:var(--muted);max-width:650px}
.calendar-section{background:#f2f3f5;color:#101620}.calendar-section .section-head>p:last-child{color:#596170}.calendar-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.calendar-tab{border:1px solid #c9ced7;background:white;color:#17202d;border-radius:999px;padding:.7rem 1rem;cursor:pointer}.calendar-tab.active{background:#101620;color:white;border-color:#101620}.calendar-shell{display:grid;grid-template-columns:1fr 320px;border:1px solid #d8dce3;background:white;border-radius:var(--radius);overflow:hidden}.calendar-panel{padding:1.6rem}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}.calendar-toolbar h3{font-size:1.55rem;margin:0}.calendar-toolbar button{width:44px;height:44px;border-radius:50%;border:1px solid #d8dce3;background:white;color:#111}.calendar-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:#5e6570;margin-bottom:1rem}.calendar-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.35rem}.calendar-legend .free,.calendar-day.free{background:#dff4e8}.calendar-legend .held,.calendar-day.held{background:#fff0d5}.calendar-legend .busy,.calendar-day.busy{background:#e6e8ec}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}.calendar-week span{text-align:center;font-size:.75rem;color:#757c87;padding:.35rem}.calendar-day{aspect-ratio:1.15;border:1px solid transparent;border-radius:.5rem;background:#f7f8f9;color:#1c2430;position:relative}.calendar-day.free{border-color:#bee7cf;cursor:pointer}.calendar-day.free:hover,.calendar-day.free:focus-visible,.calendar-day.free.selected{outline:3px solid var(--green);outline-offset:1px}.calendar-day.held,.calendar-day.busy{cursor:not-allowed;color:#737984}.calendar-day.empty{background:transparent}.calendar-day small{display:block;font-size:.62rem}.calendar-help{font-size:.8rem;color:#6d7480;margin:.8rem 0 0}.selection-panel{background:#101620;color:white;padding:1.6rem}.selection-label{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--amber)}.selected-date{font-family:'Fredoka';font-size:1.65rem;line-height:1.2}.selection-panel>p:not(.selection-label):not(.selected-date){color:#bdc4ce;font-size:.9rem}.selection-panel .button{width:100%;margin-top:1rem}.booking-form{margin-top:1.2rem;background:white;border:1px solid #d8dce3;border-radius:var(--radius);padding:1.7rem}.form-head h3{font-size:1.9rem;margin-bottom:.4rem}.form-head>p:last-child{color:#606875}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}.form-grid label{font-weight:700;font-size:.9rem}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:.35rem;padding:.75rem;border:1px solid #bfc5cf;border-radius:.5rem;background:white;color:#111}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid rgba(228,56,44,.25);border-color:var(--red)}.consent{display:flex;align-items:flex-start;gap:.6rem}.consent input{width:20px;height:20px;margin:.15rem 0 0;flex:none}.honeypot{position:absolute!important;left:-9999px!important}.form-error{background:#fee2e0;color:#891b14;border-left:4px solid var(--red);padding:.8rem 1rem;border-radius:.4rem}.demo-note{font-size:.8rem;color:#6c7380}.form-success{margin-top:1rem;background:#daf4e6;color:#0d5c37;padding:1rem;border-radius:.6rem}.form-success p{margin:.3rem 0 0}
.gallery{background:var(--night-2)}.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:190px 190px;gap:.8rem}.gallery-item{border:1px dashed #4c5b70;background:linear-gradient(145deg,#152238,#0e1625);border-radius:.8rem;padding:1.2rem;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.gallery-item:before{content:'';position:absolute;width:170px;height:170px;border-radius:50%;background:rgba(255,189,74,.08);right:-50px;top:-70px}.gallery-item.large{grid-row:1/3}.gallery-item span{color:var(--amber);font:600 2rem 'Fredoka'}.gallery-item strong{font-size:1rem}.gallery-item small{color:var(--muted)}.references-placeholder{margin-top:3rem;border-top:1px solid var(--line);padding-top:2rem}.references-placeholder h3{font-size:1.65rem;margin-bottom:.3rem}.references-placeholder p:last-child{color:var(--muted)}.faq{background:#f2f3f5;color:#101620}.faq-list{max-width:880px}.faq-list details{border-bottom:1px solid #ccd1d9;padding:1rem 0}.faq-list summary{font-family:'Fredoka';font-size:1.18rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}.faq-list summary:after{content:'+';color:var(--red);font-size:1.4rem}.faq-list details[open] summary:after{content:'−'}.faq-list p{color:#515966;max-width:760px}.download{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--panel)}.download h2{font-size:2.2rem;margin-bottom:.4rem}.download p{margin:0}.contact{background:linear-gradient(145deg,#111b2b,#070b14);display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.contact-grid div{background:var(--night-2);padding:1rem}.contact-grid span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.contact-grid strong{display:block;margin-top:.25rem}.contact>.button{grid-column:2}.contact-copy p{color:var(--muted)}footer{padding:3rem max(4vw,calc((100vw - var(--max))/2));background:#04070c;border-top:1px solid #1f2a3c;color:var(--muted);font-size:.82rem}.footer-main{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start}.footer-links{display:flex;flex-wrap:wrap;gap:1rem}.footer-links a:hover{color:white}.legal-note{max-width:760px;margin-top:2rem}.legal-page{max-width:820px;margin:0 auto;padding:5rem 1.2rem}.legal-page .back{display:inline-block;margin-bottom:2rem}.legal-page h1{font-size:clamp(2.5rem,7vw,4.8rem)}.legal-page h2{font-size:1.6rem;margin-top:2.5rem}.legal-page p,.legal-page li{color:var(--muted)}
@media(max-width:1040px){.main-nav{gap:.75rem;font-size:.74rem}.hero{grid-template-columns:1fr 1fr}.hero-visual{margin:0 -25% 0 -15%}.benefit-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.site-header{height:70px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#0b111d;border-bottom:1px solid var(--line);padding:1rem;flex-direction:column;align-items:stretch;font-size:1rem}.main-nav.open{display:flex}.main-nav a{padding:.65rem}.hero{grid-template-columns:1fr;padding-top:4rem}.hero-visual{margin:1rem -10% -2rem}.hero-visual figcaption{margin-top:-1rem}.steps{grid-template-columns:1fr 1fr}.municipal,.contact{grid-template-columns:1fr;gap:2rem}.contact>.button{grid-column:1}.price-grid{grid-template-columns:1fr}.calendar-shell{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 170px 170px}.gallery-item.large{grid-column:1/3;grid-row:auto}.footer-main{flex-direction:column}}
@media(max-width:560px){body{font-size:16px}.section{padding:4.5rem 1rem}.hero{min-height:auto;padding:3.5rem 1rem 2rem}.hero-visual{margin:1rem -20% -1rem}.hero-visual img{width:140%;max-width:none;margin-left:-20%}.hero-visual figcaption{margin-right:20%;font-size:.68rem}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.benefit-grid,.steps,.form-grid{grid-template-columns:1fr}.steps li{padding-left:0}.film-placeholder{grid-template-columns:95px 1fr;gap:1rem}.calendar-panel,.selection-panel,.booking-form{padding:1rem}.calendar-grid,.calendar-week{gap:.22rem}.calendar-day{aspect-ratio:.95;font-size:.82rem}.calendar-day small{display:none}.gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(5,165px)}.gallery-item.large{grid-column:auto}.download{align-items:flex-start;flex-direction:column}.contact-grid{grid-template-columns:1fr}.footer-links{flex-direction:column}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

.season-banner{display:flex;align-items:center;justify-content:center;gap:2rem;padding:.8rem max(4vw,1rem);background:var(--amber);color:#111820;text-align:left}.season-banner div{display:flex;align-items:center;gap:1rem}.season-banner strong{font-family:'Fredoka';font-size:1.05rem}.season-banner span{font-size:.88rem}.season-banner a{color:#111820;font-weight:700;white-space:nowrap}
.journey-nav{position:sticky;top:78px;z-index:40;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#0c1320;border-bottom:1px solid var(--line);box-shadow:0 10px 25px rgba(0,0,0,.18);padding:0 max(4vw,calc((100vw - var(--max))/2))}.journey-nav a{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:62px;padding:.65rem 1rem;text-decoration:none;color:#d8dee8;border-right:1px solid var(--line);font-size:.84rem}.journey-nav a:first-child{border-left:1px solid var(--line)}.journey-nav a:hover,.journey-nav a:focus-visible{background:#151f30;color:white}.journey-nav span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--red);color:white;font:600 .78rem 'Fredoka';flex:none}.journey-nav strong{font-weight:700}.audiences{background:#f2f3f5;color:#101620}.audiences .section-head>p:last-child{color:#596170}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.audience-grid article{display:flex;flex-direction:column;min-height:360px;padding:1.75rem;background:white;border:1px solid #dce0e6;border-radius:var(--radius);box-shadow:0 10px 30px rgba(10,20,35,.05)}.audience-grid article:nth-child(2){border-top:4px solid var(--amber)}.audience-grid article:nth-child(3){border-top:4px solid var(--red)}.audience-number{align-self:flex-end;color:#c2c7cf;font:600 1.35rem 'Fredoka'}.audience-type{margin:.1rem 0 .65rem;color:var(--red);font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.audience-grid h3{font-size:1.55rem;margin-bottom:.8rem}.audience-grid article>p:not(.audience-type){margin:0 0 1.2rem;color:#5c6470}.audience-grid article>strong{margin-top:auto;font:600 1.35rem 'Fredoka';color:#101620}.audience-grid a{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e5e9;color:#101620;font-weight:700;text-decoration:none}.audience-grid a span{color:var(--red);font-size:1.25rem}.audience-grid a:hover,.audience-grid a:focus-visible{color:var(--red)}section[id]{scroll-margin-top:150px}
.schools{background:linear-gradient(135deg,#fff6df,#f3f5f8);color:#111820;display:grid;grid-template-columns:310px 1fr;gap:4rem;align-items:center}.schools h2{font-size:clamp(2.4rem,5vw,4.4rem);letter-spacing:-.045em;margin-bottom:1rem}.schools>div:last-child>p{color:#56606f;font-size:1.05rem}.school-price{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--red);color:white;border-radius:50%;text-align:center;box-shadow:18px 18px 0 #111820}.school-price span,.school-price small{text-transform:uppercase;letter-spacing:.12em;font-weight:700}.school-price strong{font:600 clamp(3.3rem,7vw,5.2rem)/1 'Fredoka';margin:.25rem 0}.school-price p{font-size:.82rem;line-height:1.4;margin:.8rem 0 0}.school-facts{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.5rem 0 2rem}.school-facts span{background:white;border:1px solid #d7dce3;border-radius:999px;padding:.55rem .85rem;font-size:.86rem;font-weight:700}
.private-events{background:var(--night-2)}.private-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.private-grid article{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem}.private-grid h3{font-size:1.3rem;margin:.45rem 0 1.3rem}.private-grid strong{display:block;font:600 2.4rem/1 'Fredoka';color:white}.private-grid span{display:block;color:var(--muted);margin-top:.65rem}.private-note{color:var(--muted);font-size:.9rem;margin-top:1.2rem}.calendar-day.unavailable{background:#f3f3f3;color:#aaa;cursor:not-allowed}

@media(max-width:820px){.season-banner div{display:block}.season-banner strong,.season-banner span{display:block}.season-banner span{margin-top:.2rem}.journey-nav{top:70px;grid-template-columns:repeat(4,190px);overflow-x:auto;justify-content:start;padding:0;scrollbar-width:none}.journey-nav::-webkit-scrollbar{display:none}.journey-nav a{justify-content:flex-start}.journey-nav a:first-child{border-left:0}.audience-grid{grid-template-columns:1fr}.audience-grid article{min-height:280px}.schools{grid-template-columns:240px 1fr;gap:2rem}.private-grid{grid-template-columns:1fr}section[id]{scroll-margin-top:140px}.school-price{max-width:240px}}
@media(max-width:560px){.season-banner{align-items:flex-start;gap:.6rem;flex-direction:column}.season-banner a{margin-top:.15rem}.journey-nav{grid-template-columns:repeat(4,168px)}.journey-nav a{min-height:54px;padding:.5rem .75rem;font-size:.76rem}.journey-nav span{width:23px;height:23px}.audience-grid article{min-height:260px;padding:1.35rem}.schools{grid-template-columns:1fr}.school-price{width:210px;margin:0 auto}.school-facts{display:grid}.private-grid{grid-template-columns:1fr}}

.promo-page{min-height:100vh;margin:0;background:radial-gradient(circle at 50% 12%,rgba(255,189,74,.16),transparent 35%),linear-gradient(160deg,#050810,#0b1424 70%,#180b08);color:white;display:grid;place-items:center;padding:2rem;overflow-x:hidden}.promo-shell{width:min(1120px,100%);position:relative}.promo-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.promo-season{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--amber);font-weight:700}.promo-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}.promo-hero h1{font-size:clamp(3.4rem,8vw,7.5rem);margin:0 0 1.2rem}.promo-hero h1 em{display:block}.promo-hero .lead{color:#d2d8e2;font-size:1.13rem;max-width:580px}.promo-price{display:flex;align-items:center;gap:1rem;margin:1.7rem 0}.promo-price strong{font:600 clamp(3rem,7vw,5.5rem)/1 'Fredoka';color:var(--amber)}.promo-price span{max-width:155px;color:#c9ced8;font-size:.9rem}.promo-visual img{display:block;width:125%;max-width:none;margin-left:-12%;filter:drop-shadow(0 22px 24px rgba(0,0,0,.55))}.promo-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:2.5rem}.promo-cards article{background:rgba(17,28,45,.82);border:1px solid #31405a;border-radius:14px;padding:1.1rem}.promo-cards p{color:var(--amber);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .35rem}.promo-cards strong{font-family:'Fredoka';font-size:1.12rem}.promo-cards span{display:block;color:#aeb7c5;font-size:.82rem;margin-top:.3rem}.promo-disclaimer{color:#8f98a6;font-size:.72rem;text-align:center;margin:1.5rem 0 0}
@media(max-width:760px){.promo-page{padding:1.2rem}.promo-top{margin-bottom:2.5rem}.promo-season{max-width:150px;text-align:right}.promo-hero{grid-template-columns:1fr}.promo-visual{order:-1}.promo-visual img{width:130%;margin-left:-16%;margin-bottom:-2rem}.promo-cards{grid-template-columns:1fr}.promo-price{align-items:flex-end}.promo-hero .button{width:100%}}
:root .entrance-button{min-height:76px;padding:22px 36px;font-size:clamp(22px,3vw,30px);background:#e4382c;box-shadow:0 12px 35px #e4382c40}
.promo-booking-link{display:block;margin-top:20px;color:#fff;text-underline-offset:5px}
.hero-visual img,.promo-visual img{width:100%;max-width:100%;margin:0;display:block;object-fit:contain}
.hero-visual,.promo-visual{margin:0;transform:translateY(-24px)}
.hero-visual figcaption{margin:14px 0 0}
@media(max-width:760px){.hero-visual,.promo-visual{transform:translateY(-8px)}.hero-visual img,.promo-visual img{width:100%;max-width:100%;margin:0}}
