.theatre-page { background:#fffaf0; }
.theatre-header { position:absolute; color:#fff; }
.theatre-header .nav-cta { border-color:rgba(255,255,255,.65); }
.theatre-hero { min-height:760px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:60px; overflow:hidden; padding:135px max(6vw,calc((100vw - 1180px)/2)) 90px; color:white; background:#4b1838; }
.theatre-hero-copy { position:relative; z-index:2; }
.back-link { display:inline-block; margin-bottom:48px; color:#ffd99c; font-size:.9rem; font-weight:700; text-decoration:none; }
.theatre-hero .eyebrow { color:#ffba57; }
.theatre-hero h1 { color:white; font-size:clamp(3.8rem,6vw,6.4rem); }
.theatre-hero h1 em { color:#ffba57; }
.theatre-hero-copy>p:not(.eyebrow) { max-width:650px; margin:28px 0 32px; font-size:1.16rem; }
.theatre-primary { color:#4b1838; background:#ffba57; border:0; cursor:pointer; }
.theatre-primary:hover { background:#ffd18d; }
.stage-composition { position:relative; display:grid; place-items:center; min-height:560px; overflow:hidden; border-radius:48% 48% 12px 12px; background:#2e1026; box-shadow:0 32px 70px rgba(19,4,14,.35); }
.stage-light { position:absolute; top:-20%; width:72%; height:115%; clip-path:polygon(40% 0,60% 0,100% 100%,0 100%); background:linear-gradient(rgba(255,221,151,.75),rgba(255,186,87,.08)); }
.curtain { position:absolute; top:0; width:35%; height:100%; background:repeating-linear-gradient(90deg,#711f48 0 24px,#5c1539 24px 46px); }
.curtain-left { left:0; clip-path:polygon(0 0,100% 0,70% 100%,0 100%); }
.curtain-right { right:0; clip-path:polygon(0 0,100% 0,100% 100%,30% 100%); }
.mask-symbol { position:relative; z-index:2; display:grid; place-items:center; width:155px; height:155px; border:2px solid #ffba57; border-radius:50%; color:#ffba57; font-family:"Playfair Display",serif; font-size:6rem; font-style:italic; }
.stage-composition p { position:absolute; z-index:2; bottom:45px; font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.theatre-section { padding:110px max(6vw,calc((100vw - 1180px)/2)); }
.approach-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; margin-top:55px; }
.lead { margin:0; color:#4b1838; font-family:"Playfair Display",serif; font-size:1.75rem; line-height:1.45; }
.pillars { display:grid; gap:0; }
.pillars>div { display:grid; grid-template-columns:55px 1fr; padding:24px 0; border-top:1px solid rgba(75,24,56,.15); }
.pillars span { color:#e2602d; font-weight:700; }
.pillars h3,.pillars p { margin:0; }
.pillars h3 { font-family:"Playfair Display",serif; font-size:1.45rem; }
.pillars p { grid-column:2; margin-top:5px; }
.groups { background:#f6dfc0; }
.centered { margin-inline:auto; text-align:center; }
.centered>p:last-child { max-width:680px; margin:20px auto 0; }
.group-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:18px; margin-top:55px; }
.group-card { --glow:rgba(255,255,255,.42); --enter-x:0; --enter-y:42px; --enter-turn:0deg; position:relative; isolation:isolate; grid-column:span 2; min-height:390px; display:flex; flex-direction:column; overflow:hidden; padding:28px; border-radius:26px; transition:opacity .75s ease,transform .85s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease; }
.group-card:nth-child(4) { grid-column:2/span 2; }
.group-card::before { content:""; position:absolute; z-index:0; right:-92px; bottom:-110px; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle,var(--glow) 0,rgba(255,255,255,.16) 34%,transparent 69%); transform:translate3d(0,0,0) scale(.92); animation:group-glow 7s ease-in-out infinite alternate; pointer-events:none; }
.group-card:nth-child(2)::before { animation-delay:-1.4s; }
.group-card:nth-child(3)::before { animation-delay:-2.8s; }
.group-card:nth-child(4)::before { animation-delay:-4.2s; }
.group-card:nth-child(5)::before { animation-delay:-5.6s; }
.group-card>* { position:relative; z-index:1; }
.group-card:hover,.group-card:focus-within { transform:translateY(-7px) rotate(.35deg); box-shadow:0 22px 44px rgba(75,24,56,.18); }
.group-top { display:flex; justify-content:space-between; gap:12px; font-size:.78rem; font-weight:700; }
.group-duration { opacity:.65; }
.group-card h3 { width:max-content; max-width:100%; margin:46px 0 2px; font-family:"Playfair Display",serif; font-size:2.25rem; }
.group-card h3::after { content:""; display:block; width:0; height:3px; margin-top:5px; border-radius:999px; background:currentColor; opacity:.4; transition:width .45s cubic-bezier(.2,.8,.2,1); }
.group-card:hover h3::after,.group-card:focus-within h3::after { width:100%; }
.group-age { min-height:48px; margin:0 0 18px; font-weight:700; }
.group-card>p:not(.group-age):not(.host) { margin:0; }
.group-card .host { margin:auto 0 6px; padding-top:24px; font-weight:700; }
.group-card>a { font-weight:700; text-decoration:none; }
.bob { --glow:rgba(255,245,185,.68); background:#ffd57a; color:#543a08; }.caramb { --glow:rgba(255,221,175,.58); background:#ff9d70; color:#62250d; }.canul { --glow:rgba(220,255,247,.52); background:#72c9c4; color:#073f45; }.biz { --glow:rgba(245,255,195,.52); background:#b8d689; color:#33451b; }.keskons { --glow:rgba(255,179,215,.3); background:#713255; color:white; }
.motion-ready .group-card { opacity:0; transform:translate3d(var(--enter-x),var(--enter-y),0) rotate(var(--enter-turn)); }
.motion-ready .group-card:nth-child(1) { --enter-x:-38px; --enter-y:28px; --enter-turn:-1.8deg; transition-delay:0s; }
.motion-ready .group-card:nth-child(2) { --enter-y:46px; --enter-turn:1deg; transition-delay:.09s; }
.motion-ready .group-card:nth-child(3) { --enter-x:38px; --enter-y:28px; --enter-turn:1.8deg; transition-delay:.18s; }
.motion-ready .group-card:nth-child(4) { --enter-x:-28px; --enter-y:38px; --enter-turn:-1.2deg; transition-delay:.08s; }
.motion-ready .group-card:nth-child(5) { --enter-x:28px; --enter-y:38px; --enter-turn:1.2deg; transition-delay:.17s; }
.motion-ready .group-card.is-visible { opacity:1; transform:translate3d(0,0,0) rotate(0); }
.motion-ready .group-card.is-visible:hover,.motion-ready .group-card.is-visible:focus-within { transform:translateY(-7px) rotate(.35deg); }
@keyframes group-glow { from{transform:translate3d(-10px,8px,0) scale(.9);opacity:.66} to{transform:translate3d(18px,-16px,0) scale(1.16);opacity:1} }
.practical { color:white; background:#086b72; }
.practical .eyebrow { color:#ffba57; }.practical h2 { color:white; }
.practical-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:55px; background:rgba(255,255,255,.23); }
.practical-grid>div { min-height:220px; padding:27px; background:#086b72; }
.practical-grid span { display:block; margin-bottom:32px; color:#a9e6e1; font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.practical-grid strong { display:block; color:#ffcf7d; font-family:"Playfair Display",serif; font-size:1.55rem; line-height:1.2; }
.practical-grid p { margin:10px 0 0; }
.practical-note { max-width:780px; margin:36px 0 0; color:#d7f3ef; }
.registration { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:start; }
.registration-copy { position:sticky; top:40px; }
.registration-copy>p:not(.eyebrow) { max-width:450px; }
.registration-note { margin-top:32px; padding:24px; border-left:4px solid #ffba57; background:#fff1dc; }
#theatre-form { display:grid; gap:18px; padding:38px; border-radius:30px; background:white; box-shadow:0 18px 55px rgba(75,24,56,.11); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
#theatre-form label { display:grid; gap:7px; color:#4b1838; font-size:.9rem; font-weight:700; }
#theatre-form small { font-weight:400; }
#theatre-form input,#theatre-form select,#theatre-form textarea { width:100%; padding:13px 14px; color:#253230; background:#fffbf5; border:1px solid #dbcabe; border-radius:10px; font:inherit; font-size:1rem; }
#theatre-form input:focus,#theatre-form select:focus,#theatre-form textarea:focus { outline:3px solid rgba(255,186,87,.38); border-color:#a94a25; }
#theatre-form .check { display:flex; grid-template-columns:22px 1fr; align-items:start; }
#theatre-form .check input { margin-top:5px; }
#theatre-form button { justify-self:start; font-size:1rem; }
.form-status { margin:0; color:#086b72; font-weight:700; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-status.success { padding:18px; border-radius:12px; color:#07594f; background:#d9f2e9; }
.form-status.error { padding:18px; border-radius:12px; color:#7d1e24; background:#ffe3e3; }
.theatre-page footer a { color:white; }
@media(max-width:900px){.theatre-header{color:inherit}.theatre-hero{grid-template-columns:1fr;padding-top:145px}.stage-composition{min-height:430px}.approach-layout,.registration{grid-template-columns:1fr}.registration-copy{position:static}.group-card{grid-column:span 3}.group-card:nth-child(4){grid-column:span 3}.practical-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.theatre-hero{padding:125px 20px 65px}.back-link{margin-bottom:30px}.theatre-hero h1{font-size:3.1rem}.stage-composition{min-height:350px}.theatre-section{padding:75px 20px}.group-grid{grid-template-columns:1fr}.group-card,.group-card:nth-child(4){grid-column:1}.practical-grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}#theatre-form{padding:24px}.registration{gap:38px}}
@media(prefers-reduced-motion:reduce){.group-card,.motion-ready .group-card,.motion-ready .group-card.is-visible,.group-card:hover,.group-card:focus-within{opacity:1;transform:none;transition:none}.group-card::before{animation:none}.group-card h3::after{transition:none}}
