

/* ===== Merged from style.css ===== */
/* Base, header, footer – shared by all pages */
:root{--g:clamp(20px,4vw,48px);--ink:#1f1236;--pur:#4b1a8f;--gold:#ffc83d;--soft:#f7f3fb;--txt:#4a3d5c;--mut:#6f627f;--line:#e8e0f1;--white:#fff;--card:#fff}
body.dark{--ink:#fff;--txt:#e6d9f5;--mut:#c4b2dd;--pur:#d9b8ff;--soft:#241040;--line:#3d2060;--white:#160428;--card:#2a1445}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'Poppins',sans-serif;color:var(--txt);background:var(--white);line-height:1.6}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;color:var(--ink);line-height:1.15;letter-spacing:-.02em;font-weight:700}
p{margin:0}
.wrap{width:100%;max-width:calc(1320px + 2*var(--g));margin-inline:auto;padding-inline:var(--g)}
svg.i{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 26px;border-radius:999px;font-weight:600;font-size:15px;border:2px solid transparent;cursor:pointer;font-family:inherit;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#24093c}.btn-line{border-color:#fff;color:#fff}.btn-pur{background:#3b1380;color:#fff}.btn-ghost{border-color:var(--ink);color:var(--ink)}
.lnk{font-weight:600;color:var(--pur);display:inline-flex;gap:6px;align-items:center}.lnk:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
header{background:rgba(42,10,69,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:76px;gap:20px;width:100%;max-width:calc(1320px + 2*var(--g));margin-inline:auto;padding-inline:var(--g)}
.logo{display:flex;align-items:center;gap:8px;color:#fff}.logo img{height:36px;width:auto}
.logo b{display:block;font-family:'Lobster Two',cursive;font-style:italic;font-size:22px;line-height:1;color:#fff;font-weight:700;letter-spacing:0}
.logo small{display:block;font-size:8.5px;color:var(--gold);letter-spacing:.04em;margin-top:2px}
.menu{display:flex;gap:0;align-items:center;justify-content:center;font-size:14px;color:#fff}
.menu>a,.dd>button{padding:10px 11px;border-radius:12px;font-weight:600;color:#fff;white-space:nowrap;transition:background .25s,color .25s}
.menu>a:hover,.dd>button:hover,.dd.open>button{background:rgba(255,255,255,.12)}
.menu a.on,.dd>button.on{color:var(--gold);background:rgba(255,200,61,.14)}
.dd{position:relative}.dd>button{border:0;background:none;display:flex;gap:6px;align-items:center;cursor:pointer;font-family:inherit;font-size:14px}
.dd ul{display:block;opacity:0;visibility:hidden;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,8px) scale(.97);width:190px;padding:8px;margin:0;list-style:none;background:#fff;border-radius:16px;border:1px solid #eadff6;box-shadow:0 16px 40px rgba(0,0,0,.3);transition:opacity .25s,transform .25s,visibility .25s;z-index:60}
.dd.open ul{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
.dd li a{display:block;white-space:nowrap;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;color:#24093c}.dd li a:hover{background:#f1ecfb}
.tools{display:flex;align-items:center;gap:8px;justify-self:end}
.pill{width:40px;height:40px;border-radius:50%;border:1.5px solid #6d4a9a;background:none;color:#fff;font:600 12px 'Poppins',sans-serif;cursor:pointer;display:grid;place-items:center}
.pill.rtl{width:auto;padding:0 14px;border-radius:999px}.pill svg{width:18px;height:18px}.burger{display:none}
.tools .btn{padding:10px 26px;font-size:14px}
@media(min-width:981px){.nav{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}}
footer{background:#1d0735;color:#d9c8ee}
.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;align-items:start;padding:40px var(--g) 34px}
.fg>div{padding:0 32px;border-left:1px solid #3d2060;font-size:13px}.fg>div:first-child{border:0;padding:0 32px 0 0}
footer h4{color:#fff;font-size:14px;margin:0 0 10px;letter-spacing:0}footer ul{list-style:none;margin:0;padding:0;line-height:2}
.fbrand p{margin:14px 0 0;max-width:300px}.fbrand .logo img{height:38px}
footer a:hover{color:var(--gold)}
.soc{display:flex;gap:10px;margin-top:12px}.soc a{width:34px;height:34px;border-radius:50%;border:1.5px solid #6d4a9a;display:grid;place-items:center;color:#fff}
.bar{border-top:1px solid #3d2060;padding:16px 0;font-size:12px}.bar .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.bar nav{display:flex;gap:18px}
.top{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;border:0;background:var(--gold);color:#24093c;display:none;place-items:center;cursor:pointer;font-size:22px;z-index:40}.top.show{display:grid}
@media(max-width:980px){
.burger{display:grid}.nav{grid-template-columns:1fr auto}
.menu{display:none;position:absolute;top:76px;left:0;right:0;background:#2a0a45;flex-direction:column;padding:20px var(--g);align-items:flex-start;gap:18px}.menu.open{display:flex}
.dd ul{display:none;opacity:1;visibility:visible;transform:none;width:100%;margin-top:6px;box-shadow:none}.dd.open ul{display:block;transform:none}
.fg{grid-template-columns:1fr 1fr;gap:28px}.fg>div,.fg>div:first-child{border:0;padding:0}.fbrand{grid-column:1/-1}}
@media(max-width:600px){.logo b{font-size:21px}.tools .rtl{display:none}.fg{grid-template-columns:1fr;padding:32px var(--g)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Expanded, consistent Little Spotlight footer */
.site-footer{position:relative;isolation:isolate;overflow:hidden;background:#1d0735;color:#e4d8f2;border-top:1px solid rgba(255,200,61,.28)}
.site-footer:before{content:"✳";position:absolute;z-index:-1;right:5%;top:18px;color:rgba(255,200,61,.08);font-size:190px;line-height:1;pointer-events:none;transform:rotate(-12deg)}
.footer-main{display:grid;grid-template-columns:minmax(250px,1.55fr) minmax(125px,.72fr) minmax(150px,.9fr) minmax(245px,1.25fr);gap:clamp(22px,3vw,46px);align-items:start;padding-block:58px 52px}
.footer-brand,.footer-links,.footer-contact{min-width:0}
.footer-brand .logo{width:max-content;max-width:100%}.footer-brand .logo img{height:46px;width:auto}.footer-brand .logo b{font-size:25px}.footer-brand .logo small{font-size:9px}
.footer-intro{max-width:350px;margin:20px 0 17px;color:#d4c4e7;font-size:13px;line-height:1.9}
.footer-cta{display:inline-flex;align-items:center;gap:9px;color:#ffd45a;font-size:13px;font-weight:700;border-bottom:1px solid rgba(255,200,61,.45);padding-bottom:5px;transition:gap .2s,color .2s}.footer-cta:hover{gap:14px;color:#fff}
.site-footer .soc{gap:10px;margin-top:22px}.site-footer .soc a{width:38px;height:38px;border-color:#65418a;background:rgba(255,255,255,.035);transition:transform .2s,background .2s,border-color .2s}.site-footer .soc a:hover{transform:translateY(-3px);background:#ffc83d;border-color:#ffc83d;color:#24093c}
.footer-links{padding:7px 0 0 24px;border-left:1px solid rgba(220,196,245,.17);min-height:205px}.footer-links h4,.footer-contact h4{color:#fff;font-size:16px;margin:0 0 18px;letter-spacing:0}.footer-links ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;line-height:1.45}.footer-links li a{display:inline-block;color:#d4c4e7;font-size:13px;transition:transform .2s,color .2s}.footer-links li a:hover{color:#ffd45a;transform:translateX(4px)}
.footer-contact{padding:22px 22px 20px;border:1px solid rgba(255,200,61,.24);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 15px 35px rgba(0,0,0,.12)}
.footer-kicker{display:block;color:#ffd45a;font-size:10px;font-weight:700;letter-spacing:.14em;line-height:1.5;margin-bottom:12px}.footer-contact h4{font-size:19px;line-height:1.25;margin-bottom:10px}.footer-contact>p{font-size:12.5px;line-height:1.8;color:#d4c4e7;margin-bottom:16px}
.footer-contact-link{display:flex;align-items:center;gap:10px;padding:12px;border-radius:13px;background:rgba(255,200,61,.1);border:1px solid rgba(255,200,61,.22);color:#fff;transition:background .2s,transform .2s}.footer-contact-link:hover{background:rgba(255,200,61,.17);transform:translateY(-2px)}.footer-contact-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;background:#ffc83d;color:#24093c}.footer-contact-link>span:nth-child(2){min-width:0;flex:1}.footer-contact-link b,.footer-contact-link small{display:block}.footer-contact-link b{font-size:12px}.footer-contact-link small{font-size:10px;color:#d4c4e7;line-height:1.5;margin-top:3px}.footer-contact-link>svg{color:#ffd45a}.footer-note{display:flex;align-items:center;gap:8px;margin-top:15px;color:#d4c4e7;font-size:10.5px}.footer-note span{color:#ffd45a;font-size:17px}
.footer-bottom{border-top:1px solid rgba(220,196,245,.17);background:rgba(9,1,19,.18)}.footer-bottom-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:14px;color:#c5b2dc;font-size:11px}.footer-bottom-inner nav{display:flex;gap:20px;flex-wrap:wrap}.footer-bottom-inner a{color:#d8c9e8}.footer-bottom-inner a:hover{color:#ffd45a}.footer-made{font-size:9px;letter-spacing:.14em;font-weight:700;color:#ffd45a}.footer-made i{font-style:normal;color:#fff;margin:0 3px}
@media(max-width:1080px){.footer-main{grid-template-columns:minmax(240px,1.3fr) minmax(130px,.7fr) minmax(145px,.8fr);gap:30px}.footer-contact{grid-column:2/4;max-width:none}.footer-links:nth-of-type(2){border-left:0;padding-left:0}}
@media(max-width:720px){.footer-main{grid-template-columns:1fr 1fr;gap:30px 22px;padding-block:42px 36px}.footer-brand{grid-column:1/-1}.footer-intro{max-width:520px}.footer-links{min-height:0;padding:0;border-left:0}.footer-contact{grid-column:1/-1}.footer-bottom-inner{align-items:flex-start;flex-direction:column;gap:10px}.site-footer:before{right:-30px;top:10px;font-size:135px}}
@media(max-width:420px){.footer-main{grid-template-columns:1fr;gap:25px}.footer-brand,.footer-links,.footer-contact{grid-column:1}.footer-contact{padding:19px}.footer-brand .logo b{font-size:23px}.footer-bottom-inner nav{gap:14px}}
body.dark .site-footer{background:#10051c;border-top-color:rgba(255,200,61,.24)}
body.dark .footer-contact{background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02))}

/* Footer contact details: clear, professional icon rows */
.footer-contact-details{display:grid;gap:11px;margin:17px 0 16px}
.footer-detail{display:flex;align-items:center;gap:11px;min-width:0;color:#fff;text-decoration:none}
.footer-detail-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:1px solid rgba(255,200,61,.28);border-radius:11px;background:rgba(255,200,61,.09);color:#ffd45a}
.footer-detail-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-detail>span:last-child{min-width:0;display:block}
.footer-detail small{display:block;color:#bda9d4;font-size:9px;font-weight:800;letter-spacing:.12em;line-height:1.4;margin-bottom:3px}
.footer-detail b{display:block;color:#f8f3ff;font-size:12px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}
.footer-detail[href]:hover .footer-detail-icon{background:#ffc83d;color:#24093c;transform:translateY(-1px)}
.footer-detail[href]:hover b{color:#ffd45a}
.footer-contact-link .footer-contact-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:420px){.footer-contact-details{gap:12px}.footer-detail b{font-size:12px}}
body.dark .footer-detail b{color:#fff7ff}body.dark .footer-detail small{color:#c5b2dc}body.dark .footer-detail-icon{background:rgba(255,200,61,.08);border-color:rgba(255,200,61,.3)}

/* Compact, reference-inspired four-column footer */
.site-footer .footer-main{grid-template-columns:minmax(250px,1.45fr) minmax(130px,.75fr) minmax(155px,.9fr) minmax(235px,1.05fr);gap:clamp(24px,3.4vw,52px);align-items:start;padding-block:38px 30px}
.site-footer .footer-brand .logo img{height:44px}
.site-footer .footer-intro{margin:17px 0 0;line-height:1.75;max-width:330px;font-size:13px}
.site-footer .footer-cta{display:none}
.site-footer .footer-links{padding:4px 0 0 0;border-left:0;min-height:0}
.site-footer .footer-links h4,.site-footer .footer-visit h4{font-size:16px;margin:0 0 19px;line-height:1.3}
.site-footer .footer-links ul{gap:13px}
.site-footer .footer-links li a{font-size:14px;line-height:1.45}
.site-footer .footer-visit{padding:4px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none}
.site-footer .footer-contact-details{gap:13px;margin:0;}
.site-footer .footer-detail{gap:9px;align-items:flex-start}
.site-footer .footer-detail-icon{width:18px;height:22px;flex:0 0 18px;border:0;border-radius:0;background:transparent;color:#c9a7ff;display:flex;align-items:center;justify-content:flex-start}
.site-footer .footer-detail-icon svg{width:15px;height:15px}
.site-footer .footer-detail>span:last-child{padding-top:1px}
.site-footer .footer-detail b{font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.site-footer .footer-detail small{font-size:11px;letter-spacing:0;font-weight:500;line-height:1.55;margin-top:2px;color:#d4c4e7}
.site-footer .footer-hours{display:flex;align-items:flex-start;gap:9px;color:#e4d8f2;font-size:13px;line-height:1.5}
.site-footer .footer-hours svg{width:15px;height:15px;flex:0 0 15px;margin-top:3px;fill:none;stroke:#c9a7ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-footer .footer-bottom-inner{min-height:54px;font-size:11px;padding-block:12px}
@media(max-width:1000px){.site-footer .footer-main{grid-template-columns:minmax(220px,1.2fr) minmax(130px,.7fr) minmax(145px,.8fr);gap:28px}.site-footer .footer-visit{grid-column:2/4}.site-footer .footer-visit .footer-contact-details{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.site-footer .footer-brand{grid-row:span 2}}
@media(max-width:720px){.site-footer .footer-main{grid-template-columns:1fr 1fr;gap:27px 22px;padding-block:34px 28px}.site-footer .footer-brand{grid-column:1/-1;grid-row:auto}.site-footer .footer-links{grid-column:auto}.site-footer .footer-visit{grid-column:1/-1}.site-footer .footer-visit .footer-contact-details{grid-template-columns:1fr 1fr}.site-footer .footer-bottom-inner{min-height:0}}
@media(max-width:460px){.site-footer .footer-main{grid-template-columns:1fr;gap:23px}.site-footer .footer-brand,.site-footer .footer-links,.site-footer .footer-visit{grid-column:1}.site-footer .footer-visit .footer-contact-details{grid-template-columns:1fr}.site-footer .footer-brand .logo b{font-size:23px}.site-footer .footer-intro{margin-top:13px}}
body.dark .site-footer .footer-detail b{color:#fff7ff}body.dark .site-footer .footer-detail small{color:#d4c4e7}body.dark .site-footer .footer-hours{color:#eee4fa}
/* Keep all three footer social icons equally visible and centered */
.site-footer .soc a{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;box-sizing:border-box}
.site-footer .soc a .i{display:block;width:17px;height:17px;opacity:1;visibility:visible;color:currentColor}
.site-footer .soc a .social-youtube{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}


/* Merged About page styles (previously about.css) */
/* ABOUT PAGE REDESIGN — intentionally distinct chapter-by-chapter art direction */
:root{--ab-ink:#27133b;--ab-purple:#59258e;--ab-gold:#ffc83d;--ab-muted:#796d86;--ab-cream:#fffaf1;--ab-line:#e9deef}
.about-hero{position:relative;isolation:isolate;overflow:hidden;background:#f6efff;padding:72px 0 0;color:var(--ab-ink)}.hero-orbit{position:absolute;border:1px solid #d8c2f1;border-radius:50%;z-index:-1}.orbit-a{width:540px;height:540px;right:-220px;top:-260px}.orbit-b{width:330px;height:330px;right:-110px;top:-155px}.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(38px,6vw,90px);align-items:center;padding-bottom:68px}.hero-copy{position:relative;z-index:2}.eyebrow,.chapter-num{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.16em;font-weight:800;color:#7847a5}.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#f4ae20;box-shadow:0 0 0 5px #ffdf8b66}.hero-copy h1{font-size:clamp(43px,5.5vw,74px);line-height:.99;letter-spacing:-.06em;margin:24px 0;color:#27133b}.hero-copy h1 em,.beliefs-heading h2 em,.voices-heading h2 em{font-family:'Lobster Two',cursive;color:#8a46bd;letter-spacing:-.025em}.hero-copy>p{font-size:16px;line-height:1.9;max-width:520px;color:#6d5c7d}.hero-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.under-link{font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:8px;color:#522181}.under-link svg{width:15px}.hero-proof{display:flex;align-items:center;gap:13px;margin-top:42px}.proof-avatars{display:flex;padding-left:4px}.proof-avatars img{width:34px;height:34px;object-fit:cover;border-radius:50%;border:3px solid #f6efff;margin-left:-5px}.hero-proof b,.hero-proof small{display:block}.hero-proof b{font-size:12px}.hero-proof small{font-size:10px;color:#877994;margin-top:3px}.hero-collage{position:relative;min-width:0;padding:0 32px 35px 0}.collage-main{position:relative;height:clamp(400px,46vw,590px);overflow:hidden;border-radius:48% 48% 18px 18px;box-shadow:0 28px 70px #4320642c}.collage-main img,.collage-small img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.collage-main:hover img,.collage-small:hover img{transform:scale(1.055)}.image-label{position:absolute;bottom:20px;left:20px;padding:10px 13px;border-radius:4px;background:#fff;color:#4b286b;font-size:9px;font-weight:800;letter-spacing:.14em}.collage-small{position:absolute;right:0;bottom:0;width:36%;height:35%;border:8px solid #f6efff;border-radius:48% 48% 14px 14px;overflow:hidden;box-shadow:0 15px 35px #3b1b5625}.sun-stamp{position:absolute;left:-29px;top:35px;width:104px;height:104px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:50%;background:#ffc83d;color:#301347;transform:rotate(-12deg);box-shadow:0 10px 28px #4b1a8f22}.sun-stamp span{font-size:23px;line-height:1}.sun-stamp b{text-align:center;font-size:10px;line-height:1.1;letter-spacing:.1em}.floating-note{position:absolute;left:-28px;bottom:68px;display:flex;align-items:center;gap:11px;padding:14px 17px;background:#fff;border:1px solid #eee2f7;border-radius:13px;box-shadow:0 14px 35px #35175020;max-width:275px}.floating-note>span{font-size:24px;color:#c12a91}.floating-note b,.floating-note small{display:block}.floating-note b{font-size:10px}.floating-note small{font-size:9px;color:#877994;margin-top:4px}.hero-scroll{display:flex;align-items:center;gap:18px;padding:15px var(--g);border-top:1px solid #e2d4f0;font-size:9px;font-weight:800;letter-spacing:.15em;color:#8b7b9a}.scroll-line{height:1px;flex:1;background:#d6c2e8}
/* History: editorial split, photo stage, horizontal chapter rail */.history-section{padding:108px 0;background:var(--ab-cream);overflow:hidden}.history-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,115px);align-items:center}.chapter-num{color:#9362b4}.chapter-num i{display:inline-block;width:23px;height:1px;background:currentColor}.history-title h2,.manifesto-copy h2,.people-heading h2,.finale-content h2{font-size:clamp(39px,5vw,64px);line-height:1.02;letter-spacing:-.055em;margin:24px 0}.history-title h2 em{font-family:'Lobster Two',cursive;color:#e1a51d;font-weight:700}.history-title>p{font-size:15px;line-height:1.9;color:#776a80;max-width:440px}.history-sign{margin-top:28px;padding-top:17px;border-top:1px solid #e4d7c8;font-size:12px;color:#887a91}.history-sign b{color:#3a204d}.history-stage{position:relative;padding:0 0 32px 32px}.history-stage:before{content:'';position:absolute;inset:30px 32px 0 0;border:1px solid #e9c85f;border-radius:4px;transform:rotate(2deg)}.history-stage>img{position:relative;width:100%;height:440px;object-fit:cover;border-radius:4px 110px 4px 4px;box-shadow:0 25px 55px #5b42221c}.stage-date{position:absolute;right:-4px;bottom:0;background:#ffc83d;padding:17px 22px;min-width:210px;display:flex;flex-direction:column;gap:4px}.stage-date b{font-size:10px;letter-spacing:.12em}.stage-date span{font-size:11px}.stage-number{position:absolute;left:0;top:15px;font-family:'Baloo 2',sans-serif;font-size:80px;line-height:1;color:#6d3b8d;writing-mode:vertical-rl;opacity:.8}.milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:70px;border-top:1px solid #e4d7c8}.milestone{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:27px 25px 0 0}.milestone+.milestone{padding-left:25px;border-left:1px solid #e4d7c8}.milestone>span{font-size:12px;font-weight:800;color:#a66dc3}.milestone small{font-size:9px;letter-spacing:.12em;font-weight:800;color:#aa8130}.milestone h3{font-size:18px;margin:8px 0;color:#2b1740}.milestone p{font-size:12px;line-height:1.8;color:#796d86}
/* Mission: high-contrast manifesto */.manifesto-section{position:relative;overflow:hidden;background:#2c1046;color:white;padding:110px 0}.manifesto-pattern{position:absolute;inset:0;opacity:.14;background-image:radial-gradient(#c9a7e8 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(90deg,black,transparent 70%)}.manifesto-grid{position:relative;display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(45px,8vw,115px);align-items:center}.manifesto-photo{position:relative;padding:0 25px 28px 0}.manifesto-photo:before{content:'';position:absolute;left:25px;right:0;top:25px;bottom:0;border:1px solid #ffc83d;border-radius:200px 200px 4px 4px}.manifesto-photo img{position:relative;width:100%;height:500px;object-fit:cover;border-radius:200px 200px 4px 4px;filter:saturate(.8)}.photo-scribble{position:absolute;right:-18px;bottom:60px;background:#ffc83d;color:#2c1046;padding:15px 20px;font:italic 700 19px 'Lobster Two',cursive;line-height:1.1;transform:rotate(5deg)}.pale{color:#f7d981}.manifesto-copy h2{color:#fff;font-size:clamp(37px,4.4vw,58px)}.manifesto-copy h2 em{font-family:'Lobster Two',cursive;color:#ffc83d}.manifesto-copy>p{font-size:14px;line-height:1.9;color:#d8c8e7;max-width:600px}.mission-points{display:grid;gap:0;margin:28px 0;border-top:1px solid #ffffff26}.mission-points>div{display:grid;grid-template-columns:32px 1fr;column-gap:12px;padding:14px 0;border-bottom:1px solid #ffffff26}.mission-points>div>span{grid-row:span 2;color:#ffc83d;font-size:20px}.mission-points b{font-size:12px;color:#fff}.mission-points small{font-size:11px;color:#cdbadd;margin-top:3px}.manifesto-link{display:inline-flex;align-items:center;gap:10px;color:#ffc83d;font-size:12px;font-weight:700}.manifesto-link svg{width:17px;transition:transform .25s}.manifesto-link:hover svg{transform:translateX(5px)}
/* Values: playful, deliberately asymmetric cards */.beliefs-section{padding:110px 0;background:#f2e9fb}.beliefs-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:46px}.beliefs-heading h2{font-size:clamp(37px,4.7vw,59px);line-height:1.05;letter-spacing:-.05em;margin:17px 0 0;color:#2b1740}.beliefs-heading>p{max-width:340px;font-size:14px;line-height:1.8;color:#786a87}.beliefs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:start}.belief{position:relative;min-width:0;min-height:390px;padding:20px 21px 18px;border-radius:4px 4px 55px 4px;display:flex;flex-direction:column;overflow:hidden;transition:transform .35s,box-shadow .35s}.belief:nth-child(even){margin-top:32px;border-radius:55px 4px 4px 4px}.belief:hover{transform:translateY(-9px) rotate(-.5deg);box-shadow:0 20px 38px #2b17401c}.belief-purple{background:#d9c0f5}.belief-yellow{background:#ffdc7b}.belief-green{background:#bde9d5}.belief-pink{background:#ffcddd}.belief-index{font-size:8px;font-weight:800;letter-spacing:.12em;color:#49335b}.belief-art{display:grid;place-items:center;width:82px;height:82px;border:1px solid #4d315e55;border-radius:50%;font-size:48px;color:#482461;margin:34px 0 20px;transition:transform .45s}.belief:hover .belief-art{transform:rotate(-14deg) scale(1.08);background:#ffffff38}.art-sun{font-size:43px}.art-ring{font-size:53px}.belief h3{font-size:clamp(20px,2vw,27px);line-height:1.08;color:#2b1740;margin-bottom:12px}.belief p{font-size:11px;line-height:1.85;color:#5d4b6b}.belief-bottom{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:800;letter-spacing:.1em;color:#4c315f}.belief-bottom b{font-size:18px;font-weight:500}
/* Team: dark gallery, oversized cut-out feeling */.people-section{padding:110px 0;background:#251038;color:#fff;overflow:hidden}.people-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.people-heading h2{color:#fff}.people-heading h2 em{font-family:'Lobster Two',cursive;color:#ffc83d}.people-heading>p{max-width:370px;color:#cdbadd;font-size:14px;line-height:1.9}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.person{min-width:0}.person-offset{margin-top:48px}.person-image{height:390px;position:relative;overflow:hidden;background:#503666}.person-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#1608238a);pointer-events:none}.person-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform .8s,filter .8s}.person:hover .person-image img{transform:scale(1.06);filter:saturate(1.1)}.person-no{position:absolute;z-index:1;left:16px;top:16px;font-size:10px;font-weight:800;color:#fff;border:1px solid #ffffff8c;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}.person-mark{position:absolute;z-index:1;right:16px;bottom:12px;color:#ffc83d;font-size:40px}.person-text{padding:20px 3px 0}.person-text small{font-size:9px;font-weight:800;letter-spacing:.15em;color:#d2a9f1}.person-text h3{font-size:26px;color:#fff;margin:7px 0}.person-text p{font-size:12px;line-height:1.8;color:#cdbadd;max-width:300px}.people-note{display:flex;align-items:center;gap:12px;border-top:1px solid #ffffff25;margin-top:45px;padding-top:22px;font-size:12px;color:#d9c9e8}.people-note span{color:#ffc83d;font-size:23px}
/* Testimonials: scrapbook cards with a dramatic quote panel */.voices-section{padding:110px 0;background:#fffaf2;overflow:hidden}.voices-heading{max-width:740px;margin-bottom:50px}.voices-heading h2{font-size:clamp(39px,5vw,63px);line-height:1.02;letter-spacing:-.05em;margin:19px 0;color:#2b1740}.voices-heading h2 em{color:#b17acb}.voices-heading>p{max-width:570px;font-size:14px;line-height:1.9;color:#796d86}.voices-board{display:grid;grid-template-columns:1.12fr .88fr;gap:23px;align-items:stretch}.voice-feature{position:relative;background:#4a1b6b;color:#fff;padding:35px 38px;border-radius:5px 90px 5px 5px;overflow:hidden;box-shadow:12px 12px 0 #f6d66f}.voice-feature:after{content:'”';position:absolute;right:10px;top:-58px;font:260px Georgia;color:#ffffff0d;pointer-events:none}.voice-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.quote-glyph{font:100px/.7 Georgia;color:#ffc83d}.stars{color:#ffc83d;font-size:13px;letter-spacing:.13em}.voice-feature blockquote{position:relative;z-index:1;margin:20px 0 35px;font-size:clamp(18px,2vw,25px);font-weight:500;line-height:1.65;color:#fff}.voice-author{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.author-photo{width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid #ffc83d}.author-photo img{width:100%;height:100%;object-fit:cover}.voice-author b,.voice-author small,.voice-by b,.voice-by small{display:block}.voice-author b{font-size:12px}.voice-author small{font-size:10px;color:#d8c8e7;margin-top:3px}.review-stamp{margin-left:auto;border:1px solid #ffc83d;border-radius:50%;width:67px;height:67px;display:grid;place-content:center;text-align:center;font-size:9px;line-height:1.3;font-weight:800;color:#ffc83d;transform:rotate(10deg)}.voice-stack{display:flex;flex-direction:column;gap:16px}.voice-note{padding:23px 25px;position:relative;flex:1;box-shadow:5px 6px 0 #2d164012;transition:transform .3s}.voice-note:hover{transform:translateX(5px) rotate(-.5deg)}.note-yellow{background:#ffe59a;transform:rotate(1deg)}.note-pink{background:#f6d9f2;transform:rotate(-1deg)}.voice-note .stars{font-size:11px;color:#7c4a17}.voice-note>p{font-size:14px;line-height:1.75;color:#38254a;margin:12px 0 18px}.voice-by{display:flex;align-items:center;gap:10px}.initial{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}.initial-purple{background:#e1c4f7;color:#4a1b6b}.initial-green{background:#bde9d5;color:#275541}.voice-by b{font-size:11px;color:#2b1740}.voice-by small{font-size:9px;color:#796d86;margin-top:2px}.voices-foot{display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:800;letter-spacing:.15em;color:#a38fae;padding:0 5px}.voices-foot span{font-size:20px;color:#b17acb}
/* Final chapter: full bleed theatre image and clear conversion */.finale-section{position:relative;isolation:isolate;overflow:hidden;min-height:570px;padding:110px 0;background:#260d3d;color:#fff;display:flex;align-items:center}.finale-image,.finale-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.finale-image{z-index:-2;filter:saturate(.7)}.finale-shade{z-index:-1;background:linear-gradient(90deg,#260d3df5 0%,#32104ee8 50%,#32104e48 100%)}.finale-content{position:relative}.finale-content h2{font-size:clamp(45px,6vw,76px);color:#fff}.finale-content h2 em{font-family:'Lobster Two',cursive;color:#ffc83d}.finale-content>p{max-width:510px;color:#e0d3ed;font-size:15px;line-height:1.9}.finale-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}.finale-stars{margin-top:50px;color:#ffc83d;font-size:22px;letter-spacing:.2em}.finale-side{position:absolute;right:0;bottom:36px;writing-mode:vertical-rl;color:#ffffff9c;font-size:9px;font-weight:800;letter-spacing:.2em;padding:20px;border-left:1px solid #ffffff4d}
/* Scroll reveal animation system */.js .reveal{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.js .reveal.in-view{opacity:1;transform:translateY(0)}.js .reveal-delay{transition-delay:.12s}.js .reveal-delay-2{transition-delay:.23s}.js .reveal-delay-3{transition-delay:.34s}.js .hero-collage.reveal{transform:translateX(30px) scale(.98)}.js .hero-collage.reveal.in-view{transform:none}.js .history-stage.reveal{transform:translateX(35px)}.js .history-stage.reveal.in-view{transform:none}.js .manifesto-photo.reveal{transform:translateY(20px) rotate(-2deg)}.js .manifesto-photo.reveal.in-view{transform:rotate(0)}.js .voice-feature.reveal{transform:translateX(-25px)}.js .voice-feature.reveal.in-view{transform:none}
body.dark .about-hero{background:#1c0b2b;color:#fff}body.dark .hero-copy h1,body.dark .hero-proof b{color:#fff}body.dark .hero-copy>p,body.dark .hero-proof small{color:#cdbadd}body.dark .hero-scroll{border-color:#3d2060;color:#cdbadd}body.dark .floating-note{background:#2a1445;border-color:#3d2060}body.dark .floating-note b{color:#fff}body.dark .history-section,body.dark .voices-section{background:#160428}body.dark .history-title h2,body.dark .history-title>p,body.dark .history-sign,body.dark .history-sign b,body.dark .milestone h3,body.dark .milestone p,body.dark .voices-heading h2{color:#fff}body.dark .milestones,body.dark .milestone+.milestone,body.dark .history-sign{border-color:#3d2060}body.dark .beliefs-section{background:#241040}body.dark .beliefs-heading h2,body.dark .beliefs-heading>p{color:#fff}body.dark .voices-heading>p{color:#cdbadd}
@media(max-width:980px){.hero-grid,.history-wrap,.manifesto-grid{grid-template-columns:1fr}.hero-grid{gap:40px}.hero-copy{max-width:720px}.hero-collage{width:min(100%,700px);margin:auto}.collage-main{height:520px}.history-wrap{gap:45px}.history-title{max-width:650px}.history-stage{max-width:740px;width:100%;margin:auto}.milestones{margin-top:55px}.manifesto-grid{gap:50px}.manifesto-photo{max-width:600px;width:100%;margin:auto}.manifesto-photo img{height:440px}.beliefs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.belief{min-height:350px}.belief:nth-child(even){margin-top:25px}.person-image{height:310px}.voices-board{grid-template-columns:1fr}.voice-stack{display:grid;grid-template-columns:1fr 1fr}.voices-foot{grid-column:1/-1}}
@media(max-width:600px){.about-hero{padding-top:48px}.hero-grid{gap:35px;padding-bottom:48px}.hero-copy h1{font-size:clamp(39px,11.5vw,57px)}.hero-copy>p{font-size:14px}.hero-links{gap:16px}.hero-links .btn{font-size:13px;padding:12px 18px}.hero-proof{margin-top:30px}.hero-collage{padding:0 14px 28px 0}.collage-main{height:390px;border-radius:47% 47% 12px 12px}.collage-small{width:35%;height:31%;border-width:5px}.sun-stamp{width:78px;height:78px;left:-7px;top:18px}.sun-stamp span{font-size:18px}.sun-stamp b{font-size:8px}.floating-note{left:-4px;bottom:48px;max-width:235px;padding:11px 12px}.floating-note b{font-size:9px}.floating-note small{font-size:8px}.hero-scroll{gap:9px;font-size:7px;letter-spacing:.08em}.history-section,.beliefs-section,.people-section,.voices-section{padding:76px 0}.history-title h2,.manifesto-copy h2,.people-heading h2,.finale-content h2{font-size:40px}.history-title>p{font-size:14px}.history-stage{padding:0 0 24px 16px}.history-stage:before{inset:15px 15px 0 0}.history-stage>img{height:330px;border-radius:4px 75px 4px 4px}.stage-number{font-size:58px;left:-2px;top:10px}.stage-date{right:-2px;min-width:175px;padding:13px 15px}.stage-date b{font-size:8px}.stage-date span{font-size:9px}.milestones{grid-template-columns:1fr;margin-top:38px}.milestone{padding:22px 0;grid-template-columns:36px 1fr}.milestone+.milestone{padding-left:0;border-left:0;border-top:1px solid #e4d7c8}.milestone h3{font-size:17px}.milestone p{font-size:12px}.manifesto-section{padding:78px 0}.manifesto-grid{gap:38px}.manifesto-photo{padding:0 15px 20px 0}.manifesto-photo:before{left:15px;top:15px}.manifesto-photo img{height:350px;border-radius:140px 140px 4px 4px}.photo-scribble{right:-2px;bottom:42px;font-size:16px;padding:12px 15px}.manifesto-copy h2{font-size:36px}.manifesto-copy>p{font-size:13px}.mission-points{margin:22px 0}.beliefs-heading,.people-heading{display:block}.beliefs-heading h2{font-size:39px}.beliefs-heading>p,.people-heading>p{margin-top:17px;font-size:13px}.beliefs-grid{grid-template-columns:1fr;gap:13px}.belief,.belief:nth-child(even){min-height:0;margin-top:0;padding:19px 20px 18px;border-radius:4px 4px 35px 4px}.belief-art{width:65px;height:65px;font-size:37px;margin:22px 0 15px}.belief h3{font-size:24px}.belief p{font-size:12px;max-width:320px}.belief-bottom{padding-top:18px;margin-top:18px}.people-heading{margin-bottom:35px}.people-grid{grid-template-columns:1fr;gap:32px}.person-offset{margin-top:0}.person-image{height:370px}.person-text h3{font-size:24px}.people-note{align-items:flex-start;font-size:11px;line-height:1.7}.voices-heading{margin-bottom:34px}.voices-heading h2{font-size:41px}.voices-heading>p{font-size:13px}.voices-board{gap:20px}.voice-feature{padding:25px 20px;border-radius:4px 55px 4px 4px;box-shadow:7px 7px 0 #f6d66f}.quote-glyph{font-size:75px}.voice-feature blockquote{font-size:18px;margin:16px 0 25px}.review-stamp{width:55px;height:55px;font-size:8px}.voice-stack{grid-template-columns:1fr;gap:13px}.voice-note{padding:21px}.voice-note>p{font-size:13px}.finale-section{min-height:540px;padding:78px 0}.finale-content h2{font-size:46px}.finale-content>p{font-size:13px}.finale-side{right:0;bottom:15px;font-size:7px;padding:12px}.finale-stars{margin-top:35px;font-size:18px}}
@media(max-width:360px){.hero-copy h1{font-size:37px}.collage-main{height:330px}.floating-note{max-width:215px}.hero-scroll span:first-child{display:none}.history-title h2,.manifesto-copy h2,.people-heading h2{font-size:35px}.history-stage>img{height:290px}.person-image{height:310px}.finale-content h2{font-size:41px}.finale-actions .btn{font-size:12px;padding:11px 15px}}
@media(prefers-reduced-motion:reduce){.js .reveal,.js .hero-collage.reveal,.js .history-stage.reveal,.js .manifesto-photo.reveal,.js .voice-feature.reveal{opacity:1;transform:none;transition:none}.collage-main img,.collage-small img,.belief,.person-image img,.voice-note{transition:none}}


/* THE BEGINNING — storybook motion system. Uses the existing palette only. */
.origin-section{position:relative;padding:0 0 105px;background:var(--ab-cream);overflow:hidden;isolation:isolate}
.origin-topline{display:flex;align-items:center;gap:18px;padding:20px var(--g);border-bottom:1px solid #e4d7c8;color:#8b6a9f;font-size:9px;font-weight:800;letter-spacing:.17em}
.origin-topline-rule{height:1px;flex:1;background:#ddcbe9}
.origin-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(35px,7vw,100px);align-items:center;padding-top:82px;padding-bottom:75px}
.origin-kicker{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.14em;font-weight:800;color:#9669b3}
.origin-kicker i{width:25px;height:2px;background:#ffc83d;display:inline-block}
.origin-heading h2{font-size:clamp(47px,6vw,78px);line-height:.99;letter-spacing:-.065em;color:#2b1740;margin:24px 0 25px}
.origin-heading h2 em{font-family:'Lobster Two',cursive;color:#b17acb;letter-spacing:-.035em;font-weight:700;display:inline-block;transform:rotate(-3deg);transform-origin:left center}
.origin-heading>p{font-size:14px;line-height:1.95;color:#796d86;max-width:420px}
.origin-scroll-link{display:inline-flex;align-items:center;gap:18px;margin-top:27px;color:#4a1b6b;font-size:9px;font-weight:800;letter-spacing:.13em;border-bottom:1px solid #b17acb;padding-bottom:9px}
.origin-scroll-link span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ffc83d;font-size:15px;animation:originNudge 1.6s ease-in-out infinite}
.origin-art{position:relative;min-height:510px;display:grid;place-items:center;isolation:isolate}
.origin-orbit{position:absolute;border:1px solid #d7bde9;border-radius:50%;pointer-events:none}
.orbit-one{width:min(94%,490px);aspect-ratio:1;animation:originOrbit 38s linear infinite}
.orbit-two{width:min(77%,400px);aspect-ratio:1;border-style:dashed;border-color:#e9c85f;animation:originOrbit 46s linear infinite reverse}
.origin-photo-frame{position:relative;width:min(74%,365px);height:430px;z-index:1;transform:rotate(3deg);box-shadow:17px 20px 0 #e8d9f0;overflow:hidden;border:7px solid #fffaf2;animation:originFloat 6s ease-in-out infinite}
.origin-photo-frame:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 48%,#21102cbf 100%)}
.origin-photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);filter:saturate(.82)}
.origin-art:hover .origin-photo-frame img{transform:scale(1.08)}
.origin-photo-caption{position:absolute;z-index:2;left:19px;right:15px;bottom:20px;color:#fff;display:flex;flex-direction:column;gap:7px}
.origin-photo-caption span{font-size:8px;font-weight:800;letter-spacing:.16em;color:#ffdf83}.origin-photo-caption b{font-size:18px;line-height:1.2}
.origin-sticker{position:absolute;z-index:3;top:40px;right:2%;width:120px;height:120px;border-radius:50%;background:#ffc83d;color:#32164b;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;transform:rotate(11deg);box-shadow:0 10px 30px #32164b20;animation:originSticker 5s ease-in-out infinite}
.origin-sticker span{font-size:8px;font-weight:800;letter-spacing:.19em}.origin-sticker strong{font:italic 700 25px 'Lobster Two',cursive;margin:5px 0}
.origin-note{position:absolute;z-index:4;left:-3%;bottom:45px;display:flex;align-items:center;gap:11px;background:#fffaf2;border:1px solid #e4d7c8;box-shadow:7px 8px 0 #d9c0f5;padding:13px 17px;transform:rotate(-4deg);animation:originFloat 5.3s ease-in-out infinite reverse}
.origin-note-star{width:34px;height:34px;display:grid;place-items:center;background:#f6d9f2;color:#7b429d;border-radius:50%;font-size:21px}
.origin-note b,.origin-note small{display:block}.origin-note b{font-size:11px;color:#32164b}.origin-note small{font-size:10px;color:#877994;margin-top:4px}
.origin-spark{position:absolute;z-index:2;color:#b17acb;animation:originSpark 3s ease-in-out infinite}.spark-one{left:6%;top:22%;font-size:30px}.spark-two{right:9%;bottom:19%;font-size:26px;color:#d9a61e;animation-delay:1.1s}
.origin-vertical{position:absolute;right:-12px;bottom:80px;writing-mode:vertical-rl;font-size:8px;font-weight:800;letter-spacing:.2em;color:#9c86ac}
.origin-journey{position:relative;padding-top:35px;border-top:1px solid #e4d7c8}
.origin-journey-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.origin-journey-head>span{font-size:9px;font-weight:800;letter-spacing:.16em;color:#9362b4}.origin-journey-head p{font:italic 700 19px 'Lobster Two',cursive;color:#b17acb;margin:0}
.origin-steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.origin-steps:before{content:"";position:absolute;top:26px;left:9%;right:9%;height:1px;background:#d8c1e8}
.origin-step{position:relative;min-width:0}.origin-step-marker{height:54px;display:flex;align-items:center;gap:12px;position:relative;z-index:1}.origin-step-marker span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#4a1b6b;color:#fff;font-size:12px;font-weight:800;border:5px solid var(--ab-cream);box-shadow:0 0 0 1px #c9a7e8;transition:transform .4s,background .4s}.origin-step-marker i{font-style:normal;color:#d7a92d;font-size:17px;transition:transform .5s}
.origin-step:hover .origin-step-marker span{background:#b17acb;transform:scale(1.1) rotate(-9deg)}.origin-step:hover .origin-step-marker i{transform:rotate(90deg) scale(1.25)}
.origin-step-body{position:relative;min-height:218px;margin-top:16px;padding:24px 23px 28px;background:#fffaf2;border:1px solid #e6d8ec;overflow:hidden;transition:transform .4s,box-shadow .4s}.origin-step:nth-child(2) .origin-step-body{background:#f5e9fb}.origin-step:nth-child(3) .origin-step-body{background:#ffedb9;border-color:#f0d681}.origin-step:hover .origin-step-body{transform:translateY(-7px);box-shadow:8px 9px 0 #d9c0f5}
.origin-step-label{font-size:8px;font-weight:800;letter-spacing:.15em;color:#a277bb}.origin-step-body h3{position:relative;z-index:1;font-size:clamp(17px,2vw,22px);line-height:1.2;color:#2b1740;margin:13px 0 11px;max-width:250px}.origin-step-body p{position:relative;z-index:1;font-size:12px;line-height:1.85;color:#756582;margin:0;max-width:320px}.origin-step-doodle{position:absolute;right:10px;bottom:-22px;font-size:105px;line-height:1;color:#d8b8eb55;transform:rotate(-12deg);transition:transform .5s}.origin-step:hover .origin-step-doodle{transform:rotate(8deg) scale(1.15)}
.origin-ending{display:flex;align-items:center;gap:17px;justify-content:center;margin-top:58px}.origin-ending-star{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#ffc83d;color:#4a1b6b;font-size:24px;animation:originOrbit 14s linear infinite}.origin-ending p{font-size:13px;line-height:1.55;color:#796d86;margin:0}.origin-ending p em{font:italic 700 21px 'Lobster Two',cursive;color:#8e5eaf}.origin-ending-line{width:70px;height:1px;background:#d8c1e8}
@keyframes originFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}@keyframes originOrbit{to{transform:rotate(360deg)}}@keyframes originSticker{0%,100%{transform:rotate(11deg) translateY(0)}50%{transform:rotate(3deg) translateY(-9px)}}@keyframes originSpark{0%,100%{transform:scale(.8) rotate(0);opacity:.65}50%{transform:scale(1.15) rotate(18deg);opacity:1}}@keyframes originNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.js .origin-art.reveal{transform:translateX(35px) scale(.96)}.js .origin-art.reveal.in-view{transform:none}.js .origin-step.reveal{opacity:0;transform:translateY(28px)}.js .origin-step.reveal.in-view{opacity:1;transform:translateY(0)}
body.dark .origin-section{background:#160428}body.dark .origin-topline,body.dark .origin-journey{border-color:#3d2060}body.dark .origin-heading h2{color:#fff}body.dark .origin-heading>p,body.dark .origin-ending p{color:#cdbadd}body.dark .origin-photo-frame{border-color:#241039;box-shadow:17px 20px 0 #3d2060}body.dark .origin-note{background:#241039;border-color:#4a2b64;box-shadow:7px 8px 0 #3d2060}body.dark .origin-note b{color:#fff}body.dark .origin-note small{color:#cdbadd}body.dark .origin-orbit{border-color:#4a2b64}body.dark .origin-steps:before{background:#4a2b64}body.dark .origin-step-marker span{border-color:#160428}body.dark .origin-step-body{background:#241039;border-color:#4a2b64}body.dark .origin-step:nth-child(2) .origin-step-body{background:#2d1743}body.dark .origin-step:nth-child(3) .origin-step-body{background:#45301b;border-color:#73552a}body.dark .origin-step-body h3{color:#fff}body.dark .origin-step-body p{color:#d4c6e1}body.dark .origin-step-doodle{color:#b17acb22}
@media(max-width:980px){.origin-intro{grid-template-columns:1fr;gap:35px;padding-top:65px}.origin-heading{max-width:680px}.origin-art{width:min(100%,650px);margin:0 auto;min-height:500px}.origin-photo-frame{width:min(66%,365px)}}
@media(max-width:600px){.origin-section{padding-bottom:75px}.origin-topline{padding:15px var(--g);font-size:8px;gap:10px}.origin-intro{padding-top:52px;padding-bottom:45px;gap:20px}.origin-heading h2{font-size:clamp(43px,12vw,62px);margin:20px 0}.origin-heading>p{font-size:13px}.origin-art{min-height:390px}.orbit-one{width:94%}.orbit-two{width:77%}.origin-photo-frame{width:68%;height:335px;border-width:5px;box-shadow:10px 12px 0 #e8d9f0}.origin-photo-caption{left:12px;bottom:13px}.origin-photo-caption b{font-size:14px}.origin-photo-caption span{font-size:7px}.origin-sticker{width:88px;height:88px;right:0;top:27px}.origin-sticker strong{font-size:20px}.origin-sticker span{font-size:7px}.origin-note{left:-2px;bottom:25px;padding:10px 12px;gap:8px}.origin-note-star{width:29px;height:29px;font-size:18px}.origin-note b{font-size:10px}.origin-note small{font-size:9px}.origin-vertical{right:0;bottom:62px;font-size:7px}.spark-one{left:0;top:16%;font-size:23px}.spark-two{right:3%;bottom:17%;font-size:21px}.origin-journey{padding-top:25px}.origin-journey-head{display:block;margin-bottom:23px}.origin-journey-head p{margin-top:8px}.origin-steps{grid-template-columns:1fr;gap:16px}.origin-steps:before{left:25px;right:auto;top:24px;bottom:40px;width:1px;height:auto}.origin-step-marker{height:50px}.origin-step-marker span{width:48px;height:48px}.origin-step-marker i{font-size:15px}.origin-step-body{min-height:0;margin:9px 0 0 12px;padding:21px 19px 24px}.origin-step-body h3{font-size:20px}.origin-step-body p{font-size:12px;max-width:100%}.origin-step-doodle{font-size:80px}.origin-ending{margin-top:40px;gap:11px}.origin-ending-star{width:35px;height:35px;font-size:20px;flex-shrink:0}.origin-ending p em{font-size:18px}.origin-ending-line{width:25px;flex-shrink:0}}
@media(prefers-reduced-motion:reduce){.origin-orbit,.origin-sticker,.origin-photo-frame,.origin-note,.origin-spark,.origin-ending-star,.origin-scroll-link span{animation:none!important}.origin-photo-frame img,.origin-step-body,.origin-step-marker span,.origin-step-marker i,.origin-step-doodle{transition:none!important}.js .origin-step.reveal{opacity:1;transform:none}}

/* THE PEOPLE — spotlight portraits, animated editorial stage (existing palette retained) */
.people-section{position:relative;padding:clamp(82px,10vw,136px) 0;background:#251038;color:#fff;isolation:isolate}
.people-section:before{content:"";position:absolute;z-index:-1;width:min(48vw,620px);aspect-ratio:1;border:1px solid #ffffff12;border-radius:50%;right:-13%;top:7%;box-shadow:0 0 0 36px #ffffff08,0 0 0 72px #ffffff05;animation:people-orbit 24s linear infinite}
.people-section:after{content:"✳";position:absolute;z-index:-1;left:5%;top:17%;font-size:clamp(30px,5vw,64px);color:#ffc83d;opacity:.7;animation:people-spark 5s ease-in-out infinite}
.people-section .wrap{position:relative}
.people-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.65fr);align-items:end;gap:clamp(24px,5vw,78px);margin-bottom:clamp(36px,6vw,76px)}
.people-heading .chapter-num{display:inline-flex;align-items:center;gap:10px;color:#d2a9f1;font-size:10px;letter-spacing:.16em;font-weight:800}
.people-heading h2{font-size:clamp(44px,6.3vw,84px);line-height:.94;letter-spacing:-.065em;margin:22px 0 0;max-width:750px}
.people-heading h2 em{display:inline-block;font-weight:700;color:#ffc83d;transform:rotate(-2deg);transform-origin:left center}
.people-heading>p{max-width:340px;margin:0 0 5px;color:#cdbadd;font-size:14px;line-height:1.95;border-left:2px solid #ffc83d;padding:4px 0 4px 20px}
.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.2vw,30px);align-items:stretch}
.person{position:relative;min-width:0;padding:0;background:transparent;transform:translateY(0);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.person:nth-child(2){margin-top:48px}
.person:nth-child(3){margin-top:16px}
.person:hover{transform:translateY(-12px)}
.person-image{height:auto;aspect-ratio: .77;position:relative;overflow:hidden;background:#503666;border-radius:180px 180px 8px 8px;isolation:isolate;box-shadow:0 0 0 1px #ffffff20}
.person-image:before{content:"";position:absolute;z-index:1;inset:10px;border:1px solid #ffffff55;border-radius:inherit;pointer-events:none;transition:inset .5s ease,border-color .5s ease}
.person:hover .person-image:before{inset:17px;border-color:#ffc83d}
.person-image:after{content:"";position:absolute;z-index:0;inset:35% 0 0;background:linear-gradient(180deg,transparent 4%,#160823e8 100%);pointer-events:none;opacity:.9}
.person-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.78);transform:scale(1.015);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .7s}
.person:hover .person-image img{transform:scale(1.1);filter:saturate(1.12)}
.person-no{left:24px;top:25px;width:39px;height:39px;border:1px solid #ffffffa8;background:#251038b8;backdrop-filter:blur(8px);font-size:11px;transition:background .3s,color .3s,transform .4s}
.person:hover .person-no{background:#ffc83d;color:#251038;transform:rotate(12deg)}
.person-mark{right:25px;bottom:20px;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#ffc83d;color:#251038;font-size:25px;box-shadow:0 0 0 7px #ffc83d25;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.person:hover .person-mark{transform:rotate(35deg) scale(1.08)}
.person-text{position:relative;padding:22px 4px 0;display:grid;grid-template-columns:1fr auto;align-items:start;column-gap:8px}
.person-text small{grid-column:1/-1;display:inline-flex;align-items:center;gap:8px;color:#d2a9f1;font-size:9px;letter-spacing:.16em;font-weight:800}
.person-text small:before{content:"";width:18px;height:1px;background:#ffc83d}
.person-text h3{font-size:clamp(21px,2.2vw,29px);line-height:1.1;color:#fff;margin:10px 0 8px;letter-spacing:-.035em}
.person-text p{grid-column:1/-1;font-size:12px;line-height:1.85;color:#cdbadd;max-width:310px;margin:0}
.people-note{position:relative;display:flex;align-items:center;gap:15px;border-top:1px solid #ffffff25;margin-top:clamp(42px,6vw,74px);padding-top:23px;font-size:12px;line-height:1.8;color:#d9c9e8}
.people-note span{flex:0 0 36px;width:36px;height:36px;border:1px solid #ffc83d;border-radius:50%;display:grid;place-items:center;color:#ffc83d;font-size:19px;animation:people-spark 4s ease-in-out infinite}
.people-note:after{content:"MADE OF LITTLE MOMENTS";margin-left:auto;font-size:9px;letter-spacing:.16em;color:#d2a9f1;white-space:nowrap}
@keyframes people-orbit{to{transform:rotate(360deg)}}
@keyframes people-spark{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(18deg) scale(1.12)}}
@media(max-width:980px){.people-heading{grid-template-columns:1fr .7fr;gap:28px}.people-grid{gap:15px}.person:nth-child(2){margin-top:32px}.person-image{height:auto;aspect-ratio:.72}.person-text{padding-top:17px}.person-text h3{font-size:23px}}
@media(max-width:650px){.people-section{padding:78px 0}.people-section:before{width:90vw;right:-45%;top:18%}.people-section:after{left:auto;right:7%;top:8%;font-size:32px}.people-heading{display:block;margin-bottom:34px}.people-heading h2{font-size:clamp(43px,12vw,62px);margin-top:19px}.people-heading>p{margin-top:22px;max-width:430px;font-size:13px}.people-grid{grid-template-columns:1fr;gap:33px}.person,.person:nth-child(2),.person:nth-child(3){margin-top:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:17px;align-items:center}.person:nth-child(even){grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.person:nth-child(even) .person-image{order:2}.person:nth-child(even) .person-text{order:1}.person-image{aspect-ratio:.78;height:auto;border-radius:130px 130px 7px 7px}.person-image:before{inset:7px}.person:hover .person-image:before{inset:11px}.person-no{left:15px;top:15px;width:32px;height:32px;font-size:9px}.person-mark{right:14px;bottom:14px;width:37px;height:37px;font-size:21px}.person-text{padding:0;display:block}.person-text small{font-size:8px;line-height:1.6}.person-text h3{font-size:clamp(20px,6vw,27px);margin:10px 0}.person-text p{font-size:12px;line-height:1.8}.people-note{align-items:flex-start;font-size:11px;margin-top:38px}.people-note:after{display:none}}
@media(max-width:380px){.person,.person:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:12px}.person-text small{font-size:7px;letter-spacing:.1em}.person-text h3{font-size:20px}.person-text p{font-size:11px}.person-image{border-radius:90px 90px 6px 6px}}
@media(prefers-reduced-motion:reduce){.people-section:before,.people-section:after,.people-note span{animation:none}.person,.person-image img,.person-image:before,.person-mark,.person-no{transition:none}}


/* THE PEOPLE — balanced, tidy editorial team layout */
.people-section{padding:76px 0 70px!important;overflow:hidden}
.people-section:before{width:min(34vw,420px);right:-9%;top:2%;opacity:.65}
.people-section:after{left:2.5%;top:12%;font-size:32px}
.people-heading{grid-template-columns:minmax(0,1.15fr) minmax(230px,.72fr)!important;gap:38px!important;align-items:end!important;margin-bottom:38px!important}
.people-heading h2{font-size:clamp(38px,4.5vw,58px)!important;line-height:1.04!important;letter-spacing:-.045em!important;margin:16px 0 0!important;max-width:590px}
.people-heading h2 em{transform:none!important}
.people-heading>p{font-size:13px!important;line-height:1.8!important;max-width:330px!important;padding-left:16px!important}
.people-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important}
.person,.person:nth-child(2),.person:nth-child(3){margin-top:0!important;transform:none}
.person:hover{transform:translateY(-5px)!important}
.person-image{aspect-ratio:4/4.2!important;height:auto!important;max-height:340px;border-radius:110px 110px 6px 6px!important}
.person-image img{object-position:center 35%}
.person-image:before{inset:8px!important}
.person:hover .person-image:before{inset:13px!important}
.person-no{left:16px!important;top:16px!important;width:32px!important;height:32px!important;font-size:10px!important}
.person-mark{right:17px!important;bottom:15px!important;width:36px!important;height:36px!important;font-size:20px!important;box-shadow:0 0 0 5px #ffc83d25!important}
.person-text{padding:17px 2px 0!important;display:block!important;min-height:112px}
.person-text small{font-size:9px!important;letter-spacing:.11em!important;line-height:1.5}
.person-text h3{font-size:clamp(20px,2vw,25px)!important;line-height:1.15!important;margin:8px 0 7px!important}
.person-text p{font-size:13px!important;line-height:1.65!important;max-width:100%!important;color:#d8cbe4!important}
.people-note{margin-top:30px!important;padding-top:18px!important;font-size:12px!important}
.people-note span{width:30px!important;height:30px!important;flex-basis:30px!important}
@media(max-width:900px){.people-section{padding:65px 0!important}.people-heading{grid-template-columns:1fr .8fr!important;gap:24px!important}.people-grid{gap:16px!important}.person-image{max-height:300px}.person-text{min-height:120px}.person-text h3{font-size:21px!important}}
@media(max-width:650px){.people-section{padding:58px 0!important}.people-section:before{width:70vw;right:-35%;top:12%}.people-section:after{right:5%;left:auto;top:5%;font-size:25px}.people-heading{display:block!important;margin-bottom:27px!important}.people-heading h2{font-size:clamp(36px,9vw,48px)!important;line-height:1.04!important;margin-top:14px!important}.people-heading>p{margin-top:14px!important;max-width:460px!important;font-size:13px!important}.people-grid{grid-template-columns:1fr!important;gap:22px!important}.person,.person:nth-child(2),.person:nth-child(3),.person:nth-child(even){display:grid!important;grid-template-columns:minmax(0,150px) minmax(0,1fr)!important;gap:18px!important;align-items:center!important;margin:0!important}.person:nth-child(even) .person-image,.person:nth-child(even) .person-text{order:initial!important}.person-image{width:100%;max-height:none!important;aspect-ratio:4/4.6!important;border-radius:75px 75px 6px 6px!important}.person-text{min-height:0!important;padding:0!important}.person-text small{font-size:8px!important;letter-spacing:.08em!important}.person-text h3{font-size:clamp(20px,5.6vw,25px)!important;margin:8px 0!important}.person-text p{font-size:12px!important;line-height:1.65!important}.person-mark{width:30px!important;height:30px!important;right:12px!important;bottom:12px!important;font-size:17px!important}.person-no{left:12px!important;top:12px!important;width:28px!important;height:28px!important}.people-note{margin-top:25px!important;gap:10px!important}.people-note:after{display:none!important}}
@media(max-width:380px){.person,.person:nth-child(2),.person:nth-child(3),.person:nth-child(even){grid-template-columns:minmax(0,118px) minmax(0,1fr)!important;gap:13px!important}.person-text h3{font-size:19px!important}.person-text p{font-size:12px!important}.person-text small{font-size:7px!important}}
@media(prefers-reduced-motion:reduce){.people-section:before,.people-section:after,.people-note span{animation:none!important}.person,.person-image img,.person-image:before,.person-mark,.person-no{transition:none!important}}


/* TIDY THE BEGINNING — compact editorial layout, existing palette retained */
.origin-section{padding:0 0 58px!important}
.origin-topline{padding-top:14px!important;padding-bottom:14px!important}
.origin-intro{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;gap:clamp(24px,4vw,58px)!important;padding-top:42px!important;padding-bottom:38px!important;align-items:center!important}
.origin-heading h2{font-size:clamp(42px,4.8vw,66px)!important;line-height:1.02!important;margin:17px 0 17px!important;letter-spacing:-.05em!important}
.origin-heading>p{font-size:13px!important;line-height:1.8!important;max-width:440px!important}
.origin-scroll-link{margin-top:19px!important}
.origin-art{min-height:395px!important}
.orbit-one{width:min(88%,410px)!important}
.orbit-two{width:min(72%,335px)!important}
.origin-photo-frame{width:min(69%,320px)!important;height:350px!important;transform:rotate(1.5deg)!important;box-shadow:11px 13px 0 #e8d9f0!important}
.origin-sticker{width:96px!important;height:96px!important;top:30px!important;right:4%!important}
.origin-sticker strong{font-size:21px!important}
.origin-note{left:0!important;bottom:30px!important;padding:10px 13px!important;transform:rotate(-2deg)!important}
.origin-vertical{right:1px!important;bottom:65px!important}
.origin-journey{padding-top:24px!important}
.origin-journey-head{margin-bottom:20px!important}
.origin-steps{gap:14px!important}
.origin-step-body{min-height:190px!important;margin-top:10px!important;padding:20px 19px 22px!important}
.origin-step-body h3{font-size:clamp(17px,1.8vw,21px)!important;margin:10px 0 8px!important}
.origin-step-body p{font-size:12px!important;line-height:1.75!important}
.origin-ending{margin-top:30px!important}
/* Remove the decorative numerals that were covering the team portraits. */
.person-no{display:none!important}
@media(max-width:980px){.origin-intro{grid-template-columns:1fr!important;gap:18px!important;padding-top:36px!important;padding-bottom:28px!important}.origin-heading{max-width:720px}.origin-art{min-height:385px!important;width:min(100%,600px)!important}.origin-photo-frame{height:335px!important;width:min(65%,320px)!important}.origin-step-body{min-height:170px!important}}
@media(max-width:600px){.origin-section{padding-bottom:42px!important}.origin-topline{padding-top:12px!important;padding-bottom:12px!important}.origin-intro{padding-top:29px!important;padding-bottom:23px!important;gap:12px!important}.origin-heading h2{font-size:clamp(38px,10.5vw,53px)!important;line-height:1.04!important;margin:14px 0!important}.origin-heading>p{font-size:13px!important;line-height:1.75!important}.origin-art{min-height:320px!important}.orbit-one{width:88%!important}.orbit-two{width:69%!important}.origin-photo-frame{height:275px!important;width:67%!important;box-shadow:8px 9px 0 #e8d9f0!important}.origin-sticker{width:76px!important;height:76px!important;top:22px!important;right:1%!important}.origin-sticker strong{font-size:17px!important}.origin-note{left:0!important;bottom:17px!important;padding:8px 10px!important}.origin-note-star{width:27px!important;height:27px!important}.origin-vertical{display:none!important}.origin-journey{padding-top:19px!important}.origin-journey-head{margin-bottom:16px!important}.origin-journey-head p{font-size:17px!important}.origin-step-body{min-height:0!important;padding:17px 16px 20px!important;margin-left:8px!important}.origin-step-body h3{font-size:19px!important}.origin-ending{margin-top:25px!important}.person-no{display:none!important}}


/* THE BEGINNING — compact editorial story strip, original palette retained */
.origin-section{padding:34px 0 62px!important;background:var(--ab-cream)!important}
.story-refresh{max-width:1180px}
.story-refresh-label{display:flex;align-items:center;gap:13px;padding:0 0 14px;border-bottom:1px solid #e4d7c8;color:#8f6eaa;font-size:9px;font-weight:800;letter-spacing:.16em}
.story-refresh-label i{height:1px;background:#d8c1e8;flex:1}
.story-refresh-main{display:grid;grid-template-columns:1fr .88fr;gap:clamp(30px,6vw,78px);align-items:center;padding:38px 0 32px}
.story-refresh-copy{max-width:560px}
.story-refresh-kicker{display:flex;align-items:center;gap:9px;color:#8f62ae;font-size:9px;font-weight:800;letter-spacing:.13em;line-height:1.5}
.story-refresh-kicker b{width:8px;height:8px;border-radius:50%;background:#ffc83d;box-shadow:0 0 0 4px #ffc83d30;flex:none}
.story-refresh-copy h2{font-size:clamp(38px,4.5vw,62px);line-height:.99;letter-spacing:-.055em;color:#2b1740;margin:18px 0 16px}
.story-refresh-copy h2 em{font-family:'Lobster Two',cursive;color:#a16cc2;font-weight:700;letter-spacing:-.02em}
.story-refresh-copy>p{max-width:510px;margin:0;color:#756582;font-size:13px;line-height:1.85}
.story-refresh-link{display:inline-flex;align-items:center;gap:22px;margin-top:20px;padding:10px 0;border-bottom:1px solid #d7a92d;color:#4a1b6b;font-size:9px;font-weight:800;letter-spacing:.12em}
.story-refresh-link span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ffc83d;font-size:15px;transition:transform .3s}
.story-refresh-link:hover span{transform:translate(3px,-3px)}
.story-refresh-visual{position:relative;width:100%;max-width:460px;justify-self:end;padding:0 17px 17px 0}
.story-refresh-photo{height:clamp(250px,29vw,350px);position:relative;overflow:hidden;border-radius:7px 85px 7px 7px;background:#d9c0f5;box-shadow:12px 12px 0 #e8d9f0}
.story-refresh-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#21102c88,transparent 48%);pointer-events:none}
.story-refresh-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.story-refresh-visual:hover .story-refresh-photo img{transform:scale(1.055)}
.story-photo-tag{position:absolute;z-index:1;left:17px;bottom:16px;color:white;font-size:9px;font-weight:800;letter-spacing:.15em}
.story-refresh-seal{position:absolute;right:-3px;top:18px;width:83px;height:83px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:50%;background:#ffc83d;color:#3b1b50;box-shadow:0 8px 24px #35175022;animation:storySealFloat 4.5s ease-in-out infinite}
.story-refresh-seal span{font-size:19px;line-height:1}.story-refresh-seal b{text-align:center;font-size:8px;line-height:1.25;letter-spacing:.08em}
.story-refresh-spark{position:absolute;color:#a16cc2;animation:storySpark 3.5s ease-in-out infinite}.spark-a{left:-12px;top:22%;font-size:25px}.spark-b{right:8%;bottom:0;font-size:22px;color:#d7a92d;animation-delay:1.2s}
.story-refresh-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #e4d7c8;border-bottom:1px solid #e4d7c8}
.story-refresh-step{display:grid;grid-template-columns:35px 1fr;gap:11px;padding:19px 20px 18px 0;align-items:start;min-width:0}
.story-refresh-step+.story-refresh-step{padding-left:20px;border-left:1px solid #e4d7c8}
.story-refresh-step>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d8c1e8;border-radius:50%;color:#7e4da0;font-size:9px;font-weight:800;transition:background .3s,color .3s,transform .3s}
.story-refresh-step:hover>span{background:#4a1b6b;color:#fff;transform:rotate(-10deg)}
.story-refresh-step b{display:block;color:#32164b;font-size:12px;line-height:1.4}.story-refresh-step p{margin:5px 0 0;color:#796d86;font-size:11px;line-height:1.65}
@keyframes storySealFloat{0%,100%{transform:translateY(0) rotate(5deg)}50%{transform:translateY(-7px) rotate(-3deg)}}
@keyframes storySpark{0%,100%{transform:scale(.85) rotate(0);opacity:.7}50%{transform:scale(1.15) rotate(18deg);opacity:1}}
body.dark .origin-section{background:#160428!important}body.dark .story-refresh-label,body.dark .story-refresh-steps{border-color:#3d2060}body.dark .story-refresh-copy h2,body.dark .story-refresh-step b{color:#fff}body.dark .story-refresh-copy>p,body.dark .story-refresh-step p{color:#cdbadd}body.dark .story-refresh-link{color:#f6e8ff;border-color:#ffc83d}body.dark .story-refresh-photo{box-shadow:12px 12px 0 #3d2060}body.dark .story-refresh-step+.story-refresh-step{border-color:#3d2060}body.dark .story-refresh-step>span{border-color:#704c89;color:#e0c4f4}
.person-no{display:none!important}
@media(max-width:760px){.origin-section{padding:25px 0 42px!important}.story-refresh-main{grid-template-columns:1fr;gap:23px;padding:28px 0 23px}.story-refresh-copy h2{font-size:clamp(38px,10vw,52px)}.story-refresh-visual{justify-self:center;max-width:520px;padding-right:12px}.story-refresh-photo{height:clamp(230px,62vw,330px);border-top-right-radius:65px}.story-refresh-seal{width:72px;height:72px;right:-1px;top:12px}.story-refresh-steps{grid-template-columns:1fr}.story-refresh-step{padding:13px 0!important}.story-refresh-step+.story-refresh-step{border-left:0;border-top:1px solid #e4d7c8}.story-refresh-step p{font-size:12px}body.dark .story-refresh-step+.story-refresh-step{border-color:#3d2060}}
@media(prefers-reduced-motion:reduce){.story-refresh-seal,.story-refresh-spark{animation:none!important}.story-refresh-photo img,.story-refresh-link span,.story-refresh-step>span{transition:none!important}}


/* Replacement for the old THE BEGINNING block: compact, animated story journey */
.wonder-journey{position:relative;isolation:isolate;overflow:hidden;padding:76px 0 80px;background:#fffaf1;color:#27133b}
.wonder-journey:before{content:"";position:absolute;z-index:-1;width:420px;height:420px;left:-230px;top:-210px;border:1px solid #e8d8f2;border-radius:50%;box-shadow:0 0 0 38px #f2e8f633,0 0 0 78px #f2e8f622}
.wonder-wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(35px,6vw,82px);align-items:center}
.wonder-intro{max-width:470px}
.wonder-eyebrow{display:flex;align-items:center;gap:10px;color:#7847a5;font-size:10px;font-weight:800;letter-spacing:.18em}
.wonder-eyebrow i{width:19px;height:2px;background:#ffc83d;display:inline-block}
.wonder-intro h2{font-size:clamp(37px,4.4vw,58px);line-height:1.04;letter-spacing:-.055em;margin:19px 0 17px;color:#27133b}
.wonder-intro h2 em{font-family:'Lobster Two',cursive;font-weight:700;color:#8a46bd;letter-spacing:-.025em}
.wonder-intro>p{max-width:430px;margin:0;color:#6d5c7d;font-size:14px;line-height:1.9}
.wonder-signature{display:flex;align-items:center;gap:12px;margin-top:23px;padding-top:15px;border-top:1px solid #e9deef;color:#8b7b9a;font-size:9px;font-weight:800;letter-spacing:.14em}
.wonder-signature b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#ffc83d;color:#27133b;font-size:16px;animation:wonderTurn 12s linear infinite}
.wonder-journey-art{position:relative;display:grid;gap:12px;padding:7px 0 7px 28px;min-width:0}
.wonder-path{position:absolute;left:52px;top:34px;bottom:34px;width:2px;background:linear-gradient(#ffc83d,#b98add,#ffc83d);transform-origin:top;animation:wonderPath 1.2s ease both}
.wonder-stop{position:relative;z-index:1;display:grid;grid-template-columns:48px 1fr;gap:15px;align-items:center;min-height:102px;padding:17px 21px 17px 0;border:1px solid #e9deef;background:#fffdf8;box-shadow:0 8px 22px #38165008;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.wonder-stop:hover{transform:translateX(7px);border-color:#d1b2e8;box-shadow:0 13px 28px #38165012}
.wonder-stop-two{margin-left:28px;background:#f4ebfc}.wonder-stop-three{margin-left:56px;background:#fff2c9}
.wonder-stop-icon{display:grid;place-items:center;width:40px;height:40px;margin-left:0;border:1px solid #d8bce9;border-radius:50%;background:#fffaf1;color:#6e3595;font-size:22px;box-shadow:0 0 0 5px #fffaf1;transition:transform .35s ease,background .35s ease}
.wonder-stop:hover .wonder-stop-icon{transform:rotate(-12deg) scale(1.08);background:#ffc83d}
.wonder-stop small{font-size:9px;letter-spacing:.15em;font-weight:800;color:#9564b2}
.wonder-stop h3{font-size:19px;line-height:1.2;margin:4px 0 4px;color:#2b1740}
.wonder-stop p{font-size:12px;line-height:1.6;margin:0;color:#796d86}
.wonder-orbit{position:absolute;right:2%;top:-20px;width:78px;height:78px;border:1px solid #d9c3ed;border-radius:50%;pointer-events:none;animation:wonderFloat 6s ease-in-out infinite}
.wonder-orbit-two{right:8%;top:0;width:48px;height:48px;border-color:#ffc83d;animation-delay:-2s}
.wonder-big-star{position:absolute;right:-10px;bottom:-17px;color:#ffc83d;font-size:42px;animation:wonderTurn 18s linear infinite}
@keyframes wonderTurn{to{transform:rotate(360deg)}}
@keyframes wonderFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes wonderPath{from{transform:scaleY(0);opacity:.25}to{transform:scaleY(1);opacity:1}}
@media(max-width:850px){.wonder-journey{padding:60px 0 64px}.wonder-wrap{grid-template-columns:1fr;gap:28px}.wonder-intro{max-width:650px}.wonder-intro>p{max-width:600px}.wonder-journey-art{max-width:680px;padding-left:8px}.wonder-path{left:32px}.wonder-stop-two{margin-left:18px}.wonder-stop-three{margin-left:36px}.wonder-orbit{right:5%;top:-12px}}
@media(max-width:520px){.wonder-journey{padding:49px 0 52px}.wonder-intro h2{font-size:clamp(34px,10vw,45px);margin:15px 0 13px}.wonder-intro>p{font-size:13px;line-height:1.8}.wonder-journey-art{padding-left:0;gap:10px}.wonder-path{left:19px;top:25px;bottom:25px}.wonder-stop{grid-template-columns:38px 1fr;gap:11px;min-height:90px;padding:13px 12px 13px 0}.wonder-stop-two{margin-left:10px}.wonder-stop-three{margin-left:20px}.wonder-stop-icon{width:34px;height:34px;font-size:18px}.wonder-stop h3{font-size:17px}.wonder-stop p{font-size:11px}.wonder-orbit{width:54px;height:54px;right:0;top:-22px}.wonder-orbit-two{width:32px;height:32px;right:5%;top:-11px}.wonder-big-star{font-size:28px;right:-2px;bottom:-13px}}
@media(prefers-reduced-motion:reduce){.wonder-journey *{animation:none!important;transition:none!important}}

/* THE BEGINNING — rebuilt as an evenly aligned three-card story grid */
.wonder-journey{position:relative;isolation:isolate;overflow:hidden;padding:62px 0 58px!important;background:var(--ab-cream,#fffaf1)!important;color:#2b1740}
.wonder-journey:before{content:"";position:absolute;z-index:-1;width:380px;height:380px;right:-230px;top:-220px;border:1px solid #e8d8f2;border-radius:50%;box-shadow:0 0 0 34px #f2e8f633,0 0 0 70px #f2e8f622;pointer-events:none}
.wonder-wrap{display:block!important;max-width:1160px;margin-inline:auto}
.wonder-heading{max-width:700px;margin:0 auto 30px;text-align:center}
.wonder-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;color:#7847a5;font-size:10px;font-weight:800;letter-spacing:.18em}
.wonder-eyebrow i{width:24px;height:2px;background:#ffc83d;display:inline-block}
.wonder-heading h2{margin:13px 0 12px;font-size:clamp(34px,4.1vw,52px);line-height:1.04;letter-spacing:-.045em;color:#2b1740}
.wonder-heading h2 em{font-family:'Lobster Two',cursive;color:#a16cc2;font-weight:700;letter-spacing:-.02em}
.wonder-heading>p{max-width:610px;margin:0 auto;color:#756582;font-size:13px;line-height:1.8}
.wonder-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.wonder-card{min-width:0;height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid #eadff0;border-radius:12px;overflow:hidden;box-shadow:0 7px 22px #32164b08;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.wonder-card:hover{transform:translateY(-7px);box-shadow:0 16px 32px #32164b14;border-color:#d3b9e6}
.wonder-card-art{height:174px;position:relative;display:grid;place-items:center;overflow:hidden;padding:17px}
.wonder-art-lilac{background:#eee2f8}.wonder-art-gold{background:#fff0bd}.wonder-art-peach{background:#f9e2d8}
.wonder-card-art:after{content:"";position:absolute;width:150px;height:150px;border:1px solid #ffffffa8;border-radius:50%;box-shadow:0 0 0 18px #ffffff38,0 0 0 37px #ffffff25;animation:wonderHalo 9s linear infinite}
.wonder-card-art img{position:relative;z-index:1;width:100%;height:100%;max-width:205px;object-fit:contain;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.wonder-card:hover .wonder-card-art img{transform:scale(1.08) rotate(-2deg)}
.wonder-card-number{position:absolute;z-index:2;top:12px;left:13px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#fff;color:#74479a;font-size:10px;font-weight:800;box-shadow:0 3px 12px #2b174018}
.wonder-card-copy{flex:1;padding:20px 21px 22px;display:flex;flex-direction:column;align-items:flex-start}
.wonder-card-label{color:#8d63a9;font-size:9px;font-weight:800;letter-spacing:.15em;line-height:1.4}
.wonder-card-copy h3{margin:9px 0 8px;color:#32164b;font-size:20px;line-height:1.2;letter-spacing:-.025em}
.wonder-card-copy p{margin:0;color:#756582;font-size:12px;line-height:1.75}
.wonder-bottomline{display:flex;align-items:center;gap:12px;margin-top:23px;color:#795a8d;font-size:9px;font-weight:800;letter-spacing:.13em}
.wonder-bottom-star{color:#d7a92d;font-size:17px;animation:wonderTwinkle 2.8s ease-in-out infinite}
.wonder-bottom-rule{height:1px;background:#e3d4e9;flex:1}
@keyframes wonderHalo{to{transform:rotate(360deg)}}
@keyframes wonderTwinkle{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(35deg) scale(1.2)}}
body.dark .wonder-journey{background:#160428!important;color:#f7efff}
body.dark .wonder-heading h2,body.dark .wonder-card-copy h3{color:#fff}
body.dark .wonder-heading>p,body.dark .wonder-card-copy p{color:#d0bddf}
body.dark .wonder-card{background:#211035;border-color:#43285a;box-shadow:none}
body.dark .wonder-card-number{background:#fff;color:#4a1b6b}
body.dark .wonder-bottomline{color:#d0bddf}body.dark .wonder-bottom-rule{background:#43285a}
@media(max-width:800px){.wonder-journey{padding:50px 0 45px!important}.wonder-cards{gap:14px}.wonder-card-art{height:145px}.wonder-card-copy{padding:17px 15px 19px}.wonder-card-copy h3{font-size:18px}}
@media(max-width:620px){.wonder-heading{margin-bottom:23px}.wonder-heading h2{font-size:clamp(34px,9vw,43px)}.wonder-heading>p{font-size:13px}.wonder-cards{grid-template-columns:1fr;gap:13px}.wonder-card{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:148px;border-radius:10px}.wonder-card-art{height:100%;min-height:148px;padding:12px}.wonder-card-art img{max-width:105px}.wonder-card-art:after{width:90px;height:90px;box-shadow:0 0 0 12px #ffffff38,0 0 0 24px #ffffff25}.wonder-card-number{top:8px;left:8px;width:24px;height:24px;font-size:9px}.wonder-card-copy{padding:18px 14px;justify-content:center}.wonder-card-copy h3{font-size:18px;margin:7px 0}.wonder-card-copy p{font-size:12px;line-height:1.65}.wonder-bottomline{margin-top:19px;font-size:8px;letter-spacing:.08em;gap:8px}}
@media(prefers-reduced-motion:reduce){.wonder-card,.wonder-card-art img,.wonder-card-art:after,.wonder-bottom-star{animation:none!important;transition:none!important}.wonder-card:hover{transform:none}}

/* THE BEGINNING — photographic editorial redesign; content is always readable */
.wonder-journey{position:relative;isolation:isolate;overflow:hidden;padding:clamp(54px,7vw,94px) 0!important;background:#fffaf1!important;color:#2b1740!important}
.wonder-journey:before{content:"";position:absolute;z-index:-1;width:470px;height:470px;right:-245px;top:-235px;border:1px solid #e7d8ef;border-radius:50%;box-shadow:0 0 0 35px #f0e6f733,0 0 0 75px #f0e6f722;pointer-events:none}
.wonder-wrap{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr)!important;gap:clamp(34px,6vw,82px)!important;align-items:center!important;max-width:1190px;margin-inline:auto}
.wonder-photo-stage{position:relative;min-width:0;padding:0 34px 38px 0;animation:wonderRise .75s ease both}
.wonder-photo-main{position:relative;height:clamp(390px,43vw,540px);margin:0;overflow:hidden;border-radius:180px 180px 12px 12px;background:#e8d9f1;box-shadow:0 22px 55px #35164d1a}
.wonder-photo-main:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#211032b8);pointer-events:none}
.wonder-photo-main>img,.wonder-photo-small img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .85s cubic-bezier(.2,.7,.2,1)}
.wonder-photo-stage:hover .wonder-photo-main>img,.wonder-photo-stage:hover .wonder-photo-small img{transform:scale(1.045)}
.wonder-photo-main figcaption{position:absolute;z-index:2;left:23px;right:23px;bottom:22px;display:flex;align-items:center;gap:12px;color:#fff}
.wonder-photo-star{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#ffc83d;color:#321746;font-size:22px;animation:wonderSpin 14s linear infinite}
.wonder-photo-main figcaption b,.wonder-photo-main figcaption small{display:block}
.wonder-photo-main figcaption b{font-size:15px;line-height:1.35;color:#fff}
.wonder-photo-main figcaption small{margin-top:3px;font-size:12px;line-height:1.4;color:#fff1ff}
.wonder-photo-small{position:absolute;z-index:3;right:0;bottom:0;width:43%;height:35%;margin:0;padding:8px;background:#fffaf1;border-radius:8px 8px 28px 8px;box-shadow:0 16px 35px #32174626;transform:rotate(3deg);overflow:hidden}
.wonder-photo-small img{border-radius:4px 4px 20px 4px}
.wonder-photo-sticker{position:absolute;z-index:4;top:32px;left:-20px;display:flex;flex-direction:column;justify-content:center;align-items:center;width:96px;height:96px;border-radius:50%;background:#ffc83d;color:#321746;text-align:center;font-size:11px;line-height:1.4;font-weight:900;letter-spacing:.1em;box-shadow:0 10px 25px #3217461b;transform:rotate(-10deg);animation:wonderBob 5s ease-in-out infinite}
.wonder-photo-sticker i{font-style:normal;font-size:17px;margin-top:2px}
.wonder-photo-orbit{position:absolute;z-index:-1;left:10px;bottom:8px;width:94px;height:94px;border:1px solid #cba9e2;border-radius:50%;box-shadow:0 0 0 13px #cba9e222}
.wonder-story-copy{min-width:0;animation:wonderRise .8s .08s ease both}
.wonder-eyebrow{display:flex;align-items:center;gap:10px;color:#744292;font-size:10px;font-weight:900;letter-spacing:.19em;line-height:1.5}
.wonder-eyebrow i{display:inline-block;width:23px;height:2px;background:#ffc83d;flex:0 0 auto}
.wonder-story-copy h2{margin:18px 0 17px;color:#2b1740!important;font-size:clamp(35px,4.1vw,54px);line-height:1.06;letter-spacing:-.045em;overflow-wrap:normal}
.wonder-story-copy h2 em{display:inline-block;margin-top:4px;font-family:'Lobster Two',cursive;font-style:italic;font-weight:700;color:#8b4db1!important;letter-spacing:-.025em}
.wonder-lead{margin:0 0 12px;color:#493558!important;font-size:16px;line-height:1.8;font-weight:600}
.wonder-body{margin:0;color:#6b5b77!important;font-size:14px;line-height:1.9}
.wonder-story-link{display:inline-flex;align-items:center;gap:12px;margin-top:19px;color:#51256d!important;font-size:13px;font-weight:800;text-decoration:none;border-bottom:1px solid #c8a7da;padding-bottom:7px}
.wonder-story-link span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ffc83d;color:#321746;transition:transform .25s}
.wonder-story-link:hover span{transform:translate(3px,-3px)}
.wonder-timeline{margin-top:28px;border-top:1px solid #e3d6e9}
.wonder-moment{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:15px 0 14px;border-bottom:1px solid #e3d6e9;align-items:start;transition:padding .25s ease}
.wonder-moment:hover{padding-left:7px}
.wonder-moment-no{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d8c1e4;border-radius:50%;background:#f3e9fa;color:#6b388a;font-size:11px;font-weight:900}
.wonder-moment small{display:block;color:#8553a0;font-size:9px;font-weight:900;letter-spacing:.15em;line-height:1.5}
.wonder-moment h3{margin:3px 0 3px;color:#321746!important;font-size:17px;line-height:1.35}
.wonder-moment p{margin:0;color:#6b5b77!important;font-size:12px;line-height:1.65}
body.dark .wonder-journey{background:#160428!important;color:#f7efff!important}
body.dark .wonder-story-copy h2,body.dark .wonder-moment h3{color:#fff!important}
body.dark .wonder-story-copy h2 em{color:#d7a8f1!important}
body.dark .wonder-lead{color:#f0e6f8!important}
body.dark .wonder-body,body.dark .wonder-moment p{color:#d7c7e4!important}
body.dark .wonder-eyebrow,body.dark .wonder-story-link{color:#e6c9f8!important}
body.dark .wonder-timeline,body.dark .wonder-moment{border-color:#4b315e}
body.dark .wonder-moment-no{background:#2a143d;border-color:#65467a;color:#f4dcff}
body.dark .wonder-photo-small{background:#211035}
body.dark .wonder-photo-orbit{border-color:#65467a;box-shadow:0 0 0 13px #65467a22}
@keyframes wonderRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes wonderSpin{to{transform:rotate(360deg)}}
@keyframes wonderBob{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media(max-width:900px){.wonder-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:30px!important}.wonder-photo-stage{padding-right:22px}.wonder-photo-main{height:440px}.wonder-photo-sticker{width:78px;height:78px;font-size:9px;left:-8px}.wonder-story-copy h2{font-size:clamp(32px,4.5vw,43px)}.wonder-lead{font-size:14px}}
@media(max-width:700px){.wonder-journey{padding:48px 0 52px!important}.wonder-wrap{grid-template-columns:1fr!important;gap:31px!important}.wonder-photo-stage{width:100%;max-width:570px;margin:0 auto;padding:0 26px 30px 8px}.wonder-photo-main{height:clamp(300px,90vw,440px);border-radius:130px 130px 10px 10px}.wonder-photo-small{width:39%;height:32%;padding:6px}.wonder-photo-sticker{top:22px;left:0;width:76px;height:76px}.wonder-story-copy h2{font-size:clamp(35px,9vw,47px);margin:14px 0}.wonder-lead{font-size:15px}.wonder-body{font-size:13px}.wonder-timeline{margin-top:22px}}
@media(max-width:420px){.wonder-photo-stage{padding-right:18px}.wonder-photo-main{height:320px}.wonder-photo-main figcaption{left:13px;right:10px;bottom:13px;gap:8px}.wonder-photo-star{flex-basis:34px;width:34px;height:34px;font-size:18px}.wonder-photo-main figcaption b{font-size:12px}.wonder-photo-main figcaption small{font-size:10px}.wonder-photo-sticker{width:67px;height:67px;font-size:8px}.wonder-moment{grid-template-columns:34px minmax(0,1fr);gap:9px}.wonder-moment h3{font-size:16px}}
@media(prefers-reduced-motion:reduce){.wonder-photo-stage,.wonder-story-copy,.wonder-photo-star,.wonder-photo-sticker{animation:none!important}.wonder-photo-main>img,.wonder-photo-small img,.wonder-moment,.wonder-story-link span{transition:none!important}}

/* BEGINNING FEATURE — final, self-contained editorial redesign */
.beginning-feature{position:relative;isolation:isolate;overflow:hidden;padding:68px 0 66px;background:#fffaf1;color:#2b1740}
.beginning-feature:before{content:"✳";position:absolute;z-index:-1;right:-35px;top:10px;color:#f2e5f7;font-size:220px;line-height:1;transform:rotate(12deg);pointer-events:none}
.beginning-top{position:relative;z-index:2}
.beginning-kicker{display:flex;align-items:center;gap:11px;color:#764492;font-size:10px;font-weight:900;letter-spacing:.18em;line-height:1.5}
.beginning-spark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ffc83d;color:#321746;font-size:16px;animation:beginningSpark 8s linear infinite}
.beginning-kicker-line{display:inline-block;width:42px;height:2px;background:#d8b5e7}
.beginning-intro{display:grid;grid-template-columns:1fr minmax(260px,.65fr);align-items:end;gap:40px;margin:18px 0 29px}
.beginning-intro h2{margin:0;color:#2b1740!important;font-size:clamp(38px,5.2vw,68px);font-weight:800;line-height:.99;letter-spacing:-.055em}
.beginning-intro h2 em{color:#8b4db1!important;font-family:'Lobster Two',cursive;font-weight:700;letter-spacing:-.025em;font-style:italic}
.beginning-intro p{max-width:440px;margin:0 0 4px;color:#584465!important;font-size:15px;line-height:1.85;font-weight:500}
.beginning-photo-ribbon{position:relative;display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:10px;padding:0 max(24px,calc((100vw - 1160px)/2));min-height:300px}
.beginning-photo{position:relative;min-width:0;height:clamp(230px,28vw,350px);margin:0;overflow:hidden;background:#321746;border-radius:7px 7px 30px 7px;box-shadow:0 15px 35px #32174617;transform:translateY(0);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.beginning-photo-two{margin-top:28px;border-radius:30px 7px 7px 7px}
.beginning-photo-three{margin-top:10px;border-radius:7px 30px 7px 7px}
.beginning-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.88)}
.beginning-photo:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#1c0d2bd9);pointer-events:none}
.beginning-photo figcaption{position:absolute;z-index:1;left:19px;right:12px;bottom:17px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.15em;text-shadow:0 2px 12px #0008}
.beginning-photo:hover{transform:translateY(-7px);box-shadow:0 24px 45px #32174625}
.beginning-photo:hover img{transform:scale(1.06);filter:saturate(1.08)}
.beginning-photo-note{position:absolute;z-index:3;left:calc(max(24px,(100vw - 1160px)/2) + 22px);top:22px;display:grid;place-content:center;width:86px;height:86px;border:5px solid #fffaf1;border-radius:50%;background:#ffc83d;color:#321746;text-align:center;font-size:10px;font-weight:900;line-height:1.35;letter-spacing:.1em;transform:rotate(-10deg);box-shadow:0 9px 24px #16042828;animation:beginningFloat 4.5s ease-in-out infinite}
.beginning-photo-note b{font-size:17px;line-height:1.1}
.beginning-bottom{display:grid;grid-template-columns:.72fr 1.6fr;gap:clamp(30px,5vw,68px);align-items:start;padding-top:31px}
.beginning-promise{margin:0;padding:5px 0 0 17px;border-left:3px solid #ffc83d;color:#6b5b77!important;font-size:13px;line-height:1.8}
.beginning-promise strong{color:#321746;font-size:15px;font-weight:800}
.beginning-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.beginning-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:0 16px;border-left:1px solid #e1d3e8;min-width:0;transition:transform .3s}
.beginning-step:first-child{border-left:0;padding-left:0}
.beginning-step:hover{transform:translateY(-4px)}
.beginning-step-no{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#efe3f7;color:#6b388a;font-size:10px;font-weight:900}
.beginning-step small{display:block;margin:1px 0 6px;color:#8b4db1;font-size:9px;font-weight:900;letter-spacing:.15em}
.beginning-step h3{margin:0 0 6px;color:#321746!important;font-size:15px;line-height:1.3}
.beginning-step p{margin:0;color:#6b5b77!important;font-size:12px;line-height:1.65}
@keyframes beginningSpark{to{transform:rotate(360deg)}}
@keyframes beginningFloat{0%,100%{translate:0 0;rotate:-10deg}50%{translate:0 -8px;rotate:-5deg}}
body.dark .beginning-feature{background:#160428!important;color:#f7efff}
body.dark .beginning-feature:before{color:#29133b}
body.dark .beginning-kicker{color:#e6c9f8}
body.dark .beginning-intro h2{color:#fff!important}
body.dark .beginning-intro h2 em{color:#d7a8f1!important}
body.dark .beginning-intro p{color:#e0d1e9!important}
body.dark .beginning-promise{color:#d7c7e4!important;border-color:#ffc83d}
body.dark .beginning-promise strong,body.dark .beginning-step h3{color:#fff!important}
body.dark .beginning-step p{color:#d7c7e4!important}
body.dark .beginning-step{border-color:#4b315e}
body.dark .beginning-step-no{background:#2a143d;color:#f4dcff}
.beginning-photo img{max-width:none}
@media(max-width:850px){.beginning-feature{padding:54px 0}.beginning-intro{grid-template-columns:1fr;gap:14px}.beginning-intro p{max-width:620px}.beginning-photo-ribbon{min-height:245px}.beginning-photo{height:clamp(210px,35vw,300px)}.beginning-bottom{grid-template-columns:1fr;gap:24px}.beginning-steps{padding-top:4px}}
@media(max-width:560px){.beginning-feature{padding:43px 0 45px}.beginning-kicker{font-size:9px}.beginning-intro{margin:15px 0 22px;gap:12px}.beginning-intro h2{font-size:clamp(36px,10vw,49px)}.beginning-intro p{font-size:13px;line-height:1.75}.beginning-photo-ribbon{grid-template-columns:1fr 1fr;gap:8px;padding:0 18px;min-height:0}.beginning-photo{height:210px}.beginning-photo-one{grid-column:1/-1;height:240px;margin-right:25px}.beginning-photo-two{margin-top:0}.beginning-photo-three{margin-top:16px}.beginning-photo-note{left:27px;top:12px;width:70px;height:70px;border-width:4px;font-size:8px}.beginning-photo-note b{font-size:14px}.beginning-photo figcaption{left:12px;bottom:12px;font-size:8px;letter-spacing:.1em}.beginning-bottom{padding-top:23px;gap:21px}.beginning-steps{grid-template-columns:1fr;gap:0}.beginning-step,.beginning-step:first-child{padding:13px 0;border-left:0;border-top:1px solid #e1d3e8;grid-template-columns:34px minmax(0,1fr)}.beginning-step:first-child{border-top:0}.beginning-step h3{font-size:15px}.beginning-step p{font-size:12px}.beginning-promise{font-size:12px}}
@media(prefers-reduced-motion:reduce){.beginning-feature *{animation:none!important;transition:none!important}}

/* BEGINNING SECTION — complete alignment reset, photo-led editorial composition */
.beginning-feature{--bf-ink:#321746;--bf-muted:#62516d;--bf-purple:#8750a6;--bf-gold:#ffc83d;position:relative;isolation:isolate;overflow:hidden;padding:clamp(48px,6vw,82px) 0 clamp(44px,5vw,68px)!important;background:#fffaf1!important;color:var(--bf-ink)!important}
.beginning-feature:before{content:""!important;position:absolute;z-index:-1;right:-100px;top:80px;width:320px;height:320px;border:1px solid #eadcf0;border-radius:50%;background:transparent!important;font-size:0!important;pointer-events:none}
.beginning-shell{display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;align-items:center!important;gap:clamp(34px,6vw,84px)!important;max-width:1160px!important;margin:0 auto!important;padding-inline:24px!important}
.beginning-copy{position:relative;z-index:2;min-width:0;max-width:530px;animation:bfRise .75s both}
.beginning-kicker{display:flex!important;align-items:center;gap:10px!important;flex-wrap:wrap;color:#70418b!important;font-size:10px!important;font-weight:900!important;letter-spacing:.14em!important;line-height:1.4!important}
.beginning-spark{flex:0 0 28px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--bf-gold);color:#321746;font-size:15px;animation:bfSpin 16s linear infinite}
.beginning-kicker-line{display:inline-block;flex:0 0 34px;width:34px;height:1px;background:#cdb0dc}
.beginning-overline{margin:25px 0 10px!important;color:#8750a6!important;font-size:11px!important;font-weight:900!important;letter-spacing:.13em!important;text-transform:uppercase}
.beginning-intro{display:block!important;margin:0!important}
.beginning-intro h2,.beginning-copy h2{max-width:560px;margin:0!important;color:#321746!important;font-size:clamp(38px,4.5vw,62px)!important;font-weight:800!important;line-height:1.02!important;letter-spacing:-.045em!important;text-wrap:balance}
.beginning-copy h2 em{color:#8750a6!important;font-family:'Lobster Two',cursive!important;font-size:1.04em!important;font-weight:700!important;letter-spacing:-.025em!important}
.beginning-lead{max-width:510px;margin:22px 0 12px!important;color:#493657!important;font-size:16px!important;font-weight:600!important;line-height:1.8!important}
.beginning-detail{max-width:500px;margin:0!important;color:#62516d!important;font-size:14px!important;font-weight:400!important;line-height:1.9!important}
.beginning-signoff{display:flex;align-items:center;gap:13px;margin-top:25px;padding-top:18px;border-top:1px solid #e7dce9}
.beginning-signoff-star{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#f3e6fa;color:#70418b;font-size:21px;transition:transform .35s}
.beginning-signoff:hover .beginning-signoff-star{transform:rotate(35deg) scale(1.06)}
.beginning-signoff strong,.beginning-signoff small{display:block}
.beginning-signoff strong{color:#321746!important;font-size:14px!important;line-height:1.5}
.beginning-signoff small{margin-top:2px;color:#71617b!important;font-size:12px!important;line-height:1.5}
.beginning-visual{position:relative;min-width:0;min-height:510px;isolation:isolate;animation:bfRise .85s .08s both}
.beginning-hero-photo{position:absolute;inset:0 34px 38px 42px;margin:0;overflow:hidden;border-radius:180px 180px 12px 12px;background:#321746;box-shadow:0 22px 48px #32174620}
.beginning-hero-photo:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,#1a0b28d9);pointer-events:none}
.beginning-hero-photo img,.beginning-inset-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.8,.2,1),filter .5s}
.beginning-hero-photo img{object-position:center}
.beginning-visual:hover .beginning-hero-photo img{transform:scale(1.045);filter:saturate(1.08)}
.beginning-hero-photo figcaption{position:absolute;z-index:1;left:28px;right:24px;bottom:26px;color:#fff!important}
.beginning-hero-photo figcaption span{display:block;margin-bottom:8px;color:#ffe08a!important;font-size:10px!important;font-weight:900;letter-spacing:.16em}
.beginning-hero-photo figcaption strong{display:block;color:#fff!important;font-size:clamp(22px,2.5vw,31px)!important;font-weight:800;line-height:1.2}
.beginning-inset-photo{position:absolute;z-index:2;left:0;bottom:0;width:38%;height:37%;margin:0;padding:7px;background:#fffaf1;border-radius:9px 42px 9px 9px;box-shadow:0 15px 35px #32174626;overflow:hidden;transform:rotate(-3deg);transition:transform .4s}
.beginning-inset-photo img{border-radius:5px 34px 5px 5px}
.beginning-visual:hover .beginning-inset-photo{transform:rotate(0deg) translateY(-5px)}
.beginning-round-note{position:absolute;z-index:3;right:0;top:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:108px;height:108px;border:5px solid #fffaf1;border-radius:50%;background:#ffc83d;color:#321746;text-align:center;box-shadow:0 10px 28px #32174622;transform:rotate(8deg);animation:bfBob 4s ease-in-out infinite}
.beginning-round-note span{font-size:8px;font-weight:900;letter-spacing:.12em;line-height:1.6}
.beginning-round-note b{font-family:'Lobster Two',cursive;font-size:28px;font-weight:700;line-height:1.05}
.beginning-visual-doodle{position:absolute;z-index:2;left:16%;top:14%;color:#ffc83d;font-size:38px;text-shadow:0 2px 10px #32174620;animation:bfBob 3.5s ease-in-out infinite reverse}
.beginning-photo-ribbon,.beginning-bottom,.beginning-intro p,.beginning-photo-note,.beginning-photo,.beginning-step{display:none!important}
.beginning-principles{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;max-width:1160px!important;margin:clamp(38px,5vw,62px) auto 0!important;padding:25px 24px 0!important;border-top:1px solid #e7dce9}
.beginning-principle{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:13px;min-width:0;padding:0 23px;border-left:1px solid #e7dce9;transition:transform .3s}
.beginning-principle:first-child{padding-left:0;border-left:0}
.beginning-principle:last-child{padding-right:0}
.beginning-principle:hover{transform:translateY(-4px)}
.beginning-principle-index{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d8c4e1;border-radius:50%;color:#754590;font-size:11px;font-weight:900;transition:background .3s,color .3s,transform .3s}
.beginning-principle:hover .beginning-principle-index{background:#ffc83d;border-color:#ffc83d;color:#321746;transform:rotate(-8deg)}
.beginning-principle-tag{display:block;margin:1px 0 7px;color:#8750a6!important;font-size:9px!important;font-weight:900;letter-spacing:.15em;line-height:1.5}
.beginning-principle h3{margin:0 0 7px!important;color:#321746!important;font-size:17px!important;font-weight:800!important;line-height:1.3!important}
.beginning-principle p{margin:0!important;color:#62516d!important;font-size:13px!important;font-weight:400!important;line-height:1.75!important}
@keyframes bfRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes bfSpin{to{transform:rotate(360deg)}}
@keyframes bfBob{0%,100%{translate:0 0}50%{translate:0 -8px}}
body.dark .beginning-feature{background:#160428!important;color:#f7efff!important}
body.dark .beginning-feature:before{border-color:#392449}
body.dark .beginning-kicker,body.dark .beginning-overline,body.dark .beginning-principle-tag{color:#e1baf5!important}
body.dark .beginning-copy h2,body.dark .beginning-signoff strong,body.dark .beginning-principle h3{color:#fff!important}
body.dark .beginning-copy h2 em{color:#e1baf5!important}
body.dark .beginning-lead{color:#f0e6f8!important}
body.dark .beginning-detail,body.dark .beginning-signoff small,body.dark .beginning-principle p{color:#d9c9e5!important}
body.dark .beginning-signoff,body.dark .beginning-principles,body.dark .beginning-principle{border-color:#4b315e!important}
body.dark .beginning-signoff-star{background:#2a143d;color:#f4dcff}
body.dark .beginning-principle-index{border-color:#65467a;color:#f4dcff}
body.dark .beginning-inset-photo{background:#160428}
@media(max-width:850px){.beginning-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:30px!important}.beginning-visual{min-height:440px}.beginning-hero-photo{inset:0 20px 30px 25px}.beginning-round-note{width:88px;height:88px;right:-2px;top:22px}.beginning-round-note b{font-size:24px}.beginning-principle{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:0 13px}.beginning-principle-index{width:32px;height:32px}.beginning-principle h3{font-size:15px!important}}
@media(max-width:620px){.beginning-feature{padding:43px 0 42px!important}.beginning-shell{grid-template-columns:minmax(0,1fr)!important;gap:29px!important;padding-inline:20px!important}.beginning-copy{max-width:none}.beginning-overline{margin-top:20px!important}.beginning-copy h2{font-size:clamp(38px,10vw,51px)!important}.beginning-lead{margin-top:17px!important;font-size:15px!important;line-height:1.75!important}.beginning-detail{font-size:13px!important;line-height:1.8!important}.beginning-signoff{margin-top:19px;padding-top:15px}.beginning-visual{width:100%;max-width:510px;min-height:clamp(340px,100vw,455px);margin:0 auto}.beginning-hero-photo{inset:0 18px 28px 26px;border-radius:140px 140px 10px 10px}.beginning-hero-photo figcaption{left:18px;right:14px;bottom:17px}.beginning-hero-photo figcaption span{font-size:9px!important}.beginning-hero-photo figcaption strong{font-size:23px!important}.beginning-inset-photo{width:37%;height:34%;padding:5px}.beginning-round-note{width:78px;height:78px;border-width:4px;top:20px;right:0}.beginning-round-note b{font-size:21px}.beginning-round-note span{font-size:7px}.beginning-visual-doodle{font-size:28px}.beginning-principles{grid-template-columns:minmax(0,1fr)!important;gap:0!important;margin-top:27px!important;padding:8px 20px 0!important}.beginning-principle,.beginning-principle:first-child,.beginning-principle:last-child{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:16px 0;border-left:0;border-top:1px solid #e7dce9}.beginning-principle:first-child{border-top:0}.beginning-principle-index{width:34px;height:34px}.beginning-principle h3{font-size:16px!important;margin-bottom:4px!important}.beginning-principle p{font-size:13px!important}}
@media(prefers-reduced-motion:reduce){.beginning-feature *{animation:none!important;transition:none!important}}

/* YOUR TURN — compact, balanced closing invitation (2026 refresh) */
.finale-section{
  min-height:0 !important;
  display:block !important;
  padding:54px 0 76px !important;
  margin:0 !important;
  overflow:hidden;
  background:var(--ab-cream,#f8f5ef) !important;
  color:#fff;
}
.finale-image{
  z-index:0 !important;
  top:54px !important;
  right:max(24px,calc((100vw - 1120px)/2)) !important;
  left:auto !important;
  bottom:76px !important;
  width:min(41%,470px) !important;
  height:calc(100% - 130px) !important;
  border-radius:18px !important;
  object-fit:cover;
  filter:saturate(.88) !important;
  box-shadow:0 18px 45px rgba(42,20,55,.18);
}
.finale-shade{display:none !important}
.finale-content{
  z-index:1 !important;
  width:min(1120px,calc(100% - 48px)) !important;
  box-sizing:border-box;
  min-height:310px;
  margin:0 auto !important;
  padding:36px clamp(25px,4vw,54px) !important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  background:linear-gradient(125deg,#2c1244 0%,#492568 100%);
  border-radius:18px;
  box-shadow:0 18px 48px rgba(44,18,68,.12);
}
.finale-content .chapter-num{color:#f6d16a;font-size:10px;letter-spacing:.13em;font-weight:800}
.finale-content h2{max-width:570px;font-size:clamp(36px,4.5vw,56px) !important;line-height:1.02 !important;margin:17px 0 13px !important}
.finale-content>p{max-width:490px;font-size:14px;line-height:1.75;color:#f0e8f5;margin:0}
.finale-actions{margin-top:21px;gap:11px}
.finale-actions .btn{min-height:44px}
.finale-stars{margin-top:22px !important;font-size:17px;letter-spacing:.16em}
.finale-side{right:20px;bottom:18px;padding:8px 0 8px 10px;font-size:8px;z-index:2}
/* Keep a clear visual pause between the final invitation and footer. */
.finale-section::after{content:"";display:block;height:0}
@media(max-width:760px){
  .finale-section{padding:34px 0 54px !important}
  .finale-image{top:34px !important;right:24px !important;bottom:auto !important;left:auto !important;width:calc(100% - 48px) !important;height:190px !important;border-radius:15px !important;object-position:center 42%}
  .finale-content{width:calc(100% - 48px) !important;min-height:0;margin:145px auto 0 !important;padding:68px 24px 28px !important;border-radius:15px;}
  .finale-content h2{font-size:clamp(36px,8vw,46px) !important}
  .finale-content>p{font-size:13px;max-width:100%}
  .finale-actions{flex-direction:column;align-items:stretch;width:100%}
  .finale-actions .btn{justify-content:center;text-align:center}
  .finale-stars{margin-top:19px !important}
  .finale-side{display:none}
}
@media(max-width:380px){
  .finale-section{padding-bottom:46px !important}
  .finale-content{width:calc(100% - 32px) !important;margin-top:145px !important;padding:62px 19px 25px !important}
  .finale-image{right:16px !important;width:calc(100% - 32px) !important}
}
@media(prefers-reduced-motion:reduce){.finale-image{transition:none !important}}

/* YOUR TURN — compact centered invitation, no image, balanced gutters */
.finale-section{
  position:relative !important;
  min-height:0 !important;
  height:auto !important;
  padding:34px 0 30px !important;
  margin:0 0 0 !important;
  display:block !important;
  overflow:visible !important;
  background:var(--ab-cream,#f8f5ef) !important;
  box-sizing:border-box !important;
}
.finale-section .finale-image,
.finale-section .finale-shade,
.finale-section .finale-side{display:none !important}
.finale-section .finale-content{
  position:relative !important;
  inset:auto !important;
  width:min(880px,calc(100% - 64px)) !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 auto !important;
  padding:30px 34px 27px !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  border-radius:16px !important;
  background:linear-gradient(125deg,#2c1244 0%,#492568 100%) !important;
  box-shadow:0 12px 30px rgba(44,18,68,.11) !important;
}
.finale-content .chapter-num{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 !important}
.finale-content h2{max-width:100% !important;margin:11px 0 10px !important;font-size:clamp(30px,4vw,44px) !important;line-height:1.08 !important;text-align:center !important}
.finale-content>p{max-width:570px !important;margin:0 auto !important;font-size:14px !important;line-height:1.65 !important;text-align:center !important}
.finale-actions{display:flex !important;justify-content:center !important;align-items:center !important;flex-wrap:wrap !important;margin:17px auto 0 !important;gap:10px !important}
.finale-actions .btn{min-height:42px !important;padding:10px 19px !important}
.finale-stars{margin:13px 0 0 !important;font-size:14px !important;line-height:1 !important}
.finale-section::after{content:"";display:block;height:0}
@media(max-width:760px){
 .finale-section{padding:25px 0 26px !important}
 .finale-section .finale-content{width:calc(100% - 40px) !important;padding:27px 22px 24px !important;margin:0 auto !important;border-radius:14px !important}
 .finale-content h2{font-size:clamp(29px,7.2vw,38px) !important;margin:10px 0 !important}
 .finale-content>p{font-size:13px !important;line-height:1.65 !important}
 .finale-actions{flex-direction:column !important;align-items:stretch !important;width:100% !important;max-width:280px !important;margin-top:15px !important}
 .finale-actions .btn{width:100% !important;justify-content:center !important;text-align:center !important}
 .finale-stars{margin-top:12px !important}
}
@media(max-width:380px){
 .finale-section{padding:22px 0 23px !important}
 .finale-section .finale-content{width:calc(100% - 32px) !important;padding:24px 17px 21px !important}
}
body.dark .finale-section{background:var(--ab-cream,#f8f5ef) !important}
@media(prefers-reduced-motion:reduce){.finale-section *{animation:none !important;transition:none !important}}

/* FINAL ALIGNMENT FIX — match the shared header content gutters exactly */
.finale-section{
  padding:14px 0 22px !important;
  margin:0 !important;
}
/* Keep the testimonial-to-CTA transition tight; the former section padding created a large visual gap. */
.voices-section{padding-bottom:30px !important}
.finale-section .finale-content{
  width:min(1320px,calc(100% - 2 * var(--g))) !important;
  max-width:1320px !important;
  margin:0 auto !important;
  padding:25px var(--g) 23px !important;
  border-radius:16px !important;
}
@media(max-width:760px){
  .voices-section{padding-bottom:24px !important}
  .finale-section{padding:10px 0 16px !important}
  .finale-section .finale-content{
    width:calc(100% - 2 * var(--g)) !important;
    padding:23px 18px 21px !important;
  }
}

/* YOUR TURN — ensure the closing section follows the active theme */
body.dark .finale-section{
  background:#160428 !important;
  color:#f7efff !important;
}
body.dark .finale-section .finale-content{
  background:linear-gradient(125deg,#211035 0%,#321848 100%) !important;
  border:1px solid #4b315e !important;
  box-shadow:0 12px 30px rgba(0,0,0,.24) !important;
}
body.dark .finale-content .chapter-num{color:#e1baf5 !important}
body.dark .finale-content h2{color:#fff !important}
body.dark .finale-content h2 em{color:#e1baf5 !important}
body.dark .finale-content>p{color:#e0d1e9 !important}
body.dark .finale-stars{color:#ffc83d !important}
body.dark .finale-actions .btn-line{color:#f7efff !important;border-color:#b99acb !important}

/* THE BEGINNING — compact editorial timeline, not a second hero */
.beginning-timeline{position:relative!important;isolation:isolate!important;overflow:hidden!important;padding:clamp(46px,5.5vw,72px) 0 clamp(48px,5vw,68px)!important;margin:0!important;background:#fffaf4!important;color:#493657!important}
.beginning-timeline:before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:7px;background:linear-gradient(#ffc83d,#a879c5,#f0b3b9);opacity:.9}
.beginning-timeline-wrap{width:100%!important;max-width:calc(1320px + 2*var(--g))!important;margin-inline:auto!important;padding-inline:var(--g)!important}
.beginning-timeline-heading{margin:0 0 clamp(25px,3.2vw,40px)!important}
.beginning-timeline .beginning-kicker{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 17px!important;color:#754590!important;font-size:10px!important;font-weight:900!important;letter-spacing:.14em!important;line-height:1.4!important}
.beginning-timeline .beginning-spark{width:27px!important;height:27px!important;flex:0 0 27px!important}
.beginning-heading-row{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(260px,.75fr)!important;align-items:end!important;gap:clamp(24px,5vw,76px)!important}
.beginning-timeline .beginning-heading-row h2{max-width:720px!important;margin:0!important;color:#321746!important;font-size:clamp(31px,4vw,49px)!important;font-weight:800!important;line-height:1.08!important;letter-spacing:-.04em!important;text-wrap:balance!important}
.beginning-timeline .beginning-heading-row h2 em{color:#8750a6!important;font-family:'Lobster Two',cursive!important;font-size:1.05em!important;font-weight:700!important;letter-spacing:-.02em!important}
.beginning-heading-row>p{max-width:520px!important;margin:0 0 3px!important;color:#62516d!important;font-size:14px!important;line-height:1.85!important}
.beginning-timeline-track{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(18px,2.5vw,34px)!important;align-items:stretch!important}
.beginning-moment{min-width:0!important;padding:0!important;border:0!important;background:transparent!important;transition:transform .3s ease!important;animation:beginningIn .7s both!important}
.beginning-moment:nth-child(2){animation-delay:.1s!important}.beginning-moment:nth-child(3){animation-delay:.2s!important}
.beginning-moment:hover{transform:translateY(-5px)!important}
.beginning-moment-top{display:flex!important;align-items:center!important;gap:11px!important;margin:0 0 17px!important}
.beginning-moment-no{display:grid!important;place-items:center!important;width:37px!important;height:37px!important;flex:0 0 37px!important;border:1px solid #d8c4e1!important;border-radius:50%!important;color:#754590!important;font-size:11px!important;font-weight:900!important;background:#fff!important;transition:background .3s,color .3s,transform .3s!important}
.beginning-moment:hover .beginning-moment-no{background:#ffc83d!important;border-color:#ffc83d!important;color:#321746!important;transform:rotate(-9deg)!important}
.beginning-moment-line{height:1px!important;flex:1!important;background:#e1d2e7!important}
.beginning-moment-word{color:#8750a6!important;font-size:9px!important;font-weight:900!important;letter-spacing:.12em!important;white-space:nowrap!important}
.beginning-moment-body{display:grid!important;grid-template-columns:clamp(86px,9vw,124px) minmax(0,1fr)!important;gap:17px!important;align-items:start!important;min-width:0!important}
.beginning-moment-body img{width:100%!important;height:124px!important;object-fit:cover!important;border-radius:9px 28px 9px 9px!important;box-shadow:0 9px 22px #32174613!important;transition:transform .5s ease,filter .5s ease!important}
.beginning-moment:hover .beginning-moment-body img{transform:scale(1.035)!important;filter:saturate(1.08)!important}
.beginning-moment-body h3{margin:2px 0 8px!important;color:#321746!important;font-size:clamp(15px,1.45vw,19px)!important;font-weight:800!important;line-height:1.35!important;letter-spacing:-.02em!important}
.beginning-moment-body p{margin:0!important;color:#62516d!important;font-size:13px!important;line-height:1.75!important}
.beginning-timeline-note{display:flex!important;align-items:center!important;gap:13px!important;margin:clamp(27px,3.5vw,43px) 0 0!important;padding:17px 0 0!important;border-top:1px solid #e7dce9!important}
.beginning-timeline-note>span:first-child{display:grid!important;place-items:center!important;flex:0 0 32px!important;width:32px!important;height:32px!important;border-radius:50%!important;background:#f3e6fa!important;color:#70418b!important;font-size:16px!important;animation:bfSpin 18s linear infinite!important}
.beginning-timeline-note p{margin:0!important;color:#71617b!important;font-size:12px!important;line-height:1.6!important}
.beginning-timeline-note strong{color:#321746!important;font-size:13px!important}
.beginning-note-rule{height:1px!important;flex:1!important;margin-left:auto!important;background:linear-gradient(90deg,#d8c4e1,transparent)!important}
body.dark .beginning-timeline{background:#160428!important;color:#f7efff!important}
body.dark .beginning-timeline:before{opacity:.75}
body.dark .beginning-timeline .beginning-kicker,body.dark .beginning-moment-word{color:#e1baf5!important}
body.dark .beginning-timeline .beginning-heading-row h2,body.dark .beginning-moment-body h3,body.dark .beginning-timeline-note strong{color:#fff!important}
body.dark .beginning-timeline .beginning-heading-row h2 em{color:#e1baf5!important}
body.dark .beginning-heading-row>p,body.dark .beginning-moment-body p,body.dark .beginning-timeline-note p{color:#d9c9e5!important}
body.dark .beginning-moment-no{background:#241139!important;border-color:#65467a!important;color:#f4dcff!important}
body.dark .beginning-moment:hover .beginning-moment-no{background:#ffc83d!important;color:#321746!important;border-color:#ffc83d!important}
body.dark .beginning-moment-line,body.dark .beginning-timeline-note{border-color:#4b315e!important}
body.dark .beginning-moment-line{background:#4b315e!important}
body.dark .beginning-timeline-note>span:first-child{background:#2a143d!important;color:#f4dcff!important}
@keyframes beginningIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.beginning-heading-row{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr)!important;gap:25px!important}.beginning-moment-body{grid-template-columns:90px minmax(0,1fr)!important;gap:13px!important}.beginning-moment-body img{height:110px!important}.beginning-moment-word{font-size:8px!important}}
@media(max-width:680px){.beginning-timeline{padding:38px 0 42px!important}.beginning-timeline-wrap{padding-inline:var(--g)!important}.beginning-timeline-heading{margin-bottom:24px!important}.beginning-timeline .beginning-kicker{margin-bottom:13px!important}.beginning-heading-row{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}.beginning-timeline .beginning-heading-row h2{font-size:clamp(30px,8vw,40px)!important}.beginning-heading-row>p{font-size:13px!important;line-height:1.75!important}.beginning-timeline-track{grid-template-columns:minmax(0,1fr)!important;gap:22px!important}.beginning-moment-top{margin-bottom:11px!important}.beginning-moment-body{grid-template-columns:92px minmax(0,1fr)!important;gap:15px!important}.beginning-moment-body img{height:104px!important}.beginning-moment-body h3{font-size:16px!important;margin-top:0!important;margin-bottom:5px!important}.beginning-moment-body p{font-size:13px!important;line-height:1.65!important}.beginning-timeline-note{margin-top:24px!important;padding-top:14px!important}.beginning-note-rule{display:none!important}}
@media(prefers-reduced-motion:reduce){.beginning-timeline *{animation:none!important;transition:none!important}}

/* THE BEGINNING — layered backstage scrapbook, a distinct editorial treatment */
.beginning-scrapbook{position:relative!important;isolation:isolate!important;overflow:hidden!important;padding:clamp(48px,5.2vw,70px) 0 clamp(38px,4vw,54px)!important;margin:0!important;background:#fffaf4!important;color:#493657!important}
.beginning-scrapbook:before{content:"";position:absolute;z-index:-1;right:-70px;top:12%;width:210px;height:210px;border:1px solid #e8d8ee;border-radius:50%;box-shadow:0 0 0 20px #f7edf7,0 0 0 21px #eadcf0;opacity:.7;pointer-events:none}
.beginning-scrapbook-wrap{width:100%!important;max-width:calc(1320px + 2*var(--g))!important;margin-inline:auto!important;padding-inline:var(--g)!important}
.scrapbook-top{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(250px,.62fr)!important;gap:clamp(24px,5vw,74px)!important;align-items:end!important;margin:0 0 clamp(26px,3.5vw,42px)!important}
.scrapbook-kicker{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 13px!important;color:#80509a!important;font-size:10px!important;font-weight:900!important;letter-spacing:.14em!important;line-height:1.4!important}
.scrapbook-kicker-star{display:grid!important;place-items:center!important;width:26px!important;height:26px!important;border-radius:50%!important;background:#f4e6fa!important;color:#7b4a97!important;font-size:15px!important;animation:scrapbookTurn 16s linear infinite!important}
.scrapbook-kicker-divider{height:1px!important;width:34px!important;background:#d9c3e3!important}
.beginning-scrapbook h2{max-width:660px!important;margin:0!important;color:#321746!important;font-size:clamp(34px,4.3vw,56px)!important;font-weight:800!important;line-height:1.02!important;letter-spacing:-.045em!important;text-wrap:balance!important}
.beginning-scrapbook h2 em{color:#8a52a4!important;font-family:'Lobster Two',cursive!important;font-weight:700!important;letter-spacing:-.025em!important}
.scrapbook-intro{max-width:460px!important;margin:0 0 5px!important;padding-left:20px!important;border-left:3px solid #f2c64b!important;color:#66556f!important;font-size:14px!important;line-height:1.85!important}
.scrapbook-stage{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;gap:clamp(22px,3vw,42px)!important;align-items:stretch!important}
.scrapbook-feature{position:relative!important;display:grid!important;grid-template-columns:minmax(0,.88fr) minmax(0,1fr)!important;gap:clamp(18px,2.4vw,32px)!important;align-items:center!important;min-width:0!important;padding:17px!important;background:#f2e8f5!important;border:1px solid #e7d8ec!important;border-radius:5px 26px 5px 26px!important;box-shadow:9px 9px 0 #e7d5eb!important;transition:transform .35s ease,box-shadow .35s ease!important}
.scrapbook-feature:hover{transform:translateY(-4px) rotate(-.25deg)!important;box-shadow:13px 13px 0 #e7d5eb!important}
.scrapbook-photo{position:relative!important;min-width:0!important;overflow:hidden!important;background:#e4d4e9!important}
.scrapbook-photo-main{height:100%!important;min-height:320px!important;border-radius:4px 22px 4px 22px!important}
.scrapbook-photo img,.scrapbook-note-image img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .5s ease!important}
.scrapbook-feature:hover .scrapbook-photo img,.scrapbook-note:hover img{transform:scale(1.055)!important;filter:saturate(1.08)!important}
.scrapbook-photo-tag{position:absolute!important;left:12px!important;bottom:12px!important;padding:8px 10px!important;background:#fffaf1!important;color:#59336c!important;font-size:9px!important;font-weight:900!important;letter-spacing:.1em!important;border-radius:3px!important}
.scrapbook-feature-copy{min-width:0!important;padding:12px 8px 12px 0!important}
.scrapbook-handmark{display:inline-block!important;margin:0 0 15px!important;color:#8750a6!important;font-family:'Lobster Two',cursive!important;font-size:17px!important;font-style:italic!important;transform:rotate(-2deg)!important}
.scrapbook-feature-copy h3{margin:0 0 12px!important;color:#321746!important;font-size:clamp(22px,2.4vw,31px)!important;font-weight:800!important;line-height:1.13!important;letter-spacing:-.035em!important}
.scrapbook-feature-copy p{margin:0!important;color:#62516d!important;font-size:13px!important;line-height:1.85!important}
.scrapbook-signoff{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:22px 0 0!important;padding-top:14px!important;border-top:1px dashed #cbb1d7!important;color:#70418b!important;font-size:11px!important;font-weight:800!important;letter-spacing:.01em!important}
.scrapbook-signoff b{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;flex:0 0 30px!important;border-radius:50%!important;background:#ffc83d!important;color:#321746!important;font-size:16px!important;transition:transform .3s ease!important}
.scrapbook-feature:hover .scrapbook-signoff b{transform:rotate(45deg)!important}
.scrapbook-side-notes{display:grid!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:17px!important;min-width:0!important}
.scrapbook-note{display:grid!important;grid-template-columns:minmax(115px,.7fr) minmax(0,1fr)!important;gap:18px!important;align-items:center!important;min-width:0!important;padding:13px!important;border-radius:22px 5px 22px 5px!important;border:1px solid #e9dce9!important;background:#fff!important;box-shadow:0 8px 22px #3217460b!important;transition:transform .3s ease,box-shadow .3s ease!important}
.scrapbook-note:hover{transform:translateX(4px)!important;box-shadow:0 13px 27px #32174614!important}
.scrapbook-note-gold{background:#fff5d9!important;border-color:#f0dfad!important}
.scrapbook-note-image{position:relative!important;height:100%!important;min-height:135px!important;overflow:hidden!important;border-radius:15px 3px 15px 3px!important;background:#e6d5ed!important}
.scrapbook-note-image>span{position:absolute!important;top:8px!important;left:8px!important;display:grid!important;place-items:center!important;width:27px!important;height:27px!important;border-radius:50%!important;background:#fffaf2!important;color:#71428a!important;font-size:10px!important;font-weight:900!important;box-shadow:0 2px 8px #32174618!important}
.scrapbook-note-copy{min-width:0!important;padding:5px 5px 5px 0!important}
.scrapbook-note-copy>span{display:block!important;margin:0 0 8px!important;color:#8750a6!important;font-size:9px!important;font-weight:900!important;letter-spacing:.13em!important}
.scrapbook-note-gold .scrapbook-note-copy>span{color:#8b6610!important}
.scrapbook-note-copy h3{margin:0 0 7px!important;color:#321746!important;font-size:clamp(16px,1.5vw,20px)!important;font-weight:800!important;line-height:1.22!important;letter-spacing:-.02em!important}
.scrapbook-note-copy p{margin:0!important;color:#65556e!important;font-size:12px!important;line-height:1.7!important}
.scrapbook-bottom{display:flex!important;align-items:center!important;gap:13px!important;margin:clamp(28px,3.2vw,39px) 0 0!important;padding:15px 0 0!important;border-top:1px solid #e8dce9!important}
.scrapbook-bottom-star{display:grid!important;place-items:center!important;width:31px!important;height:31px!important;flex:0 0 31px!important;border-radius:50%!important;background:#ffc83d!important;color:#321746!important;font-size:17px!important;animation:scrapbookTurn 20s linear infinite!important}
.scrapbook-bottom p{margin:0!important;color:#71617b!important;font-size:12px!important;line-height:1.6!important}
.scrapbook-bottom p strong{color:#321746!important;font-size:13px!important}
.scrapbook-bottom-line{height:1px!important;flex:1!important;background:linear-gradient(90deg,#d8c4e1,transparent)!important}
.scrapbook-bottom-stamp{display:block!important;flex:0 0 auto!important;padding:7px 9px!important;border:1px solid #d9c5e2!important;color:#86539c!important;font-size:8px!important;font-weight:900!important;letter-spacing:.12em!important;line-height:1.45!important;text-align:center!important;transform:rotate(3deg)!important}
body.dark .beginning-scrapbook{background:#160428!important;color:#f7efff!important}
body.dark .beginning-scrapbook:before{border-color:#4b315e!important;box-shadow:0 0 0 20px #211035,0 0 0 21px #4b315e!important}
body.dark .scrapbook-kicker,body.dark .scrapbook-handmark,body.dark .scrapbook-note-copy>span{color:#e1baf5!important}
body.dark .scrapbook-kicker-star{background:#2a143d!important;color:#f4dcff!important}
body.dark .scrapbook-kicker-divider{background:#65467a!important}
body.dark .beginning-scrapbook h2,body.dark .scrapbook-feature-copy h3,body.dark .scrapbook-note-copy h3,body.dark .scrapbook-bottom p strong{color:#fff!important}
body.dark .beginning-scrapbook h2 em{color:#e1baf5!important}
body.dark .scrapbook-intro,body.dark .scrapbook-feature-copy p,body.dark .scrapbook-note-copy p,body.dark .scrapbook-bottom p{color:#d9c9e5!important}
body.dark .scrapbook-intro{border-color:#ffc83d!important}
body.dark .scrapbook-feature{background:#241139!important;border-color:#4b315e!important;box-shadow:8px 8px 0 #321848!important}
body.dark .scrapbook-feature:hover{box-shadow:12px 12px 0 #321848!important}
body.dark .scrapbook-photo-tag{background:#321746!important;color:#fff!important}
body.dark .scrapbook-signoff{color:#e1baf5!important;border-color:#65467a!important}
body.dark .scrapbook-note{background:#211035!important;border-color:#4b315e!important;box-shadow:0 8px 22px #0003!important}
body.dark .scrapbook-note-gold{background:#302313!important;border-color:#6d5428!important}
body.dark .scrapbook-note-gold .scrapbook-note-copy>span{color:#f5d878!important}
body.dark .scrapbook-note-image>span{background:#321746!important;color:#fff!important}
body.dark .scrapbook-bottom{border-color:#4b315e!important}
body.dark .scrapbook-bottom-stamp{border-color:#65467a!important;color:#e1baf5!important}
@keyframes scrapbookTurn{to{transform:rotate(360deg)}}
@media(max-width:900px){.scrapbook-stage{grid-template-columns:minmax(0,1fr)!important}.scrapbook-feature{grid-template-columns:minmax(0,.8fr) minmax(0,1fr)!important}.scrapbook-photo-main{min-height:260px!important}.scrapbook-side-notes{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important}.scrapbook-note{grid-template-columns:minmax(0,1fr)!important;align-content:start!important}.scrapbook-note-image{height:145px!important;min-height:145px!important}.scrapbook-note-copy{padding:3px 5px 5px!important}}
@media(max-width:640px){.beginning-scrapbook{padding:39px 0 38px!important}.beginning-scrapbook-wrap{padding-inline:var(--g)!important}.scrapbook-top{grid-template-columns:minmax(0,1fr)!important;gap:14px!important;margin-bottom:24px!important}.beginning-scrapbook h2{font-size:clamp(33px,9vw,43px)!important}.scrapbook-intro{font-size:13px!important;line-height:1.75!important}.scrapbook-feature{grid-template-columns:minmax(0,1fr)!important;gap:0!important;padding:11px!important;border-radius:5px 20px 5px 20px!important}.scrapbook-photo-main{height:210px!important;min-height:210px!important}.scrapbook-feature-copy{padding:19px 9px 11px!important}.scrapbook-handmark{margin-bottom:10px!important}.scrapbook-feature-copy h3{font-size:24px!important}.scrapbook-feature-copy p{font-size:13px!important}.scrapbook-signoff{margin-top:16px!important}.scrapbook-side-notes{grid-template-columns:minmax(0,1fr)!important;gap:12px!important;margin-top:14px!important}.scrapbook-note{grid-template-columns:112px minmax(0,1fr)!important;gap:13px!important;padding:10px!important;border-radius:17px 4px 17px 4px!important}.scrapbook-note-image{height:112px!important;min-height:112px!important}.scrapbook-note-copy h3{font-size:16px!important}.scrapbook-note-copy p{font-size:12px!important}.scrapbook-bottom{gap:10px!important;margin-top:24px!important;padding-top:13px!important}.scrapbook-bottom-line{display:none!important}.scrapbook-bottom-stamp{margin-left:auto!important;font-size:7px!important}}
@media(max-width:370px){.scrapbook-note{grid-template-columns:90px minmax(0,1fr)!important;gap:10px!important}.scrapbook-note-image{height:100px!important;min-height:100px!important}.scrapbook-note-copy p{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){.beginning-scrapbook *{animation:none!important;transition:none!important}}

/* Header navigation visibility and section-link behavior */
html{scroll-padding-top:90px} section[id]{scroll-margin-top:88px}
.menu{min-width:0;gap:2px}.menu>a,.dd>button{padding:10px clamp(6px,.75vw,11px);font-size:clamp(11px,.88vw,13px)}
@media(min-width:981px) and (max-width:1120px){.nav{gap:10px}.logo small{font-size:8px}.menu>a{padding-inline:6px;font-size:11px}.logo b{font-size:21px}}
@media(max-width:980px){.menu{z-index:100;max-height:calc(100vh - 76px);overflow-y:auto}.menu>a{font-size:14px;width:100%;padding:11px 12px}}

/* Header navigation fix: keep every page link visible on desktop and in the mobile drawer */
@media (min-width:1121px){
  .nav{grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(10px,1.5vw,22px)}
  .menu{display:flex;justify-content:center;gap:0;min-width:0;flex-wrap:nowrap}
  .menu>a{padding:10px clamp(5px,.62vw,10px);font-size:clamp(11px,.82vw,13px)}
  .burger{display:none}
}
@media (max-width:1120px){
  .nav{grid-template-columns:minmax(0,1fr) auto;gap:12px;position:relative}
  .burger{display:grid}
  .menu{display:none;position:absolute;top:76px;left:0;right:0;z-index:120;background:#2a0a45;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:5px;padding:16px var(--g) 20px;max-height:calc(100vh - 76px);overflow-y:auto;box-shadow:0 18px 28px rgba(20,5,35,.22)}
  .menu.open{display:flex}
  .menu>a{display:block;width:100%;padding:12px 14px;font-size:14px;white-space:normal}
}

/* Screenshot-matched Lil Spotlight header */
header{position:sticky;top:0;z-index:200;background:#35164c;color:#fff;box-shadow:0 2px 0 rgba(255,255,255,.05)}
header .nav{min-height:60px;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:clamp(10px,1.5vw,22px)}
header .logo{display:flex;align-items:center;gap:8px;min-width:0;text-decoration:none;color:#fff}
header .logo img{width:52px;height:42px;object-fit:contain}
header .logo span{display:flex;flex-direction:column;line-height:1.05;white-space:nowrap}
header .logo b{font-family:Georgia,serif;font-style:italic;font-size:21px;font-weight:800}
header .logo small{font-size:9px;color:#ffc93c;font-weight:700;letter-spacing:.1px}
header .menu{display:flex;align-items:center;justify-content:center;gap:2px;min-width:0}
header .menu>a,header .nav-drop-trigger{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:12px;color:#fff;text-decoration:none;font-size:14px;font-weight:750;white-space:nowrap;transition:background .2s,color .2s}
header .menu>a:hover,header .nav-drop-trigger:hover{background:rgba(255,255,255,.09)}
header .menu>a.active{background:#54304f;color:#ffd03e}
header .nav-drop-trigger.active,header .nav-dropdown>.nav-drop-trigger[aria-current="page"]{background:#54304f;color:#ffd03e}
header .nav-dropdown>.nav-drop-trigger.active .nav-chevron{color:#ffd03e}
header .nav-dropdown{position:relative}
header .nav-dropdown-panel{display:none;position:absolute;top:100%;left:0;min-width:175px;padding:8px;background:#35164c;border:1px solid rgba(255,255,255,.14);border-radius:12px;box-shadow:0 14px 30px #180a2460}
header .nav-dropdown:hover .nav-dropdown-panel,header .nav-dropdown:focus-within .nav-dropdown-panel{display:grid}
header .nav-dropdown-panel a{padding:10px 12px;color:#fff;text-decoration:none;border-radius:8px;font-size:13px}
header .nav-dropdown-panel a:hover{background:rgba(255,255,255,.1)}
header .tools{display:flex;align-items:center;gap:8px}
header .tools .pill{width:42px;height:42px;min-width:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #76508d;border-radius:50%;color:#fff;background:transparent;text-decoration:none;font-size:11px;font-weight:750;padding:0}
header .tools .login-pill{width:auto;min-width:79px;height:42px;border:0;border-radius:24px;background:#ffca3b;color:#28133b;font-size:13px;padding:0 23px}
header .burger{display:none!important}
@media(max-width:1120px){header .nav{grid-template-columns:minmax(0,1fr) auto}header .burger{display:inline-flex!important}header .menu{display:none;position:absolute;top:60px;left:0;right:0;z-index:220;background:#35164c;flex-direction:column;align-items:stretch;gap:4px;padding:14px 20px 20px;max-height:calc(100vh - 60px);overflow:auto;box-shadow:0 16px 26px #180a2440}header .menu.open{display:flex}header .menu>a,header .nav-drop-trigger{width:100%;justify-content:space-between;padding:12px 14px}header .nav-dropdown{width:100%}header .nav-dropdown-panel{position:static;box-shadow:none;border:0;padding:0 0 6px 12px;background:transparent}header .nav-dropdown:hover .nav-dropdown-panel{display:none}header .nav-dropdown:focus-within .nav-dropdown-panel{display:grid}header .tools{justify-self:end}}
@media(max-width:560px){header .logo img{width:42px;height:38px}header .logo b{font-size:17px}header .logo small{font-size:8px}header .tools{gap:5px}header .tools .pill{width:35px;height:35px;min-width:35px}header .tools .login-pill{min-width:56px;padding:0 12px;height:35px;font-size:12px}}


/* Lil Spotlight header alignment polish */
header .nav{
  display:grid;
  grid-template-columns:minmax(235px,1fr) auto minmax(235px,1fr);
  align-items:center;
}
header .logo{justify-self:start;display:flex;align-items:center;gap:8px}
header .logo b,
.site-footer .footer-brand .logo b{
  font-family:'Lobster Two',cursive !important;
  font-style:italic;
  font-weight:700;
  letter-spacing:0;
  line-height:1;
}
header .logo b{font-size:25px}
header .logo small{font-size:9px;line-height:1.2;margin-top:3px}
header .menu{grid-column:2;justify-self:center;display:flex;align-items:center;justify-content:center;gap:2px;white-space:nowrap}
header .nav-dropdown{display:flex;align-items:center;align-self:stretch}
header .nav-drop-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.2}
header .nav-chevron{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  flex:0 0 12px;
  width:12px;
  height:14px;
  margin:0;
  padding:0;
  font-size:0;
  line-height:0;
  vertical-align:middle;
  transform:none;
}
/* Crisp down-chevron: centered on the text line, never baseline-dropped. */
header .nav-chevron::before{
  content:"";
  display:block;
  width:5px;
  height:5px;
  border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;
  transform:translateY(-1.5px) rotate(45deg);
  box-sizing:border-box;
}
header .tools{grid-column:3;justify-self:end;align-items:center}
@media(max-width:1120px){
  header .nav{grid-template-columns:minmax(0,1fr) auto}
  header .menu{grid-column:auto;justify-self:stretch;align-items:stretch;white-space:normal}
  header .logo b{font-size:22px}
  header .logo small{font-size:8.5px}
}
@media(max-width:560px){
  header .logo b{font-size:18px}
}


/* Final dropdown alignment correction */
header .nav-drop-trigger{align-items:center;vertical-align:middle}
header .nav-drop-trigger .nav-chevron{align-self:center}


/* =========================================================
   PROGRAMS PAGE (pages/programs.html) — all classes prefixed pr-
   ========================================================= */
.pr{--acc:#8a46bd;--lil:#f6efff;--deep:#24093c;--c:#d9c0f5;overflow:hidden}
body.dark .pr{--acc:#d9b8ff;--lil:#1d0a33}
.pr .pr-c1{--c:#d9c0f5}.pr .pr-c2{--c:#ffdc7b}.pr .pr-c3{--c:#bde9d5}.pr .pr-c4{--c:#ffcddd}
.pr em{font-family:'Lobster Two',cursive;font-style:italic;font-weight:700;color:var(--acc);letter-spacing:-.02em}
.pr-kick{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--acc)}
.pr-kick i{width:24px;height:2px;background:currentColor;border-radius:2px}
.pr-sec{padding:clamp(52px,6vw,88px) 0}.pr-soft{background:var(--lil)}
.pr-head{display:grid;grid-template-columns:1fr minmax(0,380px);gap:8px 48px;align-items:end;margin-bottom:42px}
.pr-head .pr-kick,.pr-head h2{grid-column:1}.pr-head h2{font-size:clamp(34px,4.4vw,56px);letter-spacing:-.05em;line-height:1.05;margin-top:12px}
.pr-head p{grid-column:2;grid-row:1/3;color:var(--mut);font-size:15px;line-height:1.8}
.pr-link{font-size:14px;font-weight:700;color:var(--ink);display:inline-flex;align-items:center;gap:8px}.pr-link svg{width:15px;transition:transform .25s}.pr-link:hover{color:var(--acc)}.pr-link:hover svg{transform:translateX(5px)}
.pr-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:28px}
body.dark .pr .btn-pur{background:var(--gold);color:#24093c}
.pr img.pr-noimg{visibility:hidden}
.pr-sp{position:absolute;width:26px;height:26px;fill:var(--gold);animation:pr-twinkle 3s ease-in-out infinite}
@keyframes pr-twinkle{50%{transform:scale(1.5) rotate(25deg);opacity:.5}}

/* 1 hero: split with floating photo collage */
.pr-hero{position:relative;background:var(--lil);padding:clamp(48px,6vw,88px) 0 clamp(64px,7vw,104px)}
.pr-hero>.pr-sp:nth-of-type(1){top:16%;left:46%}.pr-hero>.pr-sp:nth-of-type(2){bottom:14%;left:6%;animation-delay:-1s}.pr-hero>.pr-sp:nth-of-type(3){top:10%;right:6%;animation-delay:-2s}
.pr-blob{position:absolute;right:-8%;top:6%;width:min(52vw,640px);aspect-ratio:1;background:linear-gradient(135deg,#ffdc7b,#ffcddd 55%,#d9c0f5);opacity:.55;filter:blur(2px);animation:pr-morph 12s ease-in-out infinite alternate}
@keyframes pr-morph{0%{border-radius:60% 40% 55% 45%/50% 60% 40% 50%}100%{border-radius:40% 60% 45% 55%/60% 40% 60% 40%;transform:rotate(25deg)}}
.pr-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,80px);align-items:center}
.pr-hero h1{font-size:clamp(42px,5.6vw,78px);line-height:1;letter-spacing:-.055em;margin:20px 0}
.pr-w{display:inline-block;animation:pr-rise .8s cubic-bezier(.2,.7,.2,1) both}
.pr-w:nth-child(1){animation-delay:.05s}.pr-w:nth-child(2){animation-delay:.12s}.pr-w:nth-child(3){animation-delay:.19s}.pr-w:nth-child(4){animation-delay:.26s}.pr-w:nth-child(5){animation-delay:.33s}.pr-w:nth-child(6){animation-delay:.4s}.pr-w:nth-child(7){animation-delay:.47s}
@keyframes pr-rise{from{opacity:0;transform:translateY(60%) rotate(4deg)}}
.pr-hero-copy>p{max-width:520px;color:var(--mut);line-height:1.85;animation:pr-rise .9s .6s both}
.pr-hero-copy .pr-actions{animation:pr-rise .9s .75s both}
.pr-stats{display:flex;flex-wrap:wrap;gap:34px;margin-top:40px;animation:pr-rise .9s .9s both}
.pr-stats b{display:block;font-size:34px;color:var(--acc);line-height:1}.pr-stats span{font-size:12px;color:var(--mut)}
.pr-collage{position:relative;aspect-ratio:1/1.02}
.pr-ph{position:absolute;overflow:hidden;box-shadow:0 22px 50px #2b17402e;border:5px solid var(--white)}.pr-ph img{width:100%;height:100%;object-fit:cover}
.pr-ph1{inset:6% 8% 14% 14%;border-radius:36% 64% 40% 60%/48% 40% 60% 52%;animation:pr-float 7s ease-in-out infinite alternate}
.pr-ph2{width:34%;aspect-ratio:1;border-radius:50%;top:0;right:0;animation:pr-float 5s -1s ease-in-out infinite alternate}
.pr-ph3{width:40%;aspect-ratio:1;border-radius:28px;bottom:0;left:0;animation:pr-float 6s -3s ease-in-out infinite alternate}
@keyframes pr-float{to{transform:translateY(-14px) rotate(1.5deg)}}
.pr-chip{position:absolute;right:4%;bottom:8%;display:flex;gap:10px;align-items:center;background:var(--card);padding:12px 18px;border-radius:999px;box-shadow:0 14px 30px #2b174030;font-size:13px;color:var(--ink);animation:pr-float 4s ease-in-out infinite alternate}
.pr-chip span{width:30px;height:30px;border-radius:50%;background:var(--gold);color:#24093c;display:grid;place-items:center;font-size:14px}

/* 2 ages: open editorial columns, ring photos */
.pr-ages{display:grid;grid-template-columns:repeat(4,1fr)}
.pr-age{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 clamp(14px,2vw,30px);position:relative}
.pr-age+.pr-age{border-inline-start:1px solid var(--line)}
.pr-big{font-size:clamp(34px,3.6vw,50px);font-weight:800;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--acc);line-height:1;transition:.4s}
.pr-age:hover .pr-big{color:var(--c);-webkit-text-stroke-color:var(--c)}
.pr-ring{position:relative;width:min(190px,100%);aspect-ratio:1;margin:22px 0}
.pr-ring:before{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px dashed var(--c);animation:pr-spin 24s linear infinite}
.pr-ring:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--c);z-index:-1;transform:translate(8px,8px)}
.pr-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid var(--white);transition:transform .6s}.pr-age:hover .pr-ring img{transform:scale(1.08) rotate(-3deg)}
@keyframes pr-spin{to{transform:rotate(360deg)}}
.pr-age h3{font-size:22px;margin-bottom:8px}.pr-age p{font-size:14px;color:var(--mut);line-height:1.7}.pr-age small{margin:12px 0 16px;font-size:12px;font-weight:600;color:var(--ink)}
.pr-ages .reveal:nth-child(2){transition-delay:.1s}.pr-ages .reveal:nth-child(3){transition-delay:.2s}.pr-ages .reveal:nth-child(4){transition-delay:.3s}

/* 3 explore: index list + animated panel */
.pr-explore{display:grid;grid-template-columns:260px 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.pr-index{display:flex;flex-direction:column;border-top:1px solid var(--line);position:sticky;top:110px}
.pr-index button{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:6px;text-align:start;font-family:inherit;background:none;border:0;border-bottom:1px solid var(--line);padding:20px 4px;cursor:pointer;color:var(--mut);position:relative;transition:padding .35s,color .3s}
.pr-index button:after{content:"";position:absolute;left:0;bottom:-1px;height:3px;width:100%;background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform .45s}
.pr-index button b{font-size:12px}.pr-index button span{font-size:19px;font-weight:700}.pr-index button small{font-size:12px}
.pr-index button:hover,.pr-index button[aria-selected=true]{color:var(--ink);padding-inline-start:14px}.pr-index button[aria-selected=true]:after{transform:scaleX(1)}
.pr-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:center}.pr-panel[hidden]{display:none}
.pr-pphoto{position:relative;aspect-ratio:4/5;animation:pr-grow .9s cubic-bezier(.2,.7,.2,1)}
.pr-shape{position:absolute;inset:-5% -6% 5% 8%;background:var(--c);border-radius:42% 58% 50% 50%/55% 45% 55% 45%;animation:pr-morph 9s ease-in-out infinite alternate}
.pr-pphoto img{position:relative;width:100%;height:100%;object-fit:cover;border-radius:200px 200px 28px 28px;box-shadow:0 22px 50px #2b174033}
@keyframes pr-grow{from{clip-path:circle(0% at 50% 60%);transform:scale(.92)}to{clip-path:circle(80% at 50% 50%)}}
.pr-pbody>*{animation:pr-rise .7s both}.pr-pbody>*:nth-child(2){animation-delay:.08s}.pr-pbody>*:nth-child(3){animation-delay:.16s}.pr-pbody>*:nth-child(4){animation-delay:.24s}.pr-pbody>*:nth-child(5){animation-delay:.32s}.pr-pbody>*:nth-child(6){animation-delay:.4s}
.pr-pbody h3{font-size:clamp(32px,3.6vw,48px);margin:12px 0 10px}.pr-pbody>p{color:var(--mut);line-height:1.8}
.pr-learn{list-style:none;margin:20px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.pr-learn li{font-size:14px;font-weight:600;color:var(--ink);display:flex;gap:10px;align-items:center}
.pr-learn li:before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;background:var(--c);color:#2b1740;font-size:11px;display:grid;place-items:center}
.pr-facts{display:flex;flex-wrap:wrap;gap:0;margin:0;border-top:1px solid var(--line);padding-top:16px}
.pr-facts div{padding:0 22px;border-inline-start:1px solid var(--line)}.pr-facts div:first-child{padding-inline-start:0;border:0}
.pr-facts dt{font-size:10px;letter-spacing:.12em;color:var(--mut);font-weight:700}.pr-facts dd{margin:2px 0 0;font-size:14px;font-weight:700;color:var(--ink)}

/* 4 sessions: compact, neat session cards */
.pr-note{margin-top:20px;font-size:12px;color:var(--mut)}
/* ===== Programs: Enrol in a session — stage + theatre tickets ===== */
.pr-sched{position:relative;background:radial-gradient(ellipse 70% 55% at 50% -5%,#5a22a6 0,#35106a 48%,#1d0735 100%);overflow:hidden}
.pr-sched>.wrap{position:relative;z-index:1}
.pr-beams{position:absolute;inset:0;pointer-events:none;-webkit-mask-image:linear-gradient(#000,transparent 62%);mask-image:linear-gradient(#000,transparent 62%);background:conic-gradient(from 166deg at 18% -12%,#ffc83d2e 0 26deg,#0000 26deg),conic-gradient(from 168deg at 84% -12%,#ffffff1f 0 24deg,#0000 24deg);animation:pr-beam 7s ease-in-out infinite alternate}
@keyframes pr-beam{to{transform:translateX(3%) skewX(-2deg);opacity:.8}}
.pr-sched .pr-head h2{color:#fff}.pr-sched .pr-head em,.pr-sched .pr-kick{color:var(--gold)}.pr-sched .pr-head p{color:#d8c9ee}
.pr-sched-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:30px}
.pr-chips{display:flex;flex-wrap:wrap;gap:8px}
.pr-chips button{font:600 13px 'Poppins',sans-serif;padding:9px 18px;border-radius:999px;border:1.5px solid #ffffff45;background:#ffffff0f;color:#fff;cursor:pointer;transition:.25s}
.pr-chips button:hover{border-color:var(--gold);transform:translateY(-2px)}
.pr-chips button.is-on{background:var(--gold);color:#24093c;border-color:var(--gold)}
.pr-count-line{font-size:13px;color:#d8c9ee}.pr-count-line b{color:var(--gold);font-size:16px}
.pr-sgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 24px}
.pr-sc{--stub:152px;--mx:var(--stub);position:relative;display:grid;grid-template-columns:var(--stub) 1fr;background:#fffaf1;color:#24093c;border-radius:20px;
-webkit-mask:radial-gradient(circle 13px at var(--mx) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 13px at var(--mx) 100%,#0000 97%,#000) bottom/100% 51% no-repeat;
mask:radial-gradient(circle 13px at var(--mx) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 13px at var(--mx) 100%,#0000 97%,#000) bottom/100% 51% no-repeat;
opacity:0;transform:translateY(26px) rotate(-1.2deg);transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1)}
html[dir=rtl] .pr-sc{--mx:calc(100% - var(--stub))}
.pr-sgrid.in-view .pr-sc{opacity:1;transform:none}
.pr-sgrid .pr-sc:nth-child(2){transition-delay:.08s}.pr-sgrid .pr-sc:nth-child(3){transition-delay:.16s}.pr-sgrid .pr-sc:nth-child(4){transition-delay:.24s}.pr-sgrid .pr-sc:nth-child(5){transition-delay:.32s}.pr-sgrid .pr-sc:nth-child(6){transition-delay:.4s}
.pr-sgrid.in-view .pr-sc:hover{transform:translateY(-7px) rotate(-.7deg);transition-delay:0s}
.pr-sc[hidden]{display:none}
.pr-tk-stub{position:relative;overflow:hidden;background:var(--c);display:flex;flex-direction:column;align-items:flex-start;padding:22px 18px 18px;transition:filter .3s}
.pr-sc:hover .pr-tk-stub{filter:saturate(1.35) brightness(.97)}
.pr-tk-sp{position:absolute;width:120px;height:120px;right:-34px;bottom:-30px;fill:#fff;opacity:.4;transform:rotate(14deg);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.pr-sc:hover .pr-tk-sp{transform:rotate(60deg) scale(1.12)}
.pr-day{position:relative;font-family:'Baloo 2','Poppins',sans-serif;font-weight:800;font-size:clamp(40px,3.7vw,50px);line-height:.85;letter-spacing:-.05em;color:#24093c}
.pr-day abbr{text-decoration:none;cursor:default}
.pr-len{position:relative;margin-top:12px;font-size:12px;font-weight:700;padding:4px 11px;border-radius:999px;background:#24093c;color:#fff}
.pr-admit{position:relative;margin-top:auto;padding-top:18px;font-family:'Lobster Two',cursive;font-style:italic;font-weight:700;font-size:17px;color:#24093c;opacity:.75}
.pr-tk-body{display:flex;flex-direction:column;padding:20px 22px 20px 26px;border-inline-start:2px dashed #24093c40}
.pr-sc .pr-sc-age{margin:0 0 4px;font-size:12px;font-weight:600;color:#6b5a80}
.pr .pr-sc h3{font-size:clamp(22px,2.2vw,27px);letter-spacing:-.04em;color:#24093c}
.pr-sc .pr-sc-time{margin:6px 0 16px;font-size:15px;font-weight:700;color:#24093c;display:flex;align-items:center;gap:8px}
.pr-sc .pr-sc-time:before{content:"";width:9px;height:9px;border-radius:50%;border:2px solid #24093c}
.pr-seats{display:flex;flex-wrap:wrap;gap:5px;max-width:280px}
.pr-seats i,.pr-lg i{display:block;width:12px;height:12px;border-radius:50% 50% 3px 3px;border:1.5px solid #24093c80;background:var(--c,#d9c0f5)}
.pr-seats i.t,.pr-lg i.t{background:#24093c;border-color:#24093c}
.pr-sgrid.in-view .pr-seats i{animation:pr-pop .4s both}
.pr-sgrid.in-view .pr-seats i:nth-child(1){animation-delay:0.50s}.pr-sgrid.in-view .pr-seats i:nth-child(2){animation-delay:0.55s}.pr-sgrid.in-view .pr-seats i:nth-child(3){animation-delay:0.60s}.pr-sgrid.in-view .pr-seats i:nth-child(4){animation-delay:0.65s}.pr-sgrid.in-view .pr-seats i:nth-child(5){animation-delay:0.70s}.pr-sgrid.in-view .pr-seats i:nth-child(6){animation-delay:0.75s}.pr-sgrid.in-view .pr-seats i:nth-child(7){animation-delay:0.80s}.pr-sgrid.in-view .pr-seats i:nth-child(8){animation-delay:0.85s}.pr-sgrid.in-view .pr-seats i:nth-child(9){animation-delay:0.90s}.pr-sgrid.in-view .pr-seats i:nth-child(10){animation-delay:0.95s}.pr-sgrid.in-view .pr-seats i:nth-child(11){animation-delay:1.00s}.pr-sgrid.in-view .pr-seats i:nth-child(12){animation-delay:1.05s}.pr-sgrid.in-view .pr-seats i:nth-child(13){animation-delay:1.10s}.pr-sgrid.in-view .pr-seats i:nth-child(14){animation-delay:1.15s}
.pr-tk-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;margin-top:auto;padding-top:16px}
.pr-sc .pr-spots{margin:0;font-size:12.5px;font-weight:700;color:#1f7a4d;display:inline-flex;gap:7px;align-items:center}
.pr-sc .pr-spots:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.pr-sc .pr-spots.low{color:#c2410c}.pr-sc .pr-spots.low:before{animation:pr-twinkle 1.6s infinite}
.pr .pr-sc .btn.btn-pur{margin:0;padding:10px 20px;font-size:13px;background:#24093c;color:#fff;justify-content:center}
.pr .pr-sc .btn.btn-pur svg{width:14px;transition:transform .25s}
.pr .pr-sc .btn.btn-pur:hover{background:#4b1a8f;transform:translateY(-2px)}.pr .pr-sc .btn.btn-pur:hover svg{transform:translateX(4px)}
.pr-sched .pr-note{margin-top:28px;font-size:12px;color:#d8c9ee;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.pr-lg{display:inline-flex;align-items:center;gap:7px;color:#fff;font-weight:600}
.pr-lg i{border-color:#ffffffa0;background:var(--gold)}.pr-lg i.t{background:#fff;border-color:#fff}


/* 5 term: horizontal path that draws itself */
.pr-path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.pr-path:before{content:"";position:absolute;top:58px;left:12%;right:12%;height:0;border-top:3px dashed var(--acc);opacity:.45;transform:scaleX(0);transform-origin:left;transition:transform 1.6s .3s cubic-bezier(.6,0,.2,1)}
.pr-path.in-view:before{transform:scaleX(1)}
.pr-stop{text-align:center;display:flex;flex-direction:column;align-items:center}
.pr-round{position:relative;width:116px;height:116px;margin-bottom:20px;transition:transform .4s}.pr-stop:hover .pr-round{transform:translateY(-8px) scale(1.05)}
.pr-round img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:5px solid var(--c);box-shadow:0 12px 28px #2b174030}
.pr-round b{position:absolute;right:-4px;bottom:-4px;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--white);display:grid;place-items:center;font-size:14px;border:3px solid var(--lil)}
.pr-stop small{font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--acc)}.pr-stop h3{font-size:20px;margin:6px 0 8px}.pr-stop p{font-size:14px;line-height:1.7;color:var(--mut);max-width:240px}

/* 6 dashboard: three feature cards with live previews + login strip */
.pr-dash{background:var(--lil);padding:clamp(56px,7vw,96px) 0}
.pr-dash .pr-head{margin-bottom:32px}
.pd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pd-card{background:var(--card);border:1.5px solid var(--line);border-radius:26px;padding:12px 12px 20px;display:flex;flex-direction:column;gap:18px;transition:transform .35s,box-shadow .35s,border-color .35s}
.pd-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px #3b138026;border-color:var(--c)}
.pd-a{--c:#d9c0f5}.pd-b{--c:#ffdc7b}.pd-c{--c:#ffb6cf}
.pd-view{background:var(--c);border-radius:18px;padding:16px;height:232px;display:flex;flex-direction:column;justify-content:center;gap:10px;overflow:hidden;position:relative;color:#24093c}
.pd-txt{display:flex;gap:14px;padding:0 10px}
.pd-ic{width:44px;height:44px;border-radius:14px;background:var(--ink);color:var(--white);display:grid;place-items:center;font-size:19px;flex:none;transition:transform .4s}
.pd-card:hover .pd-ic{transform:rotate(-10deg) scale(1.08)}
.pd-txt h3{font-size:18px;margin-bottom:5px}.pd-txt p{font-size:14px;line-height:1.65;color:var(--mut)}
.pd-row{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;background:#fff;border-radius:14px;padding:9px 12px;box-shadow:0 6px 14px #3b13801a}
.pd-row b{display:block;font-size:13.5px;line-height:1.3}.pd-row small{font-size:11.5px;color:#6f627f}
.pd-day{width:48px;height:42px;border-radius:12px;background:#ffdc7b;display:grid;place-items:center;font-weight:700;font-size:13px}.pd-day2{background:#bde9d5}
.pd-pill{font-size:12px;font-weight:700;background:#3b1380;color:#fff;border-radius:999px;padding:6px 13px;white-space:nowrap}.pd-pill.pd-done{background:#17a06f}
.pd-seats{display:flex;align-items:center;gap:5px;padding:0 4px}.pd-seats i{width:14px;height:14px;border-radius:5px 5px 3px 3px;background:#ffffff90;border:1.5px solid #3b138055}.pd-seats i.t{background:#3b1380;border-color:#3b1380}.pd-seats small{margin-inline-start:auto;font-size:11.5px;font-weight:700}
.pd-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.pd-week span{aspect-ratio:1;border-radius:11px;background:#ffffffb0;display:grid;place-items:center;font-weight:700;font-size:13px}.pd-week .on{background:#3b1380;color:#ffc83d;animation:pd-pop 2.4s ease-in-out infinite}
@keyframes pd-pop{50%{transform:scale(1.12)}}
.pd-next{background:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 6px 14px #3b13801a}.pd-next small{display:block;font-size:10px;letter-spacing:.12em;font-weight:800;color:#8a46bd}.pd-next b{font-size:15px}
.pd-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pd-steps li{font-size:10.5px;font-weight:700;text-align:center;padding:7px 2px;border-radius:9px;background:#ffffff80;color:#6f627f}.pd-steps li.d{background:#3b1380;color:#fff}
.pd-mosaic{position:absolute;inset:14px;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:8px}
.pd-mosaic figure{margin:0;border-radius:14px;overflow:hidden;position:relative;background:#ffffff90}.pd-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.pd-card:hover .pd-mosaic img{transform:scale(1.08)}
.pd-mosaic .m1{grid-row:1/3}.pd-mosaic figcaption{position:absolute;left:8px;bottom:8px;background:#ffc83d;color:#24093c;font-size:11px;font-weight:700;border-radius:999px;padding:3px 10px}
.pd-strip{margin-top:20px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:clamp(16px,3vw,40px);align-items:center;background:linear-gradient(135deg,#3b1380,#24093c);border-radius:22px;padding:18px 24px;color:#e4d8f2}
.pd-strip p{font-size:14.5px}.pd-term small{display:block;font-size:10px;letter-spacing:.12em;font-weight:800;color:#ffc83d}
.pd-term div{height:8px;border-radius:9px;background:#ffffff26;margin-top:8px;overflow:hidden;min-width:200px}.pd-term i{display:block;height:100%;width:60%;border-radius:9px;background:linear-gradient(90deg,#ffc83d,#ff9fc2);transform:scaleX(0);transform-origin:left;transition:transform 1.4s .4s}
.pd-strip.in-view .pd-term i{transform:scaleX(1)}
.pd-grid .reveal:nth-child(2){transition-delay:.1s}.pd-grid .reveal:nth-child(3){transition-delay:.2s}
@media(max-width:980px){.pd-grid{grid-template-columns:1fr 1fr}.pd-c{grid-column:1/-1}.pd-c .pd-view{height:260px}.pd-strip{grid-template-columns:1fr auto}.pd-strip p{display:none}}
@media(max-width:620px){.pd-grid{grid-template-columns:1fr}.pd-strip{grid-template-columns:1fr;padding:18px}.pd-term div{min-width:0}.pd-strip .btn{justify-self:start}}
@media(prefers-reduced-motion:reduce){.pd-week .on{animation:none}.pd-term i{transform:none}}

/* 7 compare: interactive ladder — track, readout ring, skill list, photo */
.pr-cmpsec{position:relative}
.pr-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr)}
.pr-track-line{position:absolute;top:50px;left:12.5%;right:12.5%;height:5px;border-radius:5px;background:var(--line)}
.pr-track-line i{display:block;height:100%;width:0;border-radius:5px;background:linear-gradient(90deg,#d9c0f5,#ffdc7b,#bde9d5,#ffcddd);transition:width .8s cubic-bezier(.6,0,.2,1)}
.pr-lad[data-step="1"] .pr-track-line i{width:33.34%}.pr-lad[data-step="2"] .pr-track-line i{width:66.67%}.pr-lad[data-step="3"] .pr-track-line i{width:100%}
.pr-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:0;font-family:inherit;cursor:pointer;color:var(--mut);padding:0 6px}
.pr-node-ph{position:relative;width:100px;height:100px;border-radius:50%;border:5px solid var(--line);background:var(--c);margin-bottom:12px;filter:grayscale(1);opacity:.7;transition:all .5s cubic-bezier(.2,.8,.2,1)}
.pr-node-ph img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.pr-node-ph:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:3px solid var(--c);opacity:0}
.pr-node b{font-size:17px;color:var(--ink)}.pr-node small{font-size:12px}
.pr-node:hover .pr-node-ph{transform:translateY(-6px);opacity:1}
.pr-node.is-done .pr-node-ph{border-color:var(--c);filter:none;opacity:1}
.pr-node.is-on .pr-node-ph{transform:scale(1.18);box-shadow:0 0 0 7px var(--white),0 0 0 11px var(--c),0 18px 34px #2b174033}
.pr-node.is-on .pr-node-ph:after{animation:pr-ripple 2s ease-out infinite}
@keyframes pr-ripple{from{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}
.pr-node.is-on b{color:var(--acc)}
.pr-lad-body{position:relative;display:grid;grid-template-columns:minmax(250px,320px) 1fr minmax(240px,320px);gap:clamp(24px,3.5vw,56px);align-items:stretch;margin-top:64px;padding-top:44px;border-top:1px solid var(--line)}
.pr-read{display:flex;flex-direction:column;justify-content:space-between;gap:22px}
.pr-read-k{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--acc)}
.pr-live{animation:pr-rise .6s both}
.pr-read h3{font-size:clamp(28px,3vw,38px);margin:8px 0 10px}.pr-blurb{font-size:14px;line-height:1.75;color:var(--mut)}
.pr-ringwrap{position:relative;width:150px;height:150px;margin:20px 0}
.pr-ring2{width:100%;height:100%;transform:rotate(-90deg)}.pr-ring2 circle{fill:none;stroke:var(--line);stroke-width:9}
.pr-ring2 .pr-ring2-fill{stroke:var(--acc);stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:326.7;transition:stroke-dashoffset 1s cubic-bezier(.3,.8,.2,1)}
.pr-count{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.pr-count b{font-size:46px;letter-spacing:-.05em;color:var(--ink);animation:pr-pop .5s both}.pr-count span{font-size:11px;color:var(--mut);margin-top:4px}
.pr-read-facts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pr-read-facts li{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px dashed var(--line)}
.pr-read-facts small{font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--mut);align-self:center}.pr-read-facts b{font-size:14px;color:var(--ink);text-align:end}
.pr-skills{list-style:none;margin:0;padding:0;display:grid;align-content:space-between;gap:0}
.pr-skills li{position:relative;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:16px;padding:14px 4px;border-bottom:1px solid var(--line);opacity:.5;transition:opacity .4s,padding .35s}
.pr-skills li:last-child{border:0}
.pr-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:24px;background:var(--lil);filter:grayscale(1);transition:all .45s}
.pr-skills b{display:block;font-size:15px;color:var(--ink)}.pr-skills small{font-size:12.5px;color:var(--mut);line-height:1.5}
.pr-st{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:800;border:2px dashed var(--line);color:var(--mut)}.pr-st:before{content:"–"}
.pr-new{position:absolute;top:8px;right:46px;font-size:9px;font-weight:800;letter-spacing:.1em;padding:3px 8px;border-radius:999px;background:var(--ink);color:var(--white);opacity:0;transform:scale(.6)}
.pr-skills li.on{opacity:1;animation:pr-slide .55s cubic-bezier(.2,.8,.2,1) both}
.pr-skills li.on .pr-ic{background:var(--c);filter:none;transform:rotate(-6deg) scale(1.05)}
.pr-skills li.on .pr-st{border:0;background:var(--c);color:#2b1740}.pr-skills li.on .pr-st:before{content:"✓"}
.pr-skills li.new .pr-new{opacity:1;transform:none;transition:.4s .4s}.pr-skills li.new{padding-inline-start:12px}
.pr-skills li.on:nth-child(2){animation-delay:.05s}.pr-skills li.on:nth-child(3){animation-delay:.1s}.pr-skills li.on:nth-child(4){animation-delay:.15s}.pr-skills li.on:nth-child(5){animation-delay:.2s}.pr-skills li.on:nth-child(6){animation-delay:.25s}.pr-skills li.on:nth-child(7){animation-delay:.3s}
@keyframes pr-slide{from{opacity:0;transform:translateX(24px)}}
@keyframes pr-pop{from{opacity:0;transform:scale(.7)}}
.pr-shots{position:relative;min-height:420px}
.pr-shots:before{content:"";position:absolute;inset:-4% -8% 6% 10%;background:var(--c);border-radius:42% 58% 50% 50%/55% 45% 55% 45%;animation:pr-morph 9s ease-in-out infinite alternate;transition:background-color .6s}
.pr-shotbox{position:absolute;inset:0}
.pr-shot{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:opacity .7s,transform 1s cubic-bezier(.2,.8,.2,1)}.pr-shot.is-on{opacity:1;transform:none}
.pr-shot img{width:100%;height:100%;object-fit:cover;border-radius:200px 200px 28px 28px;box-shadow:0 22px 50px #2b174033}
.pr-shot-age{position:absolute;top:16px;inset-inline-end:-10px;z-index:2;background:var(--ink);color:var(--white);font-size:12px;font-weight:800;letter-spacing:.06em;padding:8px 16px;border-radius:999px;animation:pr-float 4s ease-in-out infinite alternate}
.pr-shot-chip{position:absolute;z-index:2;left:-22px;bottom:28px;background:var(--card);border-radius:16px;padding:12px 18px;box-shadow:0 14px 30px #2b174030;animation:pr-float 5s -2s ease-in-out infinite alternate}
.pr-shot-chip small{display:block;font-size:9.5px;letter-spacing:.12em;font-weight:800;color:var(--acc)}.pr-shot-chip b{font-size:15px;color:var(--ink)}

/* 8 CTA: floating round photos around centred text */
.pr-cta{position:relative;background:radial-gradient(circle at 50% 50%,#4b1a8f,#1d0735 70%);color:#fff;padding:clamp(90px,11vw,150px) 0;overflow:hidden;text-align:center}
.pr-cta-in{position:relative;z-index:2;max-width:760px}.pr-cta h2{color:#fff;font-size:clamp(36px,5vw,66px);letter-spacing:-.05em;margin:16px 0}.pr-cta .pr-kick,.pr-cta em{color:var(--gold)}.pr-cta p{color:#e4d8f2;line-height:1.8;max-width:560px;margin:0 auto}.pr-cta .pr-actions{justify-content:center}
.pr-orb{position:absolute;border-radius:50%;overflow:hidden;border:4px solid var(--gold);box-shadow:0 0 50px #ffc83d44;animation:pr-float 6s ease-in-out infinite alternate}.pr-orb img{width:100%;height:100%;object-fit:cover}
.pr-orb1{width:clamp(80px,11vw,150px);aspect-ratio:1;left:5%;top:12%}.pr-orb2{width:clamp(60px,8vw,110px);aspect-ratio:1;left:14%;bottom:10%;animation-delay:-2s}.pr-orb3{width:clamp(80px,10vw,140px);aspect-ratio:1;right:6%;top:16%;animation-delay:-3s}.pr-orb4{width:clamp(60px,8vw,110px);aspect-ratio:1;right:15%;bottom:12%;animation-delay:-1s}
.pr-cta>.pr-sp:nth-of-type(1){top:20%;left:35%}.pr-cta>.pr-sp:nth-of-type(2){bottom:18%;right:32%;animation-delay:-1.5s}

@media(max-width:980px){
.pr-head{grid-template-columns:1fr}.pr-head p{grid-column:1;grid-row:auto}
.pr-hero-grid,.pr-explore,.pr-panel{grid-template-columns:1fr}.pr-collage{max-width:460px;margin:auto;width:100%}
.pr-ages{grid-template-columns:1fr 1fr;gap:44px 0}.pr-lad-body{grid-template-columns:1fr 1fr}.pr-skills{grid-column:1/-1;order:3}.pr-shots{min-height:340px}.pr-age:nth-child(3){border-inline-start:0}
.pr-index{position:static;flex-direction:row;flex-wrap:wrap;border:0;gap:8px}.pr-index button{border:1.5px solid var(--line);border-radius:999px;padding:10px 16px;grid-template-columns:auto auto}.pr-index button b,.pr-index button:after{display:none}.pr-index button[aria-selected=true]{background:var(--c);border-color:var(--c);padding-inline-start:16px;color:#2b1740}
.pr-pphoto{max-width:340px}.pr-sgrid{grid-template-columns:1fr 1fr}
.pr-path{grid-template-columns:1fr 1fr;gap:40px 20px}.pr-path:before{display:none}
}
@media(max-width:560px){.pr-ages,.pr-path,.pr-learn,.pr-sgrid{grid-template-columns:1fr}.pr-lad-body{grid-template-columns:1fr}.pr-shots{order:-1;min-height:260px}.pr-shot img{border-radius:28px}.pr-node-ph{width:62px;height:62px}.pr-track-line{top:33px}.pr-node b{font-size:12px}.pr-node small{display:none}.pr-skills li{font-size:13px;padding:11px 18px 11px 12px}.pr-age+.pr-age{border:0}.pr-facts div{padding:6px 16px 6px 0;border:0}.pr-orb{opacity:.35}}
@media(prefers-reduced-motion:reduce){.pr *,.pr *:before,.pr *:after{animation:none!important;transition:none!important}.pr-path:before,.pr-track-line i,.pr-win-foot i,.pr-fill i{transform:none!important}.pr-sc{opacity:1!important;transform:none!important}.pr-skills li{opacity:1}}

/* =========================================================
   UPCOMING SHOWS PAGE (pages/upcoming-shows.html) — all classes prefixed us-
   ========================================================= */
.us{--acc:#8a46bd;--lil:#f6efff;--deep:#24093c;--c:#d9c0f5;--c2:#b794ec;--cd:#7a3fb5;overflow:hidden}
body.dark .us{--acc:#d9b8ff;--lil:#1d0a33}
.us .us-c1{--c:#d9c0f5;--c2:#b794ec;--cd:#7a3fb5}.us .us-c2{--c:#ffdc7b;--c2:#ffb347;--cd:#b57a00}.us .us-c3{--c:#bde9d5;--c2:#7fd1ae;--cd:#1f8a63}.us .us-c4{--c:#ffcddd;--c2:#ff9fbd;--cd:#c2467a}
.us em{font-family:'Lobster Two',cursive;font-style:italic;font-weight:700;color:var(--acc);letter-spacing:-.02em}
.us-kick{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--acc)}
.us-kick i{width:24px;height:2px;background:currentColor;border-radius:2px}
.us-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.us-sec{padding:clamp(60px,7vw,104px) 0}.us-soft{background:var(--lil)}
.us-head{text-align:center;max-width:740px;margin:0 auto clamp(34px,4vw,52px)}
.us-head h2{font-size:clamp(34px,4.7vw,60px);letter-spacing:-.05em;line-height:1.04;margin:14px 0 16px}
.us-head p{color:var(--mut);font-size:15.5px;line-height:1.8;max-width:560px;margin-inline:auto}
.us-head .us-kick:after{content:"";display:block}
.us-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:28px}.us-center{justify-content:center}
.us-ghost{font-size:14px;font-weight:700;color:inherit;display:inline-flex;align-items:center;gap:8px;padding:12px 4px;border-bottom:2px solid currentColor;opacity:.92;transition:gap .25s,opacity .25s}.us-ghost:hover{gap:14px;opacity:1}
.us-sm{padding:10px 20px;font-size:14px}
.us-note{text-align:center;color:var(--mut);font-size:12.5px;margin-top:30px}
body.dark .us .btn-pur{background:var(--gold);color:#24093c}
body.dark .us .btn-ghost{border-color:var(--c);color:var(--ink)}
.us img.us-noimg{visibility:hidden}
.us-sp{position:absolute;width:26px;height:26px;fill:var(--gold);animation:us-twinkle 3s ease-in-out infinite;z-index:1}
@keyframes us-twinkle{50%{transform:scale(1.5) rotate(25deg);opacity:.45}}
@keyframes us-rise{from{opacity:0;transform:translateY(60%) rotate(4deg)}}
@keyframes us-bob{from{transform:translateY(0) rotate(var(--rot,0deg))}to{transform:translateY(-14px) rotate(calc(var(--rot,0deg) + 1.5deg))}}

/* 1 · hero */
.us-hero{position:relative;isolation:isolate;color:#fff;background:radial-gradient(110% 85% at 50% -10%,#6a2bc0 0%,#33105a 48%,#150328 100%);padding:clamp(48px,6vw,92px) 0 0}
.us-beams{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.us-beam{position:absolute;top:-6%;width:34%;height:115%;background:linear-gradient(180deg,rgba(255,220,123,.45),rgba(255,220,123,.07) 70%,transparent);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);transform-origin:50% 0;animation:us-sway 8s ease-in-out infinite alternate;filter:blur(3px)}
.us-beam:nth-child(1){left:-6%;animation-delay:-2s}
.us-beam:nth-child(2){left:33%;animation-delay:-5s;background:linear-gradient(180deg,rgba(255,205,221,.4),rgba(255,205,221,.05) 70%,transparent)}
.us-beam:nth-child(3){right:-6%;animation-delay:-7s;background:linear-gradient(180deg,rgba(200,170,255,.45),rgba(200,170,255,.06) 70%,transparent)}
@keyframes us-sway{from{transform:rotate(-11deg)}to{transform:rotate(11deg)}}
.us-hero>.us-sp:nth-of-type(1){top:18%;left:47%}.us-hero>.us-sp:nth-of-type(2){bottom:26%;left:5%;animation-delay:-1s}.us-hero>.us-sp:nth-of-type(3){top:12%;right:6%;animation-delay:-2s}.us-hero>.us-sp:nth-of-type(4){bottom:30%;right:44%;animation-delay:-.5s;width:18px;height:18px}
.us-hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,5vw,76px);align-items:center;padding-bottom:clamp(56px,6vw,92px)}
.us-hero .us-kick{color:var(--gold)}
.us-hero h1{color:#fff;font-size:clamp(42px,5.8vw,82px);line-height:1;letter-spacing:-.055em;margin:20px 0}
.us-hero em{color:var(--gold)}
.us-w{display:inline-block;animation:us-rise .8s cubic-bezier(.2,.7,.2,1) both}
.us-w:nth-child(1){animation-delay:.05s}.us-w:nth-child(2){animation-delay:.12s}.us-w:nth-child(3){animation-delay:.19s}.us-w:nth-child(4){animation-delay:.26s}.us-w:nth-child(5){animation-delay:.33s}.us-w:nth-child(6){animation-delay:.4s}.us-w:nth-child(7){animation-delay:.47s}.us-w:nth-child(8){animation-delay:.54s}
.us-hero-copy>p{max-width:520px;color:#e4d8f2;line-height:1.85;animation:us-rise .9s .6s both}
.us-hero-copy .us-actions{animation:us-rise .9s .75s both}
.us-hero .us-ghost{color:#fff}
.us-cd-wrap{margin-top:38px;animation:us-rise .9s .9s both}
.us-cd-label{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--gold);margin-bottom:12px}
.us-cd{display:flex;gap:12px;flex-wrap:wrap}
.us-cd div{width:86px;padding:14px 0 12px;text-align:center;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.us-cd b{display:block;font:800 36px/1 'Baloo 2','Poppins',sans-serif;color:var(--gold);font-variant-numeric:tabular-nums}
.us-cd small{display:block;margin-top:4px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#cdbbe6}
.us-cd b.tick{animation:us-tick .45s ease}
@keyframes us-tick{0%{transform:translateY(-35%);opacity:0}100%{transform:none;opacity:1}}

/* hero ticket */
.us-ticket-wrap{position:relative;max-width:450px;width:100%;margin-inline:auto;padding:20px 0 72px;filter:drop-shadow(0 34px 38px rgba(0,0,0,.42))}
.us-ticket{--rot:3deg;position:relative;overflow:hidden;color:var(--deep);background:linear-gradient(160deg,#fff,#fbf1ff 70%,#ffefc2);border-radius:28px;transform:rotate(3deg);animation:us-bob 6s ease-in-out infinite alternate;
-webkit-mask:radial-gradient(circle 14px at 0 calc(100% - 104px),#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% calc(100% - 104px),#0000 97%,#000) right/51% 100% no-repeat;
mask:radial-gradient(circle 14px at 0 calc(100% - 104px),#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% calc(100% - 104px),#0000 97%,#000) right/51% 100% no-repeat}
.us-t-main{position:relative;padding:30px 30px 26px}
.us-t-tag{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.14em;font-weight:800;color:#8a46bd}.us-t-tag i{width:18px;height:2px;background:currentColor}
.us-ticket h2{font-family:'Baloo 2','Poppins',sans-serif;color:#24093c;font-size:clamp(30px,3.4vw,42px);letter-spacing:-.03em;line-height:1.02;margin:12px 0 18px}
.us-t-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.us-t-list li{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:#4a3d5c}.us-t-list svg{width:18px;height:18px;color:#8a46bd}
.us-t-no{position:absolute;top:30px;inset-inline-end:26px;font:700 11px 'Poppins',sans-serif;letter-spacing:.1em;color:#b9a6d1;writing-mode:vertical-rl}
.us-t-stub{position:relative;height:104px;margin-top:0;border-top:2.5px dashed #d9c9ec;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 26px;background:#fff9e8}
.us-t-stub>div{flex:1;min-width:0}
.us-shine{position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.75) 50%,transparent 60%);transform:translateX(-120%);animation:us-shine 5s 1.5s ease-in-out infinite;pointer-events:none}
@keyframes us-shine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.us-ph{position:absolute;overflow:hidden;border:5px solid #fff;box-shadow:0 18px 40px rgba(0,0,0,.35)}.us-ph img{width:100%;height:100%;object-fit:cover}
.us-ph-a{width:100px;height:100px;border-radius:50%;inset-inline-start:10%;bottom:-4px;animation:us-bob 5s ease-in-out infinite alternate}
.us-ph-b{width:92px;height:92px;border-radius:36% 64% 40% 60%/48% 40% 60% 52%;inset-inline-end:-18px;top:-6px;animation:us-bob 6.5s -2s ease-in-out infinite alternate}
.us-seats{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--mut);margin-bottom:6px}.us-seats b{color:var(--ink);font-size:13px}.us-seats.low b{color:#d6336c}
.us-ticket .us-seats b{color:#24093c}.us-ticket .us-seats{margin-bottom:8px}
.us-meter{height:8px;border-radius:99px;background:rgba(138,70,189,.16);overflow:hidden}
.us-meter i{display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,#8a46bd,#ffc83d);transform-origin:0 50%;transform:scaleX(0)}
.us-ticket .us-meter i,.in-view .us-meter i{animation:us-fill 1.4s .35s cubic-bezier(.2,.7,.2,1) forwards}
.us-meter.low i{background:linear-gradient(90deg,#ff9f43,#d6336c)}
html[dir=rtl] .us-meter i{transform-origin:100% 50%}
@keyframes us-fill{to{transform:scaleX(1)}}

/* marquee */
.us-marq{border-block:1px solid rgba(255,255,255,.14);background:rgba(10,0,24,.35);padding:16px 0;overflow:hidden;direction:ltr}
.us-marq-t{display:flex;width:max-content;animation:us-marq 36s linear infinite}.us-marq:hover .us-marq-t{animation-play-state:paused}
.us-marq-g{display:flex;align-items:center;gap:40px;padding-inline-end:40px}
.us-marq-g span{font:700 clamp(18px,2.3vw,28px) 'Baloo 2','Poppins',sans-serif;color:#fff;white-space:nowrap}.us-marq-g b{color:var(--gold);font-size:20px}
@keyframes us-marq{to{transform:translateX(-50%)}}

/* 2 · featured */
.us-feat-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,96px);align-items:center}
.us-poster-big{position:relative;width:100%;max-width:450px;margin-inline:auto;aspect-ratio:3/4;perspective:1000px}
.us-pb-in{position:absolute;inset:0;border-radius:220px 220px 30px 30px;overflow:hidden;background:linear-gradient(160deg,#4b1a8f,#24093c);border:6px solid var(--white);box-shadow:0 40px 80px #2b174045;transform:rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .25s ease-out}
.us-pb-in>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}.us-poster-big:hover .us-pb-in>img{transform:scale(1.07)}
.us-pb-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,9,60,.25) 0%,rgba(36,9,60,.1) 35%,rgba(24,4,44,.92) 100%)}
.us-clock{position:absolute;top:13%;left:50%;width:86px;height:86px;margin-left:-43px;border-radius:50%;border:4px solid var(--gold);background:rgba(36,9,60,.55);backdrop-filter:blur(4px);box-shadow:0 0 0 8px rgba(255,200,61,.18)}
.us-clock b{position:absolute;inset:50% auto auto 50%;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:var(--gold)}
.us-hand{position:absolute;left:50%;bottom:50%;width:3px;margin-left:-1.5px;border-radius:3px;background:#fff;transform-origin:50% 100%}
.us-h1{height:28px;animation:us-spin 8s linear infinite}.us-h2{height:20px;background:var(--gold);animation:us-spin 96s linear infinite}
@keyframes us-spin{to{transform:rotate(360deg)}}
.us-pb-top{position:absolute;top:22px;inset-inline-start:50%;transform:translateX(-50%);display:none}
html[dir=rtl] .us-pb-top{transform:translateX(50%)}
.us-pb-title{position:absolute;inset-inline:0;bottom:0;padding:0 28px 34px;text-align:center;color:#fff}
.us-pb-title small{font-size:10.5px;letter-spacing:.22em;font-weight:800;color:var(--gold)}
.us-pb-title h3{color:#fff;font-size:clamp(34px,4vw,50px);line-height:.98;letter-spacing:-.04em;margin-top:8px}.us-pb-title em{color:var(--gold);display:block}
.us-stamp{position:absolute;top:2%;inset-inline-end:-6%;width:104px;height:104px;border-radius:50%;background:#ff5c8a;color:#fff;display:grid;place-items:center;text-align:center;font:800 11.5px/1.2 'Poppins',sans-serif;letter-spacing:.08em;box-shadow:0 14px 30px #ff5c8a66;transform:rotate(12deg);animation:us-wobble 4s ease-in-out infinite alternate}
.us-stamp:before{content:"";position:absolute;inset:6px;border:2px dashed rgba(255,255,255,.7);border-radius:50%;animation:us-spin 18s linear infinite}
@keyframes us-wobble{to{transform:rotate(-6deg) scale(1.06)}}
.us-bubble{position:absolute;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--card);color:var(--ink);font-size:13px;font-weight:600;box-shadow:0 14px 34px #2b174030;white-space:nowrap}
.us-bubble svg{width:18px;height:18px;color:var(--acc)}.us-bubble b{color:var(--acc);font-size:16px}
.us-bubble1{inset-inline-start:-8%;top:47%;animation:us-bob 5s ease-in-out infinite alternate}.us-bubble2{inset-inline-end:-6%;top:60%;animation:us-bob 6s -2s ease-in-out infinite alternate}
.us-feat-copy h2{font-size:clamp(34px,4.4vw,58px);letter-spacing:-.05em;line-height:1.04;margin:14px 0 18px}
.us-lead{color:var(--txt);line-height:1.85;max-width:560px}
.us-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0 0;max-width:600px}
.us-facts div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--card);border:1.5px solid var(--line);transition:transform .25s,border-color .25s}
.us-facts div:hover{transform:translateY(-4px);border-color:var(--acc)}
.us-facts svg{grid-row:1/3;width:34px;height:34px;padding:8px;border-radius:12px;background:var(--lil);color:var(--acc)}
.us-facts dt{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--mut)}.us-facts dd{margin:0;font-size:14px;font-weight:600;color:var(--ink)}
.us-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.us-chips span{padding:8px 16px;border-radius:999px;background:var(--lil);border:1.5px solid var(--line);font-size:13px;font-weight:600;color:var(--acc)}
body.dark .us-soft .us-chips span{background:var(--card)}

/* 3 · show cards */
.us-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px}
.us-fchips{display:flex;flex-wrap:wrap;gap:10px}
.us-fchips button{font:600 14px 'Poppins',sans-serif;padding:10px 20px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--txt);cursor:pointer;transition:all .25s}
.us-fchips button:hover{border-color:var(--acc);color:var(--acc);transform:translateY(-2px)}
.us-fchips button.is-on{background:var(--pur);border-color:var(--pur);color:#fff;box-shadow:0 10px 22px #4b1a8f40}
body.dark .us-fchips button.is-on{background:var(--gold);border-color:var(--gold);color:#24093c}
.us-count{font-size:14px;color:var(--mut)}.us-count b{color:var(--ink)}
.us-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.us-card{position:relative;display:flex;flex-direction:column;background:var(--card);border:1.5px solid var(--line);border-radius:30px;overflow:hidden;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,opacity .5s}
.us-card[hidden]{display:none}
.us-card:hover{transform:translateY(-10px);box-shadow:0 30px 60px #2b174030}
.us-card.us-flash{animation:us-flash 1.6s ease}
@keyframes us-flash{0%,100%{box-shadow:0 0 0 0 transparent}30%{box-shadow:0 0 0 8px var(--c),0 30px 60px #2b174030;transform:translateY(-10px)}}
.us-poster{position:relative;height:216px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,var(--c),var(--c2))}
.us-poster:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;border:2px dashed rgba(255,255,255,.7);animation:us-spin 28s linear infinite}
.us-poster:after{content:"";position:absolute;inset:auto -10% -42% -10%;height:70%;background:rgba(255,255,255,.28);border-radius:50%}
.us-art{position:relative;z-index:1;width:104px;height:104px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:52px;box-shadow:0 16px 34px #24093c33;transition:transform .5s cubic-bezier(.2,.9,.3,1.4)}
.us-card:hover .us-art{transform:scale(1.14) rotate(-8deg)}
.us-bub{position:absolute;border-radius:50%;background:rgba(255,255,255,.55);animation:us-bob 4s ease-in-out infinite alternate}
.us-bub1{width:22px;height:22px;top:22%;inset-inline-start:24%}.us-bub2{width:14px;height:14px;bottom:24%;inset-inline-end:22%;animation-delay:-1.5s}.us-bub3{width:30px;height:30px;bottom:14%;inset-inline-start:12%;animation-delay:-3s;opacity:.7}
.us-date{position:absolute;z-index:2;top:16px;inset-inline-start:16px;width:62px;padding:8px 0 7px;border-radius:18px;background:#fff;text-align:center;color:#24093c;box-shadow:0 10px 22px #24093c26}
.us-date b{display:block;font:800 25px/1 'Baloo 2','Poppins',sans-serif}.us-date small{display:block;margin-top:2px;font-size:10.5px;letter-spacing:.14em;font-weight:800;color:var(--cd)}
.us-agetag{position:absolute;z-index:2;top:18px;inset-inline-end:16px;padding:6px 13px;border-radius:999px;background:rgba(36,9,60,.82);color:#fff;font-size:11.5px;font-weight:700}
.us-card-body{display:flex;flex-direction:column;flex:1;padding:24px 26px 26px}
.us-card-grp{font-size:10.5px;letter-spacing:.16em;font-weight:800;color:var(--cd)}body.dark .us-card-grp{color:var(--c)}
.us-card h3{font-size:25px;letter-spacing:-.035em;margin:6px 0 12px}
.us-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:13px;font-weight:600;color:var(--txt)}.us-meta svg{width:15px;height:15px;color:var(--acc);margin-inline-end:6px;vertical-align:-2px}.us-meta span{white-space:nowrap}
.us-card-txt{margin:14px 0 20px;color:var(--mut);font-size:14px;line-height:1.75;flex:1}
.us-card .us-seats{margin-top:8px}
.us-card-act{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:18px;border-top:1.5px dashed var(--line)}

/* 4 · calendar */
.us-cals{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.us-cal{background:var(--card);border:1.5px solid var(--line);border-radius:28px;padding:24px 22px 20px;transition:transform .3s,box-shadow .3s}.us-cal:hover{transform:translateY(-6px);box-shadow:0 24px 50px #2b174026}
.us-cal-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.us-cal-h h3{font-size:22px;letter-spacing:-.03em}.us-cal-h span{font-size:12px;font-weight:700;color:var(--acc);letter-spacing:.1em}
.us-cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:16px;text-align:center}
.us-dow{font-size:10.5px;font-weight:800;color:var(--mut);letter-spacing:.06em;padding-bottom:4px}
.us-d{position:relative;aspect-ratio:1;display:grid;place-items:center;border:0;background:none;border-radius:14px;font:500 13px 'Poppins',sans-serif;color:var(--txt);padding:0}
button.us-d{cursor:pointer;background:var(--c);color:#2b1740;font-weight:800;animation:us-pulse 2.6s ease-out infinite;transition:transform .25s}
button.us-d:hover,button.us-d:focus-visible{transform:scale(1.22);z-index:3}
@keyframes us-pulse{0%{box-shadow:0 0 0 0 rgba(138,70,189,.45)}70%,100%{box-shadow:0 0 0 11px rgba(138,70,189,0)}}
.us-tip{position:absolute;bottom:calc(100% + 10px);inset-inline-start:50%;transform:translate(-50%,6px);min-width:150px;padding:9px 12px;border-radius:12px;background:#24093c;color:#fff;font-size:11.5px;font-weight:600;line-height:1.35;pointer-events:none;opacity:0;visibility:hidden;transition:.2s;z-index:5}
html[dir=rtl] .us-tip{transform:translate(50%,6px)}
.us-tip small{display:block;color:var(--gold);font-weight:700;margin-top:2px}.us-tip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:#24093c}
button.us-d:hover .us-tip,button.us-d:focus-visible .us-tip{opacity:1;visibility:visible;transform:translate(-50%,0)}
html[dir=rtl] button.us-d:hover .us-tip,html[dir=rtl] button.us-d:focus-visible .us-tip{transform:translate(50%,0)}
.us-legend{list-style:none;margin:34px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;font-size:13px;font-weight:600;color:var(--txt)}
.us-legend li{display:flex;align-items:center;gap:9px}.us-legend i{width:16px;height:16px;border-radius:6px;background:var(--c)}

/* 5 · tickets */
.us-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:stretch;padding-top:14px}
.us-price{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:36px 32px 32px;border-radius:32px;background:var(--card);border:1.5px solid var(--line);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.us-price:hover{transform:translateY(-8px);box-shadow:0 30px 60px #2b174030}
.us-p-ic{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:var(--lil);color:var(--acc);margin-bottom:20px;transition:transform .4s}.us-price:hover .us-p-ic{transform:rotate(-10deg) scale(1.1)}.us-p-ic svg{width:26px;height:26px}
.us-price h3{font-size:25px;letter-spacing:-.035em}.us-p-sub{color:var(--mut);font-size:14px;margin-top:4px}
.us-amt{display:flex;align-items:baseline;gap:6px;margin:22px 0 22px}.us-amt sup{font-size:22px;font-weight:700;color:var(--acc);align-self:flex-start;margin-top:12px}.us-amt b{font:800 66px/1 'Baloo 2','Poppins',sans-serif;color:var(--ink);letter-spacing:-.04em}.us-amt span{font-size:13px;color:var(--mut);font-weight:600}
.us-price ul{list-style:none;margin:0 0 30px;padding:20px 0 0;border-top:1.5px dashed var(--line);display:grid;gap:13px;flex:1}
.us-price li{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;color:var(--txt)}.us-price li svg{width:20px;height:20px;padding:4px;border-radius:50%;background:#e3f6ec;color:#1f8a63;stroke-width:3}
.us-price .btn{justify-content:center}
.us-price.is-pop{background:linear-gradient(160deg,#5a21a8,#24093c);color:#e4d8f2;border-color:transparent;transform:translateY(-14px);box-shadow:0 36px 70px #4b1a8f55}
.us-price.is-pop:hover{transform:translateY(-22px)}
.us-price.is-pop h3,.us-price.is-pop .us-amt b{color:#fff}.us-price.is-pop .us-p-sub,.us-price.is-pop .us-amt span,.us-price.is-pop li{color:#e4d8f2}.us-price.is-pop .us-amt sup{color:var(--gold)}.us-price.is-pop .us-p-ic{background:rgba(255,255,255,.12);color:var(--gold)}.us-price.is-pop ul{border-color:rgba(255,255,255,.2)}.us-price.is-pop li svg{background:rgba(255,200,61,.2);color:var(--gold)}
.us-ribbon{position:absolute;top:22px;inset-inline-end:-38px;width:158px;padding:6px 0;text-align:center;background:var(--gold);color:#24093c;font-size:10.5px;font-weight:800;letter-spacing:.12em;transform:rotate(40deg)}
html[dir=rtl] .us-ribbon{transform:rotate(-40deg)}
.us-sheen{position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.14) 50%,transparent 60%);transform:translateX(-120%);animation:us-shine 5.5s 1s ease-in-out infinite;pointer-events:none}

/* 6 · visit */
.us-visit{background:linear-gradient(165deg,#2a0a45,#17042b);color:#e4d8f2}
.us-visit .us-head h2{color:#fff}.us-visit .us-kick,.us-visit em{color:var(--gold)}.us-visit .us-head p{color:#d4c3ea}
.us-visit-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,72px);align-items:stretch}
.us-steps{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:30px;align-content:center}
.us-steps:before{content:"";position:absolute;top:30px;bottom:30px;inset-inline-start:27px;width:2px;background:repeating-linear-gradient(180deg,rgba(255,200,61,.6) 0 8px,transparent 8px 16px)}
.us-steps li{position:relative;display:grid;grid-template-columns:56px 1fr;gap:22px;align-items:start}
.us-num{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#24093c;font:800 24px 'Baloo 2','Poppins',sans-serif;box-shadow:0 0 0 8px rgba(255,200,61,.16);transition:transform .35s}.us-steps li:hover .us-num{transform:scale(1.14) rotate(-8deg)}
.us-steps h3{color:#fff;font-size:22px;letter-spacing:-.03em;margin:6px 0 6px}.us-steps p{color:#d4c3ea;font-size:14.5px;line-height:1.75;max-width:460px}
.us-map{position:relative;min-height:480px;border-radius:32px;overflow:hidden;background:#eee4fa;box-shadow:0 34px 70px rgba(0,0,0,.38);display:flex;flex-direction:column;justify-content:flex-end}
.us-map-art{position:absolute;inset:0;background:linear-gradient(rgba(75,26,143,.07) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,rgba(75,26,143,.07) 1px,transparent 1px) 0 0/40px 40px,#eee4fa}
.us-road{position:absolute;background:#fff;box-shadow:0 0 0 3px #e0d2f2}.us-r1{left:-10%;right:-10%;top:30%;height:26px;transform:rotate(-8deg)}.us-r2{top:-10%;bottom:-10%;left:62%;width:26px;transform:rotate(10deg)}.us-r3{left:-10%;right:-10%;top:12%;height:14px;transform:rotate(14deg)}
.us-park{position:absolute;background:#c9ecd8;border-radius:40% 60% 50% 50%}.us-pk1{width:34%;height:26%;left:6%;top:42%}.us-pk2{width:22%;height:18%;right:6%;top:8%;background:#d4efdf}
.us-river{position:absolute;left:-10%;right:-10%;top:55%;height:46px;background:#c6e0f7;border-radius:50%;transform:rotate(-6deg);opacity:.8}
.us-pin{position:absolute;left:50%;top:27%;width:60px;height:60px;margin:-30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#ff5c8a;display:grid;place-items:center;box-shadow:0 14px 26px #ff5c8a66;animation:us-hop 1.8s ease-in-out infinite}
.us-pin svg{width:28px;height:28px;color:#fff;transform:rotate(45deg)}
@keyframes us-hop{50%{transform:rotate(-45deg) translate(8px,-8px)}}
.us-pulse{position:absolute;left:50%;top:50%;width:100px;height:100px;margin:-50px;border-radius:50%;border:3px solid #ff5c8a;animation:us-ripple 2.2s ease-out infinite;transform:rotate(45deg)}.us-pulse2{animation-delay:1.1s}
@keyframes us-ripple{from{transform:scale(.4);opacity:.9}to{transform:scale(1.7);opacity:0}}
.us-map-card{position:relative;margin:20px;padding:26px 26px 24px;border-radius:24px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);color:var(--deep)}
.us-map-card .us-kick{color:#8a46bd}.us-map-card h3{color:#24093c;font-size:24px;margin:6px 0 14px}
.us-map-card ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}.us-map-card li{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:#4a3d5c;font-weight:500}.us-map-card li svg{width:18px;height:18px;color:#8a46bd;margin-top:2px}

/* 7 · gallery + stats */
.us-gal{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(120px,14vw,190px);gap:18px}
.us-g{position:relative;margin:0;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#d9c0f5,#ffdc7b);box-shadow:0 14px 34px #2b174022}
.us-g img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.us-g:hover img{transform:scale(1.1)}
.us-g figcaption{position:absolute;inset:auto 0 0 0;padding:44px 20px 18px;background:linear-gradient(180deg,transparent,rgba(24,4,44,.88));color:#fff;transform:translateY(60%);opacity:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s}
.us-g:hover figcaption,.us-g:focus-within figcaption{transform:none;opacity:1}
.us-g figcaption b{display:block;font-size:17px}.us-g figcaption span{font-size:12px;color:var(--gold);font-weight:600}
.us-g1{grid-column:1/6;grid-row:1/3}.us-g2{grid-column:6/10;grid-row:1}.us-g3{grid-column:10/13;grid-row:1/3}.us-g4{grid-column:6/10;grid-row:2}.us-g5{grid-column:1/7;grid-row:3}.us-g6{grid-column:7/13;grid-row:3}
.us-stats{list-style:none;margin:44px 0 0;padding:34px 20px;display:grid;grid-template-columns:repeat(4,1fr);border-radius:32px;background:linear-gradient(135deg,#4b1a8f,#24093c);box-shadow:0 30px 60px #4b1a8f40;position:relative;overflow:hidden}
.us-stats:before{content:"✦";position:absolute;inset-inline-end:3%;top:-30px;font-size:150px;color:rgba(255,200,61,.08)}
.us-stats li{text-align:center;padding:6px 14px;border-inline-start:1px solid rgba(255,255,255,.14)}.us-stats li:first-child{border:0}
.us-stats b{display:block;font:800 clamp(38px,4.6vw,60px)/1 'Baloo 2','Poppins',sans-serif;color:var(--gold);font-variant-numeric:tabular-nums}.us-stats span{font-size:13.5px;color:#e4d8f2;font-weight:500}

/* 8 · cta */
.us-cta{position:relative;background:radial-gradient(circle at 50% 50%,#4b1a8f,#1d0735 70%);color:#fff;padding:clamp(90px,11vw,150px) 0;overflow:hidden;text-align:center}
.us-cta-in{position:relative;z-index:2;max-width:780px}
.us-cta h2{color:#fff;font-size:clamp(36px,5.2vw,68px);letter-spacing:-.05em;margin:16px 0}.us-cta .us-kick,.us-cta em{color:var(--gold)}
.us-cta p{color:#e4d8f2;line-height:1.8;max-width:560px;margin:0 auto}
.us-cta .us-ghost{color:#fff}
.us-cta>.us-sp:nth-of-type(1){top:20%;left:35%}.us-cta>.us-sp:nth-of-type(2){bottom:18%;right:32%;animation-delay:-1.5s}
.us-orb{position:absolute;width:clamp(90px,12vw,170px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:5px solid rgba(255,255,255,.9);box-shadow:0 20px 50px rgba(0,0,0,.4);animation:us-bob 6s ease-in-out infinite alternate;background:#6a2bc0}.us-orb img{width:100%;height:100%;object-fit:cover}
.us-orb1{top:12%;inset-inline-start:6%}.us-orb2{bottom:10%;inset-inline-start:13%;width:clamp(70px,9vw,120px);animation-delay:-2s}.us-orb3{top:14%;inset-inline-end:8%;width:clamp(70px,9vw,120px);animation-delay:-3s}.us-orb4{bottom:12%;inset-inline-end:5%;animation-delay:-1s}
.us-form{position:relative;display:flex;align-items:center;gap:10px;max-width:560px;margin:34px auto 0;padding:8px 8px 8px 22px;border-radius:999px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.28);backdrop-filter:blur(10px);transition:border-color .25s,box-shadow .25s}
.us-form:focus-within{border-color:var(--gold);box-shadow:0 0 0 5px rgba(255,200,61,.18)}
.us-form>svg{width:22px;height:22px;color:var(--gold)}
.us-form input{flex:1;min-width:0;background:none;border:0;outline:0;color:#fff;font:500 15px 'Poppins',sans-serif;padding:10px 4px}.us-form input::placeholder{color:#c9b6e2}
.us-form.is-bad{animation:us-shake .4s}.us-form.is-bad{border-color:#ff8fab}
@keyframes us-shake{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
.us-form-msg{min-height:26px;margin-top:14px!important;font-weight:600;color:var(--gold)}.us-form-msg.pop{animation:us-pop .5s cubic-bezier(.2,.9,.3,1.4)}
@keyframes us-pop{from{opacity:0;transform:scale(.7)}}

/* responsive */
@media(max-width:1080px){.us-grid{grid-template-columns:1fr 1fr}.us-price{padding:32px 24px 28px}}
@media(max-width:980px){
.us-hero-grid,.us-feat-grid,.us-visit-grid{grid-template-columns:1fr}
.us-ticket-wrap{max-width:430px}.us-ticket{--rot:0deg;transform:none}
.us-poster-big{max-width:400px}.us-bubble1{inset-inline-start:-2%}.us-bubble2{inset-inline-end:-2%}.us-stamp{inset-inline-end:-2%}
.us-cals{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(300px,76%);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 4px 18px;margin-inline:-4px;scrollbar-width:thin}.us-cal{scroll-snap-align:center}
.us-cals .us-d .us-tip{display:none}
.us-prices{grid-template-columns:1fr;max-width:520px;margin-inline:auto;gap:22px}.us-price.is-pop,.us-price.is-pop:hover{transform:none}
.us-steps:before{inset-inline-start:27px}.us-map{min-height:440px}
.us-gal{grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(130px,26vw,200px)}
.us-g1{grid-column:1/4;grid-row:1/3}.us-g2{grid-column:4/7;grid-row:1}.us-g3{grid-column:4/7;grid-row:2}.us-g4{grid-column:1/4;grid-row:3}.us-g5{grid-column:4/7;grid-row:3}.us-g6{grid-column:1/7;grid-row:4}
.us-g figcaption{transform:none;opacity:1;padding-top:34px}
.us-stats{grid-template-columns:1fr 1fr;row-gap:26px}.us-stats li:nth-child(3){border:0}
}
@media(max-width:620px){
.us-grid{grid-template-columns:1fr}.us-facts{grid-template-columns:1fr}
.us-cd{gap:8px}.us-cd div{width:calc(25% - 6px);min-width:0}.us-cd b{font-size:28px}
.us-t-main{padding:26px 22px 22px}.us-t-no{display:none}.us-t-stub{padding:0 20px}
.us-ph-a{width:80px;height:80px;inset-inline-start:6%}.us-ph-b{width:70px;height:70px;inset-inline-end:-6px}
.us-bubble{font-size:12px;padding:8px 12px}.us-stamp{width:88px;height:88px;font-size:10px}
.us-bar{flex-direction:column;align-items:flex-start}.us-fchips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:6px;scrollbar-width:none}.us-fchips button{white-space:nowrap}
.us-card-act{flex-wrap:wrap}.us-steps li{grid-template-columns:48px 1fr;gap:16px}.us-num{width:48px;height:48px;font-size:20px}.us-steps:before{inset-inline-start:23px}
.us-gal{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:12px}.us-g1{grid-column:1/3;grid-row:1/3}.us-g2{grid-column:1;grid-row:3}.us-g3{grid-column:2;grid-row:3}.us-g4{grid-column:1;grid-row:4}.us-g5{grid-column:2;grid-row:4}.us-g6{grid-column:1/3;grid-row:5}
.us-g{border-radius:22px}
.us-stats{padding:26px 8px}.us-stats li{padding:4px 8px}
.us-form{flex-wrap:wrap;border-radius:28px;padding:14px;justify-content:center}.us-form>svg{display:none}.us-form input{flex:1 1 100%;text-align:center}.us-form .btn{width:100%;justify-content:center}
.us-orb{opacity:.3}
.us-actions{gap:14px}
}
@media(prefers-reduced-motion:reduce){.us *,.us *:before,.us *:after{animation:none!important;transition:none!important}.us-meter i{transform:none!important}.us-card,.us-g figcaption{opacity:1}}

/* shared header: keep the mobile menu closed until the burger opens it (applies to all pages) */
@media(max-width:980px){header .menu{display:none}header .menu.open{display:flex}}


/* CONTACT PAGE — editorial, playful and consistent with the About page */
.contact-page{overflow:hidden;background:var(--white);--ct-purple:#321052;--ct-violet:#54248a;--ct-yellow:#ffd15a;--ct-pink:#ffe3ed}
.contact-page em{font-family:'Lobster Two',cursive;font-weight:700;color:#a16be0;font-style:italic}
.ct-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(64px,8vw,112px) 0 92px;background:#f8f4fc}
.ct-hero:before{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(rgba(83,38,127,.1) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,#000,transparent 78%)}
.ct-hero-glow{position:absolute;z-index:-1;width:540px;height:540px;border-radius:50%;right:-140px;top:-200px;background:radial-gradient(circle,rgba(255,209,90,.45),rgba(255,209,90,0) 68%)}
.ct-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(36px,7vw,100px);align-items:center}
.ct-eyebrow,.ct-kicker{display:inline-flex;align-items:center;gap:10px;color:#6a4292;font-size:11px;font-weight:700;letter-spacing:.16em}
.ct-eyebrow i{width:8px;height:8px;border-radius:50%;background:#ffc83d;box-shadow:0 0 0 5px #ffedb8}
.ct-hero h1{font-size:clamp(42px,5.4vw,76px);line-height:1.03;letter-spacing:-.055em;margin:22px 0 22px;color:#251039;font-weight:800}
.ct-hero-copy>p{font-size:16px;line-height:1.9;max-width:510px;color:#675675}
.ct-hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}
.ct-text-link{font-weight:700;color:#321052;font-size:14px;display:inline-flex;gap:8px;align-items:center}.ct-text-link svg{color:#8e5dc2}
.ct-note{display:flex;align-items:center;gap:13px;margin-top:42px;padding-top:22px;border-top:1px solid #e4d8ef;max-width:380px}
.ct-note-star{width:38px;height:38px;display:grid;place-items:center;background:#ffe8a0;color:#321052;border-radius:13px;font-size:21px}
.ct-note b,.ct-note small{display:block}.ct-note b{font-size:13px;color:#321052}.ct-note small{font-size:11px;color:#84758f;margin-top:2px}
.ct-hero-art{min-height:470px;position:relative}
.ct-photo-main{position:absolute;inset:0 35px 38px 55px;overflow:hidden;border-radius:48% 48% 22px 22px;background:#ddd;box-shadow:0 28px 60px #32105220;transform:rotate(2deg)}
.ct-photo-main img,.ct-photo-small img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.ct-photo-main:hover img,.ct-photo-small:hover img{transform:scale(1.05)}
.ct-photo-small{position:absolute;left:0;bottom:0;width:37%;height:43%;border:8px solid #f8f4fc;border-radius:24px;overflow:hidden;box-shadow:0 18px 42px #32105226;transform:rotate(-5deg)}
.ct-sticker{position:absolute;right:0;top:10%;width:124px;height:124px;border-radius:50%;background:#ffd15a;color:#321052;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 14px 30px #32105220;transform:rotate(9deg);animation:ct-float 5s ease-in-out infinite}
.ct-sticker span{font-size:24px;line-height:1}.ct-sticker b{font-size:12px;letter-spacing:.04em;margin-top:5px}.ct-sticker small{font-size:7px;font-weight:700;letter-spacing:.1em}
.ct-art-caption{position:absolute;right:8px;bottom:0;font-size:9px;letter-spacing:.18em;font-weight:700;color:#6f5585}
@keyframes ct-float{0%,100%{transform:translateY(0) rotate(9deg)}50%{transform:translateY(-10px) rotate(5deg)}}
.ct-options-section{padding:100px 0 108px;background:#fff}
.ct-section-head{text-align:center;max-width:690px;margin:0 auto 46px}
.ct-section-head h2,.ct-form-aside h2,.ct-finale h2{font-size:clamp(34px,4.2vw,54px);line-height:1.12;letter-spacing:-.045em;margin:13px 0 15px;color:#28113f}
.ct-section-head p{color:#786b85;font-size:14px;line-height:1.8}
.ct-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ct-option{min-width:0;padding:29px 29px 31px;border-radius:23px;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.ct-option:hover{transform:translateY(-7px);box-shadow:0 20px 38px #2e104d15}
.ct-option-purple{background:#321052;color:#fff}.ct-option-yellow{background:#fff1bc;color:#321052}.ct-option-pink{background:#ffe6ee;color:#321052}
.ct-option-icon{width:48px;height:48px;border:1px solid currentColor;border-radius:16px;display:grid;place-items:center;font-size:24px;margin-bottom:29px}
.ct-option-num{position:absolute;right:25px;top:32px;font-size:10px;font-weight:700;letter-spacing:.12em;opacity:.7}
.ct-option h3{font-size:22px;margin-bottom:11px;color:inherit}.ct-option p{font-size:13px;line-height:1.85;opacity:.8;min-height:72px}
.ct-option>a{margin-top:22px;display:flex;gap:7px;align-items:center;font-size:12px;font-weight:700;overflow-wrap:anywhere;border-bottom:1px solid currentColor;padding-bottom:9px;width:fit-content;max-width:100%}
.ct-form-section{padding:108px 0;background:#f7f3fb;position:relative}
.ct-form-section:before{content:"✳";position:absolute;left:-40px;top:35px;font-size:190px;color:#e9def5;line-height:1;transform:rotate(-18deg);pointer-events:none}
.ct-form-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:clamp(34px,7vw,95px);align-items:start;position:relative}
.ct-form-aside{padding-top:12px}.ct-form-aside h2{margin:17px 0}.ct-form-aside>p{color:#776783;font-size:14px;line-height:1.9;max-width:420px}
.ct-form-image{height:235px;position:relative;overflow:hidden;border-radius:22px;margin-top:32px;background:#321052}
.ct-form-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.ct-form-image:hover img{transform:scale(1.04)}
.ct-form-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,7,48,.8),transparent 75%)}
.ct-form-image>div{position:absolute;z-index:1;bottom:21px;left:24px;color:#fff}.ct-form-image span,.ct-form-image b{display:block}.ct-form-image span{font-size:9px;letter-spacing:.2em;font-weight:700;color:#ffd15a}.ct-form-image b{font-size:24px;font-family:'Lobster Two',cursive;margin-top:4px}
.ct-aside-foot{display:flex;gap:12px;align-items:flex-start;margin-top:23px}.ct-aside-foot>span{color:#9b68cf;font-size:22px}.ct-aside-foot p{font-size:11px;line-height:1.8;color:#7c6c8b}.ct-aside-foot b{color:#321052;font-size:12px}
.ct-form{background:#fff;border:1px solid #ebe1f4;border-radius:25px;padding:clamp(23px,4vw,43px);box-shadow:0 22px 60px #3210520d}
.ct-form-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#8d6ca7;font-size:9px;letter-spacing:.13em;font-weight:700}
.ct-form-top span:first-child{color:#6e3a9c}
.ct-form h3{font-size:30px;color:#28113f;margin:21px 0 4px;letter-spacing:-.04em}.ct-form-intro{font-size:11px;color:#8b7b98;margin-bottom:24px}.ct-form-intro b,.ct-field label b,.ct-consent b{color:#9a4b98}
.ct-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.ct-field{min-width:0}.ct-field-wide{grid-column:1/-1}
.ct-field label{display:block;color:#39244c;font-size:12px;font-weight:700;margin-bottom:8px}.ct-field label span{font-weight:400;color:#9b8ca7}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;min-width:0;border:1px solid #e3d8ed;background:#fdfbff;color:#321052;border-radius:11px;padding:13px 14px;font:400 13px 'Poppins',sans-serif;outline:none;transition:border .2s,box-shadow .2s,background .2s}
.ct-field textarea{resize:vertical;min-height:120px;line-height:1.7}.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{border-color:#8754b5;box-shadow:0 0 0 3px #8754b51c;background:#fff}
.ct-field input::placeholder,.ct-field textarea::placeholder{color:#b2a6bd}.ct-field [aria-invalid="true"]{border-color:#c04459;background:#fff9fa}
.ct-error{display:block;min-height:0;font-size:10px;color:#b12f4b;margin-top:5px}.ct-error:empty{display:none}
.ct-message-meta{display:flex;justify-content:space-between;gap:12px}.ct-message-meta>small:last-child{color:#9a8aa7;font-size:10px;padding-top:5px}
.ct-consent{display:flex;gap:10px;align-items:flex-start;margin-top:20px;font-size:11px;color:#6d5d7b;cursor:pointer}.ct-consent input{accent-color:#5a278c;width:16px;height:16px;flex:none;margin:1px 0 0}
.ct-consent-error{display:block;color:#b12f4b;font-size:10px;margin:5px 0 0 26px}
.ct-submit{margin-top:22px;border:0;width:100%;justify-content:center}.ct-privacy{text-align:center;font-size:10px;color:#9587a1;margin-top:12px}
.ct-success{margin-top:18px;padding:15px 17px;border-radius:12px;background:#edf9f0;border:1px solid #bce4c5;color:#225b35;font-size:12px;line-height:1.7}.ct-success b,.ct-success span{display:block}.ct-success span{margin-top:3px}
.ct-visit-section{padding:105px 0 112px;background:#fff}
.ct-visit-head{margin-bottom:42px}.ct-visit-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:stretch}
.ct-map-wrap{position:relative;min-height:430px;border-radius:24px;overflow:hidden;background:#eee5f5;border:1px solid #e7dcef}
.ct-map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.8)}
.ct-map-open{position:absolute;left:18px;bottom:18px;background:#fff;color:#321052;padding:12px 15px;border-radius:999px;box-shadow:0 8px 24px #32105220;font-size:11px;font-weight:700;display:flex;align-items:center;gap:8px}
.ct-visit-info{background:#321052;color:#fff;border-radius:24px;padding:clamp(27px,4vw,43px);position:relative;overflow:hidden}
.ct-visit-info:after{content:"✳";position:absolute;right:-22px;bottom:-50px;color:#ffffff09;font-size:200px;pointer-events:none}
.ct-visit-pin{width:45px;height:45px;border-radius:50%;background:#ffd15a;color:#321052;display:grid;place-items:center;font-size:25px;margin-bottom:24px}
.ct-visit-info .ct-kicker{color:#e6c9ff;font-size:9px}.ct-visit-info h3{font-size:clamp(23px,2.4vw,31px);color:#fff;line-height:1.25;margin:13px 0 25px}
.ct-visit-row{display:flex;gap:13px;padding:16px 0;border-top:1px solid #ffffff20;position:relative;z-index:1}.ct-visit-row>span{width:32px;height:32px;border-radius:10px;background:#ffffff12;display:grid;place-items:center;color:#ffd15a;flex:none}
.ct-visit-row p b,.ct-visit-row p small{display:block}.ct-visit-row p b{font-size:12px;color:#fff}.ct-visit-row p small{font-size:11px;color:#d1c0e1;line-height:1.8;margin-top:3px}
.ct-visit-info .btn{margin-top:18px;position:relative;z-index:1}
.ct-finale{position:relative;isolation:isolate;overflow:hidden;background:#f4eafb;padding:42px 0 44px;text-align:center}
.ct-finale:before,.ct-finale:after{content:"";position:absolute;z-index:-1;border:1px solid #dfc9ef;border-radius:50%;width:220px;height:220px;top:-150px;left:-70px}
.ct-finale:after{width:280px;height:280px;left:auto;top:auto;right:-130px;bottom:-210px}
.ct-finale-shape{position:absolute;left:12%;bottom:12%;font-size:30px;color:#e5c84e;animation:ct-float 6s ease-in-out infinite}
.ct-finale-inner{max-width:720px}.ct-finale h2{font-size:clamp(34px,4.2vw,52px);line-height:1.08;margin:10px 0}.ct-finale p{max-width:490px;margin:0 auto 18px;color:#786987;font-size:13px;line-height:1.7}.ct-finale-scribble{margin-top:18px;font-size:9px;letter-spacing:.25em;font-weight:700;color:#9576ae}
.contact-page .reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.contact-page .reveal.in-view{opacity:1;transform:none}
@media(max-width:900px){.ct-hero-grid{gap:32px}.ct-hero-art{min-height:400px}.ct-form-grid{grid-template-columns:.8fr 1.2fr;gap:30px}.ct-options{gap:13px}.ct-option{padding:24px 20px}.ct-visit-grid{grid-template-columns:1fr  .8fr}}
@media(max-width:700px){.ct-hero{padding:60px 0 70px}.ct-hero-grid{grid-template-columns:1fr}.ct-hero-copy{max-width:600px}.ct-hero-art{width:min(100%,500px);margin:0 auto;min-height:390px}.ct-photo-main{inset:0 30px 32px 35px}.ct-photo-small{width:36%;height:40%}.ct-sticker{width:105px;height:105px}.ct-options-section,.ct-form-section,.ct-visit-section{padding:72px 0}.ct-options{grid-template-columns:1fr}.ct-option p{min-height:0}.ct-option-icon{margin-bottom:20px}.ct-form-grid{grid-template-columns:1fr}.ct-form-aside>p{max-width:600px}.ct-form-image{height:210px;max-width:540px}.ct-visit-grid{grid-template-columns:1fr}.ct-map-wrap{min-height:350px}.ct-visit-info{padding:30px}.ct-section-head{margin-bottom:32px}}
@media(max-width:480px){.ct-hero h1{font-size:clamp(39px,11vw,53px)}.ct-hero-art{min-height:320px}.ct-photo-main{inset:0 24px 28px 25px;border-radius:45% 45% 18px 18px}.ct-photo-small{border-width:5px;border-radius:17px}.ct-sticker{width:88px;height:88px;right:-2px}.ct-sticker span{font-size:18px}.ct-sticker b{font-size:10px}.ct-sticker small{font-size:6px}.ct-art-caption{font-size:7px;letter-spacing:.1em}.ct-hero-actions{gap:16px}.ct-hero-actions .btn{padding:12px 17px;font-size:13px}.ct-fields{grid-template-columns:1fr;gap:14px}.ct-field-wide{grid-column:auto}.ct-form{padding:23px 18px;border-radius:19px}.ct-form h3{font-size:27px}.ct-form-top{font-size:8px}.ct-map-wrap{min-height:300px}.ct-map-open{left:10px;bottom:10px;font-size:10px}.ct-finale{padding:36px 0 38px}.ct-finale-shape{left:5%;bottom:8%;font-size:24px}}
@media(prefers-reduced-motion:reduce){.contact-page .reveal{opacity:1;transform:none;transition:none}.ct-sticker,.ct-finale-shape{animation:none}.ct-photo-main img,.ct-photo-small img{transition:none}}
body.dark .contact-page{background:var(--white)}
body.dark .ct-hero{background:#211032}
body.dark .ct-hero h1,body.dark .ct-section-head h2,body.dark .ct-form-aside h2,body.dark .ct-finale h2{color:#fff}
body.dark .ct-hero-copy>p,body.dark .ct-section-head p,body.dark .ct-form-aside>p,body.dark .ct-finale p{color:#d1c1e0}
body.dark .ct-eyebrow,body.dark .ct-kicker{color:#d8b5ff}
body.dark .ct-options-section,body.dark .ct-visit-section{background:#19082b}
body.dark .ct-form-section,body.dark .ct-finale{background:#211032}
body.dark .ct-form{background:#2a1445;border-color:#50326a}
body.dark .ct-form h3,body.dark .ct-field label,body.dark .ct-aside-foot b{color:#fff}
body.dark .ct-form-intro,body.dark .ct-privacy,body.dark .ct-consent,body.dark .ct-aside-foot p{color:#d2c0e3}
body.dark .ct-field input,body.dark .ct-field select,body.dark .ct-field textarea{background:#1d0b31;border-color:#50326a;color:#fff}
body.dark .ct-note{border-color:#4b3260}body.dark .ct-note b{color:#fff}
body.dark .ct-finale:before,body.dark .ct-finale:after{border-color:#4b3260}

/* Contact page — Section 2 complete layout redesign */
.ct-options-redesign{padding:64px 0 76px;background:#fff}
.ct-options-redesign .ct-directory{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,72px);align-items:stretch}
.ct-options-redesign .ct-directory-intro{position:relative;overflow:hidden;background:#321052;color:#fff;border-radius:26px;padding:clamp(27px,4vw,48px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:360px}
.ct-options-redesign .ct-directory-intro .ct-kicker{color:#ffd45e;position:relative;z-index:1}
.ct-options-redesign .ct-directory-intro h2{position:relative;z-index:1;color:#fff;font-size:clamp(30px,3.4vw,45px);line-height:1.12;letter-spacing:-.045em;margin:18px 0}
.ct-options-redesign .ct-directory-intro h2 em{font-family:'Lobster Two',cursive;font-weight:700;color:#c49af5;font-style:normal}
.ct-options-redesign .ct-directory-intro p{position:relative;z-index:1;color:#e4d7ee;font-size:13px;line-height:1.85;max-width:330px}
.ct-directory-cta{position:relative;z-index:1;margin-top:26px;display:inline-flex;align-items:center;gap:25px;background:#ffc83d;color:#321052;border-radius:5px;padding:13px 17px;font-size:10px;font-weight:800;letter-spacing:.1em}
.ct-directory-cta span{font-size:17px}
.ct-directory-spark{position:absolute;right:-25px;bottom:-60px;color:#ffffff0c;font-size:230px;line-height:1;pointer-events:none}
.ct-directory-links{display:flex;flex-direction:column;justify-content:center}
.ct-directory-row{display:grid;grid-template-columns:30px 44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:23px 0;border-bottom:1px solid #e9e0f0;color:#321052;transition:padding .25s,background .25s}
.ct-directory-row:first-child{border-top:1px solid #e9e0f0}
.ct-directory-row:hover{padding-left:10px;padding-right:10px;background:#faf7fd}
.ct-directory-index{font-size:10px;font-weight:800;color:#9a72c0;letter-spacing:.08em}
.ct-directory-symbol{width:42px;height:42px;border-radius:13px;background:#f1e6fc;display:grid;place-items:center;font-size:20px;color:#54247d}
.ct-directory-row:nth-child(2) .ct-directory-symbol{background:#fff1bd}
.ct-directory-row:nth-child(3) .ct-directory-symbol{background:#ffe5ee}
.ct-directory-copy{min-width:0;display:flex;flex-direction:column;gap:5px}
.ct-directory-copy b{font-size:15px;color:#321052;line-height:1.35}
.ct-directory-copy small{font-size:11px;line-height:1.6;color:#796a87}
.ct-directory-action{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.06em;font-weight:800;white-space:nowrap;color:#54247d}
.ct-directory-action i{font-size:15px;font-style:normal}
.ct-directory-note{display:flex;align-items:center;gap:10px;padding-top:19px;color:#776783;font-size:11px}
.ct-directory-note span{color:#a16bd0;font-size:18px}
@media(max-width:900px){.ct-options-redesign{padding:48px 0 56px}.ct-options-redesign .ct-directory{grid-template-columns:1fr;gap:24px}.ct-options-redesign .ct-directory-intro{min-height:0;padding:30px}.ct-options-redesign .ct-directory-intro h2{font-size:clamp(30px,6vw,42px)}}
@media(max-width:560px){.ct-options-redesign{padding:34px 0 42px}.ct-options-redesign .ct-directory-intro{padding:25px 22px;border-radius:20px}.ct-directory-row{grid-template-columns:24px 38px minmax(0,1fr);gap:10px;padding:17px 0}.ct-directory-symbol{width:36px;height:36px;border-radius:11px}.ct-directory-action{grid-column:3;white-space:normal;margin-top:-3px}.ct-directory-copy b{font-size:14px}.ct-directory-copy small{font-size:10px}.ct-directory-note{font-size:10px;align-items:flex-start}}


/* CONTACT HERO — refined compact redesign */
.contact-page .ct-hero{padding:clamp(44px,5.2vw,72px) 0 clamp(48px,5.5vw,76px);background:#f7f1fb}
.contact-page .ct-hero:before{background-image:radial-gradient(rgba(83,38,127,.09) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(90deg,#000,transparent 88%)}
.contact-page .ct-hero-glow{width:430px;height:430px;right:-125px;top:-165px;background:radial-gradient(circle,rgba(255,209,90,.38),rgba(255,209,90,0) 70%)}
.contact-page .ct-hero-grid{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(34px,5vw,72px);max-width:1190px}
.contact-page .ct-hero-copy{padding:8px 0}
.contact-page .ct-eyebrow{font-size:10px;letter-spacing:.19em}
.contact-page .ct-hero h1{font-size:clamp(42px,4.8vw,66px);line-height:1.04;letter-spacing:-.055em;margin:18px 0 16px;max-width:620px}
.contact-page .ct-hero-copy>p{font-size:15px;line-height:1.75;max-width:440px}
.contact-page .ct-hero-actions{gap:20px;margin-top:24px}
.contact-page .ct-note{margin-top:28px;padding-top:16px;max-width:360px}
.contact-page .ct-note-star{width:34px;height:34px;border-radius:11px;font-size:18px}
.contact-page .ct-hero-art{min-height:390px;max-width:490px;width:100%;justify-self:end}
.contact-page .ct-photo-main{inset:0 18px 24px 36px;border-radius:28px 100px 28px 28px;transform:none;box-shadow:0 22px 48px rgba(50,16,82,.15)}
.contact-page .ct-photo-main img{filter:saturate(.9)}
.contact-page .ct-photo-small{left:0;bottom:0;width:31%;height:34%;border:6px solid #f7f1fb;border-radius:18px;transform:rotate(-4deg);box-shadow:0 12px 30px rgba(50,16,82,.2)}
.contact-page .ct-sticker{right:0;top:8%;width:104px;height:104px;transform:rotate(7deg);animation:ct-float 6s ease-in-out infinite}
.contact-page .ct-sticker span{font-size:20px}.contact-page .ct-sticker b{font-size:10px}.contact-page .ct-sticker small{font-size:6px}
.contact-page .ct-art-caption{right:18px;bottom:0;font-size:8px;letter-spacing:.14em}
@media(max-width:900px){.contact-page .ct-hero{padding:48px 0 56px}.contact-page .ct-hero-grid{gap:28px}.contact-page .ct-hero-art{min-height:350px}.contact-page .ct-hero h1{font-size:clamp(40px,5.3vw,58px)}}
@media(max-width:700px){.contact-page .ct-hero{padding:42px 0 46px}.contact-page .ct-hero-grid{grid-template-columns:1fr;gap:30px}.contact-page .ct-hero-copy{max-width:590px}.contact-page .ct-hero h1{font-size:clamp(40px,9.5vw,58px);margin:16px 0 14px}.contact-page .ct-hero-copy>p{font-size:14px;line-height:1.75}.contact-page .ct-hero-actions{margin-top:21px}.contact-page .ct-note{margin-top:23px}.contact-page .ct-hero-art{min-height:330px;width:min(100%,500px);justify-self:center}.contact-page .ct-photo-main{inset:0 22px 22px 25px;border-radius:26px 82px 22px 22px}.contact-page .ct-photo-small{width:32%;height:36%;border-width:5px}.contact-page .ct-sticker{width:94px;height:94px;right:0;top:7%}.contact-page .ct-art-caption{right:12px;font-size:7px}}
@media(max-width:480px){.contact-page .ct-hero{padding:34px 0 38px}.contact-page .ct-hero-art{min-height:285px}.contact-page .ct-hero h1{font-size:clamp(38px,10.5vw,48px)}.contact-page .ct-hero-actions{gap:14px}.contact-page .ct-note{margin-top:20px}.contact-page .ct-photo-main{inset:0 16px 20px 20px;border-radius:22px 68px 18px 18px}.contact-page .ct-sticker{width:82px;height:82px}.contact-page .ct-sticker b{font-size:9px}}
body.dark .contact-page .ct-hero{background:#211032}
body.dark .contact-page .ct-photo-small{border-color:#211032}

/* CONTACT HERO — genuinely new split-stage composition with consistent side gutters */
.contact-page .ct-hero{padding:clamp(28px,4vw,54px) 0;background:#f7f1fb;overflow:hidden}
.contact-page .ct-hero-grid{width:100%;max-width:1320px;margin-inline:auto;padding-inline:clamp(22px,5.2vw,76px);box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(28px,5vw,70px);align-items:stretch}
.contact-page .ct-hero-copy{align-self:center;position:relative;z-index:1;padding:clamp(22px,3vw,44px) 0}
.contact-page .ct-hero h1{font-size:clamp(40px,4.4vw,62px);max-width:570px;line-height:1.02;margin:18px 0 18px;letter-spacing:-.05em}
.contact-page .ct-hero-copy>p{max-width:450px;font-size:15px;line-height:1.8}
.contact-page .ct-hero-art{min-height:clamp(330px,34vw,440px);max-width:none;width:100%;justify-self:stretch;align-self:stretch;background:#32104e;border-radius:28px;overflow:hidden;isolation:isolate}
.contact-page .ct-photo-main{inset:0;border-radius:28px;box-shadow:none;transform:none}
.contact-page .ct-photo-main:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,10,55,.02) 45%,rgba(35,10,55,.46) 100%);pointer-events:none}
.contact-page .ct-photo-main img{width:100%;height:100%;object-fit:cover;filter:saturate(.86)}
.contact-page .ct-photo-small{width:clamp(112px,13vw,160px);height:clamp(120px,14vw,170px);left:auto;right:20px;bottom:20px;border:5px solid #f7f1fb;border-radius:18px;transform:rotate(3deg);z-index:2}
.contact-page .ct-sticker{right:auto;left:20px;top:20px;width:92px;height:92px;transform:none;box-shadow:0 12px 28px rgba(25,7,40,.18)}
.contact-page .ct-art-caption{left:24px;right:auto;bottom:25px;max-width:calc(100% - 190px);color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3);font-size:9px;letter-spacing:.16em;z-index:3}
.contact-page .ct-note{margin-top:24px}
@media(max-width:900px){.contact-page .ct-hero-grid{padding-inline:clamp(22px,4vw,40px);gap:26px}.contact-page .ct-hero-art{min-height:340px}.contact-page .ct-hero h1{font-size:clamp(38px,5vw,52px)}}
@media(max-width:700px){.contact-page .ct-hero{padding:24px 0 32px}.contact-page .ct-hero-grid{grid-template-columns:minmax(0,1fr);padding-inline:22px;gap:22px}.contact-page .ct-hero-copy{padding:14px 0 0;max-width:620px}.contact-page .ct-hero h1{font-size:clamp(38px,8.8vw,52px);max-width:540px;margin:14px 0}.contact-page .ct-hero-copy>p{font-size:14px;max-width:540px}.contact-page .ct-hero-actions{margin-top:20px}.contact-page .ct-note{margin-top:20px;padding-top:12px}.contact-page .ct-hero-art{min-height:clamp(270px,66vw,370px);width:100%;max-width:none;border-radius:22px}.contact-page .ct-photo-main{inset:0;border-radius:22px}.contact-page .ct-photo-small{width:112px;height:122px;right:14px;bottom:14px;border-width:4px}.contact-page .ct-sticker{width:78px;height:78px;left:14px;top:14px}.contact-page .ct-art-caption{left:16px;bottom:18px;font-size:7px;max-width:calc(100% - 150px)}}
@media(max-width:380px){.contact-page .ct-hero-grid{padding-inline:16px}.contact-page .ct-hero h1{font-size:36px}.contact-page .ct-hero-art{min-height:245px}.contact-page .ct-photo-small{width:92px;height:104px}.contact-page .ct-art-caption{max-width:calc(100% - 120px);letter-spacing:.08em}}


/* CONTACT HERO — final gutter and image-composition correction */
.contact-page .ct-hero{padding:clamp(36px,5vw,68px) 0;background:#f7f1fb;overflow:hidden}
.contact-page .ct-hero-grid{width:min(100% - 48px,1240px);max-width:1240px;margin:0 auto;padding:0;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(30px,5.4vw,76px);align-items:center}
.contact-page .ct-hero-copy{min-width:0;max-width:540px;padding:clamp(12px,2vw,26px) 0;align-self:center}
.contact-page .ct-hero h1{max-width:540px;font-size:clamp(40px,4.25vw,62px);line-height:1.04;overflow-wrap:normal}
.contact-page .ct-hero-copy>p{max-width:440px}
.contact-page .ct-hero-art{position:relative;min-width:0;width:100%;height:clamp(340px,37vw,465px);min-height:0;max-width:none;justify-self:stretch;align-self:center;border-radius:26px;background:#32104e;overflow:hidden;isolation:isolate}
.contact-page .ct-photo-main{position:absolute;inset:0 27% 0 0;border-radius:0;overflow:hidden;box-shadow:none}
.contact-page .ct-photo-main img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.94);transition:transform .7s ease}
.contact-page .ct-hero-art:hover .ct-photo-main img{transform:scale(1.035)}
.contact-page .ct-photo-main:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,10,55,.02) 50%,rgba(35,10,55,.5) 100%);pointer-events:none}
.contact-page .ct-photo-small{position:absolute;left:auto;right:0;top:0;bottom:auto;width:27%;height:100%;border:0;border-radius:0;transform:none;overflow:hidden;box-shadow:none}
.contact-page .ct-photo-small img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.88);transition:transform .7s ease}
.contact-page .ct-hero-art:hover .ct-photo-small img{transform:scale(1.045)}
.contact-page .ct-sticker{left:22px;right:auto;top:22px;width:90px;height:90px;transform:rotate(-6deg);box-shadow:0 12px 28px rgba(25,7,40,.22)}
.contact-page .ct-art-caption{left:22px;right:auto;bottom:22px;max-width:calc(73% - 38px);color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.4);font-size:9px;letter-spacing:.13em;z-index:3}
.contact-page .ct-hero-grid>*{min-width:0}
@media(max-width:900px){.contact-page .ct-hero-grid{width:calc(100% - 48px);grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px}.contact-page .ct-hero-art{height:360px}.contact-page .ct-hero h1{font-size:clamp(38px,5vw,52px)}}
@media(max-width:700px){.contact-page .ct-hero{padding:32px 0 38px}.contact-page .ct-hero-grid{width:calc(100% - 40px);grid-template-columns:minmax(0,1fr);gap:24px}.contact-page .ct-hero-copy{max-width:600px;padding:8px 0 0}.contact-page .ct-hero h1{font-size:clamp(38px,8.7vw,52px);margin:14px 0}.contact-page .ct-hero-art{height:clamp(280px,72vw,390px);width:100%;border-radius:22px}.contact-page .ct-photo-main{inset:0 30% 0 0}.contact-page .ct-photo-small{width:30%;height:100%;right:0;top:0}.contact-page .ct-sticker{width:76px;height:76px;left:14px;top:14px}.contact-page .ct-art-caption{left:15px;bottom:16px;max-width:calc(70% - 24px);font-size:7px;letter-spacing:.09em}}
@media(max-width:380px){.contact-page .ct-hero-grid{width:calc(100% - 32px)}.contact-page .ct-hero h1{font-size:36px}.contact-page .ct-hero-art{height:260px}.contact-page .ct-sticker{width:66px;height:66px}.contact-page .ct-sticker b{font-size:8px}.contact-page .ct-sticker small{font-size:5px}.contact-page .ct-art-caption{max-width:calc(70% - 20px);font-size:6px}}
body.dark .contact-page .ct-photo-small{border-color:transparent}


/* CONTACT HERO — editorial three-frame gallery, using the shared site stylesheet */
.contact-page .ct-hero{padding:clamp(34px,4.6vw,64px) 0;background:#f7f1fb}
.contact-page .ct-hero-grid{width:calc(100% - clamp(36px,8vw,128px));max-width:1240px;margin-inline:auto;padding:0;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(28px,5vw,68px);align-items:center}
.contact-page .ct-hero-copy{min-width:0;max-width:530px;padding:clamp(10px,2vw,24px) 0}
.contact-page .ct-hero h1{font-size:clamp(40px,4.3vw,62px);line-height:1.04;max-width:540px;margin:18px 0 18px}
.contact-page .ct-hero-copy>p{max-width:440px;font-size:15px;line-height:1.8}
.contact-page .ct-hero-gallery{position:relative;display:grid;grid-template-columns:minmax(0,1.42fr) minmax(118px,.78fr);gap:12px;height:clamp(350px,36vw,455px);min-height:0;width:100%;max-width:none;justify-self:stretch;align-self:center;padding:0;background:transparent;border-radius:0;overflow:visible;isolation:isolate}
.contact-page .ct-gallery-main,.contact-page .ct-gallery-tile{position:relative;min-width:0;min-height:0;overflow:hidden;background:#321052;margin:0}
.contact-page .ct-gallery-main{border-radius:110px 18px 18px 18px;box-shadow:0 24px 55px rgba(50,16,82,.15)}
.contact-page .ct-gallery-main:after,.contact-page .ct-gallery-tile:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 52%,rgba(35,10,55,.72))}
.contact-page .ct-gallery-main img,.contact-page .ct-gallery-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);filter:saturate(.9)}
.contact-page .ct-hero-gallery:hover .ct-gallery-main img,.contact-page .ct-hero-gallery:hover .ct-gallery-tile img{transform:scale(1.035)}
.contact-page .ct-gallery-side{display:grid;grid-template-rows:1fr 1fr;gap:12px;min-height:0}
.contact-page .ct-gallery-child{border-radius:18px 18px 18px 5px}
.contact-page .ct-gallery-art{border-radius:5px 18px 18px 18px}
.contact-page .ct-gallery-tile figcaption{position:absolute;z-index:1;left:13px;right:8px;bottom:13px;color:#fff;font-size:8px;line-height:1.4;font-weight:800;letter-spacing:.11em}
.contact-page .ct-gallery-label{position:absolute;z-index:1;left:22px;right:18px;bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.17em}
.contact-page .ct-gallery-label i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffd15a;color:#321052;font-style:normal;font-size:16px;flex:none}
.contact-page .ct-gallery-stamp{position:absolute;z-index:2;left:-20px;top:26px;width:92px;height:92px;border:5px solid #f7f1fb;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffd15a;color:#321052;box-shadow:0 10px 25px rgba(50,16,82,.16);transform:rotate(-8deg)}
.contact-page .ct-gallery-stamp span{font-size:18px;line-height:1}.contact-page .ct-gallery-stamp b{font-size:9px;letter-spacing:.04em;margin-top:4px}.contact-page .ct-gallery-stamp small{font-size:5px;font-weight:800;letter-spacing:.1em}
.contact-page .ct-hero-gallery .ct-photo-main,.contact-page .ct-hero-gallery .ct-photo-small,.contact-page .ct-hero-gallery .ct-sticker,.contact-page .ct-hero-gallery .ct-art-caption{display:none}
@media(max-width:900px){.contact-page .ct-hero-grid{width:calc(100% - 56px);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:26px}.contact-page .ct-hero-gallery{height:350px;grid-template-columns:minmax(0,1.3fr) minmax(100px,.8fr);gap:9px}.contact-page .ct-gallery-side{gap:9px}.contact-page .ct-gallery-main{border-top-left-radius:78px}.contact-page .ct-gallery-stamp{left:-12px;width:78px;height:78px;border-width:4px}}
@media(max-width:700px){.contact-page .ct-hero{padding:30px 0 38px}.contact-page .ct-hero-grid{width:calc(100% - 40px);grid-template-columns:minmax(0,1fr);gap:22px}.contact-page .ct-hero-copy{max-width:620px;padding:8px 0 0}.contact-page .ct-hero h1{font-size:clamp(38px,8.5vw,52px);margin:14px 0}.contact-page .ct-hero-copy>p{font-size:14px;max-width:540px}.contact-page .ct-hero-actions{margin-top:20px}.contact-page .ct-note{margin-top:20px;padding-top:12px}.contact-page .ct-hero-gallery{height:clamp(300px,76vw,390px);grid-template-columns:minmax(0,1.35fr) minmax(92px,.78fr);gap:9px;width:100%}.contact-page .ct-gallery-main{border-top-left-radius:72px;border-radius:72px 14px 14px 14px}.contact-page .ct-gallery-side{gap:9px}.contact-page .ct-gallery-child{border-radius:14px 14px 14px 4px}.contact-page .ct-gallery-art{border-radius:4px 14px 14px 14px}.contact-page .ct-gallery-stamp{left:-8px;top:16px;width:70px;height:70px;border-width:3px}.contact-page .ct-gallery-stamp span{font-size:14px}.contact-page .ct-gallery-stamp b{font-size:7px}.contact-page .ct-gallery-stamp small{font-size:4px}.contact-page .ct-gallery-label{left:15px;bottom:16px;font-size:8px;letter-spacing:.1em}.contact-page .ct-gallery-label i{width:27px;height:27px;font-size:13px}.contact-page .ct-gallery-tile figcaption{left:9px;bottom:9px;font-size:7px;letter-spacing:.05em}}
@media(max-width:380px){.contact-page .ct-hero-grid{width:calc(100% - 32px)}.contact-page .ct-hero-gallery{height:260px;grid-template-columns:minmax(0,1.25fr) minmax(82px,.78fr);gap:7px}.contact-page .ct-gallery-side{gap:7px}.contact-page .ct-gallery-main{border-top-left-radius:54px}.contact-page .ct-gallery-stamp{width:60px;height:60px;left:-5px;top:12px}.contact-page .ct-gallery-label{font-size:6px;left:10px;right:8px;bottom:10px}.contact-page .ct-gallery-label i{width:22px;height:22px}}


/* REGISTER PAGE — scoped styles, integrated into the shared stylesheet */
.register-page{min-height:100vh;background:#f7f5fa;color:#28143e;font-family:'Poppins',sans-serif}
.register-page .reg-topbar{height:68px;padding:0 clamp(16px,4.2vw,64px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e8e0f0;position:relative;z-index:2}
.register-page .reg-back{display:inline-flex;align-items:center;gap:10px;border:1px solid #e2d7ef;border-radius:999px;padding:10px 16px;color:#332044;text-decoration:none;font-size:12px;font-weight:600;transition:background .2s,border-color .2s}
.register-page .reg-back:hover{background:#f7efff;border-color:#bba2dc}.register-page .reg-back span{font-size:18px;line-height:1}.register-page .reg-tools{display:flex;align-items:center;gap:8px}.register-page .reg-tools .pill{width:42px;height:42px;display:grid;place-items:center;border:1px solid #e2d7ef;border-radius:50%;background:#fff;color:#352044;cursor:pointer}.register-page .reg-tools .i{width:16px;height:16px}
.register-page .reg-main{position:relative;min-height:calc(100vh - 68px);display:flex;justify-content:center;align-items:center;padding:44px 24px 64px;overflow:hidden;isolation:isolate}
.register-page .reg-decoration{position:absolute;z-index:-1;border:1px solid rgba(151,105,203,.22);border-radius:50%;pointer-events:none}.register-page .reg-decoration-one{width:340px;height:340px;left:-160px;top:-190px}.register-page .reg-decoration-two{width:390px;height:390px;right:-200px;bottom:-250px}.register-page .reg-card{width:min(100%,600px);padding:42px clamp(22px,5vw,58px) 30px;background:#fff;border:1px solid #e4d9ef;border-radius:28px;box-shadow:0 24px 70px rgba(48,20,70,.07);position:relative}
.register-page .reg-brand{display:flex;justify-content:center;align-items:center;gap:14px;margin-bottom:27px}.register-page .reg-brand-mark{width:56px;height:56px;display:grid;place-items:center;background:linear-gradient(145deg,#8e6bd0,#52327f);border-radius:17px;box-shadow:0 8px 18px rgba(87,54,132,.18)}.register-page .reg-brand-mark svg{width:31px;height:31px;fill:#ffd15a}.register-page .reg-brand-name{display:flex;flex-direction:column;gap:2px}.register-page .reg-brand-name b{font-family:'Baloo 2',sans-serif;font-size:29px;line-height:1;color:#28143e;letter-spacing:-.6px}.register-page .reg-brand-name small{font-size:8px;letter-spacing:.13em;font-weight:600;color:#6d5486}
.register-page .reg-heading{text-align:center;margin:0 auto 27px}.register-page .reg-eyebrow{display:inline-block;color:#7148a8;font-size:10px;font-weight:800;letter-spacing:.2em;margin-bottom:9px}.register-page .reg-heading h1{font-family:'Baloo 2',sans-serif;font-size:clamp(32px,5vw,43px);line-height:1.12;letter-spacing:-.8px;margin:0 0 8px;color:#28143e}.register-page .reg-heading h1 em{font-family:'Lobster Two',cursive;color:#9a6bd4;font-weight:700;font-style:normal}.register-page .reg-heading p{margin:0;color:#776782;font-size:13px;line-height:1.7}
.register-page .reg-form{display:grid;gap:15px}.register-page .reg-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.register-page .reg-field{display:flex;flex-direction:column;min-width:0;gap:7px}.register-page .reg-field label{font-size:12px;font-weight:700;color:#2e1b40}.register-page .reg-field label b,.register-page .reg-terms b{color:#9a6bd4}.register-page .reg-field label span{font-weight:400;color:#93869e}.register-page .reg-field input{width:100%;min-width:0;height:49px;padding:0 15px;border:1px solid #e1d6ed;border-radius:12px;background:#fcfbfe;color:#28143e;font:400 13px 'Poppins',sans-serif;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.register-page .reg-field input::placeholder{color:#a397b0}.register-page .reg-field input:focus{border-color:#9366ca;box-shadow:0 0 0 3px rgba(147,102,202,.12);background:#fff}.register-page .reg-field input[aria-invalid="true"]{border-color:#c74761;box-shadow:0 0 0 3px rgba(199,71,97,.08)}.register-page .reg-error,.register-page .reg-terms-error{display:block;min-height:0;color:#b33150;font-size:10px;line-height:1.45}.register-page .reg-error:empty,.register-page .reg-terms-error:empty{display:none}.register-page .reg-password-wrap{position:relative}.register-page .reg-password-wrap input{padding-right:64px}.register-page .reg-show{position:absolute;right:11px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#7042a8;font:700 11px 'Poppins',sans-serif;cursor:pointer;padding:7px}.register-page .reg-hint{font-size:10px;color:#92849d;line-height:1.4}.register-page .reg-terms{display:flex;align-items:flex-start;gap:9px;color:#6f617b;font-size:11px;line-height:1.7;cursor:pointer}.register-page .reg-terms input{accent-color:#7042a8;width:15px;height:15px;margin:3px 0 0;flex:none}.register-page .reg-terms a,.register-page .reg-login a{color:#7148a8;font-weight:700;text-decoration:none}.register-page .reg-terms a:hover,.register-page .reg-login a:hover{text-decoration:underline}.register-page .reg-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;border:0;border-radius:13px;background:#ffd044;color:#29143e;font:800 13px 'Poppins',sans-serif;cursor:pointer;box-shadow:0 8px 18px rgba(255,208,68,.18);transition:transform .2s,background .2s}.register-page .reg-submit:hover{transform:translateY(-2px);background:#ffca2d}.register-page .reg-submit .i{width:17px;height:17px}.register-page .reg-success{padding:13px 15px;border:1px solid #b9dfc6;border-radius:12px;background:#f0fbf3;color:#215c36;display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:1.6}.register-page .reg-success[hidden]{display:none}.register-page .reg-success span{font-size:11px}.register-page .reg-login{text-align:center;margin:0;color:#81748b;font-size:11px}.register-page .reg-footnote{display:flex;align-items:center;justify-content:center;gap:8px;border-top:1px solid #f0eaf5;margin-top:24px;padding-top:18px;color:#92859c;font-size:10px}.register-page .reg-footnote svg{width:16px;height:16px;fill:none;stroke:#8e69b9;stroke-width:1.5}.register-page .reg-side-note{position:absolute;bottom:20px;left:clamp(20px,5vw,72px);display:flex;align-items:center;gap:8px;color:#8b6cb0;font-size:9px;font-weight:800;letter-spacing:.2em}.register-page .reg-side-note svg{width:17px;height:17px;fill:#ffd044}
body.dark.register-page{background:#191021;color:#f8f1ff}body.dark.register-page .reg-topbar,body.dark.register-page .reg-card{background:#24172e;border-color:#49335a}body.dark.register-page .reg-back,body.dark.register-page .reg-tools .pill{background:#24172e;color:#f6edff;border-color:#49335a}body.dark.register-page .reg-brand-name b,body.dark.register-page .reg-heading h1,body.dark.register-page .reg-field label{color:#f8f1ff}body.dark.register-page .reg-brand-name small,body.dark.register-page .reg-heading p,body.dark.register-page .reg-terms,body.dark.register-page .reg-login{color:#c2b3d0}body.dark.register-page .reg-field input{background:#1d1326;color:#fff;border-color:#554064}body.dark.register-page .reg-field input:focus{background:#21152b}body.dark.register-page .reg-footnote{border-color:#49335a;color:#b9a8c9}body.dark.register-page .reg-hint{color:#b7a8c5}
@media(max-width:600px){.register-page .reg-topbar{height:60px;padding:0 16px}.register-page .reg-tools .pill{width:38px;height:38px}.register-page .reg-main{min-height:calc(100vh - 60px);padding:24px 14px 56px;align-items:flex-start}.register-page .reg-card{padding:28px 20px 23px;border-radius:22px}.register-page .reg-brand{margin-bottom:22px}.register-page .reg-brand-mark{width:48px;height:48px;border-radius:14px}.register-page .reg-brand-name b{font-size:25px}.register-page .reg-heading{margin-bottom:23px}.register-page .reg-heading h1{font-size:35px}.register-page .reg-heading p{font-size:12px}.register-page .reg-form{gap:13px}.register-page .reg-field-row{gap:10px}.register-page .reg-field label{font-size:11px}.register-page .reg-field input{height:47px;padding:0 12px;font-size:12px}.register-page .reg-password-wrap input{padding-right:58px}.register-page .reg-show{right:5px;font-size:10px}.register-page .reg-side-note{left:16px;bottom:16px;font-size:8px}.register-page .reg-decoration-one{width:240px;height:240px;left:-170px;top:-130px}.register-page .reg-decoration-two{width:260px;height:260px;right:-180px;bottom:-150px}}
@media(max-width:360px){.register-page .reg-main{padding-inline:10px}.register-page .reg-card{padding:24px 15px 20px}.register-page .reg-field-row{grid-template-columns:1fr;gap:13px}.register-page .reg-brand{gap:10px}.register-page .reg-heading h1{font-size:32px}.register-page .reg-side-note{display:none}}



/* Shared authentication polish: sticky topbar, brand asset and login form */
.register-page .reg-topbar{position:sticky;top:0;z-index:1000;box-shadow:0 4px 18px rgba(40,20,62,.035)}
.register-page .reg-brand{gap:12px}
.register-page .auth-brand-logo{display:block;width:58px;height:58px;object-fit:contain;flex:0 0 auto}
.register-page .reg-brand-name b{font-family:'Baloo 2',sans-serif}
.login-page .login-card{width:min(100%,600px)}
.login-page .login-main{padding-top:42px;padding-bottom:58px}
.login-page .login-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.login-page .login-label-row a{color:#7148a8;font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}
.login-page .login-label-row a:hover{text-decoration:underline}
.login-page .login-remember{align-items:center;margin-top:-1px}
.login-page .login-remember input{margin-top:0}
.login-page .login-notice{padding:12px 14px;border:1px solid #e5d7f0;background:#faf6ff;color:#65418a;border-radius:11px;font-size:11px;line-height:1.6}
.login-page .login-notice[hidden]{display:none}
.login-page .reg-brand{margin-bottom:25px}
.login-page .reg-heading{margin-bottom:27px}
.login-page .reg-form{gap:18px}
.login-page .reg-field input{height:52px}
.login-page .reg-footnote{margin-top:23px}
body.dark.login-page .login-label-row a{color:#c4a4f0}
body.dark.login-page .login-notice{background:#2b1d36;border-color:#57416b;color:#e0c8fa}
@media(max-width:600px){.register-page .auth-brand-logo{width:48px;height:48px}.login-page .login-main{padding-top:24px;padding-bottom:54px}.login-page .reg-form{gap:15px}.login-page .reg-field input{height:48px}}
@media(max-width:360px){.register-page .auth-brand-logo{width:42px;height:42px}.register-page .reg-brand-name b{font-size:23px}.register-page .reg-brand-name small{font-size:7px}.login-page .login-label-row a{font-size:10px}}


/* Programs sessions: responsive tickets */
@media(max-width:980px){.pr-sgrid{grid-template-columns:1fr;max-width:640px;margin-inline:auto}}
@media(max-width:560px){.pr-sc{--stub:92px}.pr-tk-stub{padding:18px 12px 14px}.pr-day{font-size:36px}.pr-len{font-size:11px;padding:3px 9px}.pr-admit{font-size:14px}.pr-tk-body{padding:16px 16px 16px 18px}.pr-tk-sp{width:84px;height:84px}.pr-sched-bar{flex-direction:column;align-items:flex-start}.pr-chips button{padding:8px 14px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.pr-beams{animation:none!important}.pr-sgrid .pr-seats i{animation:none!important}}


/* === Unified responsive header + overflow safety (final shared overrides) === */
html { max-width:100%; overflow-x:clip; }
body { width:100%; max-width:100%; overflow-x:clip; }
img, video, iframe, svg { max-width:100%; }
.wrap, main, section, footer { min-width:0; }
.wrap { width:100%; }
header { position:sticky; top:0; z-index:1200; }
header .nav, .auth-site-header .nav {
  display:grid !important; grid-template-columns:minmax(0,auto) minmax(0,1fr) auto !important;
  align-items:center; gap:clamp(8px,1.2vw,20px); min-height:76px; height:auto;
}
header .logo { min-width:0; max-width:100%; }
header .logo span { min-width:0; }
header .logo b { overflow-wrap:anywhere; }
header .tools { min-width:0; display:flex; align-items:center; justify-self:end; gap:clamp(5px,.7vw,9px); }
header .menu { min-width:0; }
header .menu a.active, header .menu a[aria-current="page"] {
  color:#28133b !important; background:#ffca3b !important; box-shadow:0 4px 12px rgba(255,202,59,.2);
}
header .login-pill { display:inline-flex; align-items:center; justify-content:center; }
.nav-dropdown { position:relative; }
.nav-dropdown > .nav-drop-trigger { display:flex; align-items:center; gap:5px; }
.nav-dropdown-panel { display:none; position:absolute; top:calc(100% + 5px); left:0; min-width:190px; padding:8px; background:#fff; color:#28133b; border:1px solid #eadff6; border-radius:14px; box-shadow:0 16px 40px rgba(0,0,0,.22); z-index:1400; }
.nav-dropdown-panel a { display:block; color:#28133b !important; padding:10px 12px; border-radius:9px; white-space:normal; }
.nav-dropdown-panel a:hover, .nav-dropdown-panel a:focus-visible { background:#f1ecfb; }
.nav-dropdown.open .nav-dropdown-panel { display:block; }
@media (hover:hover) and (min-width:1101px) { .nav-dropdown:hover .nav-dropdown-panel, .nav-dropdown:focus-within .nav-dropdown-panel { display:block; } }
@media (max-width:1200px) {
  header .nav, .auth-site-header .nav { grid-template-columns:minmax(0,1fr) auto !important; min-height:68px; height:auto; }
  header .tools { grid-column:2; grid-row:1; }
  header .burger { display:grid !important; place-items:center; width:42px; height:42px; flex:0 0 42px; }
  header .menu, .auth-site-header .menu {
    display:none !important; position:absolute; top:100%; left:0; right:0; width:100%; max-width:100vw;
    max-height:calc(100dvh - 68px); overflow-y:auto; overscroll-behavior:contain;
    flex-direction:column; align-items:stretch; justify-content:flex-start; gap:5px;
    padding:14px clamp(14px,4vw,28px) 20px; background:#2a0a45; color:#fff;
    border-top:1px solid rgba(255,255,255,.12); box-shadow:0 18px 28px rgba(20,5,35,.3); z-index:1300;
  }
  header .menu.open, .auth-site-header .menu.open { display:flex !important; visibility:visible; }
  header .menu > a, .auth-site-header .menu > a, header .nav-dropdown > .nav-drop-trigger {
    display:flex; align-items:center; justify-content:flex-start; width:100%; min-height:46px;
    padding:11px 14px; border-radius:11px; white-space:normal; overflow-wrap:anywhere; font-size:14px;
  }
  header .menu > a:hover, header .nav-dropdown > .nav-drop-trigger:hover { background:rgba(255,255,255,.12); }
  header .menu > a.active, header .menu > a[aria-current="page"] { color:#28133b !important; background:#ffca3b !important; }
  header .nav-dropdown { width:100%; }
  header .nav-dropdown-panel { position:static; width:100%; min-width:0; margin:4px 0 0; padding:6px; box-shadow:none; border-radius:10px; background:#35164c; border-color:rgba(255,255,255,.16); }
  header .nav-dropdown-panel a { color:#fff !important; }
  header .nav-dropdown-panel a:hover { background:rgba(255,255,255,.12); }
  header .nav-dropdown.open .nav-dropdown-panel { display:block; }
  header .tools .login-pill { display:none; }
  header .auth-cta { display:inline-flex !important; }
  .fg { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  header .nav, .auth-site-header .nav { min-height:62px; gap:6px; padding-inline:12px; }
  header .logo { gap:6px; }
  header .logo img { width:35px; height:35px; object-fit:contain; flex:0 0 35px; }
  header .logo b { font-size:clamp(17px,5vw,21px); }
  header .logo small { font-size:7px; line-height:1.25; }
  header .tools { gap:5px; }
  header .pill.rtl { height:36px; min-width:38px; padding-inline:9px; font-size:11px; }
  header .tools > .pill:not(.rtl), header .burger { width:36px; height:36px; }
  header .menu, .auth-site-header .menu { max-height:calc(100dvh - 62px); }
  .fg { grid-template-columns:minmax(0,1fr); }
  h1 { overflow-wrap:anywhere; }
  p, li, a, button, label { overflow-wrap:break-word; }
  input, select, textarea, button { max-width:100%; }
  .login-page .login-main, .register-page .reg-main { width:100%; min-width:0; }
  .login-page .login-card, .register-page .reg-card { width:min(100%, 600px); min-width:0; }
}
@media (max-width:360px) {
  header .logo small { max-width:145px; }
  header .nav { padding-inline:9px; }
  header .tools { gap:4px; }
  header .pill.rtl { padding-inline:7px; }
  header .menu, .auth-site-header .menu { padding-inline:12px; }
}
html[dir="rtl"] header .menu { text-align:right; }
html[dir="rtl"] header .nav-dropdown-panel { left:auto; right:0; }
html[dir="rtl"] header .menu > a, html[dir="rtl"] header .nav-dropdown > .nav-drop-trigger { text-align:right; }

/* Login is part of the mobile navigation; desktop keeps the compact header CTA. */
.mobile-login-link { display:none !important; }
@media(max-width:1200px){ .mobile-login-link { display:flex !important; } }


/* Final mobile dropdown correction: keep Home/Dashboard submenus in the drawer flow. */
@media (max-width:1200px) {
  header .menu .nav-dropdown,
  .auth-site-header .menu .nav-dropdown {
    display:flex !important;
    position:relative !important;
    flex:0 0 auto;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
  header .menu .nav-dropdown > .nav-drop-trigger,
  .auth-site-header .menu .nav-dropdown > .nav-drop-trigger {
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    min-height:46px;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px;
    box-sizing:border-box;
    text-align:left;
  }
  header .menu .nav-dropdown-panel,
  .auth-site-header .menu .nav-dropdown-panel {
    display:none !important;
    position:static !important;
    inset:auto !important;
    transform:none !important;
    float:none !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:4px 0 8px !important;
    padding:6px !important;
    box-sizing:border-box;
    grid-template-columns:minmax(0,1fr) !important;
    align-self:stretch !important;
    overflow-wrap:anywhere;
    background:#35164c !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:10px !important;
    box-shadow:none !important;
    z-index:auto !important;
  }
  header .menu .nav-dropdown.open > .nav-dropdown-panel,
  .auth-site-header .menu .nav-dropdown.open > .nav-dropdown-panel {
    display:grid !important;
  }
  header .menu .nav-dropdown:not(.open) > .nav-dropdown-panel,
  .auth-site-header .menu .nav-dropdown:not(.open) > .nav-dropdown-panel {
    display:none !important;
  }
  header .menu .nav-dropdown-panel a,
  .auth-site-header .menu .nav-dropdown-panel a {
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    min-height:42px;
    align-items:center;
    box-sizing:border-box;
    padding:10px 12px !important;
    white-space:normal !important;
    overflow-wrap:anywhere;
    text-align:left;
    border-radius:8px;
  }
  /* Do not let hover/focus styles force a collapsed submenu open. */
  header .menu .nav-dropdown:hover > .nav-dropdown-panel,
  header .menu .nav-dropdown:focus-within:not(.open) > .nav-dropdown-panel,
  .auth-site-header .menu .nav-dropdown:hover > .nav-dropdown-panel,
  .auth-site-header .menu .nav-dropdown:focus-within:not(.open) > .nav-dropdown-panel {
    display:none !important;
  }
  header .menu .nav-dropdown.open:hover > .nav-dropdown-panel,
  header .menu .nav-dropdown.open:focus-within > .nav-dropdown-panel,
  .auth-site-header .menu .nav-dropdown.open:hover > .nav-dropdown-panel,
  .auth-site-header .menu .nav-dropdown.open:focus-within > .nav-dropdown-panel {
    display:grid !important;
  }
}
@media (min-width:1201px) {
  header .menu .nav-dropdown { position:relative; }
  header .menu .nav-dropdown-panel {
    top:calc(100% + 6px) !important;
    left:0 !important;
    right:auto !important;
    width:max-content;
    min-width:190px;
    max-width:min(280px, calc(100vw - 24px));
    display:none;
    grid-template-columns:minmax(0,1fr);
  }
  header .menu .nav-dropdown:hover > .nav-dropdown-panel,
  header .menu .nav-dropdown:focus-within > .nav-dropdown-panel,
  header .menu .nav-dropdown.open > .nav-dropdown-panel { display:grid !important; }
  html[dir="rtl"] header .menu .nav-dropdown-panel { left:auto !important; right:0 !important; }
}
html[dir="rtl"] @media (max-width:1200px) {
  header .menu .nav-dropdown > .nav-drop-trigger,
  header .menu .nav-dropdown-panel a { text-align:right; }
}


/* AUTH HEADER RESPONSIVE FIX — login and registration */
.auth-site-header { position:sticky; top:0; z-index:1500; width:100%; }
.auth-site-header .nav { position:relative; width:100%; max-width:calc(1320px + 2*var(--g)); margin-inline:auto; }
.auth-site-header .logo { min-width:0; }
.auth-site-header .logo span { min-width:0; }
.auth-site-header .logo small { white-space:normal; }
.auth-site-header .tools { flex-wrap:nowrap; }
.auth-site-header .menu { z-index:1600; }
.auth-site-header .menu > a { min-width:0; }
.auth-site-header .menu > a.active,
.auth-site-header .menu > a[aria-current="page"] { outline-offset:2px; }
.auth-site-header .tools .rtl { display:grid; }
.auth-site-header .tools .auth-cta { display:inline-flex; }
@media (max-width:1200px) {
  .auth-site-header .nav { grid-template-columns:minmax(0,1fr) auto !important; gap:clamp(6px,1.5vw,14px); }
  .auth-site-header .logo { grid-column:1; grid-row:1; justify-self:start; max-width:100%; }
  .auth-site-header .tools { grid-column:2; grid-row:1; justify-self:end; gap:clamp(5px,1.1vw,9px); }
  .auth-site-header .tools .auth-cta { display:none !important; }
  .auth-site-header .tools .rtl { display:grid !important; }
  .auth-site-header .menu { position:absolute !important; top:100% !important; left:0 !important; right:0 !important; width:100% !important; max-width:100vw !important; margin:0 !important; box-sizing:border-box; }
  .auth-site-header .menu > a { flex:0 0 auto; }
}
@media (max-width:600px) {
  .auth-site-header .nav { min-height:64px !important; padding-inline:clamp(10px,3vw,16px) !important; gap:5px !important; }
  .auth-site-header .logo { gap:6px; }
  .auth-site-header .logo img { width:34px; height:34px; flex:0 0 34px; object-fit:contain; }
  .auth-site-header .logo b { font-size:clamp(16px,4.7vw,20px); line-height:1.05; }
  .auth-site-header .logo small { max-width:clamp(105px,34vw,165px); font-size:clamp(6px,1.8vw,8px); line-height:1.25; }
  .auth-site-header .tools { gap:5px !important; }
  .auth-site-header .tools .rtl { display:grid !important; width:36px !important; min-width:36px !important; height:36px !important; padding:0 5px !important; font-size:10px !important; }
  .auth-site-header .tools > .pill:not(.rtl), .auth-site-header .burger { width:36px !important; min-width:36px !important; height:36px !important; flex:0 0 36px; }
  .auth-site-header .menu { top:100% !important; max-height:calc(100dvh - 64px) !important; padding:12px 14px max(18px,env(safe-area-inset-bottom)) !important; gap:5px !important; }
  .auth-site-header .menu > a { min-height:44px; padding:10px 12px !important; font-size:13px !important; line-height:1.4; }
  .login-page .login-main, .register-page .reg-main { min-height:calc(100svh - 64px); padding:22px 12px 44px !important; align-items:flex-start; overflow:clip; }
  .login-page .login-card, .register-page .reg-card { width:100% !important; max-width:600px; min-width:0; padding:clamp(22px,5vw,30px) clamp(15px,4vw,22px) 22px !important; border-radius:20px; }
  .register-page .reg-field-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .register-page .reg-field-row > * { min-width:0; }
}
@media (max-width:380px) {
  .auth-site-header .logo small { max-width:100px; letter-spacing:0; }
  .auth-site-header .logo b { font-size:16px; }
  .auth-site-header .tools { gap:4px !important; }
  .auth-site-header .tools .rtl { width:34px !important; min-width:34px !important; }
  .auth-site-header .tools > .pill:not(.rtl), .auth-site-header .burger { width:34px !important; min-width:34px !important; height:34px !important; flex-basis:34px; }
  .register-page .reg-field-row { grid-template-columns:minmax(0,1fr); }
  .login-page .reg-brand, .register-page .reg-brand { gap:9px; }
  .login-page .reg-heading h1, .register-page .reg-heading h1 { font-size:clamp(29px,8.5vw,34px); }
  .login-page .login-label-row { flex-wrap:wrap; align-items:flex-start; }
}
@media (min-width:601px) and (max-width:1200px) {
  .login-page .login-main, .register-page .reg-main { padding:30px 22px 48px; }
  .login-page .login-card, .register-page .reg-card { width:min(100%,600px); }
}
html[dir="rtl"] .auth-site-header .menu > a { text-align:right; }
html[dir="rtl"] .auth-site-header .logo { justify-self:start; }
html[dir="rtl"] .auth-site-header .tools { justify-self:end; }
html[dir="rtl"] .auth-site-header .menu { direction:rtl; }
html[dir="rtl"] .auth-site-header .menu > a { justify-content:flex-start; }
html[dir="rtl"] .register-page .reg-show { right:auto; left:11px; }
html[dir="rtl"] .register-page .reg-password-wrap input { padding-right:15px; padding-left:64px; }
html[dir="rtl"] .login-page .reg-password-wrap input { padding-right:15px; padding-left:64px; }
@media (max-width:600px) {
  html[dir="rtl"] .register-page .reg-show { left:5px; }
  html[dir="rtl"] .register-page .reg-password-wrap input,
  html[dir="rtl"] .login-page .reg-password-wrap input { padding-left:58px; }
}
body.dark .auth-site-header .menu { background:#1d0c2b; }
body.dark .auth-site-header .menu > a { color:#fff; }
body.dark .auth-site-header .menu > a.active,
body.dark .auth-site-header .menu > a[aria-current="page"] { color:#28133b !important; background:#ffca3b !important; }


/* FINAL CROSS-PAGE RESPONSIVE + CONTACT THEME OVERRIDES */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: border-box; }
body { max-width: 100%; overflow-x: clip; }
img, svg, video, canvas, iframe { max-width: 100%; }
main, section, article, aside, footer, header, .wrap, .nav, .menu, .tools { min-width: 0; }
h1, h2, h3, h4, p, a, label, button, input, select, textarea { overflow-wrap: anywhere; }
input, select, textarea, button { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #ffca3b; outline-offset: 3px; }

/* The contact hero had older, later hard-coded light backgrounds overriding dark mode. */
body.dark .contact-page { background: #190c25 !important; color: #f8f2ff; }
body.dark .contact-page .ct-hero,
body.dark .contact-page .ct-form-section,
body.dark .contact-page .ct-finale { background: #211032 !important; color: #f8f2ff; }
body.dark .contact-page .ct-options-section,
body.dark .contact-page .ct-visit-section { background: #19082b !important; color: #f8f2ff; }
body.dark .contact-page .ct-hero h1,
body.dark .contact-page .ct-section-head h2,
body.dark .contact-page .ct-form-aside h2,
body.dark .contact-page .ct-finale h2,
body.dark .contact-page .ct-form h3,
body.dark .contact-page .ct-field label,
body.dark .contact-page .ct-aside-foot b { color: #fff !important; }
body.dark .contact-page .ct-hero-copy > p,
body.dark .contact-page .ct-section-head p,
body.dark .contact-page .ct-form-aside > p,
body.dark .contact-page .ct-finale p,
body.dark .contact-page .ct-form-intro,
body.dark .contact-page .ct-privacy,
body.dark .contact-page .ct-consent,
body.dark .contact-page .ct-aside-foot p,
body.dark .contact-page .ct-directory-copy,
body.dark .contact-page .ct-visit-row,
body.dark .contact-page .ct-directory-note { color: #d7c9e4 !important; }
body.dark .contact-page .ct-form,
body.dark .contact-page .ct-directory-row,
body.dark .contact-page .ct-visit-info { background: #2a1445 !important; border-color: #50326a !important; color: #f8f2ff; }
body.dark .contact-page .ct-field input,
body.dark .contact-page .ct-field select,
body.dark .contact-page .ct-field textarea { background: #1d0b31 !important; border-color: #50326a !important; color: #fff !important; }
body.dark .contact-page .ct-field input::placeholder,
body.dark .contact-page .ct-field textarea::placeholder { color: #bba9cb !important; }
body.dark .contact-page .ct-note { border-color: #4b3260 !important; }
body.dark .contact-page .ct-note b,
body.dark .contact-page .ct-directory-row strong { color: #fff !important; }
body.dark .contact-page .ct-finale:before,
body.dark .contact-page .ct-finale:after { border-color: #4b3260 !important; }
body.dark .contact-page .ct-map-wrap { border-color: #50326a; }
body.dark .contact-page .ct-success { background: #173d2d; color: #d9ffeb; border-color: #327451; }

/* Keep form controls and card grids within narrow mobile widths. */
.contact-page .ct-hero-grid,
.contact-page .ct-form-grid,
.contact-page .ct-fields,
.contact-page .ct-visit-grid { min-width: 0; }
.contact-page .ct-field, .contact-page .ct-form, .contact-page .ct-form-aside,
.contact-page .ct-directory-row, .contact-page .ct-visit-info { min-width: 0; }
.contact-page .ct-field input, .contact-page .ct-field select, .contact-page .ct-field textarea { width: 100%; max-width: 100%; min-width: 0; }
@media (max-width: 700px) {
  .contact-page .ct-hero-grid, .contact-page .ct-form-grid { width: calc(100% - 32px) !important; }
  .contact-page .ct-fields { grid-template-columns: minmax(0,1fr) !important; }
  .contact-page .ct-field-wide { grid-column: 1 / -1; }
  .contact-page .ct-form { padding: clamp(18px, 5vw, 28px) !important; }
  .contact-page .ct-hero h1 { max-width: 100%; font-size: clamp(34px, 8.5vw, 52px) !important; }
  .contact-page .ct-hero-gallery { min-width: 0; }
}
@media (max-width: 360px) {
  .contact-page .ct-hero-grid, .contact-page .ct-form-grid { width: calc(100% - 24px) !important; }
  .contact-page .ct-hero h1 { font-size: 33px !important; }
  .contact-page .ct-hero-gallery { grid-template-columns: minmax(0,1.2fr) minmax(70px,.78fr) !important; gap: 6px !important; }
  .contact-page .ct-gallery-label { letter-spacing: .02em !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* AUTH MINI HEADER: login/register only — Back to Home left, RTL + theme right */
.auth-site-header {
  position: sticky;
  top: 0;
  z-index: 1500;
  width: 100%;
  background: var(--surface, #fff);
  border-bottom: 1px solid rgba(64, 35, 82, .12);
  box-shadow: 0 4px 18px rgba(36, 16, 48, .05);
}
.auth-site-header .auth-header-inner {
  width: min(100% - 32px, 1320px);
  min-height: 70px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  direction: ltr !important;
}
.auth-site-header .auth-back-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  flex: 0 1 auto;
  min-width: 0;
  min-height: 44px;
  padding: 8px 0;
  color: var(--text, #382046);
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.35;
  white-space: nowrap;
  border-radius: 8px;
}
.auth-site-header .auth-back-link:hover { color: var(--primary, #7a36a3); }
.auth-site-header .auth-back-link:focus-visible,
.auth-site-header .auth-header-tools .pill:focus-visible {
  outline: 3px solid #f2b72b;
  outline-offset: 3px;
}
.auth-site-header .auth-header-tools {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
  direction: ltr !important;
  margin-left: auto;
}
.auth-site-header .auth-header-tools .rtl {
  display: inline-grid !important;
  place-items: center;
  min-width: 44px;
  width: 44px;
  height: 44px;
  padding: 0 6px;
  font-size: 12px;
  font-weight: 700;
}
.auth-site-header .auth-header-tools .auth-dark-toggle {
  display: inline-grid !important;
  place-items: center;
  min-width: 44px;
  width: 44px;
  height: 44px;
  padding: 0;
}
.auth-site-header .auth-header-tools .auth-dark-toggle svg { width: 19px; height: 19px; }
body.dark .auth-site-header {
  background: #1d0c2b;
  border-bottom-color: rgba(255,255,255,.12);
  box-shadow: 0 4px 18px rgba(0,0,0,.2);
}
body.dark .auth-site-header .auth-back-link { color: #fff; }
body.dark .auth-site-header .auth-back-link:hover { color: #ffca3b; }
@media (max-width: 600px) {
  .auth-site-header .auth-header-inner {
    width: calc(100% - 24px);
    min-height: 60px;
    gap: 10px;
  }
  .auth-site-header .auth-back-link { gap: 6px; font-size: 13px; min-height: 42px; }
  .auth-site-header .auth-header-tools { gap: 7px; }
  .auth-site-header .auth-header-tools .rtl,
  .auth-site-header .auth-header-tools .auth-dark-toggle {
    width: 40px; min-width: 40px; height: 40px; flex: 0 0 40px;
  }
  .login-page .login-main, .register-page .reg-main { min-height: calc(100svh - 60px); }
}
@media (max-width: 360px) {
  .auth-site-header .auth-header-inner { width: calc(100% - 18px); gap: 6px; }
  .auth-site-header .auth-back-link { font-size: 12px; gap: 4px; }
  .auth-site-header .auth-header-tools { gap: 5px; }
  .auth-site-header .auth-header-tools .rtl,
  .auth-site-header .auth-header-tools .auth-dark-toggle { width: 36px; min-width: 36px; height: 36px; flex-basis: 36px; }
}


/* Auth pages: keep the theatre logo legible and theme control visible like the main header. */
.register-page .auth-brand-logo {
  display: block; width: 58px; height: 58px; object-fit: contain; flex: 0 0 auto;
  visibility: visible; opacity: 1;
}
.auth-site-header .auth-header-tools .auth-dark-toggle { color: #352044; background: #fff; border-color: #d8c8e8; }
.auth-site-header .auth-header-tools .auth-dark-toggle svg { display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
body.dark .auth-site-header .auth-header-tools .auth-dark-toggle { color: #ffca3b; background: #2a1740; border-color: #684c80; }
@media (max-width: 600px) { .register-page .auth-brand-logo { width: 48px; height: 48px; } }
@media (max-width: 360px) { .register-page .auth-brand-logo { width: 42px; height: 42px; } }


/* FINAL NAV / RTL CONTROL FIX */
header .menu .nav-dropdown > .nav-drop-trigger {
  appearance:none; -webkit-appearance:none; border:0; background:transparent; color:inherit;
  font:inherit; cursor:pointer; display:inline-flex; align-items:center; gap:7px;
  padding:0; text-decoration:none; white-space:nowrap;
}
header .menu .nav-dropdown > .nav-drop-trigger:focus-visible { outline:2px solid var(--gold, #f4bd42); outline-offset:5px; border-radius:4px; }
@media (min-width:1201px) {
  header .menu .nav-dropdown { position:relative; }
  header .menu .nav-dropdown-panel { position:absolute; z-index:3000; top:calc(100% + 8px); left:0; right:auto; min-width:205px; width:max-content; display:none; grid-template-columns:1fr; padding:8px; border-radius:14px; box-shadow:0 16px 40px rgba(20,10,35,.18); }
  header .menu .nav-dropdown.open > .nav-dropdown-panel { display:grid !important; }
  html[dir="rtl"] header .menu .nav-dropdown-panel { left:auto; right:0; }
}
#rtl .auth-rtl-icon, .auth-header-tools .rtl .auth-rtl-icon { display:block; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.auth-header-tools .rtl { display:grid; place-items:center; font-size:0 !important; }
@media (max-width:1200px) { header .menu .nav-dropdown > .nav-drop-trigger { width:100%; min-height:42px; justify-content:space-between; } }

/* FINAL VISIBILITY PATCH: navigation dropdowns and auth display controls */
header .menu .nav-dropdown-panel,
header .menu .nav-dropdown.open > .nav-dropdown-panel {
  background:#ffffff !important;
  color:#28133b !important;
  border:1px solid #e5d9ef !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index:5000 !important;
}
header .menu .nav-dropdown-panel a,
header .menu .nav-dropdown.open > .nav-dropdown-panel a {
  display:block !important;
  color:#28133b !important;
  background:transparent;
  opacity:1 !important;
  visibility:visible !important;
  font-size:14px !important;
  line-height:1.45 !important;
  padding:11px 13px !important;
}
header .menu .nav-dropdown-panel a:hover,
header .menu .nav-dropdown-panel a:focus-visible { background:#f1e9fa !important; color:#28133b !important; }
@media (max-width:1200px) {
  header .menu .nav-dropdown-panel,
  header .menu .nav-dropdown.open > .nav-dropdown-panel {
    position:static !important; display:none !important; width:100% !important; min-width:0 !important;
    margin:4px 0 8px !important; padding:6px !important; background:#fff !important;
    border:1px solid #e5d9ef !important; border-radius:10px !important; box-shadow:none !important;
  }
  header .menu .nav-dropdown.open > .nav-dropdown-panel { display:grid !important; }
  header .menu .nav-dropdown.open > .nav-dropdown-panel a { color:#28133b !important; }
}
.auth-header-tools .rtl,
.auth-site-header .auth-header-tools .rtl { display:grid !important; place-items:center !important; font-size:0 !important; color:#352044 !important; background:#fff !important; border:1px solid #d8c8e8 !important; overflow:visible !important; }
.auth-header-tools .rtl svg.auth-rtl-icon,
.auth-site-header .auth-header-tools .rtl svg.auth-rtl-icon,
#rtl svg.auth-rtl-icon { display:block !important; visibility:visible !important; opacity:1 !important; width:20px !important; height:20px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.9 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
body.dark .auth-site-header .auth-header-tools .rtl { color:#ffca3b !important; background:#2a1740 !important; border-color:#684c80 !important; }

/* FINAL SITE-WIDE NAVIGATION ALIGNMENT — consistent header and menu rhythm */
header { isolation:isolate; }
header .nav {
  width:min(100% - 40px, 1440px);
  margin-inline:auto;
  box-sizing:border-box;
  grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr) !important;
  column-gap:clamp(10px,1.25vw,20px) !important;
}
header .logo { min-width:0; justify-self:start; }
header .menu {
  justify-self:center !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  min-width:0;
}
header .menu > a,
header .menu > .nav-dropdown > .nav-drop-trigger {
  box-sizing:border-box;
  min-height:42px;
  padding:10px clamp(8px,.85vw,13px) !important;
  border-radius:10px;
  line-height:1.25;
}
header .nav-dropdown { flex:0 0 auto; }
header .nav-dropdown-panel {
  box-sizing:border-box;
  min-width:205px;
  padding:7px !important;
  gap:3px;
  text-align:start;
}
header .nav-dropdown-panel a {
  box-sizing:border-box;
  width:100%;
  min-height:40px;
  display:flex !important;
  align-items:center;
  padding:10px 12px !important;
  line-height:1.35;
  border-radius:8px;
  text-align:start;
}
header .tools { justify-self:end; gap:7px !important; }
@media (min-width:1201px) and (max-width:1350px) {
  header .nav { width:calc(100% - 24px); grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr) !important; column-gap:8px !important; }
  header .logo img { width:44px; }
  header .logo b { font-size:22px !important; }
  header .menu { gap:1px !important; }
  header .menu > a, header .menu > .nav-dropdown > .nav-drop-trigger { padding-inline:7px !important; font-size:13px !important; }
  header .tools { gap:5px !important; }
}
@media (max-width:1200px) {
  header .nav {
    width:100%;
    grid-template-columns:minmax(0,1fr) auto !important;
    column-gap:8px !important;
    padding-inline:clamp(12px,3vw,24px);
  }
  header .menu {
    box-sizing:border-box;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:5px !important;
    padding:12px clamp(12px,3vw,24px) 20px !important;
  }
  header .menu > a,
  header .menu > .nav-dropdown > .nav-drop-trigger {
    width:100% !important;
    min-height:46px;
    padding:12px 14px !important;
    justify-content:space-between !important;
    text-align:start;
  }
  header .menu > a { display:flex; align-items:center; }
  header .menu .nav-dropdown-panel {
    margin:3px 0 7px !important;
    padding:6px !important;
    border-radius:10px !important;
  }
  header .menu .nav-dropdown-panel a { min-height:42px; padding:11px 13px !important; }
}
@media (max-width:600px) {
  header .nav { padding-inline:10px; }
  header .menu { padding:10px 12px 16px !important; }
  header .menu > a,
  header .menu > .nav-dropdown > .nav-drop-trigger { min-height:44px; padding:11px 12px !important; }
}
html[dir="rtl"] header .nav { direction:rtl; }
html[dir="rtl"] header .logo { justify-self:start; }
html[dir="rtl"] header .menu > a,
html[dir="rtl"] header .menu > .nav-dropdown > .nav-drop-trigger { text-align:right; }
html[dir="rtl"] header .nav-dropdown-panel { left:auto; right:0; }


/* FINAL MENU POLISH — unify Home/Dashboard triggers and make desktop dropdowns easy to enter */
header .menu > a,
header .menu > .nav-dropdown > .nav-drop-trigger {
  color: inherit !important;
  font-family: inherit !important;
  font-weight: 600 !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
  opacity: 1 !important;
  filter: none !important;
  transition: color .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}
header .menu > .nav-dropdown > .nav-drop-trigger {
  width: 100%;
  cursor: pointer;
  border: 0;
  background: transparent;
  border-radius: 10px;
}
header .menu > a:hover,
header .menu > .nav-dropdown > .nav-drop-trigger:hover,
header .menu > a:focus-visible,
header .menu > .nav-dropdown > .nav-drop-trigger:focus-visible {
  color: var(--nav-hover, inherit) !important;
  outline-offset: 2px;
}
header .menu > .nav-dropdown { position: relative; }
@media (min-width:1201px) {
  header .menu .nav-dropdown-panel {
    top:100% !important;
    margin-top:0 !important;
    display:grid !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(7px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
    transition-delay:0s !important;
  }
  /* Invisible hover bridge prevents the dropdown collapsing while the pointer moves down. */
  header .menu .nav-dropdown-panel::before {
    content:"";
    position:absolute;
    left:0; right:0;
    top:-12px;
    height:14px;
    background:transparent;
  }
  header .menu .nav-dropdown:hover > .nav-dropdown-panel,
  header .menu .nav-dropdown:focus-within > .nav-dropdown-panel,
  header .menu .nav-dropdown.open > .nav-dropdown-panel {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0);
  }
  header .menu .nav-dropdown-panel a { position:relative; z-index:1; }
}
@media (max-width:1200px) {
  header .menu > .nav-dropdown > .nav-drop-trigger {
    display:flex !important;
    align-items:center !important;
    min-height:46px !important;
    font-size:inherit !important;
    line-height:1.25 !important;
    font-weight:600 !important;
    color:inherit !important;
    background:transparent !important;
    opacity:1 !important;
  }
  header .menu > .nav-dropdown.open > .nav-drop-trigger,
  header .menu > .nav-dropdown > .nav-drop-trigger[aria-expanded="true"] {
    color:inherit !important;
    background:rgba(255,255,255,.055) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  header .menu .nav-dropdown-panel,
  header .menu > a,
  header .menu > .nav-dropdown > .nav-drop-trigger { transition:none !important; }
}

/* Dashboard preview shortcuts on sign-in page */
.dashboard-demo-links{font-size:12px;margin-top:8px}.dashboard-demo-links a{color:var(--pur);font-weight:700}.dashboard-demo-links a:hover{text-decoration:underline}

/* Dashboard navigation: reliable dropdown on touch devices and narrow responsive layouts. */
header .nav-dropdown.open > .nav-dropdown-panel { display: grid !important; }
@media (max-width: 1200px) {
  header .menu .nav-dropdown { width: 100%; }
  header .menu .nav-drop-trigger { width: 100%; justify-content: space-between; text-align: left; }
  header .menu .nav-dropdown-panel { position: static; width: 100%; min-width: 0; margin-top: 6px; box-shadow: none; }
  header .menu .nav-dropdown-panel a { display: flex; width: 100%; min-height: 42px; align-items: center; }
  header .menu .nav-dropdown.open { padding-bottom: 4px; }
}


/* CONTACT PAGE — remove oversized decorative starburst on all screen sizes */
.contact-page .ct-form-section::before {
  content: none !important;
  display: none !important;
}


/* Active parent dropdown uses the exact same bright highlight as About/Programs links. */
header .nav-dropdown.has-active-child > .nav-drop-trigger,
header .nav-dropdown > .nav-drop-trigger.active,
header .nav-dropdown > .nav-drop-trigger[aria-current="page"] {
  background: #ffca3b !important;
  color: #28133b !important;
  box-shadow: 0 4px 12px rgba(255, 202, 59, .2) !important;
}
header .nav-dropdown.has-active-child > .nav-drop-trigger .nav-chevron,
header .nav-dropdown > .nav-drop-trigger.active .nav-chevron,
header .nav-dropdown > .nav-drop-trigger[aria-current="page"] .nav-chevron {
  color: #28133b !important;
}


/* Little Spotlight — responsive program comparison redesign */
.pr-cmpsec{--cmp-ink:#29203e;--cmp-muted:#746b84;--cmp-violet:#7650b5;--cmp-line:#e6def1;position:relative;isolation:isolate;overflow:hidden;padding:clamp(64px,8vw,112px) 0;background:radial-gradient(ellipse at 8% 12%,rgba(218,199,249,.45),transparent 35%),radial-gradient(ellipse at 94% 76%,rgba(206,238,224,.48),transparent 30%),linear-gradient(180deg,#fbf9ff 0%,#f4effc 100%);color:var(--cmp-ink)}
.pr-cmpsec:before{content:"";position:absolute;z-index:-1;width:340px;height:340px;border:1px solid rgba(118,80,181,.12);border-radius:50%;top:12%;right:-210px;box-shadow:0 0 0 28px rgba(118,80,181,.035),0 0 0 58px rgba(118,80,181,.025)}
.pr-cmpsec .pr-head{max-width:780px;margin:0 auto 42px;text-align:center}.pr-cmpsec .pr-kick{display:inline-flex;align-items:center;gap:10px;padding:9px 15px;border:1px solid #e2d5f5;border-radius:999px;background:#fff9;color:#7650b5;font-size:11px;letter-spacing:.15em;font-weight:850}.pr-cmpsec .pr-kick i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a98be0;box-shadow:0 0 0 4px #a98be022}.pr-cmpsec .pr-head h2{margin:18px 0 12px;font-size:clamp(30px,4.4vw,54px);line-height:1.12;letter-spacing:-.04em;color:#29203e}.pr-cmpsec .pr-head h2 em{font-style:normal;color:#8159bd}.pr-cmpsec .pr-head p{max-width:610px;margin:0 auto;color:#756b85;font-size:clamp(14px,1.5vw,16px);line-height:1.8}
.pr-cmpsec .pr-lad{padding:clamp(16px,3vw,32px);border:1px solid #e4d9f2;border-radius:30px;background:rgba(255,255,255,.78);box-shadow:0 22px 70px rgba(61,38,91,.08);backdrop-filter:blur(12px)}
.pr-cmpsec .pr-track{gap:clamp(8px,1.5vw,20px);padding:4px 4px 24px}.pr-cmpsec .pr-track-line{top:43px;left:12%;right:12%;height:3px;background:#e8e0f2}.pr-cmpsec .pr-track-line i{background:linear-gradient(90deg,#9c79d4,#c8a8ed,#9fd8c3)}
.pr-cmpsec .pr-node{min-width:0;padding:0 5px;gap:5px;color:#756b85;transition:transform .25s ease}.pr-cmpsec .pr-node-ph{width:clamp(64px,8vw,94px);height:clamp(64px,8vw,94px);margin-bottom:8px;border:3px solid #e5d9f3;background:#eee6f9;filter:none;opacity:.75;box-shadow:0 6px 18px #39225210}.pr-cmpsec .pr-node-ph img{display:block;width:100%;height:100%;object-fit:cover}.pr-cmpsec .pr-node b{font-size:clamp(12px,1.3vw,16px);text-align:center;line-height:1.3;color:#352847}.pr-cmpsec .pr-node small{font-size:12px;color:#81768f;text-align:center}.pr-cmpsec .pr-node:hover{transform:translateY(-3px)}.pr-cmpsec .pr-node.is-on .pr-node-ph{transform:translateY(-3px) scale(1.04);border-color:#9870ce;box-shadow:0 0 0 4px #fff,0 0 0 7px #d9c7f1,0 12px 26px #49306420}.pr-cmpsec .pr-node.is-on b{color:#7650b5}.pr-cmpsec .pr-node.is-done .pr-node-ph{border-color:#bca2e0;opacity:1}
.pr-cmpsec .pr-lad-body{grid-template-columns:minmax(220px,.83fr) minmax(220px,.9fr) minmax(300px,1.25fr);gap:clamp(18px,2.5vw,34px);align-items:stretch;margin-top:8px;padding-top:26px;border-top:1px solid #e9e0f2}.pr-cmpsec .pr-read{min-width:0;padding:24px;border:1px solid #e6dcf3;border-radius:22px;background:linear-gradient(145deg,#fff 0%,#f8f3ff 100%);gap:20px}.pr-cmpsec .pr-read-k{display:inline-block;font-size:10px;letter-spacing:.16em;color:#8058b9}.pr-cmpsec .pr-read h3{font-size:clamp(25px,2.3vw,34px);line-height:1.12;color:#2e2342;margin:9px 0}.pr-cmpsec .pr-blurb{font-size:14px;line-height:1.8;color:#756b85}.pr-cmpsec .pr-ringwrap{width:112px;height:112px;margin:8px auto 14px}.pr-cmpsec .pr-ring2 circle{stroke:#e9e0f2}.pr-cmpsec .pr-ring2 .pr-ring2-fill{stroke:#8c63c5}.pr-cmpsec .pr-count b{font-size:37px;color:#352847}.pr-cmpsec .pr-count span{font-size:11px;color:#81768f}.pr-cmpsec .pr-read-facts{gap:0}.pr-cmpsec .pr-read-facts li{padding:11px 0;border-bottom:1px solid #ece5f4}.pr-cmpsec .pr-read-facts small{font-size:10px;color:#8a7d99}.pr-cmpsec .pr-read-facts b{font-size:13px;color:#352847}.pr-cmpsec .pr-read .btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;width:100%;border-radius:14px;background:#7650b5;color:#fff;box-shadow:0 8px 18px #7650b52c;transition:transform .25s,box-shadow .25s}.pr-cmpsec .pr-read .btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px #7650b53b}
.pr-cmpsec .pr-shots{min-width:0;min-height:440px;align-self:stretch;border-radius:24px;overflow:hidden;background:#e9dff7}.pr-cmpsec .pr-shots:before{inset:0;border-radius:0;background:linear-gradient(145deg,#e4d5f7,#d9eee4);opacity:.95;animation:pr-morph 11s ease-in-out infinite alternate}.pr-cmpsec .pr-shotbox{inset:10px;border-radius:18px;overflow:hidden}.pr-cmpsec .pr-shot{inset:0;border-radius:18px;overflow:hidden}.pr-cmpsec .pr-shot img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.pr-cmpsec .pr-shots:hover .pr-shot.is-on img{transform:scale(1.045)}.pr-cmpsec .pr-shot:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(180deg,transparent,rgba(24,17,38,.46));pointer-events:none}.pr-cmpsec .pr-shot-age{left:25px;top:25px;padding:8px 12px;border:1px solid #ffffff80;border-radius:999px;background:#21172b75;color:#fff;font-weight:750;font-size:12px;backdrop-filter:blur(10px)}.pr-cmpsec .pr-shot-chip{left:22px;right:22px;bottom:22px;padding:15px 17px;border:1px solid #ffffff55;border-radius:16px;background:#21172b80;color:#fff;backdrop-filter:blur(12px)}.pr-cmpsec .pr-shot-chip small{font-size:9px;letter-spacing:.14em;color:#eee3ff}.pr-cmpsec .pr-shot-chip b{font-size:16px;color:#fff;line-height:1.4}
.pr-cmpsec .pr-skills{min-width:0;padding:8px 20px;border:1px solid #e6dcf3;border-radius:22px;background:#fff;align-content:start;gap:0}.pr-cmpsec .pr-skills:before{content:"WHAT THEY’LL LEARN";display:block;padding:12px 2px 14px;color:#8058b9;font-size:10px;font-weight:850;letter-spacing:.15em;border-bottom:1px solid #eee7f5}.pr-cmpsec .pr-skills li{grid-template-columns:42px minmax(0,1fr) 26px;gap:12px;padding:13px 2px;opacity:.58;border-bottom:1px solid #eee8f5;min-width:0}.pr-cmpsec .pr-skills li:last-child{border-bottom:0}.pr-cmpsec .pr-ic{width:42px;height:42px;border-radius:13px;font-size:20px;background:#f0e8fb}.pr-cmpsec .pr-skills b{font-size:13px;line-height:1.45;color:#352847}.pr-cmpsec .pr-skills small{display:block;margin-top:3px;font-size:12px;line-height:1.55;color:#81768f}.pr-cmpsec .pr-st{width:25px;height:25px;font-size:11px}.pr-cmpsec .pr-skills li.on{opacity:1;background:linear-gradient(90deg,#fbf8ff,transparent);border-radius:12px;padding-inline:8px}.pr-cmpsec .pr-skills li.on .pr-ic{background:#e5d6f8;transform:none}.pr-cmpsec .pr-skills li.on .pr-st{background:#d8f0e3;color:#315a49}.pr-cmpsec .pr-new{right:48px;top:0;font-size:8px}
@media(max-width:1100px){.pr-cmpsec .pr-lad-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.pr-cmpsec .pr-read{grid-column:1;grid-row:1}.pr-cmpsec .pr-shots{grid-column:2;grid-row:1;min-height:390px}.pr-cmpsec .pr-skills{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;padding:10px 18px}.pr-cmpsec .pr-skills:before{grid-column:1/-1}.pr-cmpsec .pr-skills li:nth-child(2n){border-left:0}.pr-cmpsec .pr-read{padding:20px}}
@media(max-width:680px){.pr-cmpsec{padding:58px 0}.pr-cmpsec .wrap{width:min(100% - 28px,560px)}.pr-cmpsec .pr-head{margin-bottom:26px}.pr-cmpsec .pr-head h2{font-size:clamp(29px,8vw,40px)}.pr-cmpsec .pr-lad{padding:12px;border-radius:22px}.pr-cmpsec .pr-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px;padding:8px 4px 18px}.pr-cmpsec .pr-track-line{display:none}.pr-cmpsec .pr-node{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto;justify-items:start;align-items:center;column-gap:11px;row-gap:3px;padding:10px;border:1px solid #e7def1;border-radius:15px;background:#fff;text-align:left}.pr-cmpsec .pr-node-ph{grid-column:1;grid-row:1/3;width:54px;height:54px;margin:0;border-width:2px}.pr-cmpsec .pr-node b{grid-column:2;grid-row:1;text-align:left;font-size:12px;align-self:end}.pr-cmpsec .pr-node small{grid-column:2;grid-row:2;text-align:left;font-size:11px;align-self:start}.pr-cmpsec .pr-node.is-on{border-color:#bda2e3;background:#f7f1ff;box-shadow:0 5px 14px #7650b516}.pr-cmpsec .pr-node.is-on .pr-node-ph{transform:none;box-shadow:0 0 0 3px #fff,0 0 0 5px #d9c7f1}.pr-cmpsec .pr-lad-body{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:4px;padding-top:16px}.pr-cmpsec .pr-read,.pr-cmpsec .pr-shots,.pr-cmpsec .pr-skills{grid-column:1;grid-row:auto}.pr-cmpsec .pr-read{padding:19px;border-radius:18px}.pr-cmpsec .pr-ringwrap{width:94px;height:94px}.pr-cmpsec .pr-count b{font-size:32px}.pr-cmpsec .pr-shots{min-height:clamp(270px,75vw,390px);border-radius:18px}.pr-cmpsec .pr-shotbox{inset:8px}.pr-cmpsec .pr-shot-chip{left:15px;right:15px;bottom:15px}.pr-cmpsec .pr-shot-age{left:16px;top:16px}.pr-cmpsec .pr-skills{display:block;padding:8px 14px;border-radius:18px}.pr-cmpsec .pr-skills li{grid-template-columns:40px minmax(0,1fr) 24px;gap:10px;padding:12px 2px}.pr-cmpsec .pr-skills .pr-ic{width:40px;height:40px}.pr-cmpsec .pr-skills b{font-size:13px}.pr-cmpsec .pr-skills small{font-size:12px}.pr-cmpsec .pr-skills li.on{padding-inline:6px}}
@media(max-width:380px){.pr-cmpsec .wrap{width:calc(100% - 20px)}.pr-cmpsec .pr-lad{padding:8px}.pr-cmpsec .pr-track{gap:8px}.pr-cmpsec .pr-node{grid-template-columns:46px minmax(0,1fr);column-gap:8px;padding:8px}.pr-cmpsec .pr-node-ph{width:44px;height:44px}.pr-cmpsec .pr-node b{font-size:11px}.pr-cmpsec .pr-node small{font-size:10px}.pr-cmpsec .pr-skills{padding-inline:10px}.pr-cmpsec .pr-skills li{grid-template-columns:34px minmax(0,1fr) 22px;gap:8px}.pr-cmpsec .pr-skills .pr-ic{width:34px;height:34px;font-size:17px}.pr-cmpsec .pr-skills b{font-size:12px}.pr-cmpsec .pr-skills small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.pr-cmpsec *, .pr-cmpsec *:before,.pr-cmpsec *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
html[data-theme="dark"] .pr-cmpsec,body.dark-mode .pr-cmpsec,.dark-mode .pr-cmpsec{background:radial-gradient(ellipse at 8% 12%,rgba(102,70,145,.2),transparent 35%),linear-gradient(180deg,#191323 0%,#21182c 100%);color:#f5efff}html[data-theme="dark"] .pr-cmpsec .pr-head h2,body.dark-mode .pr-cmpsec .pr-head h2,.dark-mode .pr-cmpsec .pr-head h2{color:#f5efff}html[data-theme="dark"] .pr-cmpsec .pr-head p,body.dark-mode .pr-cmpsec .pr-head p,.dark-mode .pr-cmpsec .pr-head p{color:#c1b4d2}html[data-theme="dark"] .pr-cmpsec .pr-lad,body.dark-mode .pr-cmpsec .pr-lad,.dark-mode .pr-cmpsec .pr-lad{background:#241a31;border-color:#443451;box-shadow:0 22px 70px #0003}html[data-theme="dark"] .pr-cmpsec .pr-read,html[data-theme="dark"] .pr-cmpsec .pr-skills,html[data-theme="dark"] .pr-cmpsec .pr-node,body.dark-mode .pr-cmpsec .pr-read,body.dark-mode .pr-cmpsec .pr-skills,body.dark-mode .pr-cmpsec .pr-node,.dark-mode .pr-cmpsec .pr-read,.dark-mode .pr-cmpsec .pr-skills,.dark-mode .pr-cmpsec .pr-node{background:#2b2039;border-color:#483654}html[data-theme="dark"] .pr-cmpsec .pr-read h3,html[data-theme="dark"] .pr-cmpsec .pr-node b,html[data-theme="dark"] .pr-cmpsec .pr-read-facts b,html[data-theme="dark"] .pr-cmpsec .pr-skills b,body.dark-mode .pr-cmpsec .pr-read h3,body.dark-mode .pr-cmpsec .pr-node b,body.dark-mode .pr-cmpsec .pr-read-facts b,body.dark-mode .pr-cmpsec .pr-skills b,.dark-mode .pr-cmpsec .pr-read h3,.dark-mode .pr-cmpsec .pr-node b,.dark-mode .pr-cmpsec .pr-read-facts b,.dark-mode .pr-cmpsec .pr-skills b{color:#f5efff}html[data-theme="dark"] .pr-cmpsec .pr-blurb,html[data-theme="dark"] .pr-cmpsec .pr-skills small,html[data-theme="dark"] .pr-cmpsec .pr-node small,body.dark-mode .pr-cmpsec .pr-blurb,body.dark-mode .pr-cmpsec .pr-skills small,body.dark-mode .pr-cmpsec .pr-node small,.dark-mode .pr-cmpsec .pr-blurb,.dark-mode .pr-cmpsec .pr-skills small,.dark-mode .pr-cmpsec .pr-node small{color:#c3b6d1}html[data-theme="dark"] .pr-cmpsec .pr-skills li,body.dark-mode .pr-cmpsec .pr-skills li,.dark-mode .pr-cmpsec .pr-skills li{border-color:#443451}html[data-theme="dark"] .pr-cmpsec .pr-node.is-on,body.dark-mode .pr-cmpsec .pr-node.is-on,.dark-mode .pr-cmpsec .pr-node.is-on{background:#382849}

/* COMPLETE REDESIGN — SIDE-BY-SIDE PROGRAM COMPARISON */
.pr-cmpsec{--cmp-ink:#302344;--cmp-muted:#726780;--cmp-violet:#7952b5;position:relative;isolation:isolate;overflow:hidden;padding:clamp(48px,6vw,78px) 0;background:linear-gradient(135deg,#f8f4ff 0%,#f1eaff 48%,#f7f8ff 100%);color:var(--cmp-ink)}
.pr-cmpsec:before{content:"";position:absolute;z-index:-1;left:-120px;top:14%;width:290px;height:290px;border:1px solid #bca4df55;border-radius:50%;box-shadow:0 0 0 24px #bca4df12,0 0 0 50px #bca4df0c;pointer-events:none}
.pr-cmpsec:after{content:"THE RIGHT STAGE FOR EVERY AGE";position:absolute;z-index:-1;right:-20px;top:38px;color:#7952b50b;font-size:clamp(22px,4vw,54px);font-weight:900;letter-spacing:.08em;white-space:nowrap;pointer-events:none}
.pr-cmpsec .wrap{width:min(1240px,calc(100% - 48px))}
.pr-cmpsec .pr-head{max-width:800px;margin:0 auto 28px;text-align:center}
.pr-cmpsec .pr-head .pr-kick{display:inline-flex;align-items:center;gap:10px;padding:8px 13px;border:1px solid #ded0f2;border-radius:7px;background:#fff9;color:#7952b5;font-size:10px;font-weight:850;letter-spacing:.16em}
.pr-cmpsec .pr-head .pr-kick i{display:inline-block;width:20px;height:2px;background:#9c7aca}
.pr-cmpsec .pr-head h2{margin:14px 0 8px;color:#302344;font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-.035em}
.pr-cmpsec .pr-head h2 em{color:#8059ba;font-style:normal}
.pr-cmpsec .pr-head p{max-width:670px;margin:0 auto;color:#746984;font-size:14px;line-height:1.75}
.pr-cmpsec .pr-lad{padding:clamp(14px,2vw,24px);border:1px solid #e2d7f1;border-radius:26px;background:#ffffffc9;box-shadow:0 20px 55px #39225212;backdrop-filter:blur(10px)}
/* Four evenly sized programme selectors */
.pr-cmpsec .pr-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 0 20px;border-bottom:1px solid #e8dff3}
.pr-cmpsec .pr-track-line{display:none}
.pr-cmpsec .pr-node{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;justify-items:start;column-gap:12px;row-gap:3px;min-width:0;padding:12px;border:1px solid #e8def4;border-radius:16px;background:#fff;color:#726780;text-align:left;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease}
.pr-cmpsec .pr-node:hover{transform:translateY(-3px);border-color:#c8b1e8;box-shadow:0 9px 22px #50356f10}
.pr-cmpsec .pr-node-ph{grid-column:1;grid-row:1/3;width:58px;height:58px;margin:0;border:2px solid #e5d8f5;border-radius:13px;filter:none;opacity:1;overflow:hidden;background:#eee6f8}
.pr-cmpsec .pr-node-ph img{display:block;width:100%;height:100%;object-fit:cover}
.pr-cmpsec .pr-node b{grid-column:2;grid-row:1;align-self:end;font-size:clamp(12px,1.1vw,15px);line-height:1.3;color:#352747;text-align:left}
.pr-cmpsec .pr-node small{grid-column:2;grid-row:2;align-self:start;font-size:11px;line-height:1.4;color:#82758f;text-align:left}
.pr-cmpsec .pr-node.is-on{border-color:#9d7acb;background:linear-gradient(135deg,#f0e7ff,#fff 90%);box-shadow:inset 0 0 0 1px #cbb5e8,0 8px 20px #7952b51a}
.pr-cmpsec .pr-node.is-on .pr-node-ph{transform:none;border-color:#a98bd4;box-shadow:0 0 0 3px #e8dcf8}
.pr-cmpsec .pr-node.is-on b{color:#7952b5}
.pr-cmpsec .pr-node.is-done .pr-node-ph{opacity:1}
/* Active programme: balanced summary + immersive image, then skill tiles */
.pr-cmpsec .pr-lad-body{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);grid-template-rows:auto auto;gap:18px;margin-top:18px;padding-top:0;border-top:0;align-items:stretch}
.pr-cmpsec .pr-read{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-width:0;padding:clamp(20px,2.5vw,30px);border:1px solid #e4d8f2;border-radius:20px;background:linear-gradient(145deg,#fff 0%,#f7f1ff 100%)}
.pr-cmpsec .pr-read-k{display:inline-block;color:#8058b9;font-size:10px;font-weight:850;letter-spacing:.16em}
.pr-cmpsec .pr-read h3{margin:10px 0 8px;color:#302344;font-size:clamp(27px,2.8vw,38px);line-height:1.08;letter-spacing:-.03em}
.pr-cmpsec .pr-blurb{margin:0;color:#746984;font-size:14px;line-height:1.8}
.pr-cmpsec .pr-ringwrap{width:88px;height:88px;margin:14px 0 10px}
.pr-cmpsec .pr-ring2 circle{stroke:#e7ddf3;stroke-width:9}
.pr-cmpsec .pr-ring2 .pr-ring2-fill{stroke:#8b65bf;stroke-linecap:round}
.pr-cmpsec .pr-count b{font-size:29px;color:#352747}
.pr-cmpsec .pr-count span{font-size:10px;color:#81748f}
.pr-cmpsec .pr-read-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;margin:8px 0 0;padding:0;list-style:none}
.pr-cmpsec .pr-read-facts li{display:flex;flex-direction:column;gap:5px;min-width:0;padding:12px 0;border-bottom:1px solid #e8def2}
.pr-cmpsec .pr-read-facts small{font-size:9px;font-weight:800;letter-spacing:.12em;color:#887b98}
.pr-cmpsec .pr-read-facts b{font-size:13px;line-height:1.45;color:#352747;overflow-wrap:anywhere}
.pr-cmpsec .pr-read .btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:47px;padding:12px 15px;border-radius:12px;background:#7952b5;color:#fff;font-size:13px;font-weight:750;box-shadow:0 8px 18px #7952b52a;transition:transform .2s ease,box-shadow .2s ease}
.pr-cmpsec .pr-read .btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px #7952b53b}
.pr-cmpsec .pr-shots{grid-column:2;grid-row:1;position:relative;min-width:0;min-height:410px;align-self:stretch;border-radius:20px;overflow:hidden;background:#e5d8f6;isolation:isolate}
.pr-cmpsec .pr-shots:before{inset:0;border-radius:0;background:linear-gradient(145deg,#e5d6f7,#d7eee4);opacity:1;animation:pr-morph 11s ease-in-out infinite alternate}
.pr-cmpsec .pr-shotbox{position:absolute;inset:0;border-radius:0;overflow:hidden}
.pr-cmpsec .pr-shot{position:absolute;inset:0;border-radius:0;overflow:hidden}
.pr-cmpsec .pr-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.pr-cmpsec .pr-shots:hover .pr-shot.is-on img{transform:scale(1.035)}
.pr-cmpsec .pr-shot:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(180deg,transparent 0%,#1e142d12 35%,#1e142dd9 100%);pointer-events:none}
.pr-cmpsec .pr-shot-age{left:18px;top:18px;padding:8px 12px;border:1px solid #ffffff8c;border-radius:8px;background:#241a3580;color:#fff;font-size:11px;font-weight:800;backdrop-filter:blur(12px)}
.pr-cmpsec .pr-shot-chip{left:18px;right:18px;bottom:18px;padding:15px 17px;border:1px solid #ffffff55;border-radius:14px;background:#21172b85;color:#fff;backdrop-filter:blur(12px)}
.pr-cmpsec .pr-shot-chip small{display:block;margin-bottom:5px;color:#e8dcf7;font-size:9px;font-weight:800;letter-spacing:.15em}
.pr-cmpsec .pr-shot-chip b{color:#fff;font-size:clamp(15px,1.6vw,19px);line-height:1.35}
.pr-cmpsec .pr-skills{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0;margin:0;padding:16px;border:1px solid #e5daf2;border-radius:20px;background:#fff;align-content:start;list-style:none}
.pr-cmpsec .pr-skills:before{grid-column:1/-1;display:block;padding:0 2px 10px;border-bottom:1px solid #eee7f5;color:#8058b9;content:"SKILLS YOUR CHILD WILL BUILD";font-size:10px;font-weight:850;letter-spacing:.15em}
.pr-cmpsec .pr-skills li{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;gap:8px;align-items:start;min-width:0;min-height:106px;padding:12px;border:1px solid #eee7f6;border-radius:13px;background:#fcfaff;opacity:.56;transition:opacity .25s ease,transform .25s ease,border-color .25s ease,background .25s ease}
.pr-cmpsec .pr-skills li:last-child{border-bottom:1px solid #eee7f6}
.pr-cmpsec .pr-ic{grid-column:1;grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#f0e7fb;font-size:18px}
.pr-cmpsec .pr-skills li>div{grid-column:2;grid-row:1/3;min-width:0}
.pr-cmpsec .pr-skills b{display:block;color:#352747;font-size:12px;line-height:1.45}
.pr-cmpsec .pr-skills small{display:block;margin-top:5px;color:#81758f;font-size:11px;line-height:1.55}
.pr-cmpsec .pr-skills .pr-st{position:absolute;top:8px;right:8px;width:19px;height:19px;font-size:10px}
.pr-cmpsec .pr-skills li.on{padding:12px;border:1px solid #d9c7ef;border-radius:13px;background:linear-gradient(145deg,#f5eeff,#fff);opacity:1;transform:translateY(-2px);box-shadow:0 7px 16px #7952b510}
.pr-cmpsec .pr-skills li.on .pr-ic{background:#e6d7f8}
.pr-cmpsec .pr-skills li.on .pr-st{background:#d8f0e3;color:#315a49}
.pr-cmpsec .pr-new{right:8px;top:8px;font-size:7px}
@media(max-width:1050px){.pr-cmpsec .pr-lad-body{grid-template-columns:minmax(250px,.85fr) minmax(0,1.15fr);gap:14px}.pr-cmpsec .pr-shots{min-height:390px}.pr-cmpsec .pr-skills{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-cmpsec .pr-skills li{min-height:92px}}
@media(max-width:760px){.pr-cmpsec{padding:48px 0}.pr-cmpsec .wrap{width:min(100% - 30px,620px)}.pr-cmpsec .pr-head{margin-bottom:22px}.pr-cmpsec .pr-head h2{font-size:clamp(29px,6.5vw,40px)}.pr-cmpsec .pr-lad{padding:12px;border-radius:20px}.pr-cmpsec .pr-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-bottom:14px}.pr-cmpsec .pr-node{grid-template-columns:48px minmax(0,1fr);column-gap:10px;padding:9px;border-radius:13px}.pr-cmpsec .pr-node-ph{width:48px;height:48px;border-radius:11px}.pr-cmpsec .pr-node b{font-size:12px}.pr-cmpsec .pr-node small{font-size:10px}.pr-cmpsec .pr-lad-body{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:13px}.pr-cmpsec .pr-read{grid-column:1;grid-row:1;padding:20px;border-radius:17px}.pr-cmpsec .pr-shots{grid-column:1;grid-row:2;min-height:clamp(240px,62vw,360px);border-radius:17px}.pr-cmpsec .pr-skills{grid-column:1;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;border-radius:17px}.pr-cmpsec .pr-skills li{grid-template-columns:32px minmax(0,1fr);gap:7px;padding:10px;min-height:98px}.pr-cmpsec .pr-skills li.on{padding:10px}.pr-cmpsec .pr-ic{width:32px;height:32px;border-radius:9px;font-size:16px}.pr-cmpsec .pr-skills b{font-size:12px}.pr-cmpsec .pr-skills small{font-size:11px}.pr-cmpsec .pr-read-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.pr-cmpsec .wrap{width:calc(100% - 20px)}.pr-cmpsec .pr-lad{padding:8px}.pr-cmpsec .pr-node{grid-template-columns:40px minmax(0,1fr);column-gap:7px;padding:8px}.pr-cmpsec .pr-node-ph{width:40px;height:40px}.pr-cmpsec .pr-node b{font-size:11px}.pr-cmpsec .pr-node small{font-size:10px}.pr-cmpsec .pr-read{padding:16px}.pr-cmpsec .pr-skills{padding:8px;gap:6px}.pr-cmpsec .pr-skills li,.pr-cmpsec .pr-skills li.on{grid-template-columns:1fr;padding:9px;min-height:0}.pr-cmpsec .pr-ic{grid-column:1;grid-row:1;width:30px;height:30px}.pr-cmpsec .pr-skills li>div{grid-column:1;grid-row:2}.pr-cmpsec .pr-skills b{font-size:11px}.pr-cmpsec .pr-skills small{font-size:10px}.pr-cmpsec .pr-skills .pr-st{width:17px;height:17px;top:7px;right:7px}}
@media(prefers-reduced-motion:reduce){.pr-cmpsec *,.pr-cmpsec *:before,.pr-cmpsec *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
html[data-theme="dark"] .pr-cmpsec,body.dark-mode .pr-cmpsec,.dark-mode .pr-cmpsec{background:linear-gradient(135deg,#191323 0%,#241a32 52%,#1b1928 100%);color:#f6f0ff}
html[data-theme="dark"] .pr-cmpsec .pr-head h2,body.dark-mode .pr-cmpsec .pr-head h2,.dark-mode .pr-cmpsec .pr-head h2{color:#f6f0ff}
html[data-theme="dark"] .pr-cmpsec .pr-head p,body.dark-mode .pr-cmpsec .pr-head p,.dark-mode .pr-cmpsec .pr-head p{color:#c9bdd8}
html[data-theme="dark"] .pr-cmpsec .pr-lad,body.dark-mode .pr-cmpsec .pr-lad,.dark-mode .pr-cmpsec .pr-lad{background:#241a31e8;border-color:#443451;box-shadow:0 20px 55px #0003}
html[data-theme="dark"] .pr-cmpsec .pr-node,html[data-theme="dark"] .pr-cmpsec .pr-read,html[data-theme="dark"] .pr-cmpsec .pr-skills,body.dark-mode .pr-cmpsec .pr-node,body.dark-mode .pr-cmpsec .pr-read,body.dark-mode .pr-cmpsec .pr-skills,.dark-mode .pr-cmpsec .pr-node,.dark-mode .pr-cmpsec .pr-read,.dark-mode .pr-cmpsec .pr-skills{background:#2b2039;border-color:#483654}
html[data-theme="dark"] .pr-cmpsec .pr-node.is-on,html[data-theme="dark"] .pr-cmpsec .pr-skills li,body.dark-mode .pr-cmpsec .pr-node.is-on,body.dark-mode .pr-cmpsec .pr-skills li,.dark-mode .pr-cmpsec .pr-node.is-on,.dark-mode .pr-cmpsec .pr-skills li{background:#342542;border-color:#604879}
html[data-theme="dark"] .pr-cmpsec .pr-node b,html[data-theme="dark"] .pr-cmpsec .pr-read h3,html[data-theme="dark"] .pr-cmpsec .pr-read-facts b,html[data-theme="dark"] .pr-cmpsec .pr-skills b,body.dark-mode .pr-cmpsec .pr-node b,body.dark-mode .pr-cmpsec .pr-read h3,body.dark-mode .pr-cmpsec .pr-read-facts b,body.dark-mode .pr-cmpsec .pr-skills b,.dark-mode .pr-cmpsec .pr-node b,.dark-mode .pr-cmpsec .pr-read h3,.dark-mode .pr-cmpsec .pr-read-facts b,.dark-mode .pr-cmpsec .pr-skills b{color:#f6f0ff}
html[data-theme="dark"] .pr-cmpsec .pr-blurb,html[data-theme="dark"] .pr-cmpsec .pr-skills small,html[data-theme="dark"] .pr-cmpsec .pr-node small,body.dark-mode .pr-cmpsec .pr-blurb,body.dark-mode .pr-cmpsec .pr-skills small,body.dark-mode .pr-cmpsec .pr-node small,.dark-mode .pr-cmpsec .pr-blurb,.dark-mode .pr-cmpsec .pr-skills small,.dark-mode .pr-cmpsec .pr-node small{color:#c8bbd7}

/* FINAL refinement — side-by-side programme comparison: aligned, denser, responsive */
.pr-cmpsec{padding:clamp(48px,5.2vw,76px) 0;background:linear-gradient(135deg,#faf7ff 0%,#f1eafd 48%,#f8f4ff 100%);overflow:hidden}
.pr-cmpsec>.wrap{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.pr-cmpsec .pr-head{width:min(760px,100%);margin:0 auto 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:0}
.pr-cmpsec .pr-head .pr-kick{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 12px;line-height:1.4}
.pr-cmpsec .pr-head h2{max-width:720px;margin:0 auto 10px;text-align:center;font-size:clamp(30px,3.6vw,46px);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
.pr-cmpsec .pr-head h2 em{display:inline;color:#8055ba;font-style:normal}
.pr-cmpsec .pr-head p{max-width:600px;margin:0 auto;color:#71647f;font-size:14px;line-height:1.65;text-align:center}
.pr-cmpsec .pr-lad{width:100%;max-width:1180px;margin:0 auto;padding:clamp(14px,2vw,24px);border:1px solid #e2d5f1;border-radius:24px;background:#ffffffd9;box-shadow:0 18px 50px #4a2b6b12;backdrop-filter:blur(10px)}
.pr-cmpsec .pr-track{gap:10px;padding:0 0 16px;border-bottom:1px solid #e7ddef}
.pr-cmpsec .pr-node{min-height:82px;grid-template-columns:54px minmax(0,1fr);column-gap:11px;padding:10px 12px;border-radius:14px}
.pr-cmpsec .pr-node-ph{width:54px;height:54px}
.pr-cmpsec .pr-node b{font-size:13px;line-height:1.3;overflow-wrap:anywhere}
.pr-cmpsec .pr-node small{font-size:11px;line-height:1.35}
.pr-cmpsec .pr-lad-body{grid-template-columns:minmax(255px,.78fr) minmax(0,1.22fr);grid-template-rows:auto auto;gap:14px;margin-top:16px;align-items:stretch}
.pr-cmpsec .pr-read{justify-content:flex-start;gap:14px;padding:22px;border-radius:17px}
.pr-cmpsec .pr-read h3{margin:7px 0 7px;font-size:clamp(27px,2.4vw,35px);line-height:1.1}
.pr-cmpsec .pr-blurb{font-size:13px;line-height:1.65}
.pr-cmpsec .pr-ringwrap{margin:7px 0 2px;width:72px;height:72px}
.pr-cmpsec .pr-ring2{width:72px;height:72px}
.pr-cmpsec .pr-count b{font-size:24px}
.pr-cmpsec .pr-read-facts{margin-top:0;gap:0 12px}
.pr-cmpsec .pr-read-facts li{padding:9px 0}
.pr-cmpsec .pr-shots{min-height:340px;border-radius:17px}
.pr-cmpsec .pr-shot-age{top:14px;left:14px}
.pr-cmpsec .pr-shot-chip{left:14px;right:14px;bottom:14px}
.pr-cmpsec .pr-skills{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(12,minmax(0,1fr));gap:9px;margin:0;padding:14px;border-radius:17px;align-content:start}
.pr-cmpsec .pr-skills:before{padding:0 2px 9px}
.pr-cmpsec .pr-skills li{grid-column:span 3;grid-template-columns:34px minmax(0,1fr);gap:8px;min-height:94px;padding:11px;border-radius:12px}
.pr-cmpsec .pr-skills li:last-child{grid-column:span 6}
.pr-cmpsec .pr-skills li.on{padding:11px}
.pr-cmpsec .pr-ic{width:34px;height:34px;font-size:16px}
.pr-cmpsec .pr-skills b{font-size:12px;line-height:1.4}
.pr-cmpsec .pr-skills small{font-size:11px;line-height:1.45;margin-top:4px}
.pr-cmpsec .pr-new{font-size:7px}
@media(max-width:1050px){.pr-cmpsec>.wrap{width:min(100% - 36px,900px)}.pr-cmpsec .pr-track{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-cmpsec .pr-lad-body{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}.pr-cmpsec .pr-shots{min-height:310px}.pr-cmpsec .pr-skills li{grid-column:span 4}.pr-cmpsec .pr-skills li:last-child{grid-column:span 4}}
@media(max-width:700px){.pr-cmpsec{padding:42px 0}.pr-cmpsec>.wrap{width:calc(100% - 28px)}.pr-cmpsec .pr-head{margin-bottom:20px;padding-inline:4px}.pr-cmpsec .pr-head .pr-kick{font-size:10px;margin-bottom:9px}.pr-cmpsec .pr-head h2{font-size:clamp(28px,7vw,36px);line-height:1.14;margin-bottom:9px}.pr-cmpsec .pr-head p{font-size:13px;line-height:1.6}.pr-cmpsec .pr-lad{padding:11px;border-radius:18px}.pr-cmpsec .pr-track{gap:8px;padding-bottom:12px}.pr-cmpsec .pr-node{min-height:70px;grid-template-columns:44px minmax(0,1fr);gap:8px;padding:8px;border-radius:12px}.pr-cmpsec .pr-node-ph{width:44px;height:44px;border-radius:10px}.pr-cmpsec .pr-node b{font-size:12px}.pr-cmpsec .pr-node small{font-size:10px}.pr-cmpsec .pr-lad-body{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:12px}.pr-cmpsec .pr-read{grid-column:1;grid-row:1;gap:12px;padding:17px}.pr-cmpsec .pr-read h3{font-size:29px}.pr-cmpsec .pr-ringwrap{width:64px;height:64px}.pr-cmpsec .pr-ring2{width:64px;height:64px}.pr-cmpsec .pr-shots{grid-column:1;grid-row:2;min-height:clamp(220px,58vw,320px)}.pr-cmpsec .pr-skills{grid-column:1;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px}.pr-cmpsec .pr-skills li,.pr-cmpsec .pr-skills li:last-child{grid-column:span 1;grid-template-columns:30px minmax(0,1fr);gap:7px;min-height:100px;padding:9px}.pr-cmpsec .pr-skills li.on{padding:9px}.pr-cmpsec .pr-ic{width:30px;height:30px;font-size:15px}.pr-cmpsec .pr-skills b{font-size:11px}.pr-cmpsec .pr-skills small{font-size:10px}}
@media(max-width:390px){.pr-cmpsec>.wrap{width:calc(100% - 20px)}.pr-cmpsec .pr-lad{padding:8px}.pr-cmpsec .pr-node{grid-template-columns:37px minmax(0,1fr);gap:6px;padding:7px}.pr-cmpsec .pr-node-ph{width:37px;height:37px}.pr-cmpsec .pr-node b{font-size:11px}.pr-cmpsec .pr-read{padding:14px}.pr-cmpsec .pr-skills{padding:8px;gap:6px}.pr-cmpsec .pr-skills li,.pr-cmpsec .pr-skills li:last-child,.pr-cmpsec .pr-skills li.on{grid-template-columns:1fr;gap:6px;min-height:0;padding:8px}.pr-cmpsec .pr-ic{grid-column:1;grid-row:1}.pr-cmpsec .pr-skills li>div{grid-column:1;grid-row:2}.pr-cmpsec .pr-skills .pr-st{right:6px;top:6px}}
html[data-theme="dark"] .pr-cmpsec,body.dark-mode .pr-cmpsec,.dark-mode .pr-cmpsec{background:linear-gradient(135deg,#191323 0%,#241a32 52%,#1b1928 100%)}

/* GLOBAL READABILITY + PROFESSIONAL ICON PASS (Oct 2026) */
:root{--ls-body-min:13px}
body{font-size:15px}
body :where(p,li,label,input,select,textarea,button,a,small,figcaption,.muted,.meta,.pr-cmpsec .pr-node small,.pr-cmpsec .pr-skills small,.pr-cmpsec .pr-new){font-size:max(13px,1em)}
body :where(p,li,label,input,select,textarea,button,a,small,figcaption,.muted,.meta){font-weight:500}
.pr-cmpsec{padding:clamp(38px,4.2vw,64px) 0}
.pr-cmpsec .pr-head{margin-bottom:22px;gap:0}
.pr-cmpsec .pr-head .pr-kick{font-size:13px;font-weight:700;letter-spacing:.12em}
.pr-cmpsec .pr-head h2{font-size:clamp(30px,3.4vw,44px);line-height:1.12;font-weight:800;margin:7px 0 10px;letter-spacing:-.025em}
.pr-cmpsec .pr-head p{font-size:15px;line-height:1.65;font-weight:500;max-width:650px;margin:0}
.pr-cmpsec .pr-node{min-height:84px;align-items:center}
.pr-cmpsec .pr-node b{font-size:15px;font-weight:800;line-height:1.3}
.pr-cmpsec .pr-node small{font-size:13px;font-weight:600;line-height:1.4}
.pr-cmpsec .pr-lad-body{gap:18px}
.pr-cmpsec .pr-read{gap:14px}
.pr-cmpsec .pr-read h3{font-weight:800;line-height:1.12}
.pr-cmpsec .pr-read p,.pr-cmpsec .pr-read li,.pr-cmpsec .pr-read small{font-size:14px;line-height:1.65;font-weight:500}
.pr-cmpsec .pr-skills{gap:10px}
.pr-cmpsec .pr-skills li,.pr-cmpsec .pr-skills li.on,.pr-cmpsec .pr-skills li:last-child{padding:12px;min-height:108px;align-content:center}
.pr-cmpsec .pr-skills b{font-size:14px;line-height:1.4;font-weight:800}
.pr-cmpsec .pr-skills small{font-size:13px;line-height:1.5;font-weight:500}
.pr-cmpsec .pr-ic{width:38px;height:38px;font-size:17px;display:grid;place-items:center}
.pr-cmpsec .pr-new{font-size:13px;font-weight:700}
@media(max-width:700px){.pr-cmpsec .pr-head p{font-size:14px}.pr-cmpsec .pr-node b{font-size:14px}.pr-cmpsec .pr-node small{font-size:13px}.pr-cmpsec .pr-skills b{font-size:14px}.pr-cmpsec .pr-skills small{font-size:13px}.pr-cmpsec .pr-skills li,.pr-cmpsec .pr-skills li:last-child{min-height:112px}}
@media(max-width:390px){.pr-cmpsec .pr-node{grid-template-columns:38px minmax(0,1fr)}.pr-cmpsec .pr-node b{font-size:13px}.pr-cmpsec .pr-skills li,.pr-cmpsec .pr-skills li:last-child,.pr-cmpsec .pr-skills li.on{grid-template-columns:32px minmax(0,1fr);min-height:105px;padding:8px}.pr-cmpsec .pr-skills b{font-size:13px}.pr-cmpsec .pr-skills small{font-size:13px}}
/* Consistent outline icon system used across every page */
.ls-icon{display:inline-block;width:1.15em;height:1.15em;flex:0 0 auto;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
span .ls-icon,i .ls-icon,.pr-chip .ls-icon{width:1.2em;height:1.2em}


/* Programs page CTA: compact, centred, no floating photo bubbles. Footer styles intentionally untouched. */
.pr-cta{padding:clamp(38px,5vw,64px) 0!important;min-height:0!important;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 0%,#51217e 0%,#2a1046 56%,#210b38 100%);}
.pr-cta-in{width:min(100% - 40px,820px);max-width:820px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;}
.pr-cta .pr-kick{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.12em;line-height:1.5;margin:0 0 8px;}
.pr-cta h2{font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-.035em;margin:0 0 12px;max-width:760px;text-wrap:balance;}
.pr-cta p{max-width:620px;margin:0 auto;line-height:1.7;font-size:15px;font-weight:500;color:#f0e7fb;}
.pr-cta .pr-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px;}
.pr-cta .pr-actions .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 22px;font-size:14px;font-weight:700;}
.pr-cta .pr-sp,.pr-cta .pr-orb{display:none!important;}
@media(max-width:768px){.pr-cta{padding:34px 0!important}.pr-cta-in{width:calc(100% - 32px)}.pr-cta h2{font-size:clamp(28px,6vw,38px)}.pr-cta p{font-size:14px;line-height:1.65}.pr-cta .pr-actions{margin-top:18px;gap:10px}}
@media(max-width:420px){.pr-cta{padding:30px 0!important}.pr-cta-in{width:calc(100% - 28px)}.pr-cta .pr-kick{font-size:11px;letter-spacing:.08em}.pr-cta h2{font-size:28px}.pr-cta .pr-actions{width:100%;flex-direction:column}.pr-cta .pr-actions .btn{width:min(100%,260px)}}

/* Programs hero photo treatment: keep all original photo sources, refine only their presentation. */
.pr-hero .pr-collage{aspect-ratio:1.04/1;isolation:isolate;padding:0;}
.pr-hero .pr-collage::before{content:"";position:absolute;inset:8% 5% 5% 8%;border-radius:34px;background:linear-gradient(145deg,#f2d9ff 0%,#d7b8f2 48%,#f4d9ad 100%);transform:rotate(-4deg);z-index:-1;}
.pr-hero .pr-ph{border:6px solid #fff;box-shadow:0 20px 48px rgba(37,13,58,.22);background:#fff;}
.pr-hero .pr-ph1{inset:7% 12% 13% 10%;border-radius:30px 92px 30px 30px;animation:pr-float 7s ease-in-out infinite alternate;}
.pr-hero .pr-ph1 img{object-position:center;}
.pr-hero .pr-ph2{width:32%;aspect-ratio:4/5;top:0;right:0;border-radius:22px;transform:rotate(4deg);animation:pr-float 5s -1s ease-in-out infinite alternate;}
.pr-hero .pr-ph3{width:36%;aspect-ratio:1;bottom:2%;left:0;border-radius:24px;transform:rotate(-5deg);animation:pr-float 6s -3s ease-in-out infinite alternate;}
.pr-hero .pr-chip{right:1%;bottom:10%;max-width:calc(100% - 25px);padding:11px 16px;border:1px solid rgba(255,255,255,.85);border-radius:16px;box-shadow:0 14px 32px rgba(37,13,58,.2);animation:pr-float 4s ease-in-out infinite alternate;}
@media(max-width:768px){.pr-hero .pr-collage{max-width:430px;aspect-ratio:1/1.02}.pr-hero .pr-ph1{inset:8% 12% 13% 9%}.pr-hero .pr-ph2{width:30%}.pr-hero .pr-ph3{width:34%}.pr-hero .pr-chip{right:0;bottom:9%;}}
@media(max-width:420px){.pr-hero .pr-ph{border-width:4px}.pr-hero .pr-ph1{border-radius:24px 60px 24px 24px}.pr-hero .pr-ph2{border-radius:16px}.pr-hero .pr-ph3{border-radius:18px}.pr-hero .pr-chip{font-size:11px;padding:8px 10px;gap:7px}.pr-hero .pr-chip span{width:26px;height:26px}}

/* Add a clear gap after the Programs CTA so it never visually touches the footer. */
.pr-cta{margin-bottom:clamp(24px,3vw,40px)!important;}
@media(max-width:768px){.pr-cta{margin-bottom:24px!important}}


/* Programs CTA card: inset like the session cards, with balanced side gutters and a clear footer separation. */
.pr-cta{padding:clamp(28px,4vw,48px) 0!important;margin:0!important;min-height:0!important;display:block!important;background:var(--cream,#fffaf2)!important;}
.pr-cta-in{box-sizing:border-box;width:calc(100% - 2*var(--g, clamp(20px,4vw,48px)))!important;max-width:1320px!important;margin:0 auto!important;padding:clamp(30px,4.5vw,54px) clamp(20px,5vw,64px)!important;border-radius:28px;background:radial-gradient(ellipse at 50% 0%,#51217e 0%,#2a1046 56%,#210b38 100%);box-shadow:0 18px 44px rgba(43,14,68,.14);}
.pr-cta .pr-kick{color:#f4e7ff;}
.pr-cta h2{color:#fff;}
.pr-cta p{color:#f0e7fb;}
.pr-cta .pr-actions{margin-top:22px;}
.pr-cta .pr-orb,.pr-cta .pr-sp{display:none!important;}
@media(max-width:768px){.pr-cta{padding:24px 0!important}.pr-cta-in{width:calc(100% - 2*var(--g, 20px))!important;padding:30px 22px!important;border-radius:22px}}
@media(max-width:420px){.pr-cta{padding:20px 0!important}.pr-cta-in{width:calc(100% - 2*var(--g, 20px))!important;padding:26px 16px!important;border-radius:18px}.pr-cta .pr-actions{width:100%;flex-direction:column}.pr-cta .pr-actions .btn{width:min(100%,260px)}}


/* Final Programs CTA alignment: match the same content gutters as the header and all .wrap sections. */
.pr-cta{padding:clamp(22px,3vw,36px) 0!important;margin:0 0 clamp(24px,3vw,36px)!important;min-height:0!important;display:block!important;}
.pr-cta>.wrap.pr-cta-in{box-sizing:border-box;width:calc(100% - 2 * var(--g))!important;max-width:1320px!important;margin-inline:auto!important;padding:clamp(26px,3.5vw,42px) clamp(20px,3vw,40px)!important;border-radius:24px!important;}
.pr-cta .pr-cta-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;}
.pr-cta h2{margin:0 0 12px!important;font-size:clamp(30px,3.5vw,46px)!important;line-height:1.12!important;max-width:760px;}
.pr-cta p{max-width:620px;margin:0 auto!important;font-size:15px;line-height:1.7;}
.pr-cta .pr-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px!important;}
.pr-cta .pr-orb,.pr-cta .pr-sp{display:none!important;}
@media(max-width:768px){.pr-cta{padding:18px 0!important;margin-bottom:24px!important}.pr-cta>.wrap.pr-cta-in{width:calc(100% - 2 * var(--g))!important;padding:28px 22px!important;border-radius:20px!important}.pr-cta h2{font-size:clamp(28px,5vw,36px)!important}.pr-cta p{font-size:14px}}
@media(max-width:420px){.pr-cta>.wrap.pr-cta-in{padding:24px 16px!important;border-radius:18px!important}.pr-cta .pr-actions{width:100%;flex-direction:column}.pr-cta .pr-actions .btn{width:min(100%,260px)}}


/* ===== Merged from home1.css ===== */
/* Lil Spotlight — Home 1 (pages/index.html), redesign v2 */
.hm{--ink:#27133b;--pur:#59258e;--gold:#ffc83d;--mut:#6f627f;--lilac:#f4ecfd;--cream:#fffaf1;--white:#fff;--card:#fff;--line:#e9deef;--dark:#1d0a30;--pk:#e0529c;--gr:#13a383;--or:#ff8a1f;--bl:#1b9ad6;--vi:#7b47d6;--dir:1}
html[dir=rtl] .hm{--dir:-1}
body.dark .hm{--ink:#fff;--pur:#d9b8ff;--mut:#cdbadd;--lilac:#241040;--cream:#1c0b2b;--white:#160428;--card:#2a1445;--line:#3d2060}
.hm section{position:relative;overflow:hidden;overflow:clip}
.hm h1,.hm h2,.hm h3{letter-spacing:-.03em;color:var(--ink)}
.hm em{font-family:'Lobster Two',cursive;font-style:italic;font-weight:700;letter-spacing:0}
.hm .ph{background:linear-gradient(135deg,#4b1a8f,#251038);overflow:hidden}
.hm .ph img{width:100%;height:100%;object-fit:cover;display:block}
.hm .kick{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pur)}
.hm .kick:before{content:"";width:26px;height:3px;background:linear-gradient(90deg,var(--pk),var(--gold));border-radius:3px}
.h1-sec{padding:92px 0}
.h1-head{display:grid;grid-template-columns:1fr minmax(260px,420px);gap:40px;align-items:end;margin-bottom:46px}
.h1-head.has-btn{grid-template-columns:1fr auto}
.h1-t{font-size:clamp(30px,3.8vw,48px);line-height:1.06;margin-top:12px}
.h1-t em{font-size:1.12em;background:linear-gradient(100deg,var(--pk),var(--or));-webkit-background-clip:text;background-clip:text;color:transparent}
.h1-head>p{font-size:15.5px;line-height:1.7;color:var(--mut)}
.h1-note{margin-top:22px;font-size:12.5px;color:var(--mut)}
.h1-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hm .btn-line{border-color:currentColor}

/* 1 HERO */
.h1-hero{background:#1d0a30;color:#fff;padding:70px 0 0}
.h1-hero .b{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;animation:h1float 12s ease-in-out infinite;pointer-events:none}
.h1-hero .b1{width:420px;height:420px;background:#e0529c;top:-120px;inset-inline-end:8%}
.h1-hero .b2{width:380px;height:380px;background:#6b3fd4;bottom:-60px;inset-inline-start:-80px;animation-delay:-4s}
.h1-hero .b3{width:260px;height:260px;background:#ff8a1f;bottom:30%;inset-inline-end:-60px;opacity:.35;animation-delay:-8s}
@keyframes h1float{50%{transform:translate(30px,-34px) scale(1.1)}}
.h1-conf{position:absolute;width:26px;height:26px;fill:var(--gold);top:120px;inset-inline-start:46%;animation:h1spin 8s linear infinite}
@keyframes h1spin{to{transform:rotate(360deg)}}
.h1-hero-in{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-bottom:70px}
.h1-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:99px;background:#ffffff1c;border:1px solid #ffffff44;backdrop-filter:blur(8px);font-size:13px;font-weight:600}
.h1-pill i{width:9px;height:9px;border-radius:50%;background:var(--gr);animation:h1pulse 1.8s infinite}
@keyframes h1pulse{0%{box-shadow:0 0 0 0 #13a383aa}80%,100%{box-shadow:0 0 0 12px #13a38300}}
.h1-hero h1{color:#fff;font-size:clamp(38px,5.4vw,70px);line-height:1.02;margin:20px 0 20px}
.h1-swap{display:inline-grid;vertical-align:top}
.h1-swap em{grid-area:1/1;color:var(--gold);font-size:1.1em;opacity:0;transform:translateY(40%) rotate(3deg);transition:opacity .6s,transform .7s cubic-bezier(.2,.8,.2,1);white-space:nowrap}
.h1-swap em.on{opacity:1;transform:none}
.h1-hero .lead{font-size:17px;line-height:1.75;color:#dccdee;max-width:500px}
.h1-hero .btn-line{color:#fff;border-color:#ffffff88}
.h1-mini{display:flex;align-items:center;gap:16px;margin-top:36px;font-size:14px;color:#dccdee;max-width:460px}
.h1-mini b{color:#fff}.h1-mini p{margin:0}
.faces{display:flex;flex:none}.faces span{width:44px;height:44px;border-radius:50%;border:3px solid #1d0a30;background:#59258e center/cover;margin-inline-start:-12px}.faces span:first-child{margin:0}
.h1-art{position:relative;height:540px}
.h1-art figure{position:absolute;margin:0;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -20px #000b;border:5px solid #fff2}
.h1-art .ph{width:100%;height:100%}
.h1-art .f1{width:62%;height:78%;inset-block-start:4%;inset-inline-start:16%;border-radius:200px 200px 28px 28px;animation:h1bob 7s ease-in-out infinite;z-index:2}
.h1-art .f2{width:38%;height:34%;inset-block-end:0;inset-inline-start:0;border-radius:50%;animation:h1bob 6s ease-in-out -2s infinite;z-index:3}
.h1-art .f3{width:36%;height:30%;inset-block-start:0;inset-inline-end:0;transform:rotate(7deg);animation:h1bob 8s ease-in-out -4s infinite;z-index:3}
@keyframes h1bob{50%{translate:0 -14px}}
.h1-art figcaption{position:absolute;inset-inline:0;bottom:0;padding:44px 18px 16px;font-size:12.5px;font-weight:600;background:linear-gradient(to top,#1d0a30e6,transparent)}
.h1-art .st{position:absolute;z-index:5;padding:9px 16px;border-radius:99px;font-size:13px;font-weight:700;box-shadow:0 12px 24px -8px #0008;animation:h1bob 5s ease-in-out infinite}
.h1-art .s1{background:var(--gold);color:#27133b;inset-block-start:16%;inset-inline-start:2%;rotate:-8deg}
.h1-art .s2{background:var(--pk);color:#fff;inset-block-end:30%;inset-inline-end:2%;rotate:6deg;animation-delay:-1.5s}
.h1-art .s3{background:var(--gr);color:#fff;inset-block-end:6%;inset-inline-end:26%;rotate:-4deg;animation-delay:-3s}
.h1-tick{position:relative;background:#14061f;border-top:1px solid #ffffff18;overflow:hidden;white-space:nowrap}
.h1-tick div{display:inline-flex;animation:h1tick 38s linear infinite;padding:16px 0}
.h1-tick span{display:inline-flex;align-items:center;gap:26px;margin-inline-end:26px;font-size:14px;font-weight:700;color:#e8dcf5;letter-spacing:.03em}
.h1-tick span:after{content:"";width:10px;height:10px;border-radius:3px;rotate:45deg;background:var(--c)}
@keyframes h1tick{to{transform:translateX(-25%)}}
html[dir=rtl] .h1-tick div{animation-direction:reverse}

/* 2 STATS */
.h1-stats{padding:0;background:var(--white)}
.h1-sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:-1px;padding:44px 0}
.h1-stat{text-align:center;padding:26px 14px;border-radius:24px;background:var(--card);border:1.5px solid var(--line);position:relative;overflow:hidden;transition-delay:calc(var(--i)*.08s)}
.h1-stat:before{content:"";position:absolute;inset-inline:0;top:0;height:5px;background:linear-gradient(90deg,var(--pk),var(--or),var(--gold))}
.h1-stat:nth-child(2):before{background:linear-gradient(90deg,var(--gr),var(--bl))}.h1-stat:nth-child(3):before{background:linear-gradient(90deg,var(--vi),var(--pk))}.h1-stat:nth-child(4):before{background:linear-gradient(90deg,var(--or),var(--gold))}
.h1-stat b{display:block;font:800 clamp(34px,4vw,52px)/1 'Baloo 2',sans-serif;color:var(--ink)}
.h1-stat small{display:block;margin-top:8px;font-size:14px;color:var(--mut)}

/* 3 PRODUCTIONS RAIL */
.h1-prod{background:var(--cream);padding-bottom:70px}
.h1-arrows{display:flex;gap:10px;justify-self:end}
.h1-arrows button,.h1-vctl button{width:52px;height:52px;border-radius:50%;border:2px solid var(--ink);background:transparent;color:var(--ink);font-size:20px;cursor:pointer;transition:.25s}
.h1-arrows button:hover,.h1-vctl button:hover{background:var(--ink);color:var(--white);transform:scale(1.08)}
.h1-rail{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 0 30px;scroll-padding-inline:max(20px,calc((100vw - 1180px)/2))}
.h1-rail::-webkit-scrollbar{display:none}
.h1-track{display:flex;gap:24px;padding-inline:max(20px,calc((100vw - 1180px)/2));width:max-content}
.h1-poster{position:relative;flex:none;width:320px;height:470px;border-radius:30px;overflow:hidden;scroll-snap-align:start;color:#fff;box-shadow:0 22px 40px -22px #1d0a3099;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;outline:none}
.h1-poster .ph{position:absolute;inset:0}
.h1-poster .ph img{transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.h1-poster:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--c) 4%,color-mix(in srgb,var(--c) 55%,#1d0a30) 34%,#1d0a3000 68%);opacity:.95}
.h1-poster:hover,.h1-poster:focus-visible{transform:translateY(-12px) rotate(calc(-1deg*var(--dir)));box-shadow:0 36px 50px -20px var(--c)}
.h1-poster:hover .ph img{transform:scale(1.1)}
.h1-poster .no{position:absolute;z-index:2;top:14px;inset-inline-end:20px;font:800 78px/1 'Baloo 2',sans-serif;color:transparent;-webkit-text-stroke:2px #ffffffcc}
.h1-poster .cap{position:absolute;z-index:3;inset-inline:0;bottom:0;padding:26px}
.h1-poster .tag{display:inline-block;background:#ffffff30;border:1px solid #ffffff66;backdrop-filter:blur(8px);font-size:11.5px;font-weight:600;padding:5px 13px;border-radius:99px;margin-bottom:12px}
.h1-poster small{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--gold);margin-bottom:5px}
.h1-poster h3{color:#fff;font-size:26px;line-height:1.12}
.h1-poster .more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.8,.2,1)}
.h1-poster .more>*{overflow:hidden;min-height:0}
.h1-poster:hover .more,.h1-poster:focus-visible .more,.h1-poster.open .more{grid-template-rows:1fr}
.h1-poster .more p{font-size:14px;line-height:1.6;margin:12px 0 0;color:#fff}
.h1-poster .ch{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.h1-poster .ch span{background:#fff;color:#27133b;font-size:11.5px;font-weight:700;padding:5px 12px;border-radius:99px}
.h1-prog{height:5px;border-radius:5px;background:var(--line);overflow:hidden}
.h1-prog i{display:block;height:100%;width:30%;border-radius:5px;background:linear-gradient(90deg,var(--pk),var(--or));transition:width .2s,margin .2s}

/* 4 PROCESS */
.h1-proc{background:var(--white)}
.h1-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.h1-line{position:absolute;top:22px;inset-inline:8%;height:4px;border-radius:4px;background:var(--line)}
.h1-line i{display:block;height:100%;width:100%;border-radius:4px;background:linear-gradient(90deg,var(--pk),var(--or),var(--gr),var(--bl));transform:scaleX(0);transform-origin:left;transition:transform 1.8s cubic-bezier(.5,0,.2,1) .2s}
html[dir=rtl] .h1-line i{transform-origin:right}
.h1-steps.in-view .h1-line i{transform:scaleX(1)}
.h1-step{position:relative;text-align:center;padding-top:0}
.js .h1-step{opacity:0;transform:translateY(40px) scale(.94);transition:opacity .7s,transform .8s cubic-bezier(.2,.9,.3,1.2);transition-delay:calc(var(--i)*.22s + .2s)}
.js .h1-steps.in-view .h1-step{opacity:1;transform:none}
.h1-step .n{position:relative;z-index:2;display:grid;place-items:center;width:48px;height:48px;margin:0 auto 18px;border-radius:50%;background:var(--c);color:#fff;font:800 20px 'Baloo 2',sans-serif;box-shadow:0 0 0 6px var(--white),0 10px 20px -6px var(--c)}
.h1-step .cd{text-align:start;background:var(--card);border:1.5px solid var(--line);border-radius:24px;overflow:hidden;transition:transform .4s,box-shadow .4s,border-color .4s}
.h1-step .cd:hover{transform:translateY(-8px);border-color:var(--c);box-shadow:0 24px 36px -22px var(--c)}
.h1-step .ph{height:150px}.h1-step .ph img{transition:transform .8s}.h1-step .cd:hover img{transform:scale(1.1)}
.h1-step .tx{padding:20px 20px 24px}
.h1-step small{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.h1-step h3{font-size:19px;margin:6px 0 8px}.h1-step p{font-size:14px;line-height:1.65;color:var(--mut);margin:0}

/* 5 AGES */
.h1-ages{background:var(--lilac)}
.h1-tabs{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--card);border:1.5px solid var(--line);border-radius:99px;padding:6px;max-width:760px;margin:0 auto 30px}
.h1-tabs .ind{position:absolute;top:6px;bottom:6px;inset-inline-start:6px;width:calc((100% - 12px)/4);border-radius:99px;background:var(--c1,#e0529c);transition:transform .55s cubic-bezier(.3,1.2,.4,1),background .4s;transform:translateX(calc(var(--k,0)*100%*var(--dir)));box-shadow:0 10px 20px -8px var(--c1,#e0529c)}
.h1-tabs button{position:relative;z-index:1;background:none;border:0;cursor:pointer;font-family:inherit;padding:12px 8px;border-radius:99px;color:var(--ink);transition:color .3s}
.h1-tabs b{display:block;font:800 22px/1.1 'Baloo 2',sans-serif}.h1-tabs small{display:block;font-size:12px;opacity:.75}
.h1-tabs button.on{color:#fff}
.h1-aps{position:relative;display:grid}
.h1-ap{grid-area:1/1;display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center;padding:44px;border-radius:36px;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));overflow:hidden;opacity:0;visibility:hidden;transform:translateY(24px) scale(.97);transition:opacity .5s,transform .7s cubic-bezier(.2,.8,.2,1),visibility 0s .5s;position:relative}
.h1-ap:before,.h1-ap:after{content:"";position:absolute;border-radius:50%;background:#ffffff1c;pointer-events:none}
.h1-ap:before{width:320px;height:320px;top:-120px;inset-inline-end:-80px}.h1-ap:after{width:180px;height:180px;bottom:-70px;inset-inline-start:36%}
.h1-ap.on{opacity:1;visibility:visible;transform:none;transition:opacity .5s .1s,transform .7s .1s cubic-bezier(.2,.8,.2,1)}
.h1-ap .fr{position:relative;z-index:2;justify-self:center;width:min(100%,320px)}
.h1-ap .ph{height:380px;border-radius:200px 200px 28px 28px;border:6px solid #fff;box-shadow:0 26px 40px -18px #0007;rotate:-3deg;transition:rotate .8s}
.h1-ap.on .ph{rotate:0deg}
.h1-ap .bd1{position:absolute;bottom:-14px;inset-inline-end:-14px;background:var(--gold);color:#27133b;font:800 18px 'Baloo 2',sans-serif;padding:8px 20px;border-radius:99px;rotate:-6deg;box-shadow:0 10px 20px -8px #0007}
.h1-ap .tx{position:relative;z-index:2}
.h1-ap .tx>*{opacity:0;transform:translateY(16px);transition:.5s}
.h1-ap.on .tx>*{opacity:1;transform:none}
.h1-ap.on .tx>*:nth-child(1){transition-delay:.25s}.h1-ap.on .tx>*:nth-child(2){transition-delay:.32s}.h1-ap.on .tx>*:nth-child(3){transition-delay:.39s}.h1-ap.on .tx>*:nth-child(4){transition-delay:.46s}.h1-ap.on .tx>*:nth-child(5){transition-delay:.53s}.h1-ap.on .tx>*:nth-child(6){transition-delay:.6s}
.h1-ap small{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--gold)}
.h1-ap h3{color:#fff;font-size:clamp(32px,4vw,48px);margin:6px 0 10px}
.h1-ap p{font-size:16px;line-height:1.7;margin:0 0 16px;color:#fff;max-width:480px}
.h1-ap ul{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-wrap:wrap;gap:8px}
.h1-ap li{background:#ffffff26;border:1px solid #ffffff55;padding:7px 15px;border-radius:99px;font-size:13px;font-weight:600}
.h1-ap .mts{display:grid;gap:10px;max-width:420px;margin-bottom:24px}
.h1-ap .mt{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;font-size:13px;font-weight:600}
.h1-ap .mt i{height:9px;border-radius:9px;background:#ffffff33;overflow:hidden}
.h1-ap .mt u{display:block;height:100%;width:var(--w);border-radius:9px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.3,.8,.2,1) .6s}
html[dir=rtl] .h1-ap .mt u{transform-origin:right}
.h1-ap.on .mt u{transform:scaleX(1)}
.h1-ap .lnk{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#27133b;font-weight:700;font-size:14px;padding:12px 22px;border-radius:99px;text-decoration:none;transition:transform .3s}
.h1-ap .lnk:hover{transform:translateX(calc(5px*var(--dir)))}.h1-ap .lnk .i{width:16px;height:16px}

/* 5b FIND THEIR ROLE (bento) */
.h1-quiz{background:var(--white);padding:80px 0}
.h1-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(250px,auto);gap:16px}
.h1-bento .bt{position:relative;border-radius:30px;overflow:hidden;border:0;padding:0;font-family:inherit;text-align:start;min-width:0}
.h1-bento .intro{grid-column:span 2;display:flex;flex-direction:column;justify-content:center;padding:34px;color:#fff;background:linear-gradient(135deg,#59258e,#2b1245)}
.h1-bento .intro:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:#e0529c55;filter:blur(40px);inset-inline-end:-60px;top:-60px}
.h1-bento .intro>*{position:relative;z-index:1}
.h1-bento .intro .kick{color:#e6cdfb}.h1-bento .intro .h1-t{color:#fff;margin-top:10px}
.h1-bento .intro .h1-t em{background:linear-gradient(100deg,#ffc83d,#ff8a1f);-webkit-background-clip:text;background-clip:text}
.h1-bento .intro p{font-size:15px;line-height:1.65;color:#dccdee;margin:12px 0 18px;max-width:440px}
.stp{display:flex;flex-wrap:wrap;gap:8px}
.stp span{display:inline-flex;align-items:center;gap:8px;background:#ffffff1c;border:1px solid #ffffff33;border-radius:99px;padding:6px 14px 6px 6px;font-size:12.5px;font-weight:600}
.stp b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#27133b;font-size:12px}
.rt{cursor:pointer;color:#fff;background:var(--c);transition:transform .45s cubic-bezier(.3,1.4,.4,1),box-shadow .4s}
.rt .ph{position:absolute;inset:0;opacity:.55;mix-blend-mode:luminosity;transition:opacity .5s}
.rt .ph img{transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.rt:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,var(--c) 8%,color-mix(in srgb,var(--c) 50%,transparent) 55%,transparent)}
.rt .tx{position:absolute;z-index:2;inset-inline:0;bottom:0;padding:24px;display:block}
.rt .tx i{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;margin-bottom:14px;font-style:normal;font-size:28px;background:#fff;color:var(--c);transition:.45s cubic-bezier(.3,1.5,.4,1)}
.rt .tx b{display:block;font:800 22px/1.1 'Baloo 2',sans-serif}
.rt .tx small{display:block;font-size:13px;line-height:1.45;margin-top:5px;opacity:.95}
.rt .pk{position:absolute;z-index:2;top:16px;inset-inline-end:16px;font-size:11px;font-weight:700;padding:5px 12px;border-radius:99px;background:#ffffff33;border:1px solid #ffffff66;backdrop-filter:blur(6px);transition:.3s}
.rt:hover{transform:translateY(-6px) rotate(-.8deg)}.rt:hover .ph img{transform:scale(1.12)}.rt:hover .tx i{rotate:-10deg;transform:scale(1.1)}
.rt.on{box-shadow:0 0 0 5px var(--white),0 0 0 9px var(--c),0 24px 36px -16px var(--c)}
.rt.on .ph{opacity:.8}.rt.on .pk{background:#fff;color:var(--c)}
.rt.on .pk:after{content:" ✓"}
.rt:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.h1-bento .rs{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column;justify-content:space-between;gap:22px;padding:34px;color:#fff;background:linear-gradient(150deg,var(--c),color-mix(in srgb,var(--c) 55%,#1d0a30));transition:background .6s}
.rs:before,.rs:after{content:"";position:absolute;border-radius:50%;background:#ffffff1f;pointer-events:none}
.rs:before{width:300px;height:300px;top:-120px;inset-inline-end:-90px}.rs:after{width:160px;height:160px;bottom:-60px;inset-inline-start:30%}
.rs>*{position:relative;z-index:1}
.rs .ic{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;color:var(--c);font-size:32px;margin-bottom:14px;box-shadow:0 0 0 7px #ffffff33}
.rs .lab{display:block;font-size:11.5px;font-weight:700;letter-spacing:.14em;opacity:.85}
.rs .rn{color:#fff;font-size:clamp(32px,3.6vw,46px);line-height:1.05;margin:6px 0 10px}
.rs .rd{font-size:15.5px;line-height:1.65;margin:0 0 16px;max-width:480px}
.rs .fact{background:#ffffff26;border:1px solid #ffffff4d;border-radius:18px;padding:13px 18px}
.rs small{display:block;font-size:11.5px;opacity:.85;margin-bottom:4px}
.rs .fact b{font-size:15.5px;line-height:1.4}
.rs .bot>small{font-weight:600;font-size:12.5px;margin-bottom:10px}
.rs .chips{display:flex;flex-wrap:wrap;gap:8px}
.rs .chips button{font-family:inherit;font-weight:700;font-size:14px;padding:9px 20px;border-radius:99px;border:2px solid #ffffff77;background:transparent;color:#fff;cursor:pointer;transition:.3s}
.rs .chips button:hover{background:#ffffff2e}
.rs .chips button.on{background:#fff;color:var(--c);border-color:#fff;transform:translateY(-2px)}
.rs .best{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 18px;font-size:14px}
.rs .best b{font:800 18px 'Baloo 2',sans-serif;background:#ffffff2e;border-radius:10px;padding:2px 12px}
.rs .btn-gold{background:#fff;color:#27133b}
.rs .swap.pop>*{animation:h1up .55s both}.rs .swap.pop>*:nth-child(2){animation-delay:.06s}.rs .swap.pop>*:nth-child(3){animation-delay:.12s}.rs .swap.pop>*:nth-child(4){animation-delay:.18s}.rs .swap.pop>*:nth-child(5){animation-delay:.24s}
@keyframes h1up{from{opacity:0;transform:translateY(16px)}}
.h1-bento .wide{grid-column:span 2;display:flex;align-items:flex-end;color:#fff;background:#2b1245}
.h1-bento .wide .ph{position:absolute;inset:0;opacity:.85}.h1-bento .wide .ph img{transition:transform 1.2s}.h1-bento .wide:hover img{transform:scale(1.08)}
.h1-bento .wide:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,#1d0a30f2 10%,#1d0a3055 60%,transparent)}
.h1-bento .wide .tx{position:relative;z-index:2;padding:28px}
.h1-bento .wide .kick{color:var(--gold)}.h1-bento .wide .kick:before{background:var(--gold)}
.h1-bento .wide h3{color:#fff;font-size:clamp(20px,2.2vw,26px);line-height:1.25;margin-top:10px;max-width:460px}
@media(max-width:980px){.h1-bento{grid-template-columns:1fr 1fr}.h1-bento .intro,.h1-bento .rs,.h1-bento .wide{grid-column:span 2}.h1-bento .rs{grid-row:auto}.rt{min-height:280px}.h1-bento .wide{min-height:240px}}
@media(max-width:560px){.h1-quiz{padding:60px 0}.h1-bento{gap:12px}.h1-bento .intro,.h1-bento .rs{padding:26px 22px}.rt{min-height:250px}.rt .tx{padding:18px}.rt .tx b{font-size:18px}.rt .tx small{font-size:12px}.rt .pk{display:none}}
@media(prefers-reduced-motion:reduce){.rt:hover{transform:none}}

/* 6 PHOTOS */
.h1-photos{background:#1d0a30}
.h1-photos .kick{color:#d8b9f5}.h1-photos .h1-t{color:#fff}.h1-photos .h1-note{color:#b9a3d0}
.h1-wall{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:16px}
.h1-wall figure{position:relative;margin:0;border-radius:24px;overflow:hidden;transition-delay:calc(var(--i)*.07s)}
.h1-wall figure:nth-child(1){grid-column:span 2;grid-row:span 2}.h1-wall figure:nth-child(4){grid-row:span 2}.h1-wall figure:nth-child(6){grid-column:span 2}
.h1-wall .zoom{position:absolute;inset:0;border:0;padding:0;cursor:zoom-in;background:none}
.h1-wall .ph{width:100%;height:100%}.h1-wall .ph img{transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(1.1)}
.h1-wall figure:hover img{transform:scale(1.12) rotate(1deg)}
.h1-wall figcaption{position:absolute;inset-inline:0;bottom:0;padding:50px 18px 16px;color:#fff;font-weight:600;font-size:15px;background:linear-gradient(to top,#1d0a30f0,transparent);transform:translateY(40%);opacity:0;transition:.45s;pointer-events:none}
.h1-wall figure:hover figcaption,.h1-wall figure:focus-within figcaption{transform:none;opacity:1}
.h1-wall figcaption small{display:block;font-size:10.5px;letter-spacing:.14em;color:var(--gold);margin-bottom:3px}
.h1-wall figure:after{content:"";position:absolute;inset:0;border-radius:24px;box-shadow:inset 0 0 0 3px transparent;transition:.4s;pointer-events:none}
.h1-wall figure:hover:after{box-shadow:inset 0 0 0 3px var(--pk)}
.h1-lb{position:fixed;inset:0;z-index:999;background:#0c0416ee;display:grid;place-items:center;align-content:center;gap:14px;padding:24px;animation:h1fade .3s}
.h1-lb[hidden]{display:none}
.h1-lb img{max-width:min(92vw,1000px);max-height:76vh;border-radius:20px;object-fit:contain}
.h1-lb p{color:#fff;font-weight:600;margin:0}
.h1-lb .x{position:absolute;top:18px;inset-inline-end:22px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;font-size:26px;cursor:pointer}
@keyframes h1fade{from{opacity:0}}

/* 7 HUB */
.h1-hub{background:linear-gradient(135deg,#59258e,#2b1245 70%);color:#fff}
.h1-hub .kick{color:#e6cdfb}.h1-hub .h1-t{color:#fff}
.h1-hub .lead{color:#dccdee;font-size:16.5px;line-height:1.75;margin:16px 0 26px;max-width:480px}
.h1-hub-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.h1-feat{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:14px}
.h1-feat li{display:flex;gap:16px;align-items:center;padding:14px 18px;border-radius:20px;background:#ffffff14;border:1px solid #ffffff26;transition:.3s}
.h1-feat li:hover{background:#ffffff24;transform:translateX(calc(8px*var(--dir)))}
.h1-feat i{flex:none;width:44px;height:44px;border-radius:14px;background:var(--gold);color:#27133b;display:grid;place-items:center;font-style:normal;font-size:19px;font-weight:700}
.h1-feat b{display:block;font-size:16px}.h1-feat span{font-size:13.5px;color:#cdbadd}
.h1-dash{position:relative;background:#fff;color:#27133b;border-radius:28px;padding:22px 24px 26px;box-shadow:0 40px 70px -30px #000c;max-width:440px;justify-self:center;width:100%;transform:rotate(calc(2deg*var(--dir)))}
.h1-dash .bar{display:flex;align-items:center;gap:7px;margin-bottom:18px}
.h1-dash .bar i{width:11px;height:11px;border-radius:50%;background:#ff7a8a}.h1-dash .bar i:nth-child(2){background:#ffc83d}.h1-dash .bar i:nth-child(3){background:#2fd09a}
.h1-dash .bar span{margin-inline-start:auto;font-weight:700;font-size:14px}
.h1-dash .kids{display:flex;gap:8px;margin-bottom:16px}
.h1-dash .kids span{padding:7px 16px;border-radius:99px;background:#f4ecfd;font-size:13px;font-weight:600}.h1-dash .kids .on{background:#59258e;color:#fff}
.h1-dash .row{padding:14px 16px;border-radius:16px;background:#f9f5ff;border-inline-start:6px solid var(--c);margin-bottom:10px}
.h1-dash .row b{display:block;font-size:14.5px}.h1-dash .row small{color:#6f627f;font-size:12.5px}
.h1-dash .thumbs{display:flex;gap:10px;margin-top:14px}.h1-dash .thumbs span{flex:1;height:72px;border-radius:14px;background:#59258e center/cover}
.h1-dash .toast{position:absolute;padding:10px 16px;border-radius:14px;background:#27133b;color:#fff;font-size:13px;font-weight:600;box-shadow:0 14px 28px -10px #000a;animation:h1toast 6s ease-in-out infinite}
.h1-dash .t1{top:34px;inset-inline-end:-26px}.h1-dash .t2{bottom:70px;inset-inline-start:-30px;background:var(--gr);animation-delay:-3s}
@keyframes h1toast{0%,12%{opacity:0;transform:translateY(14px) scale(.9)}22%,78%{opacity:1;transform:none}90%,100%{opacity:0;transform:translateY(-10px)}}

/* 8 VOICES */
.h1-voices{background:var(--cream)}
.h1-vq{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.h1-vph{position:relative;height:440px}
.h1-vph .ph{position:absolute;inset:0;border-radius:200px 200px 30px 30px;opacity:0;transform:scale(.92) rotate(calc(-4deg*var(--dir)));transition:opacity .7s,transform .9s cubic-bezier(.2,.8,.2,1)}
.h1-vph .ph.on{opacity:1;transform:none}
.h1-vbody .stars{display:block;color:var(--or);font-size:22px;letter-spacing:4px;margin:16px 0 14px}
.h1-vs{display:grid;min-height:190px}
.h1-vs .s{grid-area:1/1;opacity:0;transform:translateX(calc(30px*var(--dir)));transition:.6s;pointer-events:none}
.h1-vs .s.on{opacity:1;transform:none;pointer-events:auto}
.h1-vs p{font:600 clamp(19px,2.1vw,24px)/1.5 'Poppins',sans-serif;color:var(--ink);margin:0 0 18px}
.h1-vs .by b{display:block}.h1-vs .by span{font-size:13.5px;color:var(--mut)}
.h1-vctl{display:flex;align-items:center;gap:12px;margin-top:22px}
.h1-vctl .dots{display:flex;gap:8px;margin-inline-start:10px}
.h1-vctl .dots span{width:10px;height:10px;border-radius:10px;background:var(--line);transition:.4s}.h1-vctl .dots .on{width:34px;background:var(--pk)}

/* 9 FINAL CTA */
.h1-cta-sec{background:var(--white);padding-top:40px}
.h1-final{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;border-radius:40px;overflow:hidden;color:#fff;padding:56px;background:linear-gradient(120deg,#e0529c,#ff8a1f 55%,#ffc83d)}
.h1-final .b{position:absolute;border-radius:50%;background:#ffffff30;animation:h1float 10s ease-in-out infinite}
.h1-final .b1{width:300px;height:300px;top:-110px;inset-inline-start:36%}.h1-final .b2{width:200px;height:200px;bottom:-80px;inset-inline-start:-40px;animation-delay:-5s}
.h1-final .tx{position:relative;z-index:2}
.h1-final .kick{color:#fff}.h1-final .kick:before{background:#fff}
.h1-final h2{color:#fff;font-size:clamp(34px,4.6vw,58px);line-height:1.04;margin:14px 0}
.h1-final h2 em{color:#27133b;font-size:1.1em}
.h1-final p{font-size:17px;line-height:1.7;max-width:460px;margin:0}
.h1-final .btn-gold{background:#27133b;color:#fff}
.h1-final .btn-line{color:#fff;border-color:#fff}
.h1-final>.ph{position:relative;z-index:2;height:380px;border-radius:220px 220px 30px 30px;rotate:3deg;border:6px solid #fff;box-shadow:0 30px 50px -20px #0006}

/* responsive */
@media(max-width:980px){
 .h1-hero-in{grid-template-columns:1fr}.h1-art{height:460px;max-width:520px;margin:0 auto;width:100%}
 .h1-steps{grid-template-columns:repeat(2,1fr);row-gap:34px}.h1-line{display:none}
 .h1-hub-in,.h1-vq,.h1-final{grid-template-columns:1fr}.h1-vph{height:380px;max-width:360px;margin:auto;width:100%}
 .h1-final>.ph{height:300px;max-width:340px;justify-self:center;width:100%}
}
@media(max-width:820px){
 .h1-sec{padding:64px 0}.h1-head,.h1-head.has-btn{grid-template-columns:1fr;gap:18px;margin-bottom:32px}.h1-arrows{justify-self:start}
 .h1-sgrid{grid-template-columns:1fr 1fr}
 .h1-ap{grid-template-columns:1fr;gap:28px;padding:30px 22px}.h1-ap .ph{height:300px}.h1-tabs{border-radius:26px}.h1-tabs b{font-size:18px}.h1-tabs small{font-size:10.5px}
 .h1-wall{grid-template-columns:1fr 1fr;grid-auto-rows:170px}
 .h1-wall figure:nth-child(n){grid-column:auto;grid-row:auto}.h1-wall figure:nth-child(1){grid-column:span 2;grid-row:span 2}
 .h1-wall figcaption{opacity:1;transform:none;font-size:13px}
 .h1-final{padding:36px 24px;border-radius:30px}
}
@media(max-width:560px){
 .h1-steps{grid-template-columns:1fr}.h1-poster{width:270px;height:430px}
 .h1-art{height:400px}.h1-art .st{font-size:12px;padding:7px 12px}
 .h1-dash .t1{inset-inline-end:-8px}.h1-dash .t2{inset-inline-start:-8px}
 .h1-cta .btn{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
 .hm *,.hm *:before{animation:none!important;transition:none!important}
 .js .h1-step{opacity:1;transform:none}.h1-line i{transform:none}
 .h1-poster .more{grid-template-rows:1fr}
}

/* FINAL HOME 1 VISUAL ALIGNMENT — soft violet palette + stable responsive artwork */
.hm{--ink:#302044;--pur:#7452a8;--mut:#756782;--lilac:#f1eafd;--cream:#faf7ff;--white:#fff;--card:#fff;--line:#e6daf4;--dark:#f1eafd;--pk:#a66be0;--vi:#8d6bd1}
.h1-hero{background:linear-gradient(125deg,#f7f2ff 0%,#eee4ff 56%,#f8f3ff 100%);color:var(--ink);padding-top:58px}
.h1-hero .b{opacity:.22;filter:blur(78px)}
.h1-hero .b1{background:#c9a8f4}.h1-hero .b2{background:#a994ed}.h1-hero .b3{background:#f3c7e8}
.h1-hero h1{color:#302044}.h1-hero .lead{color:#665777}
.h1-pill{background:#fffafc;border-color:#e3d4f3;color:#604584;backdrop-filter:none;box-shadow:0 8px 24px #6045840c}
.h1-hero .btn-line{color:#67438d;border-color:#c7b2df}
.h1-mini{color:#6c5a7d}.h1-mini b{color:#352448}.faces span{border-color:#f1eafd}
.h1-art{height:500px;isolation:isolate}
.h1-art figure{border:5px solid #fff;box-shadow:0 20px 48px -25px #49336555;animation:none!important}
.h1-art .f1{width:66%;height:82%;inset-block-start:5%;inset-inline-start:17%;border-radius:180px 180px 26px 26px;transform:none}
.h1-art .f2{width:34%;height:34%;inset-block-end:2%;inset-inline-start:0;border-radius:22px;transform:rotate(-3deg)}
.h1-art .f3{width:32%;height:29%;inset-block-start:0;inset-inline-end:0;border-radius:22px;transform:rotate(3deg)}
.h1-art figcaption{background:linear-gradient(to top,#241333d9,transparent);font-size:13px}
.h1-art .st{animation:none!important;box-shadow:0 8px 24px #39234b25;border:2px solid #fff}
.h1-art .s1{inset-block-start:17%;inset-inline-start:0}.h1-art .s2{inset-block-end:32%;inset-inline-end:0}.h1-art .s3{inset-block-end:3%;inset-inline-end:30%}
.h1-tick{background:#e7daf8;border-color:#d9c7ee}
.h1-tick span{color:#59406e}
.h1-tick span:after{background:var(--c)}
.h1-photos{background:#f0e8fb}
.h1-photos .kick{color:#7452a8}.h1-photos .h1-t{color:#302044}.h1-photos .h1-note{color:#756782}
.h1-bento .wide{background:#e3d5f6;color:#302044}
.h1-bento .wide:before{background:linear-gradient(to top,#28183bd9 6%,#28183b4d 65%,transparent)}
.h1-final{background:linear-gradient(120deg,#8e6bc4,#b99be2 60%,#d8c5f2)}
.h1-final .h1-t,.h1-final h2{color:#fff}
body.dark .hm{--ink:#f5edff;--pur:#d9b8ff;--mut:#cdbadd;--lilac:#241040;--cream:#1c0b2b;--white:#160428;--card:#2a1445;--line:#3d2060}
body.dark .h1-hero{background:linear-gradient(125deg,#211331,#2b1740 56%,#20112f);color:#fff}
body.dark .h1-hero h1{color:#fff}body.dark .h1-hero .lead{color:#dccdee}
body.dark .h1-pill{background:#ffffff12;border-color:#ffffff30;color:#f0e4ff}
body.dark .h1-hero .btn-line{color:#fff;border-color:#ffffff88}
body.dark .h1-mini{color:#dccdee}body.dark .h1-mini b{color:#fff}body.dark .faces span{border-color:#241040}
body.dark .h1-tick{background:#140b20;border-color:#ffffff18}body.dark .h1-tick span{color:#e8dcf5}
body.dark .h1-photos{background:#1d0a30}body.dark .h1-photos .kick{color:#d8b9f5}body.dark .h1-photos .h1-t{color:#fff}body.dark .h1-photos .h1-note{color:#b9a3d0}
body.dark .h1-bento .wide{background:#2b1245;color:#fff}
@media(max-width:980px){.h1-hero{padding-top:42px}.h1-hero-in{gap:24px}.h1-art{height:440px;max-width:500px}}
@media(max-width:820px){.h1-art{height:420px;max-width:460px}.h1-art .f1{width:65%;height:78%;inset-inline-start:18%}.h1-art .f2{width:34%;height:32%}.h1-art .f3{width:31%;height:27%}}
@media(max-width:560px){.h1-hero{padding-top:34px}.h1-art{height:340px;margin-top:10px}.h1-art figure{border-width:3px;border-radius:18px}.h1-art .f1{width:68%;height:76%;inset-inline-start:16%;inset-block-start:7%;border-radius:100px 100px 18px 18px}.h1-art .f2{width:35%;height:30%;inset-block-end:1%;inset-inline-start:0}.h1-art .f3{width:30%;height:25%;inset-block-start:0;inset-inline-end:0}.h1-art .st{font-size:10.5px;padding:6px 9px;white-space:nowrap}.h1-art .s1{inset-block-start:18%;inset-inline-start:-2%}.h1-art .s2{inset-block-end:33%;inset-inline-end:-2%}.h1-art .s3{inset-block-end:0;inset-inline-end:28%}.h1-conf{display:none}}
@media(prefers-reduced-motion:reduce){.h1-hero .b,.h1-art figure,.h1-art .st{animation:none!important;transition:none!important}}


/* FINAL HERO ART REFINEMENT — single aligned lavender/violet composition */
.h1-hero{background:linear-gradient(125deg,#f8f3ff 0%,#eee4fc 52%,#e4d5f8 100%);color:#2d1a43}
.h1-hero .b1{background:#c6a8f0;opacity:.32}.h1-hero .b2{background:#a98add;opacity:.25}.h1-hero .b3{background:#d8c4f4;opacity:.3}
.h1-hero h1{color:#2d1a43}
.h1-hero .lead{color:#665278}
.h1-hero .h1-pill{background:#fff9;border-color:#d9c7f0;color:#5a3b7b;backdrop-filter:blur(10px)}
.h1-hero .h1-pill i{background:#8f6bc7;animation:none}
.h1-hero .h1-swap em{color:#8a65bd}
.h1-hero .h1-mini{color:#665278}.h1-hero .h1-mini b{color:#392550}
.h1-hero .faces span{border-color:#f0e7fb}
.h1-hero .btn-line{color:#593c7a;border-color:#bca5db}
.h1-art-single{height:auto;min-height:500px;max-width:none;isolation:isolate;display:flex;align-items:center;justify-content:center;padding:20px 14px 28px}
.h1-art-single .h1-art-frame{position:relative;z-index:1;width:min(100%,470px);height:500px;overflow:hidden;border-radius:240px 240px 34px 34px;border:8px solid #fff;box-shadow:0 28px 65px -28px #593c7a66;background:#d9c6f1;transform:rotate(1.2deg)}
.h1-art-single .h1-art-frame>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82) hue-rotate(5deg);transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .8s}
.h1-art-single .h1-art-frame:hover>img{transform:scale(1.035);filter:saturate(.95)}
.h1-art-single .h1-art-shade{position:absolute;inset:0;background:linear-gradient(180deg,#2c174400 38%,#2b1748b8 100%)}
.h1-art-single .h1-art-caption{position:absolute;inset-inline:24px;bottom:25px;display:flex;flex-direction:column;gap:8px;color:#fff}
.h1-art-single .h1-art-kicker{font-size:10px;letter-spacing:.17em;font-weight:800;color:#e8d9ff}
.h1-art-single .h1-art-caption strong{font:800 clamp(22px,2.3vw,30px)/1.12 'Baloo 2',sans-serif;max-width:340px;color:#fff}
.h1-art-single .h1-art-sub{font-size:12px;color:#f1e8ff;letter-spacing:.03em}
.h1-art-single .h1-art-badge{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:16px;background:#f8f2ff;color:#5a3a7b;border:1px solid #dfcef6;box-shadow:0 14px 34px #5c3b7c24;font-size:12px;font-weight:800;white-space:nowrap}
.h1-art-single .h1-art-badge-top{inset-block-start:12%;inset-inline-start:-2px;transform:rotate(-3deg)}
.h1-art-single .h1-art-badge-top span{color:#9470c9;font-size:17px}
.h1-art-single .h1-art-badge-bottom{inset-block-end:13%;inset-inline-end:-3px;transform:rotate(3deg)}
.h1-art-single .h1-art-badge-bottom span{color:#9470c9;font-size:16px}
.h1-art-single .h1-art-orbit{position:absolute;z-index:0;width:85%;height:82%;border:1.5px solid #cbb4e9;border-radius:48% 52% 45% 55%;transform:rotate(-11deg);pointer-events:none}
body.dark .h1-hero{background:linear-gradient(125deg,#211331,#2b1740 56%,#20112f);color:#fff}
body.dark .h1-hero h1{color:#fff}body.dark .h1-hero .lead{color:#dccdee}
body.dark .h1-hero .h1-pill{background:#ffffff12;border-color:#ffffff30;color:#f0e4ff}
body.dark .h1-hero .h1-swap em{color:#d7b8ff}
body.dark .h1-hero .h1-mini{color:#dccdee}body.dark .h1-hero .h1-mini b{color:#fff}body.dark .h1-hero .faces span{border-color:#241040}
body.dark .h1-hero .btn-line{color:#fff;border-color:#ffffff88}
body.dark .h1-art-single .h1-art-frame{border-color:#392452;box-shadow:0 28px 65px -28px #0009}
body.dark .h1-art-single .h1-art-badge{background:#302044;color:#eadcff;border-color:#563a76}
body.dark .h1-art-single .h1-art-orbit{border-color:#674b89}
@media(max-width:980px){.h1-art-single{min-height:430px;padding:12px 10px 22px}.h1-art-single .h1-art-frame{height:440px;width:min(100%,420px)}}
@media(max-width:820px){.h1-art-single{min-height:400px}.h1-art-single .h1-art-frame{height:410px;width:min(100%,390px)}}
@media(max-width:560px){.h1-art-single{min-height:350px;padding:10px 8px 18px;margin-top:10px}.h1-art-single .h1-art-frame{width:82%;height:350px;border-width:5px;border-radius:180px 180px 24px 24px}.h1-art-single .h1-art-caption{inset-inline:16px;bottom:18px}.h1-art-single .h1-art-caption strong{font-size:22px}.h1-art-single .h1-art-kicker{font-size:8px}.h1-art-single .h1-art-sub{font-size:10px}.h1-art-single .h1-art-badge{font-size:10px;padding:9px 11px;border-radius:12px}.h1-art-single .h1-art-badge-top{inset-block-start:14%;inset-inline-start:-3px}.h1-art-single .h1-art-badge-bottom{inset-block-end:12%;inset-inline-end:-3px}.h1-art-single .h1-art-orbit{width:92%;height:80%}}
@media(prefers-reduced-motion:reduce){.h1-art-single .h1-art-frame>img{transition:none}}


/* HOME 1 HERO SHOWCASE — polished two-image violet composition */
.h1-hero{background:radial-gradient(ellipse at 78% 25%,#e6d5ff 0%,#f5efff 42%,#fbf8ff 78%);color:#34204f}
.h1-hero .b{opacity:.26;filter:blur(82px)}
.h1-hero .b1{background:#b69ae8}.h1-hero .b2{background:#8861c7}.h1-hero .b3{background:#d5bdf8}
.h1-pill{background:#fff;border-color:#e3d4f8;color:#5d3986;box-shadow:0 8px 22px #5a388510}
.h1-pill i{background:#8b67c7}
.h1-hero h1{color:#34204f}
.h1-swap em{color:#8b5ac5}
.h1-hero .lead{color:#655477}
.h1-hero .btn-line{color:#5b3c7d;border-color:#bda6db}
.h1-mini{color:#69577d}
.h1-mini b{color:#38244f}
.faces span{border-color:#f5efff}
.h1-hero-in{grid-template-columns:1.02fr .98fr;gap:clamp(26px,3.5vw,52px);padding-top:8px;padding-bottom:58px}
.h1-art-showcase{position:relative;height:clamp(440px,43vw,570px);min-width:0;isolation:isolate;padding:18px 24px 26px 10px;display:block}
.h1-showcase-orbit{position:absolute;z-index:-1;width:84%;height:84%;right:4%;top:6%;border:1.5px solid #c9b0ed;border-radius:46% 54% 44% 56%;transform:rotate(-9deg)}
.h1-showcase-main{position:absolute;inset:0 13% 7% 7%;margin:0;overflow:hidden;border:7px solid #fff;border-radius:46% 46% 24px 24px;box-shadow:0 30px 70px #4b2b7026;background:#d8c3f3;transform:rotate(-1.2deg)}
.h1-showcase-main>img,.h1-showcase-inset>img{display:block;width:100%;height:100%;object-fit:cover}
.h1-showcase-main>img{object-position:center;filter:saturate(.8) hue-rotate(8deg)}
.h1-showcase-violet{position:absolute;inset:0;background:linear-gradient(180deg,#37205200 26%,#34204f35 54%,#241438e8 100%)}
.h1-showcase-main figcaption{position:absolute;left:clamp(18px,2.5vw,30px);right:clamp(18px,2.5vw,30px);bottom:24px;color:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.h1-showcase-main figcaption small{font-size:9px;font-weight:800;letter-spacing:.18em;color:#e7d9ff}
.h1-showcase-main figcaption strong{font:800 clamp(25px,3vw,39px)/1.02 'Baloo 2',sans-serif;letter-spacing:-.035em;color:#fff}
.h1-showcase-main figcaption em{color:#d8b8ff;font-family:'Lobster Two',cursive;font-size:1.08em;font-weight:700}
.h1-showcase-main figcaption>span{font-size:10px;line-height:1.6;color:#f3eaff}
.h1-showcase-inset{position:absolute;z-index:3;right:0;bottom:0;width:42%;height:30%;margin:0;padding:6px;border:1px solid #dfd0f4;border-radius:22px;background:#fff;box-shadow:0 18px 42px #4a2b6a2b;overflow:hidden;transform:rotate(2deg)}
.h1-showcase-inset>img{border-radius:16px;filter:saturate(.78) hue-rotate(8deg)}
.h1-showcase-inset figcaption{position:absolute;inset:auto 6px 6px;display:flex;align-items:center;gap:9px;padding:11px 10px;background:#f7f0ffef;backdrop-filter:blur(8px);border-radius:0 0 14px 14px;color:#4d326d}
.h1-showcase-spark{flex:none;width:29px;height:29px;display:grid;place-items:center;border-radius:10px;background:#e6d7fb;color:#7950ad;font-size:17px}
.h1-showcase-inset b,.h1-showcase-inset small{display:block}
.h1-showcase-inset b{font-size:10px;line-height:1.25;color:#4d326d}
.h1-showcase-inset small{font-size:8px;line-height:1.4;margin-top:3px;color:#79658f}
.h1-showcase-badge{position:absolute;z-index:4;left:-4px;top:13%;display:flex;align-items:center;gap:9px;padding:11px 15px;border:1px solid #e0d0f4;border-radius:15px;background:#fff;box-shadow:0 14px 35px #4b2a7020;color:#4c326b;transform:rotate(-3deg)}
.h1-showcase-badge-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#eee3ff;color:#8659bd;font-size:17px}
.h1-showcase-badge b,.h1-showcase-badge small{display:block}
.h1-showcase-badge b{font-size:11px}.h1-showcase-badge small{font-size:9px;margin-top:2px;color:#87739d}
.h1-showcase-age{position:absolute;z-index:4;right:0;top:6%;display:flex;flex-direction:column;align-items:center;justify-content:center;width:70px;height:70px;border:1px solid #d7c1f1;border-radius:50%;background:#eee4ff;color:#674393;box-shadow:0 12px 28px #4b2a7017;transform:rotate(7deg)}
.h1-showcase-age span{font-size:8px;font-weight:800;letter-spacing:.16em}.h1-showcase-age b{font:800 20px/1.1 'Baloo 2',sans-serif;margin-top:3px}
@media(max-width:980px){.h1-hero-in{grid-template-columns:1fr;gap:22px}.h1-hero-tx{max-width:760px}.h1-art-showcase{width:min(100%,650px);height:500px;margin:0 auto}.h1-showcase-main{inset-inline-start:9%;inset-inline-end:13%}.h1-showcase-badge{inset-inline-start:2%}}
@media(max-width:600px){.h1-hero{padding-top:36px}.h1-hero-in{gap:12px;padding-bottom:38px}.h1-hero h1{font-size:clamp(37px,10vw,54px)}.h1-hero .lead{font-size:15px}.h1-art-showcase{height:390px;padding:12px 9px 20px;width:100%;margin-top:2px}.h1-showcase-orbit{width:88%;height:80%;right:3%;top:7%}.h1-showcase-main{inset:0 12% 7% 5%;border-width:5px;border-radius:43% 43% 18px 18px}.h1-showcase-main figcaption{left:15px;right:15px;bottom:16px;gap:7px}.h1-showcase-main figcaption small{font-size:7px}.h1-showcase-main figcaption strong{font-size:25px}.h1-showcase-main figcaption>span{font-size:8px}.h1-showcase-inset{width:43%;height:29%;padding:4px;border-radius:15px}.h1-showcase-inset>img{border-radius:11px}.h1-showcase-inset figcaption{inset:auto 4px 4px;gap:5px;padding:7px 6px;border-radius:0 0 10px 10px}.h1-showcase-spark{width:22px;height:22px;border-radius:7px;font-size:12px}.h1-showcase-inset b{font-size:8px}.h1-showcase-inset small{font-size:6.5px}.h1-showcase-badge{top:12%;inset-inline-start:0;padding:8px 10px;gap:6px;border-radius:12px}.h1-showcase-badge-icon{width:24px;height:24px;font-size:13px}.h1-showcase-badge b{font-size:9px}.h1-showcase-badge small{font-size:7px}.h1-showcase-age{top:5%;inset-inline-end:0;width:56px;height:56px}.h1-showcase-age b{font-size:16px}}
@media(prefers-reduced-motion:reduce){.h1-hero .b{animation:none!important}.h1-showcase-main>img,.h1-showcase-inset>img{transition:none!important}}
body.dark .h1-hero{background:radial-gradient(ellipse at 78% 25%,#392653 0%,#21122f 45%,#170d23 82%);color:#fff}
body.dark .h1-hero h1,body.dark .h1-mini b{color:#fff}body.dark .h1-hero .lead,body.dark .h1-mini{color:#d8c6eb}body.dark .h1-pill{background:#2c1b3f;color:#eadcff;border-color:#4a3263}body.dark .h1-hero .btn-line{color:#eadcff;border-color:#755a91}body.dark .faces span{border-color:#21122f}body.dark .h1-showcase-inset{background:#2b1b3d;border-color:#51396b}body.dark .h1-showcase-inset figcaption{background:#291a3beF;color:#eadcff}body.dark .h1-showcase-inset b{color:#eadcff}body.dark .h1-showcase-inset small{color:#c5b0da}body.dark .h1-showcase-badge{background:#2b1b3d;color:#eadcff;border-color:#51396b}body.dark .h1-showcase-badge small{color:#c5b0da}body.dark .h1-showcase-age{background:#392653;color:#eadcff;border-color:#5c4378}


/* HOME 1 HERO — upcoming-shows inspired photo collage, in the shared violet palette */
.h1-hero{background:linear-gradient(135deg,#fbf8ff 0%,#f0e7ff 52%,#e8dcfb 100%);color:#28143e;padding:58px 0 0;overflow:hidden}
body.dark .h1-hero{background:linear-gradient(135deg,#1a0d29 0%,#25123b 58%,#2b1745 100%);color:#fff}
.h1-hero .b1{background:#c8a7f5;opacity:.28}.h1-hero .b2{background:#8d67d4;opacity:.22}.h1-hero .b3{background:#e3d3ff;opacity:.35}
.h1-conf{fill:#9b70db;opacity:.6}
.h1-hero h1{color:#28143e}
body.dark .h1-hero h1{color:#fff}
.h1-swap em{color:#7444b5}
body.dark .h1-swap em{color:#d7baff}
.h1-hero .lead{color:#665477}
body.dark .h1-hero .lead{color:#d7c9e8}
.h1-pill{background:#fff;border:1px solid #e0d0f5;color:#573b78;box-shadow:0 8px 24px #48266a0d}
body.dark .h1-pill{background:#ffffff12;border-color:#ffffff2b;color:#f2eaff}
.h1-hero .btn-line{color:#58387d;border-color:#c5a9e7}
body.dark .h1-hero .btn-line{color:#fff;border-color:#bda0df}
.h1-mini p{color:#69577a}
body.dark .h1-mini p{color:#d7c9e8}
.h1-upcoming-collage{position:relative;isolation:isolate;width:100%;max-width:590px;min-width:0;aspect-ratio:1.03/1;margin-inline:auto;padding:0 0 34px 32px}
.h1-upcoming-collage:before{content:"";position:absolute;inset:5% 6% 13% 12%;border:1.5px solid #c6a9ec;border-radius:42% 42% 30px 30px;transform:rotate(5deg);z-index:-1}
.h1-upcoming-main{position:absolute;inset:0 10% 10% 8%;overflow:hidden;border:7px solid #fff;border-radius:32px 32px 32px 100px;background:#d9c5f5;box-shadow:0 28px 65px #3f216626}
.h1-upcoming-main img,.h1-upcoming-small img{display:block;width:100%;height:100%;object-fit:cover}
.h1-upcoming-main img{object-position:center 35%;animation:h1UpcomingZoom 16s ease-in-out infinite alternate}
@keyframes h1UpcomingZoom{to{transform:scale(1.07)}}
.h1-upcoming-image-shade{position:absolute;inset:0;background:linear-gradient(180deg,#25133c00 36%,#25133c22 65%,#25133cd9 100%)}
.h1-upcoming-small{position:absolute;inset-inline-start:0;bottom:0;width:38%;height:36%;padding:5px;border:1px solid #e4d5f6;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 18px 40px #3d22532b;transform:rotate(-4deg)}
.h1-upcoming-small img{border-radius:18px;object-position:center;filter:saturate(.82) hue-rotate(7deg)}
.h1-upcoming-sticker{position:absolute;inset-inline-end:0;bottom:15%;display:flex;align-items:center;gap:10px;max-width:72%;padding:12px 16px;border:1px solid #e2d4f4;border-radius:18px;background:#fff;color:#392052;box-shadow:0 14px 32px #3d225326}
.h1-upcoming-sticker>span{display:grid;place-items:center;flex:none;width:35px;height:35px;border-radius:12px;background:#eee3ff;color:#7649b2;font-size:23px}
.h1-upcoming-sticker b,.h1-upcoming-sticker small{display:block}
.h1-upcoming-sticker b{font-size:12px;line-height:1.35;font-weight:800}
.h1-upcoming-sticker small{font-size:10px;line-height:1.45;color:#78648b;margin-top:3px}
.h1-upcoming-count{position:absolute;top:8%;inset-inline-end:2%;display:flex;flex-direction:column;gap:4px;padding:12px 15px;border:1px solid #e0d1f4;border-radius:16px;background:#f7f1ff;color:#5c3b83;box-shadow:0 12px 28px #3d225319;transform:rotate(4deg)}
.h1-upcoming-count small{font-size:9px;letter-spacing:.12em;font-weight:800}
.h1-upcoming-count b{font-size:16px;line-height:1.1}
body.dark .h1-upcoming-main{border-color:#392650;background:#28173b}
body.dark .h1-upcoming-small{background:#2c1a40;border-color:#51386a}
body.dark .h1-upcoming-sticker{background:#2c1a40;border-color:#51386a;color:#fff}
body.dark .h1-upcoming-sticker>span{background:#493264;color:#e0c8ff}
body.dark .h1-upcoming-sticker small{color:#d0bfdf}
body.dark .h1-upcoming-count{background:#332047;border-color:#54396f;color:#e7d7fa}
.h1-tick{background:#e9def9;color:#4e2d76;border-color:#d9c5f0}
body.dark .h1-tick{background:#28163a;color:#e7d8f9;border-color:#4a3260}
@media(max-width:980px){.h1-hero-in{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:48px}.h1-hero-tx{max-width:720px}.h1-upcoming-collage{width:min(100%,600px);margin:0 auto;aspect-ratio:1.08/1}.h1-conf{display:none}}
@media(max-width:560px){.h1-hero{padding-top:36px}.h1-hero-in{gap:24px;padding-bottom:34px}.h1-upcoming-collage{aspect-ratio:.94/1;padding:0 0 26px 20px}.h1-upcoming-main{inset:0 7% 10% 6%;border-width:5px;border-radius:24px 24px 24px 72px}.h1-upcoming-small{width:39%;height:33%;border-radius:18px;padding:4px}.h1-upcoming-small img{border-radius:14px}.h1-upcoming-sticker{bottom:13%;max-width:73%;padding:9px 11px;gap:8px;border-radius:14px}.h1-upcoming-sticker>span{width:29px;height:29px;font-size:19px}.h1-upcoming-sticker b{font-size:10px}.h1-upcoming-sticker small{font-size:9px}.h1-upcoming-count{top:5%;padding:9px 11px;border-radius:12px}.h1-upcoming-count small{font-size:8px}.h1-upcoming-count b{font-size:13px}}
@media(prefers-reduced-motion:reduce){.h1-upcoming-main img{animation:none!important;transform:none!important}}


/* ===== Merged from home2.css ===== */
/* Lil Spotlight — Home 2 (pages/home2.html). Colours + fonts follow the About page. */
.hx{--ink:#27133b;--pur:#59258e;--gold:#ffc83d;--mut:#6f627f;--lilac:#f2e9fb;--cream:#fffaf1;--white:#fff;--card:#fff;--line:#e9deef;--dark:#251038;--dark2:#341650;--pk:#e0529c;--gr:#2fae8f;--or:#ef9b1a}
body.dark .hx{--ink:#fff;--pur:#d9b8ff;--mut:#cdbadd;--lilac:#241040;--cream:#1c0b2b;--white:#160428;--card:#2a1445;--line:#3d2060}
.hx section{position:relative;overflow:hidden}
.hx h1,.hx h2,.hx h3{letter-spacing:-.03em;color:var(--ink)}
.hx em{font-family:'Lobster Two',cursive;font-style:italic;font-weight:700;letter-spacing:0}
.hx .ph{background:linear-gradient(135deg,#4b1a8f,#251038);overflow:hidden}
.hx .ph img{width:100%;height:100%;object-fit:cover;display:block}
.hx .kick{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pur)}
.hx .kick:before{content:"";width:26px;height:2px;background:var(--gold);border-radius:2px}
.hx-sec{padding:84px 0}
.hx-head{display:grid;grid-template-columns:1fr minmax(260px,430px);gap:40px;align-items:end;margin-bottom:44px}
.hx-t{font-size:clamp(30px,3.6vw,44px);line-height:1.08;margin-top:12px}
.hx-t em{color:var(--pur);font-size:1.1em}
.hx-head>p{font-size:15.5px;line-height:1.7;color:var(--mut)}
.hx-dk{background:var(--dark)}.hx-dk .kick{color:#d8b9f5}.hx-dk .hx-t{color:#fff}.hx-dk .hx-t em{color:var(--gold)}.hx-dk .hx-head>p{color:#cdbadd}
.hx-lilac{background:var(--lilac)}.hx-cream{background:var(--cream)}.hx-white{background:var(--white)}

/* 1 HERO */
.hx-hero{background:#f6efff;padding:64px 0 0}
body.dark .hx-hero{background:#1c0b2b}
.hx-hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding-bottom:60px}
.hx-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.03;margin:18px 0 20px}
.hx-hero h1 em{color:var(--pur);font-size:1.1em}
.hx-hero .lead{font-size:16.5px;line-height:1.75;color:var(--mut);max-width:500px}
.hx-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hx-hero .btn-line{border-color:var(--ink);color:var(--ink)}
.hx-trust{display:flex;align-items:center;gap:14px;margin-top:32px}
.hx-trust .av{display:flex}.hx-trust .av img{width:44px;height:44px;border-radius:50%;border:3px solid #f6efff;object-fit:cover;margin-inline-end:-12px;background:#59258e}
body.dark .hx-trust .av img{border-color:#1c0b2b}
.hx-trust b{display:block;font-size:14px;color:var(--ink);margin-inline-start:12px}.hx-trust small{display:block;font-size:12.5px;color:var(--mut);margin-inline-start:12px}
.hx-coll{position:relative;display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:230px 230px;gap:16px}
.hx-coll .a{grid-row:span 2;border-radius:220px 220px 26px 26px}
.hx-coll .b{border-radius:26px}.hx-coll .c{border-radius:26px 26px 26px 100px}
.hx-chip{position:absolute;inset-inline-start:-18px;bottom:48px;background:var(--card);color:var(--ink);border-radius:16px;padding:12px 16px;box-shadow:0 18px 36px -16px #27133b66;display:flex;gap:12px;align-items:center;font-size:13px;z-index:2;animation:hxfloat 5s ease-in-out infinite}
.hx-chip i{width:10px;height:10px;border-radius:50%;background:var(--gr);box-shadow:0 0 0 0 #2fae8f88;animation:hxpulse 1.8s infinite}
.hx-chip b{display:block;color:var(--ink)}.hx-chip small{color:var(--mut)}
.hx-stamp{position:absolute;inset-inline-end:-10px;top:-12px;width:92px;height:92px;border-radius:50%;background:var(--gold);color:#24093c;display:grid;place-items:center;text-align:center;font-weight:800;font-size:11px;line-height:1.2;letter-spacing:.06em;z-index:2;animation:hxspin 22s linear infinite}
.hx-stamp span{animation:hxspin 22s linear infinite reverse;display:block}
@keyframes hxspin{to{transform:rotate(360deg)}}
@keyframes hxfloat{50%{transform:translateY(-8px)}}
@keyframes hxpulse{70%{box-shadow:0 0 0 10px #2fae8f00}100%{box-shadow:0 0 0 0 #2fae8f00}}
.hx-band{background:#27133b;color:#fff}
.hx-band .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-block:0}
.hx-band div.s{padding:26px 24px;border-inline-start:1px solid #ffffff1f;display:flex;align-items:baseline;gap:12px}
.hx-band div.s:first-child{border:0;padding-inline-start:0}
.hx-band b{font-size:34px;line-height:1;color:var(--gold);font-weight:700}
.hx-band span{font-size:13px;color:#cdbadd;line-height:1.3}

/* 2 THREE STEPS */
.hx-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.hx-step{background:var(--dark2);border:1px solid #ffffff14;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;transition:transform .4s,border-color .4s}
.hx-step:hover{transform:translateY(-8px);border-color:#ffc83d88}
.hx-step .ph{height:240px;position:relative}
.hx-step .ph img{transition:transform .9s}.hx-step:hover .ph img{transform:scale(1.08)}
.hx-step .no{position:absolute;inset-inline-start:20px;top:20px;width:46px;height:46px;border-radius:14px;background:var(--gold);color:#24093c;font-weight:800;display:grid;place-items:center;font-size:16px}
.hx-step .tx{padding:28px 28px 30px;display:flex;flex-direction:column;flex:1}
.hx-step h3{color:#fff;font-size:22px}.hx-step p{color:#d9c9ea;font-size:15px;line-height:1.7;margin:10px 0 20px}
.hx-step .lnk{margin-top:auto;color:var(--gold);font-weight:600;display:inline-flex;align-items:center;gap:8px}
.hx-step .lnk svg{transition:transform .3s}.hx-step:hover .lnk svg{transform:translateX(6px)}
html[dir=rtl] .hx-step:hover .lnk svg{transform:translateX(-6px) scaleX(-1)}

/* 3 AGE TILES */
.hx-ages{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.hx-age{position:relative;height:460px;border-radius:24px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.hx-age .ph{position:absolute;inset:0}
.hx-age .ph img{transition:transform 1s}.hx-age:hover .ph img{transform:scale(1.1)}
.hx-age:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#1d0a30 8%,#1d0a3099 45%,#1d0a3000 75%)}
.hx-age .pill2{position:absolute;z-index:2;top:20px;inset-inline-start:20px;background:var(--gold);color:#24093c;font-weight:700;font-size:13px;padding:6px 14px;border-radius:99px}
.hx-age .tx{position:relative;z-index:2;padding:26px}
.hx-age small{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--gold);text-transform:uppercase}
.hx-age h3{color:#fff;font-size:26px;margin:6px 0 8px}.hx-age p{font-size:14.5px;line-height:1.6;color:#e6d9f5}
.hx-age ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s,opacity .5s,margin .5s}
.hx-age:hover ul,.hx-age:focus-within ul{max-height:80px;opacity:1;margin-top:14px}
.hx-age li{font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:99px;background:#ffffff26;border:1px solid #ffffff3d}
.hx-age a.cover{position:absolute;inset:0;z-index:3}
.js .hx-ages .hx-age{clip-path:inset(100% 0 0 0);transition:clip-path 1s cubic-bezier(.7,0,.2,1);transition-delay:calc(var(--i)*.12s)}
.js .hx-ages.in-view .hx-age{clip-path:inset(0)}

/* 4 TIMETABLE */
.hx-plan{display:grid;grid-template-columns:1.35fr .65fr;gap:26px;align-items:stretch}
.hx-board{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:0 30px 50px -40px #59258e}
.hx-board-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.hx-board-top b{font-size:17px;color:var(--ink)}.hx-board-top span{font-size:12.5px;color:var(--mut)}
.hx-grid{display:grid;grid-template-columns:70px repeat(6,1fr);gap:10px}
.hx-grid .d{font-size:11.5px;font-weight:700;letter-spacing:.1em;color:var(--mut);text-align:center}
.hx-grid .t{font-size:12.5px;color:var(--mut);display:flex;align-items:center}
.hx-slot{border-radius:14px;min-height:76px;padding:10px;font-size:12.5px;line-height:1.3;font-weight:700;color:#fff;display:flex;flex-direction:column;justify-content:center;transition:transform .25s,filter .25s}
.hx-slot small{font-weight:500;opacity:.9;font-size:11px;margin-top:2px}
.hx-slot.a{background:#59258e}.hx-slot.b{background:#e0529c}.hx-slot.c{background:#2fae8f}.hx-slot.d{background:#ef9b1a;color:#2b1740}
.hx-slot.o{background:transparent;border:1.5px dashed var(--line);color:var(--mut);font-weight:500;align-items:center;text-align:center}
.hx-slot:not(.o):hover{transform:scale(1.07);filter:brightness(1.1);z-index:2}
.js .hx-board .hx-slot{opacity:0;transform:scale(.6)}
.js .hx-board.in-view .hx-slot{opacity:1;transform:none;transition:opacity .4s,transform .5s cubic-bezier(.3,1.5,.5,1);transition-delay:calc(var(--i)*.06s)}
.js .hx-board.in-view .hx-slot:not(.o):hover{transform:scale(1.07);transition-delay:0s}
.hx-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px;font-size:12.5px;color:var(--mut)}
.hx-legend span:before{content:"";display:inline-block;width:11px;height:11px;border-radius:4px;margin-inline-end:8px;background:var(--c)}
.hx-next{position:relative;border-radius:26px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;min-height:420px}
.hx-next .ph{position:absolute;inset:0}.hx-next:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#1d0a30 10%,#1d0a3000 70%)}
.hx-next .tx{position:relative;z-index:2;padding:28px}
.hx-next small{font-size:11.5px;font-weight:700;letter-spacing:.14em;color:var(--gold)}
.hx-next h3{color:#fff;font-size:30px;margin:8px 0 6px}.hx-next p{font-size:14.5px;color:#e6d9f5;line-height:1.6;margin-bottom:18px}

/* 5 DASHBOARD */
.hx-dash{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:stretch}
.hx-feats{display:flex;flex-direction:column;justify-content:space-between;gap:0}
.hx-feat{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}
.hx-feat:first-child{padding-top:0}
.hx-feat i{width:54px;height:54px;border-radius:16px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;color:var(--pur);font-style:normal;font-size:22px;transition:.3s}
.hx-feat:hover i{background:var(--pur);color:#fff;transform:rotate(-8deg)}
.hx-feat h3{font-size:18px}.hx-feat p{font-size:14.5px;line-height:1.65;color:var(--mut);margin-top:4px}
.hx-feats .btn{align-self:flex-start;margin-top:26px}
.hx-win{background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 40px 60px -40px #59258e}
.hx-win-bar{display:flex;align-items:center;gap:8px;padding:14px 20px;background:#27133b;color:#cdbadd;font-size:12px}
.hx-win-bar i{width:11px;height:11px;border-radius:50%;background:#e0529c}.hx-win-bar i:nth-child(2){background:#ffc83d}.hx-win-bar i:nth-child(3){background:#2fae8f}
.hx-win-bar span{margin-inline-start:12px}
.hx-win-body{padding:26px}
.hx-win-body h3{font-size:20px;margin-bottom:18px}
.hx-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.hx-tile{background:var(--lilac);border-radius:16px;padding:16px}
.hx-tile b{display:block;font-size:30px;line-height:1;color:var(--pur)}.hx-tile small{font-size:12.5px;color:var(--mut)}
.hx-prog{margin-bottom:20px}
.hx-prog div.r{display:flex;justify-content:space-between;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:8px}.hx-prog div.r span{color:var(--mut);font-weight:500}
.hx-bar{height:9px;border-radius:9px;background:var(--lilac);overflow:hidden}
.hx-bar i{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,var(--pur),var(--pk));transition:width 1.4s cubic-bezier(.2,.8,.2,1) .3s}
.in-view .hx-bar i{width:var(--w)}
.hx-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:6px}
.hx-thumbs .ph{height:84px;border-radius:12px}
.hx-win-body h4{font-size:13px;letter-spacing:.1em;color:var(--mut);margin:22px 0 10px;text-transform:uppercase}

/* 6 PAST PRODUCTIONS */
.hx-head.has-nav{grid-template-columns:1fr auto}
.hx-nav{display:flex;gap:12px}
.hx-nav button{width:52px;height:52px;border-radius:50%;border:1.5px solid #ffffff44;background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;font-size:20px;transition:.3s}
.hx-nav button:hover{background:var(--gold);color:#24093c;border-color:var(--gold)}
.hx-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.hx-track::-webkit-scrollbar{display:none}
.hx-show{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;position:relative;height:460px;border-radius:24px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.hx-show .ph{position:absolute;inset:0}.hx-show .ph img{transition:transform 1s}.hx-show:hover .ph img{transform:scale(1.08)}
.hx-show:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#14061f 5%,#14061f99 40%,#14061f00 72%)}
.hx-show .st{position:absolute;z-index:2;top:20px;inset-inline-start:20px;background:#ffffff26;border:1px solid #ffffff40;backdrop-filter:blur(8px);font-size:12px;font-weight:600;padding:6px 14px;border-radius:99px}
.hx-show .tx{position:relative;z-index:2;padding:28px}
.hx-show small{font-size:11.5px;font-weight:700;letter-spacing:.14em;color:var(--gold)}
.hx-show h3{color:#fff;font-size:24px;margin:6px 0 8px}.hx-show p{font-size:14.5px;line-height:1.6;color:#e6d9f5}
.hx-note{margin-top:22px;font-size:12.5px;color:#b9a3d0}
.hx-prog-line{height:3px;background:#ffffff22;border-radius:3px;margin-top:26px;overflow:hidden}.hx-prog-line i{display:block;height:100%;width:20%;background:var(--gold);border-radius:3px;transition:width .3s,margin .3s}

/* 7 TEAM */
.hx-team{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.hx-person{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:16px 16px 26px;text-align:center;transition:transform .4s,box-shadow .4s}
.hx-person:hover{transform:translateY(-8px);box-shadow:0 26px 40px -28px #59258e}
.hx-person .ph{height:300px;border-radius:200px 200px 18px 18px;margin-bottom:22px}
.hx-person .ph img{transition:transform .9s}.hx-person:hover .ph img{transform:scale(1.07)}
.hx-person small{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--pur)}
.hx-person h3{font-size:21px;margin:6px 0 8px}.hx-person p{font-size:14px;line-height:1.65;color:var(--mut);padding-inline:8px}
.hx-promise{background:var(--gold);border-radius:26px;padding:34px 28px;display:flex;flex-direction:column;justify-content:space-between;color:#24093c;position:relative;overflow:hidden}
.hx-promise:before{content:"✳";position:absolute;inset-inline-end:-18px;top:-30px;font-size:150px;opacity:.18;animation:hxspin 30s linear infinite}
.hx-promise h3{color:#24093c;font-size:26px;line-height:1.15;position:relative}.hx-promise h3 em{font-size:1.1em}
.hx-promise p{font-size:14.5px;line-height:1.7;margin:16px 0 24px;position:relative}
.hx-promise .btn{align-self:flex-start;background:#27133b;color:#fff;position:relative}

/* 8 VOICES + CTA */
.hx-voices{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:28px}
.hx-voice{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:30px;display:flex;flex-direction:column;position:relative;transition:transform .4s}
.hx-voice:hover{transform:translateY(-6px)}
.hx-voice:before{content:"“";position:absolute;inset-inline-end:26px;top:6px;font-family:'Lobster Two',cursive;font-size:84px;line-height:1;color:var(--gold)}
.hx-voice .stars{color:#f3a912;letter-spacing:3px;font-size:15px}
.hx-voice p{font-size:16px;line-height:1.75;color:var(--ink);margin:16px 0 26px}
.hx-voice .by{display:flex;align-items:center;gap:14px;margin-top:auto}
.hx-voice .by .ph{width:50px;height:50px;border-radius:50%}
.hx-voice .by b{display:block;color:var(--ink);font-size:15px}.hx-voice .by small{font-size:12.5px;color:var(--mut)}
.hx-voice.hi{background:var(--pur);border-color:var(--pur)}.hx-voice.hi p,.hx-voice.hi b{color:#fff}.hx-voice.hi small{color:#e6d9f5}
body.dark .hx-voice.hi{background:#59258e}
.hx-last{position:relative;border-radius:28px;overflow:hidden;color:#fff;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:30px;padding:48px 52px;min-height:260px}
.hx-last .ph{position:absolute;inset:0}.hx-last .ph img{opacity:.5;transition:transform 1.4s}.hx-last:hover .ph img{transform:scale(1.05)}
.hx-last:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#260d3df5 25%,#260d3d55)}
html[dir=rtl] .hx-last:after{background:linear-gradient(270deg,#260d3df5 25%,#260d3d55)}
.hx-last>div{position:relative;z-index:2}
.hx-last h2{color:#fff;font-size:clamp(28px,3.4vw,42px);line-height:1.08}.hx-last h2 em{color:var(--gold);font-size:1.1em}
.hx-last p{color:#e6d9f5;font-size:15.5px;line-height:1.7;margin-top:12px;max-width:470px}
.hx-last .hx-cta{margin:0;justify-content:flex-end}

@media(max-width:980px){
.hx-sec{padding:68px 0}
.hx-hero .wrap,.hx-dash,.hx-plan{grid-template-columns:1fr}
.hx-hero .wrap{gap:44px}
.hx-band .wrap{grid-template-columns:repeat(2,1fr)}.hx-band div.s:nth-child(3){border-inline-start:0;padding-inline-start:0}.hx-band div.s{border-top:1px solid #ffffff1f}.hx-band div.s:nth-child(-n+2){border-top:0}
.hx-ages{grid-template-columns:repeat(2,1fr)}
.hx-steps{grid-template-columns:1fr 1fr}.hx-step:last-child{grid-column:span 2;flex-direction:row}.hx-step:last-child .ph{height:auto;width:42%}.hx-step:last-child .tx{width:58%}
.hx-team{grid-template-columns:repeat(2,1fr)}
.hx-voices{grid-template-columns:1fr 1fr}.hx-voice:last-child{grid-column:span 2}
.hx-show{flex-basis:calc((100% - 24px)/2)}
.hx-last{grid-template-columns:1fr}.hx-last .hx-cta{justify-content:flex-start}
.hx-next{min-height:380px}
}
@media(max-width:700px){
.hx-sec{padding:56px 0}.hx-hero{padding-top:44px}
.hx-head,.hx-head.has-nav{grid-template-columns:1fr;gap:14px;margin-bottom:32px}.hx-nav{display:none}
.hx-coll{grid-template-rows:170px 170px}.hx-chip{inset-inline-start:8px}.hx-stamp{width:76px;height:76px;font-size:9.5px;inset-inline-end:0}
.hx-steps,.hx-ages,.hx-team,.hx-voices{grid-template-columns:1fr}.hx-step:last-child{grid-column:auto;flex-direction:column}.hx-step:last-child .ph{width:100%;height:240px}.hx-step:last-child .tx{width:100%}
.hx-age{height:400px}.hx-voice:last-child{grid-column:auto}
.hx-show{flex-basis:86%;height:420px}
.hx-board{padding:18px;overflow-x:auto}.hx-grid{min-width:560px}
.hx-tiles{grid-template-columns:1fr 1fr 1fr;gap:8px}.hx-tile{padding:12px}.hx-tile b{font-size:24px}
.hx-last{padding:34px 26px}
.hx-band b{font-size:26px}.hx-band div.s{padding:20px 14px;flex-direction:column;gap:4px}
}
@media(prefers-reduced-motion:reduce){.hx-chip,.hx-stamp,.hx-stamp span,.hx-promise:before,.hx-chip i{animation:none!important}.js .hx-ages .hx-age{clip-path:none;transition:none}.js .hx-board .hx-slot{opacity:1;transform:none;transition:none}.hx-bar i{width:var(--w);transition:none}}

.hx-age p{min-height:48px}.hx-show h3{min-height:58px}.hx-show p{min-height:48px}
.hx-sec.hx-cream .hx-step{background:#341650}


/* ===== Merged from dashboard.css ===== */
/* Lil’ Spotlight dashboards — inspired by the reference clinic dashboard's sidebar, topbar, overview cards and responsive workspace. */
.ls-dashboard{--d-ink:#27143d;--d-muted:#786b87;--d-line:#e9e1f1;--d-paper:#fbf9fd;--d-card:#fff;--d-purple:#4b1a8f;--d-purple2:#6c39aa;--d-gold:#ffc83d;--d-shadow:0 14px 38px rgba(51,24,79,.07);margin:0!important;padding:0!important;background:var(--d-paper)!important;color:var(--d-ink);font-family:'Poppins',sans-serif;font-size:13px;line-height:1.55;overflow-x:hidden}
.ls-dashboard *{box-sizing:border-box}.ls-dashboard button,.ls-dashboard input,.ls-dashboard select,.ls-dashboard textarea{font:inherit}.ls-dashboard button{cursor:pointer}.ls-dashboard h1,.ls-dashboard h2,.ls-dashboard h3,.ls-dashboard p{margin:0}.ls-dashboard h1,.ls-dashboard h2,.ls-dashboard h3{color:var(--d-ink);line-height:1.2}.ls-dashboard h2{font-family:'Baloo 2',sans-serif;font-size:clamp(25px,2.3vw,32px);font-weight:800;letter-spacing:-.035em}.ls-dashboard h3{font-size:14px;font-weight:700}.ls-dashboard a{text-decoration:none}.ls-dashboard button:focus-visible,.ls-dashboard a:focus-visible,.ls-dashboard input:focus-visible,.ls-dashboard select:focus-visible,.ls-dashboard textarea:focus-visible{outline:3px solid #ffc83d;outline-offset:3px}
.dash-sidebar{position:fixed;z-index:100;inset:0 auto 0 0;width:252px;background:#2b1047;color:#fff;padding:25px 17px 18px;display:flex;flex-direction:column;overflow-y:auto;box-shadow:8px 0 30px rgba(31,8,53,.06)}.dash-brand{display:flex;align-items:center;gap:10px;padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;min-width:0}.dash-brand img{width:43px;height:43px;object-fit:contain}.dash-brand span{min-width:0}.dash-brand b{display:block;font:italic 700 24px/1 'Baloo 2',sans-serif;white-space:nowrap}.dash-brand small{display:block;color:#ffd55d;font-size:8px;font-weight:700;letter-spacing:.07em;margin-top:4px;white-space:nowrap}.dash-role{display:flex;align-items:center;gap:11px;padding:21px 8px 20px;border-bottom:1px solid rgba(255,255,255,.12)}.role-avatar{width:37px;height:37px;border-radius:13px;display:grid;place-items:center;background:#ffd66b;color:#301348;font-weight:800;font-size:15px}.admin-role{background:#d8c5ff}.dash-role b,.dash-role small{display:block}.dash-role b{font-size:12px;color:#fff}.dash-role small{font-size:10px;color:#c9b7da;margin-top:2px}.dash-nav{display:grid;gap:5px;padding-top:23px}.nav-caption{font-size:9px;font-weight:700;letter-spacing:.15em;color:#a994c0;padding:0 11px 8px}.dash-nav-link{position:relative;display:flex;align-items:center;gap:12px;min-height:43px;padding:0 12px;border:0;border-radius:11px;background:transparent;color:#d8cbe5;text-align:left;font-size:12px;font-weight:500;transition:background .2s,color .2s;width:100%}.dash-nav-link i{width:22px;font-style:normal;font-size:19px;text-align:center;color:#c5a7ed;line-height:1}.dash-nav-link:hover{background:rgba(255,255,255,.08);color:#fff}.dash-nav-link.active{background:#fff;color:#3d185c;font-weight:700;box-shadow:0 8px 18px rgba(0,0,0,.1)}.dash-nav-link.active i{color:#6734a1}.nav-count{margin-left:auto;min-width:21px;height:21px;padding:0 5px;display:grid;place-items:center;background:#4e2b6d;border-radius:7px;color:#fff;font-size:10px}.dash-nav-link.active .nav-count{background:#f3e8ff;color:#4b1a8f}.alert-count{background:#ffca53;color:#3a2052}.sidebar-bottom{margin-top:auto;padding-top:24px}.sidebar-tip{padding:15px 14px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.055)}.sidebar-tip span{font-size:9px;font-weight:800;letter-spacing:.08em;color:#ffd66b}.sidebar-tip p{font:600 13px/1.5 'Baloo 2',sans-serif;color:#fff;margin-top:7px}.dash-logout,.back-site{display:flex;align-items:center;gap:11px;padding:15px 10px 4px;color:#d9cce6;font-size:12px}.dash-logout:hover,.back-site:hover{color:#ffd66b}.back-site{padding-top:12px;font-size:11px;color:#a994c0}
.dash-main{margin-left:252px;min-width:0;min-height:100vh}.dash-topbar{position:sticky;top:0;z-index:60;height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(20px,3vw,42px);background:rgba(255,255,255,.9);border-bottom:1px solid var(--d-line);backdrop-filter:blur(16px)}.topbar-start,.topbar-end{display:flex;align-items:center;gap:13px;min-width:0}.topbar-start small{display:block;color:#9587a3;font-size:9px;font-weight:800;letter-spacing:.13em}.topbar-start h1{font:800 21px/1.25 'Baloo 2',sans-serif;margin-top:2px}.topbar-end{gap:10px}.today-chip{padding:9px 12px;border-radius:999px;background:#f6f0ff;color:#65418c;font-size:10px;font-weight:700;white-space:nowrap}.dash-icon-btn,.dash-notify{position:relative;width:37px;height:37px;flex:0 0 37px;border:1px solid var(--d-line);border-radius:50%;background:#fff;color:#5d4c6f;display:grid;place-items:center;font-size:18px}.dash-icon-btn:hover,.dash-notify:hover{border-color:#bda1df;color:#4b1a8f}.dash-notify b{position:absolute;width:7px;height:7px;border-radius:50%;background:#ffb844;right:7px;top:6px;border:1px solid white}.user-chip{display:flex;align-items:center;gap:9px;margin-left:3px;white-space:nowrap}.user-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f5d8cf;color:#704035;font-weight:800;font-size:11px}.admin-avatar{background:#e3d9ff;color:#4b2b7b}.user-chip b,.user-chip small{display:block}.user-chip b{font-size:11px}.user-chip small{font-size:9px;color:#94869e;margin-top:2px}.user-chevron{color:#9587a3;margin-left:3px}.mobile-dash-toggle{display:none;border:1px solid var(--d-line);background:#fff;border-radius:10px;width:39px;height:39px;color:var(--d-purple);font-size:19px}.dash-content{max-width:1480px;margin:auto;padding:30px clamp(20px,3vw,42px) 20px}.dash-section{scroll-margin-top:98px;margin-bottom:45px}.welcome-row,.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.dash-eyebrow{display:block;font-size:9px;font-weight:800;letter-spacing:.14em;color:#8e72b4;margin-bottom:7px}.welcome-row h2{font-size:clamp(26px,2.5vw,34px)}.welcome-row p,.section-title-row p{font-size:12px;color:var(--d-muted);margin-top:6px}.wave{color:#efb833;font-size:.8em}.dash-primary,.dash-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:41px;padding:0 17px;border:1px solid transparent;border-radius:10px;font-size:11px!important;font-weight:700!important;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}.dash-primary{background:#4b1a8f;color:white;box-shadow:0 7px 17px rgba(75,26,143,.16)}.dash-primary:hover{background:#6127a7;transform:translateY(-2px);box-shadow:0 10px 20px rgba(75,26,143,.22)}.dash-outline{background:#fff;color:#4b1a8f;border-color:#dfd2ed}.dash-outline:hover{border-color:#9e7cc9;background:#faf7ff}.parent-hero,.admin-hero{position:relative;display:grid;grid-template-columns:1.1fr .9fr;min-height:248px;overflow:hidden;border-radius:22px;background:#f0e8ff;border:1px solid #e5d7fa;margin-bottom:20px}.parent-hero-copy,.admin-hero-copy{position:relative;z-index:2;padding:27px 31px}.hero-pill{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.72);color:#65408b;border-radius:999px;padding:6px 10px;font-size:8px;font-weight:800;letter-spacing:.1em}.hero-pill i{width:6px;height:6px;background:#70b99b;border-radius:50%;box-shadow:0 0 0 3px #d6f1e5}.parent-hero h2,.admin-hero h2{font:800 clamp(29px,3vw,41px)/1.03 'Baloo 2',sans-serif;letter-spacing:-.04em;margin:14px 0 8px;color:#32154c}.parent-hero h2 em,.admin-hero h2 em{font-style:normal;color:#6b35a1}.parent-hero-copy>p,.admin-hero-copy>p{max-width:385px;color:#78658d;font-size:11px;line-height:1.8}.hero-link{display:inline-flex;align-items:center;gap:15px;border:0;background:transparent;color:#4b1a8f;font-weight:800;font-size:11px;margin-top:15px;padding:0}.hero-link span{font-size:18px;transition:transform .2s}.hero-link:hover span{transform:translateX(4px)}.hero-stars{margin-top:15px;color:#b19ad3;letter-spacing:.16em;font-size:11px}.hero-art,.admin-hero-art{position:relative;min-height:245px;overflow:hidden;background:#d7c1f4}.art-sun{position:absolute;width:175px;height:175px;border-radius:50%;background:#ffd35d;right:18%;top:23px;box-shadow:0 0 0 18px rgba(255,255,255,.14)}.art-curtain{position:absolute;top:0;bottom:0;width:24%;background:repeating-linear-gradient(90deg,#59228a 0 17px,#7135a0 18px 35px);z-index:2;box-shadow:0 5px 20px #6d4696}.curtain-left{left:0;border-radius:0 0 42% 0}.curtain-right{right:0;border-radius:0 0 0 42%}.art-stage{position:absolute;z-index:3;bottom:0;left:23%;right:23%;height:68%;border-radius:50% 50% 0 0;background:linear-gradient(160deg,#fff5d8,#ffd56a);border:5px solid rgba(255,255,255,.65);border-bottom:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#4b1a8f;text-align:center;box-shadow:0 -7px 25px #a17acb}.art-stage span{font-size:22px;color:#bd8420}.art-stage b{font:800 22px/.94 'Baloo 2',sans-serif;letter-spacing:.03em}.art-spark{position:absolute;z-index:4;color:#fff;font-size:28px}.spark-one{top:25px;left:27%}.spark-two{top:42%;right:18%;font-size:36px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.dash-stat{min-width:0;display:flex;align-items:flex-start;gap:11px;padding:17px 15px;border:1px solid var(--d-line);border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(51,24,79,.025)}.stat-icon{width:36px;height:36px;flex:0 0 36px;border-radius:12px;display:grid;place-items:center;font-size:19px}.lilac{background:#f0e7ff;color:#7045a5}.peach{background:#fff0e8;color:#c07852}.mint{background:#e5f7ef;color:#378e6e}.butter{background:#fff5cf;color:#9c7a1d}.dash-stat>div{min-width:0;flex:1}.dash-stat>div>span{display:block;font-size:10px;color:#867a92;white-space:normal}.dash-stat strong{display:block;font:800 26px/1.25 'Baloo 2',sans-serif;color:#2e1745;margin:3px 0}.dash-stat strong small{display:inline;font-size:11px}.dash-stat>div>small{display:block;font-size:9px;color:#9a8da4;line-height:1.4}.stat-trend{margin-left:auto;color:#9b79c3;font-size:14px;font-weight:800}.section-title-row{align-items:flex-end}.section-title-row h2{font-size:27px}.title-spark{color:#e7b32f;font-size:16px}.child-card{display:flex;align-items:center;gap:20px;padding:20px;border:1px solid var(--d-line);background:#fff;border-radius:17px;box-shadow:var(--d-shadow)}.child-avatar{position:relative;width:76px;height:76px;flex:0 0 76px;border-radius:23px;background:linear-gradient(145deg,#e6d7ff,#bba0e8);display:grid;place-items:center;color:#fff;font:800 26px 'Baloo 2',sans-serif}.child-avatar:before{content:'☺';font-size:43px;color:#fff;opacity:.85}.child-avatar span{position:absolute;right:-5px;top:-7px;background:#ffd45d;color:#76521a;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:12px}.child-info{flex:1;min-width:0}.mini-label{font-size:8px;letter-spacing:.12em;color:#997bb8;font-weight:800}.child-info h3{font:800 19px 'Baloo 2',sans-serif;margin:4px 0}.age-pill{display:inline-block;vertical-align:middle;margin-left:5px;padding:3px 8px;border-radius:999px;background:#f5effc;color:#77509d;font:600 9px 'Poppins',sans-serif}.child-info p{font-size:11px;color:#8c7d99}.progress-line{height:6px;border-radius:999px;background:#eee7f5;max-width:370px;margin:12px 0 5px;overflow:hidden}.progress-line span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8e65c3,#d4b9ff)}.child-info>small{display:block;font-size:9px;color:#9587a1}.child-info>small b{color:#6b3d9b;margin-left:6px}.child-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:15px}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:7px;font-size:9px;font-weight:700;white-space:nowrap}.status-active{background:#e5f7ed;color:#33835f}.status-draft{background:#f1edf5;color:#81718f}.status-pending{background:#fff2d7;color:#9a6a13}.text-action,.table-action{border:0;background:transparent;color:#6a3ca0;font-size:10px;font-weight:800;padding:5px 0;white-space:nowrap}.text-action:hover,.table-action:hover{text-decoration:underline}.workshop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.workshop-card{overflow:hidden;border:1px solid var(--d-line);border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(51,24,79,.035)}.workshop-art{height:142px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.art-drama{background:linear-gradient(135deg,#e8d8ff,#c8acee)}.art-musical{background:linear-gradient(135deg,#ffe1c9,#ffbf9d)}.workshop-tag{position:absolute;top:12px;left:12px;padding:5px 8px;border-radius:6px;background:rgba(255,255,255,.75);color:#573376;font-size:8px;font-weight:800;letter-spacing:.06em}.big-art-icon{position:absolute;right:15%;top:17px;font-size:59px;filter:drop-shadow(0 7px 4px rgba(61,27,90,.1));transform:rotate(7deg)}.art-caption{position:absolute;left:18px;bottom:10px;color:#5c3581;font:800 24px/.9 'Baloo 2',sans-serif;letter-spacing:-.03em}.workshop-body{padding:15px}.card-meta{display:flex;justify-content:space-between;gap:5px;color:#8e7ba2;font-size:8px;font-weight:800;letter-spacing:.04em}.card-meta span:last-child{color:#37845e}.workshop-body h3{font:800 17px 'Baloo 2',sans-serif;margin:9px 0 5px}.workshop-body p{min-height:48px;color:#84768f;font-size:10px;line-height:1.7}.workshop-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #f0eaf5;padding-top:11px;margin-top:10px;color:#7f718c;font-size:9px}.workshop-footer button{width:28px;height:28px;border:0;border-radius:9px;background:#f4edfb;color:#6b3b9e;font-weight:800}.workshop-add{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:24px;background:linear-gradient(145deg,#fff,#faf5ff);border-style:dashed}.add-circle{width:39px;height:39px;display:grid;place-items:center;border-radius:13px;background:#eee3fb;color:#6a3ca0;font-size:22px}.workshop-add h3{font:800 19px 'Baloo 2',sans-serif;margin:13px 0 5px}.workshop-add p{font-size:10px;color:#897b95;line-height:1.7;margin-bottom:15px}.schedule-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.75fr);gap:15px}.schedule-list{display:grid;gap:10px}.schedule-item{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--d-line);border-radius:14px;background:#fff}.date-tile{width:48px;height:55px;flex:0 0 48px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:11px;background:#eee4ff;color:#6a3c9c}.date-tile b{font:800 22px/1.1 'Baloo 2',sans-serif}.date-tile span{font-size:8px;font-weight:800;letter-spacing:.1em}.date-peach{background:#fff0e6;color:#b96c43}.date-mint{background:#e3f6ec;color:#388363}.schedule-details{flex:1;min-width:0}.event-type{display:inline-block;font-size:8px;font-weight:800;letter-spacing:.08em}.rehearsal{color:#8157ae}.class-type{color:#bd754b}.performance{color:#378665}.schedule-details h3{margin:4px 0;font-size:12px}.schedule-details p{font-size:9px;color:#93869c;line-height:1.5}.schedule-time{text-align:right;white-space:nowrap}.schedule-time b,.schedule-time span{display:block}.schedule-time b{font-size:11px}.schedule-time span{font-size:9px;color:#a092aa;margin-top:3px}.schedule-note{padding:20px;border-radius:15px;background:#2f1548;color:#fff;display:flex;flex-direction:column;align-items:flex-start}.note-icon{width:35px;height:35px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center;color:#ffd45d;font-size:20px;margin-bottom:15px}.schedule-note .dash-eyebrow{color:#e4c8ff}.schedule-note h3{font:800 20px 'Baloo 2',sans-serif;color:#fff;margin:3px 0 7px}.schedule-note p{font-size:10px;color:#d5c4e4;margin-bottom:15px}.schedule-note label{display:flex;align-items:center;gap:8px;font-size:10px;color:#f2eaf9;margin:6px 0}.schedule-note input{accent-color:#ffc83d}.schedule-note>small{font-size:8px;color:#b7a2cb;margin-top:10px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.memory-card{position:relative;min-height:165px;overflow:hidden;border:0;border-radius:15px;padding:16px;text-align:left;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;background:linear-gradient(0deg,rgba(39,14,61,.8),transparent 75%),radial-gradient(circle at 70% 25%,#ffd87c 0 10%,transparent 11%),linear-gradient(135deg,#b18bdb,#6b3999);transition:transform .25s,box-shadow .25s}.memory-card:hover{transform:translateY(-4px);box-shadow:0 13px 25px rgba(51,24,79,.16)}.memory-card>span{position:absolute;top:14px;right:16px;font-size:22px;color:#ffe08a}.memory-card b{font:800 17px 'Baloo 2',sans-serif;position:relative}.memory-card small{position:relative;font-size:9px;color:#f0e6f7;margin-top:3px}.memory-two{background:linear-gradient(0deg,rgba(39,14,61,.8),transparent 75%),radial-gradient(circle at 65% 30%,#fff0a8 0 10%,transparent 11%),linear-gradient(135deg,#f2b7a3,#a64c76)}.memory-three{background:linear-gradient(0deg,rgba(39,14,61,.8),transparent 75%),radial-gradient(circle at 65% 25%,#fff0a8 0 10%,transparent 11%),linear-gradient(135deg,#8ccbb7,#367d84)}.memory-four{background:linear-gradient(0deg,rgba(39,14,61,.8),transparent 75%),radial-gradient(circle at 65% 25%,#fff0a8 0 10%,transparent 11%),linear-gradient(135deg,#efc56b,#9e5d33)}.updates-card{background:#fff;border:1px solid var(--d-line);border-radius:15px;padding:0 18px}.update-item{display:flex;align-items:center;gap:13px;padding:16px 0;border-bottom:1px solid #f0eaf5}.update-item:last-child{border-bottom:0}.update-icon{width:37px;height:37px;flex:0 0 37px;display:grid;place-items:center;border-radius:12px;font-size:17px}.update-purple{background:#f0e7ff;color:#7445a5}.update-yellow{background:#fff3d0;color:#9c7a1d}.update-green{background:#e4f7ed;color:#378565}.update-item>div{flex:1;min-width:0}.update-date{display:block;font-size:8px;font-weight:800;letter-spacing:.08em;color:#a092ae}.update-item h3{font-size:12px;margin:4px 0}.update-item p{font-size:10px;color:#877990;line-height:1.6}.new-dot{width:7px;height:7px;border-radius:50%;background:#a06ed3}.unread-badge{display:inline-flex;padding:6px 9px;background:#fff2d4;color:#996b1a;border-radius:8px;font-size:9px;font-weight:800;white-space:nowrap}.dash-footer{border-top:1px solid var(--d-line);padding:18px 0 5px;display:flex;justify-content:space-between;gap:12px;color:#9b8da5;font-size:10px}.dash-footer a{color:#6b3b9e;font-weight:700}.dash-footer a:hover{text-decoration:underline}
/* Admin-only pieces */.admin-hero{background:#f4edff;border-color:#e6daf7;grid-template-columns:1fr .75fr}.admin-hero-copy{padding:27px 31px}.admin-hero h2{font-size:clamp(29px,3vw,40px)}.admin-hero-actions{display:flex;align-items:center;gap:25px;margin-top:12px}.admin-hero-actions .hero-link{margin-top:0}.hero-mini-stat{border-left:1px solid #d7c5ed;padding-left:16px}.hero-mini-stat b,.hero-mini-stat small{display:block}.hero-mini-stat b{font:800 19px 'Baloo 2',sans-serif;color:#4b1a8f}.hero-mini-stat small{font-size:8px;color:#8c7aa0}.admin-hero-art{background:linear-gradient(145deg,#dfd0f6,#c0a1e8)}.admin-stage-circle{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.55)}.circle-a{width:220px;height:220px;right:10%;top:12px;box-shadow:0 0 0 16px rgba(255,255,255,.12),0 0 0 33px rgba(255,255,255,.09)}.circle-b{width:145px;height:145px;right:21%;top:50px;background:#ffd35d;box-shadow:0 12px 30px rgba(89,46,134,.15)}.admin-stage-card{position:absolute;z-index:2;right:20%;top:64px;width:132px;height:128px;background:#fffaf0;border:5px solid rgba(255,255,255,.6);border-radius:18px;box-shadow:0 15px 35px rgba(60,29,95,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#4b1a8f;transform:rotate(5deg)}.admin-stage-card span{font-size:7px;font-weight:800;letter-spacing:.1em}.admin-stage-card b{font:800 48px/.95 'Baloo 2',sans-serif}.admin-stage-card small{font-size:8px}.admin-stage-card i{font-style:normal;font-size:6px;font-weight:800;letter-spacing:.1em;margin-top:7px}.admin-star{position:absolute;color:#fff;font-size:25px;z-index:3}.star-a{top:22px;left:18%}.star-b{right:9%;top:42%;font-size:35px}.star-c{left:35%;bottom:20px}.admin-toolbar{display:flex;gap:10px;margin-bottom:12px}.search-box{display:flex;align-items:center;gap:8px;flex:1;max-width:350px;height:40px;padding:0 12px;border:1px solid var(--d-line);border-radius:10px;background:#fff;color:#987fab}.search-box span{font-size:20px}.search-box input{border:0;outline:none;min-width:0;width:100%;color:var(--d-ink);font-size:11px!important;background:transparent}.admin-toolbar select,.standalone-select{height:40px;padding:0 12px;border:1px solid var(--d-line);border-radius:10px;background:#fff;color:#786b87;font-size:10px!important}.table-wrap{overflow-x:auto;border:1px solid var(--d-line);border-radius:15px;background:#fff;box-shadow:0 5px 20px rgba(51,24,79,.025)}.dash-table{border-collapse:collapse;width:100%;min-width:700px;text-align:left}.dash-table th{padding:13px 15px;background:#faf7fd;border-bottom:1px solid var(--d-line);font-size:8px;letter-spacing:.1em;color:#9786a5;font-weight:800;white-space:nowrap}.dash-table td{padding:14px 15px;border-bottom:1px solid #f1ebf6;font-size:10px;color:#82758e;white-space:nowrap}.dash-table tbody tr:last-child td{border-bottom:0}.dash-table tbody tr:hover{background:#fdfbff}.dash-table td b{color:#3c2452}.table-main{display:flex;align-items:center;gap:10px;min-width:180px}.table-main>span:last-child{display:block}.table-main b,.table-main small{display:block}.table-main b{font-size:10px;color:#39214f}.table-main small,.cell-sub{font-size:9px;color:#a092ad;margin-top:3px}.table-icon,.person-avatar{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:11px;font-size:16px}.table-lilac,.avatar-lilac{background:#f0e6ff;color:#7045a5}.table-peach,.avatar-peach{background:#fff0e7;color:#b96e4a}.table-mint,.avatar-mint{background:#e3f7ed;color:#378365}.table-yellow,.avatar-yellow{background:#fff4ce;color:#99781e}.person-avatar{border-radius:50%;font-size:10px;font-weight:800}.empty-state{padding:25px;text-align:center;color:#9587a3;font-size:11px}.requests-list{display:grid;gap:10px}.request-row{display:flex;align-items:center;gap:13px;padding:14px 16px;background:#fff;border:1px solid var(--d-line);border-radius:14px}.request-person{flex:1;min-width:0}.request-person b,.request-person small,.request-date{display:block}.request-person b{font-size:12px}.request-person small{font-size:10px;color:#8c7d99;margin-top:3px}.request-date{font-size:8px;color:#a093ad;margin-top:4px}.request-actions{display:flex;gap:6px}.approve-btn,.decline-btn{border:1px solid transparent;border-radius:8px;padding:8px 10px;font-size:9px!important;font-weight:800!important}.approve-btn{background:#e5f7ed;color:#33835f}.decline-btn{background:#fff0ed;color:#b45c4e}.approve-btn:hover{background:#c9efdb}.decline-btn:hover{background:#ffe0da}.admin-schedule-list .schedule-item{gap:12px}.admin-schedule-list .table-action{margin-left:auto}.admin-gallery-grid .memory-card{min-height:155px}.announcement-form{display:grid;gap:13px;padding:18px;background:#fff;border:1px solid var(--d-line);border-radius:15px;margin-bottom:15px}.announcement-form label,.modal-panel label{display:grid;gap:6px;font-size:10px;font-weight:700;color:#6c5b7c}.announcement-form input,.announcement-form textarea,.announcement-form select,.modal-panel input,.modal-panel textarea,.modal-panel select{width:100%;min-width:0;border:1px solid #e5dbea;border-radius:9px;padding:11px 12px;background:#fff;color:#39234e;font-size:11px!important;outline:none}.announcement-form input:focus,.announcement-form textarea:focus,.announcement-form select:focus,.modal-panel input:focus,.modal-panel textarea:focus,.modal-panel select:focus{border-color:#9d7bc6;box-shadow:0 0 0 3px #f0e6fc}.announcement-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.recipient-select{max-width:230px;width:100%}.dash-overlay{display:none}.dash-modal{position:fixed;z-index:200;inset:0;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(28,9,45,.55);backdrop-filter:blur(5px)}.dash-modal.open{display:flex;animation:modalFade .2s ease}.modal-panel{position:relative;width:min(100%,475px);max-height:calc(100dvh - 40px);overflow:auto;padding:28px;border-radius:20px;background:#fff;box-shadow:0 25px 80px rgba(20,5,34,.3);animation:modalUp .25s ease}.modal-close{position:absolute;right:16px;top:13px;width:32px;height:32px;border:0;border-radius:50%;background:#f4eef9;color:#65418c;font-size:24px;line-height:1}.modal-panel h2{font-size:28px;margin-bottom:7px}.modal-panel>p{font-size:11px;color:#8c7d99;margin-bottom:20px}.modal-panel form{display:grid;gap:14px}.modal-panel .dash-primary{margin-top:3px;width:100%}.form-footnote{font-size:9px;color:#a092ad;text-align:center}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-toast{position:fixed;z-index:300;right:22px;bottom:22px;max-width:min(380px,calc(100vw - 36px));padding:13px 17px;background:#2d1445;color:#fff;border-radius:12px;box-shadow:0 12px 35px rgba(25,5,42,.25);font-size:11px;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .25s,transform .25s}.dash-toast.show{opacity:1;transform:translateY(0)}.ls-dashboard.dark-dashboard{--d-ink:#f3eafb;--d-muted:#c0b1d0;--d-line:#49305e;--d-paper:#1b0c2a;--d-card:#29163b;background:var(--d-paper)!important;color:var(--d-ink)}.dark-dashboard .dash-topbar,.dark-dashboard .dash-stat,.dark-dashboard .child-card,.dark-dashboard .workshop-card,.dark-dashboard .schedule-item,.dark-dashboard .updates-card,.dark-dashboard .table-wrap,.dark-dashboard .request-row,.dark-dashboard .announcement-form,.dark-dashboard .dash-outline,.dark-dashboard .search-box,.dark-dashboard .admin-toolbar select,.dark-dashboard .standalone-select{background:#28153a;border-color:#49305e;color:#e8d9f5}.dark-dashboard h1,.dark-dashboard h2,.dark-dashboard h3,.dark-dashboard .dash-stat strong,.dark-dashboard .table-main b{color:#f3eafb}.dark-dashboard .dash-table th{background:#311b45;border-color:#49305e;color:#c5afd8}.dark-dashboard .dash-table td,.dark-dashboard .update-item,.dark-dashboard .workshop-footer{border-color:#49305e;color:#c3b1d2}.dark-dashboard .dash-table tbody tr:hover{background:#321c47}.dark-dashboard .dash-stat>div>span,.dark-dashboard .dash-stat>div>small,.dark-dashboard .child-info p,.dark-dashboard .section-title-row p,.dark-dashboard .welcome-row p,.dark-dashboard .workshop-body p,.dark-dashboard .schedule-details p,.dark-dashboard .update-item p{color:#bba8cc}.dark-dashboard .today-chip{background:#38214f;color:#e1c8ff}.dark-dashboard .dash-icon-btn,.dark-dashboard .dash-notify{background:#2b1840;border-color:#49305e;color:#e8d9f5}.dark-dashboard .dash-footer{border-color:#49305e}.dark-dashboard .search-box input{color:#f3eafb}.dark-dashboard .announcement-form input,.dark-dashboard .announcement-form textarea,.dark-dashboard .announcement-form select,.dark-dashboard .modal-panel input,.dark-dashboard .modal-panel textarea,.dark-dashboard .modal-panel select{background:#211132;color:#f3eafb;border-color:#49305e}
@keyframes modalFade{from{opacity:0}to{opacity:1}}@keyframes modalUp{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1200px){.dash-sidebar{width:225px}.dash-main{margin-left:225px}.dash-content{padding-inline:22px}.dash-topbar{padding-inline:22px}.today-chip{display:none}.stat-grid{gap:9px}.dash-stat{padding:14px 11px;gap:8px}.stat-icon{width:32px;height:32px;flex-basis:32px}.workshop-grid{gap:10px}.workshop-body{padding:12px}.gallery-grid{gap:10px}.memory-card{min-height:145px;padding:12px}.memory-card b{font-size:15px}}
@media(max-width:980px){.dash-sidebar{transform:translateX(-105%);transition:transform .28s ease;width:270px;box-shadow:15px 0 45px rgba(22,5,37,.2)}.dash-sidebar.open{transform:translateX(0)}.dash-main{margin-left:0}.mobile-dash-toggle{display:grid;place-items:center}.dash-overlay.show{display:block;position:fixed;z-index:90;inset:0;background:rgba(28,9,45,.42);backdrop-filter:blur(2px)}.dash-topbar{height:72px}.parent-hero,.admin-hero{grid-template-columns:1.1fr .9fr}.hero-art,.admin-hero-art{min-height:240px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-add{min-height:230px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-card{min-height:160px}.schedule-layout{grid-template-columns:minmax(0,1.4fr) minmax(200px,.8fr)}}
@media(max-width:680px){.dash-content{padding:22px 15px 16px}.dash-topbar{padding:0 14px;gap:8px}.topbar-start{gap:9px}.topbar-start h1{font-size:18px}.topbar-start small{font-size:8px}.topbar-end{gap:6px}.user-chip{gap:0}.user-chip>span:not(.user-avatar):not(.user-chevron){display:none}.user-avatar{width:33px;height:33px}.user-chevron{display:none}.dash-icon-btn,.dash-notify{width:33px;height:33px;flex-basis:33px;font-size:16px}.welcome-row,.section-title-row{align-items:flex-start;flex-wrap:wrap;gap:12px}.welcome-row h2{font-size:26px}.welcome-row p,.section-title-row p{max-width:100%;font-size:11px}.welcome-row>.dash-primary,.section-title-row>.dash-primary,.section-title-row>.dash-outline{margin-left:auto}.parent-hero,.admin-hero{grid-template-columns:1fr}.parent-hero-copy,.admin-hero-copy{padding:23px 21px 16px}.parent-hero h2,.admin-hero h2{font-size:34px}.hero-art,.admin-hero-art{min-height:180px}.art-sun{width:145px;height:145px;top:14px}.art-stage{height:73%;left:25%;right:25%}.art-stage b{font-size:18px}.hero-stars{margin-top:11px}.stat-grid{gap:9px}.dash-stat{padding:12px 10px;border-radius:12px;gap:8px}.stat-icon{width:30px;height:30px;flex-basis:30px;border-radius:10px;font-size:16px}.dash-stat>div>span{font-size:9px}.dash-stat strong{font-size:23px}.dash-stat>div>small{font-size:8px}.stat-trend{display:none}.child-card{align-items:flex-start;gap:12px;padding:14px;flex-wrap:wrap}.child-avatar{width:58px;height:58px;flex-basis:58px;border-radius:18px}.child-avatar:before{font-size:34px}.child-info{width:calc(100% - 75px);flex:auto}.child-info h3{font-size:17px}.child-card-actions{width:100%;padding-left:70px;align-items:flex-start;flex-direction:row;justify-content:space-between;gap:8px}.workshop-grid{grid-template-columns:1fr}.workshop-art{height:150px}.workshop-add{min-height:190px}.schedule-layout{grid-template-columns:1fr}.schedule-item{gap:10px;padding:11px}.date-tile{width:43px;height:50px;flex-basis:43px}.schedule-details h3{font-size:11px}.schedule-details p{font-size:9px}.schedule-time b{font-size:10px}.schedule-time span{font-size:8px}.schedule-note{padding:17px}.gallery-grid{gap:9px}.memory-card{min-height:145px;padding:11px}.memory-card b{font-size:14px}.memory-card small{font-size:8px}.section-title-row h2{font-size:25px}.section-title-row{margin-bottom:16px}.dash-section{margin-bottom:35px}.update-item{gap:9px}.update-item p{font-size:9px}.update-icon{width:32px;height:32px;flex-basis:32px}.dash-footer{flex-direction:column;gap:6px}.admin-hero-art{min-height:190px}.admin-stage-card{top:30px;right:30%;transform:scale(.88) rotate(5deg)}.admin-hero-actions{gap:15px}.admin-hero-actions .hero-link{font-size:10px}.admin-toolbar{flex-wrap:wrap}.search-box{max-width:none;flex-basis:100%}.admin-toolbar select{flex:1}.request-row{flex-wrap:wrap;gap:9px;padding:12px}.request-person{width:calc(100% - 50px);flex:1}.request-row>.status-pill{margin-left:44px}.request-actions{margin-left:auto}.admin-schedule-list .schedule-item{flex-wrap:wrap}.admin-schedule-list .table-action{margin-left:0}.announcement-bottom{align-items:stretch;flex-direction:column}.recipient-select{max-width:none}.form-two{grid-template-columns:1fr}.modal-panel{padding:24px 19px}.unread-badge{margin-left:auto}.dash-toast{right:12px;bottom:12px}.standalone-select{max-width:100%}}
@media(max-width:360px){.dash-content{padding-inline:11px}.topbar-start small{display:none}.topbar-start h1{font-size:17px}.topbar-end{gap:4px}.dash-icon-btn{display:none}.welcome-row>.dash-primary,.section-title-row>.dash-primary,.section-title-row>.dash-outline{min-height:38px;padding-inline:11px;font-size:10px!important}.stat-grid{gap:7px}.dash-stat{padding:10px 8px}.stat-icon{display:none}.dash-stat strong{font-size:21px}.schedule-time{white-space:normal}.schedule-item{gap:8px}.date-tile{width:39px;flex-basis:39px}.schedule-details{min-width:100px}.child-card-actions{padding-left:0}.gallery-grid{grid-template-columns:1fr 1fr}.memory-card{min-height:130px}.memory-card b{font-size:13px}.admin-hero-actions{flex-wrap:wrap}.admin-stage-card{right:23%}}


/* Dashboard polish: persistent navigation, real photography, and RTL support */
.dash-sidebar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent;overscroll-behavior:contain}
.dash-brand{position:sticky;top:-25px;z-index:8;flex:0 0 auto;padding-top:25px;margin-top:-25px;background:#2b1047;box-shadow:0 12px 0 #2b1047}
.sidebar-bottom{position:sticky;bottom:-18px;z-index:7;flex:0 0 auto;margin-top:auto;padding:18px 0 18px;background:#2b1047;box-shadow:0 12px 0 12px #2b1047}
.dash-logout{min-height:42px;margin-top:8px;padding:12px 13px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-weight:700}
.dash-logout:hover{background:rgba(255,214,107,.14);border-color:rgba(255,214,107,.45)}
.dash-topbar{position:sticky;position:-webkit-sticky;top:0;z-index:120;isolation:isolate;box-shadow:0 5px 20px rgba(38,14,58,.035)}
.dash-topbar:before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.96)}
.dark-dashboard .dash-topbar:before{background:rgba(40,21,58,.97)}
.dash-topbar>*{position:relative}
.rtl-toggle{font-size:13px;font-weight:800}
/* Photography uses image assets served by Unsplash; gradients preserve legibility. */
.parent-hero .hero-art{background:linear-gradient(90deg,rgba(45,16,69,.05),rgba(45,16,69,.12)),url('../images/spotlight-journey-real.jpg') center 42%/cover no-repeat}
.parent-hero .hero-art:after,.admin-hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(50,21,76,.08),rgba(50,21,76,.28));z-index:1;pointer-events:none}
.parent-hero .hero-art>*{z-index:2}
.parent-hero .art-sun,.parent-hero .art-curtain,.parent-hero .art-stage,.parent-hero .art-spark{display:none}
.admin-hero-art{background:linear-gradient(90deg,rgba(45,16,69,.12),rgba(45,16,69,.24)),url('../images/Storybook%20Village%20Musical%20Performance.png') center 40%/cover no-repeat}
.admin-hero-art>*{z-index:2}
.admin-stage-circle,.admin-stage-card,.admin-star{display:none}
.workshop-art.art-drama{background:linear-gradient(0deg,rgba(44,17,66,.38),rgba(44,17,66,.03)),url('../images/downloadedImage%20(2).png') center 45%/cover no-repeat}
.workshop-art.art-musical{background:linear-gradient(0deg,rgba(84,37,42,.36),rgba(84,37,42,.02)),url('../images/image.png') center 45%/cover no-repeat}
.workshop-art .art-caption{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.28)}
.workshop-art .big-art-icon{display:none}
.memory-one{background-image:linear-gradient(0deg,rgba(39,14,61,.84),transparent 78%),url('../images/downloadedImage%20(9).png')!important;background-position:center!important;background-size:cover!important}
.memory-two{background-image:linear-gradient(0deg,rgba(39,14,61,.84),transparent 78%),url('../images/Drama%20Workshop%20Circle%20of%20Smiles.png')!important;background-position:center!important;background-size:cover!important}
.memory-three{background-image:linear-gradient(0deg,rgba(39,14,61,.84),transparent 78%),url('../images/downloadedImage.png')!important;background-position:center!important;background-size:cover!important}
.memory-four{background-image:linear-gradient(0deg,rgba(39,14,61,.84),transparent 78%),url('../images/downloadedImage%20(4).png')!important;background-position:center!important;background-size:cover!important}
/* RTL toggle is available in the header on desktop and mobile. */
html[dir="rtl"] .dash-sidebar{inset:0 0 0 auto;box-shadow:-8px 0 30px rgba(31,8,53,.06)}
html[dir="rtl"] .dash-main{margin-left:0;margin-right:252px}
html[dir="rtl"] .dash-nav-link{text-align:right;flex-direction:row-reverse}
html[dir="rtl"] .nav-count{margin-left:0;margin-right:auto}
html[dir="rtl"] .dash-brand,html[dir="rtl"] .dash-role{flex-direction:row-reverse;text-align:right}
html[dir="rtl"] .sidebar-tip{text-align:right}
html[dir="rtl"] .dash-logout,html[dir="rtl"] .back-site{flex-direction:row-reverse;justify-content:flex-start}
html[dir="rtl"] .dash-topbar,html[dir="rtl"] .topbar-start,html[dir="rtl"] .topbar-end{direction:rtl}
html[dir="rtl"] .user-chip{margin-left:0;margin-right:3px}
html[dir="rtl"] .dash-stat{flex-direction:row-reverse;text-align:right}
html[dir="rtl"] .stat-trend{margin-left:0;margin-right:auto}
html[dir="rtl"] .section-title-row,html[dir="rtl"] .welcome-row{flex-direction:row-reverse}
html[dir="rtl"] .child-card,html[dir="rtl"] .schedule-item,html[dir="rtl"] .request-row,html[dir="rtl"] .update-item{direction:rtl}
html[dir="rtl"] .workshop-tag{left:auto;right:12px}
html[dir="rtl"] .art-caption{left:auto;right:18px;text-align:right}
html[dir="rtl"] .dash-toast{right:auto;left:22px}
@media(max-width:1200px){html[dir="rtl"] .dash-main{margin-right:225px}}
@media(max-width:980px){html[dir="rtl"] .dash-sidebar{transform:translateX(105%);width:270px}html[dir="rtl"] .dash-sidebar.open{transform:translateX(0)}html[dir="rtl"] .dash-main{margin-right:0}}
@media(max-width:680px){.dash-brand{top:-25px}.sidebar-bottom{bottom:-18px}html[dir="rtl"] .dash-topbar{padding:0 14px}html[dir="rtl"] .dash-toast{left:12px;right:auto}}


/* Header/sidebar polish pass */
.dash-main{overflow:visible;min-height:100vh}
.dash-topbar{position:-webkit-sticky!important;position:sticky!important;top:0!important;z-index:500!important;isolation:isolate;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(18px);box-shadow:0 6px 22px rgba(38,14,58,.07)}
.dark-dashboard .dash-topbar{background:rgba(40,21,58,.98)!important}
.dash-sidebar{position:fixed!important;top:0!important;bottom:0!important;height:100dvh;overflow-y:auto;overscroll-behavior:contain}
.sidebar-tip{display:none!important}
.sidebar-bottom{margin-top:auto!important;padding-top:18px!important}
.dash-logout{display:flex;align-items:center;gap:10px;margin-top:10px;padding:12px 13px!important;min-height:43px;border:1px solid rgba(255,255,255,.13);border-radius:11px;background:rgba(255,255,255,.075);color:#fff!important;font-weight:700;transition:background .2s,border-color .2s}
.dash-logout:hover{background:rgba(255,214,107,.14);border-color:rgba(255,214,107,.5);color:#ffd66b!important}
.logout-icon{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.user-chip{display:flex;align-items:center;gap:9px;padding:5px 9px 5px 5px;border:1px solid var(--d-line);border-radius:999px;background:rgba(255,255,255,.78);cursor:default}
.profile-photo{object-fit:cover!important;overflow:hidden;border:2px solid #fff;box-shadow:0 0 0 1px #e5d8f1}
.user-details{display:block!important}
.user-details b{font-size:11px;line-height:1.2}
.user-chevron{display:inline-block!important;font-size:16px;line-height:1;margin-left:2px}
@media(max-width:680px){.user-chip{padding:3px;border:0;background:transparent;gap:0}.user-details{display:none!important}.user-chevron{display:none!important}.profile-photo{width:34px;height:34px;flex:0 0 34px}}


/* Final visibility, typography and reliable fixed-header correction */
.ls-dashboard{font-size:14px!important;line-height:1.6!important;color:#27143d!important}
.ls-dashboard .dash-brand{position:sticky!important;top:0!important;z-index:20!important;flex-shrink:0!important;min-height:78px!important;padding:12px 8px 18px!important;margin:0!important;background:#2b1047!important;box-shadow:0 12px 0 #2b1047!important}
.ls-dashboard .dash-brand img{width:46px!important;height:46px!important;flex:0 0 46px!important}
.ls-dashboard .dash-brand span{display:block!important;visibility:visible!important;opacity:1!important;min-width:0!important;flex:1!important;overflow:visible!important}
.ls-dashboard .dash-brand b{display:block!important;visibility:visible!important;opacity:1!important;color:#fff!important;font-family:'Baloo 2',sans-serif!important;font-size:25px!important;font-style:normal!important;font-weight:800!important;line-height:1.12!important;letter-spacing:-.02em!important;white-space:nowrap!important}
.ls-dashboard .dash-brand small{display:block!important;visibility:visible!important;opacity:1!important;color:#ffd55d!important;font-size:10px!important;font-weight:700!important;line-height:1.35!important;letter-spacing:.045em!important;white-space:normal!important}
.ls-dashboard .dash-topbar{position:fixed!important;top:0!important;left:252px!important;right:0!important;width:auto!important;height:78px!important;min-height:78px!important;z-index:1000!important;isolation:isolate!important;background:#fff!important;border-bottom:1px solid #e9e1f1!important;box-shadow:0 6px 22px rgba(38,14,58,.09)!important;backdrop-filter:blur(18px)!important}
.ls-dashboard .dash-main{padding-top:78px!important;overflow:visible!important}
.ls-dashboard .topbar-start small{font-size:11px!important;font-weight:800!important;line-height:1.4!important;color:#786b87!important;letter-spacing:.1em!important}
.ls-dashboard .topbar-start h1{font-size:24px!important;font-weight:800!important;line-height:1.2!important;color:#27143d!important}
.ls-dashboard .today-chip{font-size:12px!important;color:#4b1a8f!important}
.ls-dashboard .user-chip{flex-shrink:0!important;min-width:0!important}
.ls-dashboard .user-details{display:block!important;visibility:visible!important;opacity:1!important;max-width:150px!important}
.ls-dashboard .user-details b{display:block!important;color:#27143d!important;font-size:13px!important;font-weight:700!important;line-height:1.35!important;white-space:nowrap!important}
.ls-dashboard .user-chevron{display:inline-block!important;color:#786b87!important}
.ls-dashboard .dash-nav-link{font-size:14px!important;font-weight:600!important;min-height:45px!important}
.ls-dashboard .dash-nav-link i{font-size:20px!important}
.ls-dashboard .dash-role b{font-size:14px!important;font-weight:700!important;color:#fff!important}
.ls-dashboard .dash-role small{font-size:12px!important;line-height:1.4!important}
.ls-dashboard .nav-caption{font-size:11px!important}
.ls-dashboard .dash-content{padding-top:30px!important}
.ls-dashboard .welcome-row p,.ls-dashboard .section-title-row p{font-size:14px!important;line-height:1.65!important}
.ls-dashboard .dash-eyebrow{font-size:11px!important;line-height:1.5!important}
.ls-dashboard .dash-stat>div>span{font-size:12px!important;line-height:1.45!important}
.ls-dashboard .dash-stat>div>small,.ls-dashboard .child-info>small{font-size:11px!important;line-height:1.5!important}
.ls-dashboard .child-info p,.ls-dashboard .parent-hero-copy>p,.ls-dashboard .admin-hero-copy>p{font-size:13px!important;line-height:1.7!important}
.ls-dashboard .dash-primary,.ls-dashboard .dash-outline{font-size:13px!important}
.dark-dashboard .dash-topbar{background:#28153a!important;border-color:#49325e!important}
.dark-dashboard .topbar-start h1,.dark-dashboard .user-details b{color:#fff!important}
.dark-dashboard .topbar-start small{color:#c9b7da!important}
@media(max-width:1200px){.ls-dashboard .dash-topbar{left:225px!important}.ls-dashboard .dash-main{padding-top:78px!important}}
@media(max-width:980px){.ls-dashboard .dash-topbar{left:0!important;right:0!important}.ls-dashboard .dash-main{margin-left:0!important;margin-right:0!important;padding-top:72px!important}.ls-dashboard .dash-topbar{height:72px!important;min-height:72px!important}.ls-dashboard .dash-content{padding-top:24px!important}html[dir="rtl"] .ls-dashboard .dash-topbar{left:0!important;right:0!important}}
@media(max-width:680px){.ls-dashboard .dash-topbar{padding:0 12px!important;gap:7px!important}.ls-dashboard .topbar-start h1{font-size:21px!important}.ls-dashboard .topbar-start small{font-size:10px!important}.ls-dashboard .topbar-end{gap:5px!important}.ls-dashboard .user-chip{padding:2px!important;border:0!important;background:transparent!important;gap:0!important}.ls-dashboard .user-details{display:none!important}.ls-dashboard .user-chevron{display:none!important}.ls-dashboard .dash-brand b{font-size:24px!important}.ls-dashboard .dash-brand small{font-size:10px!important}.ls-dashboard .dash-content{padding:22px 15px 16px!important}}
@media(max-width:360px){.ls-dashboard .dash-topbar{padding:0 8px!important}.ls-dashboard .topbar-start h1{font-size:19px!important}.ls-dashboard .dash-brand b{font-size:22px!important}}
html[dir="rtl"] .ls-dashboard .dash-topbar{left:0!important;right:252px!important}
@media(max-width:1200px){html[dir="rtl"] .ls-dashboard .dash-topbar{right:225px!important}}
@media(max-width:980px){html[dir="rtl"] .ls-dashboard .dash-topbar{right:0!important;left:0!important}}


/* Dashboard visibility, fixed header and account profile improvements */
.ls-dashboard .dash-topbar{position:fixed!important;top:0!important;left:252px!important;right:0!important;width:auto!important;height:78px!important;z-index:150!important;background:#fff!important;box-shadow:0 4px 18px rgba(35,15,52,.08);}
.ls-dashboard .dash-content{padding-top:108px!important;}
.ls-dashboard .dash-sidebar{z-index:180!important;}
.ls-dashboard .dash-main{margin-left:252px!important;}
.ls-dashboard .dash-topbar,.ls-dashboard .dash-topbar *{visibility:visible;}
.ls-dashboard .topbar-start h1,.ls-dashboard .user-details b{color:#321747!important;opacity:1!important;}
.ls-dashboard .topbar-start small{color:#765c8d!important;opacity:1!important;}
.ls-dashboard .user-chip{min-width:max-content;}
.ls-dashboard .user-avatar{object-fit:cover;}
.ls-dashboard .update-item h3,.ls-dashboard .update-item p,.ls-dashboard .update-date,.ls-dashboard .updates-card,.ls-dashboard .updates-card *{opacity:1;visibility:visible;}
.ls-dashboard .update-item h3{font-size:15px!important;line-height:1.45!important;font-weight:700!important;color:#342044!important;}
.ls-dashboard .update-item p{font-size:14px!important;line-height:1.75!important;color:#63566d!important;}
.ls-dashboard .update-date{font-size:11px!important;font-weight:700!important;letter-spacing:.04em;color:#826a96!important;}
.ls-dashboard .profile-panel{padding:24px;border:1px solid var(--d-line);border-radius:18px;background:#fff;box-shadow:var(--d-shadow);max-width:780px;}
.ls-dashboard .profile-panel-head{display:flex;align-items:center;gap:16px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--d-line);}
.ls-dashboard .profile-panel-head img{width:72px;height:72px;object-fit:cover;border-radius:50%;border:3px solid #eadcf8;}
.ls-dashboard .profile-panel-head h3{font-size:20px!important;color:#321747!important;margin:0 0 4px;}
.ls-dashboard .profile-panel-head p,.ls-dashboard .profile-help{font-size:13px;color:#756781!important;line-height:1.6;}
.ls-dashboard .profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.ls-dashboard .profile-form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#574267;}
.ls-dashboard .profile-form input{width:100%;min-width:0;padding:12px 13px;border:1px solid #ded2e9;border-radius:10px;background:#fff;color:#342044;font:500 14px/1.4 'Poppins',sans-serif;}
.ls-dashboard .profile-form .dash-primary{justify-self:start;min-height:44px;font-size:13px!important;}
.ls-dashboard .profile-help{grid-column:1/-1;margin:0;}
.ls-dashboard.dark-dashboard .dash-topbar{background:#28153a!important;border-color:#49305e!important;}
.ls-dashboard.dark-dashboard .topbar-start h1,.ls-dashboard.dark-dashboard .user-details b{color:#fff!important;}
.ls-dashboard.dark-dashboard .topbar-start small{color:#d4c1e4!important;}
.ls-dashboard.dark-dashboard .update-item h3{color:#fff!important;}
.ls-dashboard.dark-dashboard .update-item p{color:#e0d2eb!important;}
.ls-dashboard.dark-dashboard .update-date{color:#cbb3e0!important;}
.ls-dashboard.dark-dashboard .profile-panel{background:#28153a!important;border-color:#49305e!important;}
.ls-dashboard.dark-dashboard .profile-panel-head h3{color:#fff!important;}
.ls-dashboard.dark-dashboard .profile-panel-head p,.ls-dashboard.dark-dashboard .profile-help{color:#d5c5e2!important;}
.ls-dashboard.dark-dashboard .profile-form label{color:#e6d9f0!important;}
.ls-dashboard.dark-dashboard .profile-form input{background:#211132!important;color:#fff!important;border-color:#5b426e!important;}
.ls-dashboard.dark-dashboard .profile-form input::placeholder{color:#c8b6d7!important;}
@media(max-width:900px){.ls-dashboard .dash-topbar{left:0!important;padding-left:16px!important;padding-right:16px!important;}.ls-dashboard .dash-main{margin-left:0!important;}.ls-dashboard .dash-content{padding-top:100px!important;}.ls-dashboard .topbar-end{gap:7px!important;}.ls-dashboard .today-chip{display:none!important;}}
@media(max-width:560px){.ls-dashboard .dash-topbar{height:72px!important;gap:8px!important;}.ls-dashboard .topbar-start{gap:8px!important;}.ls-dashboard .topbar-start h1{font-size:18px!important;}.ls-dashboard .user-details{display:none!important;}.ls-dashboard .user-chevron{display:none!important;}.ls-dashboard .profile-form{grid-template-columns:1fr;}.ls-dashboard .profile-panel{padding:17px;}.ls-dashboard .dash-content{padding-top:90px!important;}.ls-dashboard .dash-icon-btn,.ls-dashboard .dash-notify{width:34px;height:34px;flex-basis:34px;}}

/* Readability pass: dashboard text must remain legible in both themes. */
.parent-hero-copy h2,
.admin-hero-copy h2 { font-size: clamp(30px, 3vw, 42px); font-weight: 800; line-height: 1.18; }
.parent-hero-copy > p,
.admin-hero-copy > p { font-size: 15px; line-height: 1.75; font-weight: 600; }
.hero-link { font-size: 14px !important; font-weight: 800 !important; line-height: 1.5; }
.workshop-body p { font-size: 14px !important; line-height: 1.65 !important; font-weight: 600 !important; }
.workshop-footer { font-size: 12px !important; line-height: 1.5; font-weight: 700 !important; }
.card-meta { font-size: 11px !important; font-weight: 800 !important; }
.dash-section p, .schedule-item p, .schedule-item .schedule-detail,
.announcement-card p, .announcement-item p, .memory-card p,
.child-card p, .child-card small, .dash-content .muted, .dash-content small {
  font-size: max(12px, 1em); line-height: 1.65;
}
/* Dark theme: explicit high-contrast colors for the hero CTA and workshop details. */
body.dark .parent-hero-copy,
body.dark .parent-hero-copy h2,
body.dark .parent-hero-copy em,
body.dark .parent-hero-copy > p,
body.dark .parent-hero-copy .hero-link,
body.dark .parent-hero-copy .hero-link span,
body.dark .workshop-body,
body.dark .workshop-body h3,
body.dark .workshop-body p,
body.dark .workshop-footer,
body.dark .card-meta,
body.dark .dash-section p,
body.dark .schedule-item p,
body.dark .schedule-item .schedule-detail,
body.dark .announcement-card p,
body.dark .announcement-item p,
body.dark .memory-card p,
body.dark .child-card p,
body.dark .child-card small,
body.dark .dash-content small {
  color: #f7f1ff !important;
}
body.dark .workshop-card,
body.dark .workshop-body,
body.dark .schedule-item,
body.dark .announcement-card,
body.dark .announcement-item,
body.dark .memory-card,
body.dark .child-card {
  background-color: #2b1a3b;
  border-color: #59436b;
}
body.dark .workshop-footer { border-top-color: #59436b; }
body.dark .hero-link { color: #f2dcff !important; }
body.dark .card-meta span:last-child { color: #91e4b3 !important; }
@media (max-width: 760px) {
  .parent-hero-copy h2, .admin-hero-copy h2 { font-size: 30px; }
  .parent-hero-copy > p, .admin-hero-copy > p { font-size: 14px; }
  .workshop-body p { font-size: 13px !important; }
}


/* Targeted dark-theme contrast fix: parent and admin dashboards.
   The dashboard theme toggler adds .dark-dashboard to body (not body.dark). */
.dark-dashboard .parent-hero,
.dark-dashboard .admin-hero {
  background: #241333 !important;
  border-color: #5c4272 !important;
}
.dark-dashboard .parent-hero-copy,
.dark-dashboard .admin-hero-copy,
.dark-dashboard .parent-hero-copy *,
.dark-dashboard .admin-hero-copy * {
  color: #fff7ff !important;
}
.dark-dashboard .parent-hero-copy h2,
.dark-dashboard .admin-hero-copy h2,
.dark-dashboard .parent-hero-copy h2 em,
.dark-dashboard .admin-hero-copy h2 em {
  color: #fff7ff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.2);
}
.dark-dashboard .parent-hero-copy > p,
.dark-dashboard .admin-hero-copy > p {
  color: #f0e5fa !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.75 !important;
}
.dark-dashboard .hero-link,
.dark-dashboard button.hero-link,
.dark-dashboard .hero-link span {
  color: #ffe49a !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  opacity: 1 !important;
}
.dark-dashboard .hero-pill {
  background: #44275a !important;
  color: #fff7ff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}
.dark-dashboard .dash-topbar,
.dark-dashboard .dash-topbar * {
  color: #f8f0ff;
}
.dark-dashboard .dash-topbar .topbar-start small,
.dark-dashboard .dash-topbar .topbar-start h1,
.dark-dashboard .dash-topbar .user-details,
.dark-dashboard .dash-topbar .user-details b,
.dark-dashboard .dash-topbar .user-chevron {
  color: #f8f0ff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.dark-dashboard .dash-topbar .topbar-start small {
  font-size: 12px !important;
  font-weight: 700 !important;
}
.dark-dashboard .dash-topbar .topbar-start h1 {
  font-size: 20px !important;
  font-weight: 800 !important;
}
.dark-dashboard .dash-topbar .user-details b {
  font-size: 14px !important;
  font-weight: 800 !important;
}
.dark-dashboard .dash-topbar .user-chip {
  background: #332044 !important;
  border-color: #5a426c !important;
}
.dark-dashboard .dash-eyebrow,
.dark-dashboard .section-title-row p,
.dark-dashboard .welcome-row p,
.dark-dashboard .workshop-body p,
.dark-dashboard .workshop-footer,
.dark-dashboard .card-meta span,
.dark-dashboard .dash-content small {
  color: #e8d9f5 !important;
  opacity: 1 !important;
}
.dark-dashboard .workshop-body p {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.75 !important;
}
.dark-dashboard .workshop-footer {
  font-size: 12px !important;
  font-weight: 700 !important;
}
.dark-dashboard .dash-eyebrow {
  font-size: 11px !important;
  font-weight: 800 !important;
}
.dark-dashboard .dash-topbar button,
.dark-dashboard .dash-topbar .dash-icon-btn {
  color: #fff7ff !important;
}
@media (max-width: 680px) {
  .dark-dashboard .dash-topbar .topbar-start h1 { font-size: 17px !important; }
  .dark-dashboard .dash-topbar .user-details b { font-size: 13px !important; }
  .dark-dashboard .parent-hero-copy > p,
  .dark-dashboard .admin-hero-copy > p { font-size: 14px !important; }
  .dark-dashboard .hero-link,
  .dark-dashboard button.hero-link { font-size: 13px !important; }
}


/* Final spacing correction: keep content close beneath the fixed dashboard header. */
.ls-dashboard .dash-content{padding-top:12px!important;}
@media(max-width:900px){.ls-dashboard .dash-content{padding-top:10px!important;}}
@media(max-width:560px){.ls-dashboard .dash-content{padding-top:8px!important;}}


/* Admin dashboard readability patch: stronger table, metadata and workshop text. */
.ls-dashboard .dash-table th{font-size:12px!important;font-weight:800!important;letter-spacing:.055em!important;}
.ls-dashboard .dash-table td{font-size:14px!important;font-weight:650!important;line-height:1.6!important;}
.ls-dashboard .dash-table td b,.ls-dashboard .table-main b{font-size:15px!important;font-weight:800!important;line-height:1.45!important;}
.ls-dashboard .dash-table td small,.ls-dashboard .cell-sub,.ls-dashboard .table-main small{display:block;font-size:13px!important;font-weight:650!important;line-height:1.55!important;opacity:1!important;}
.ls-dashboard .dash-table .status-pill,.ls-dashboard .dash-table .table-action{font-size:13px!important;font-weight:750!important;}
.ls-dashboard .workshop-body h3,.ls-dashboard .workshop-card h3{font-size:18px!important;font-weight:800!important;line-height:1.4!important;}
.ls-dashboard .workshop-body p,.ls-dashboard .workshop-card p{font-size:15px!important;font-weight:600!important;line-height:1.75!important;}
.ls-dashboard .card-meta,.ls-dashboard .card-meta span,.ls-dashboard .workshop-footer{font-size:13px!important;font-weight:700!important;line-height:1.6!important;}
.dark-dashboard .dash-table th{color:#f8efff!important;}
.dark-dashboard .dash-table td,.dark-dashboard .dash-table td b,.dark-dashboard .table-main b{color:#fff8ff!important;}
.dark-dashboard .dash-table td small,.dark-dashboard .cell-sub,.dark-dashboard .table-main small{color:#e8d9f5!important;opacity:1!important;}
.dark-dashboard .workshop-body h3,.dark-dashboard .workshop-card h3{color:#fff8ff!important;}
.dark-dashboard .workshop-body p,.dark-dashboard .workshop-card p,.dark-dashboard .card-meta,.dark-dashboard .card-meta span,.dark-dashboard .workshop-footer{color:#eee1f7!important;opacity:1!important;}

/* Responsive dashboard header controls: keep RTL and theme toggles available on mobile. */
@media (max-width: 760px) {
  .ls-dashboard .dash-topbar .topbar-end { display:flex!important; align-items:center!important; flex:0 0 auto!important; gap:6px!important; }
  .ls-dashboard .dash-topbar .rtl-toggle,
  .ls-dashboard .dash-topbar #dashThemeToggle { display:inline-flex!important; visibility:visible!important; opacity:1!important; align-items:center!important; justify-content:center!important; width:36px!important; height:36px!important; min-width:36px!important; flex:0 0 36px!important; border-radius:11px!important; }
  .ls-dashboard .dash-topbar .user-chip { display:none!important; }
  .ls-dashboard .dash-topbar .dash-notify { display:inline-flex!important; width:34px!important; height:34px!important; min-width:34px!important; flex:0 0 34px!important; }
  .ls-dashboard .dash-topbar .dash-icon-btn { font-size:18px!important; line-height:1!important; }
}
@media (max-width:380px) {
  .ls-dashboard .dash-topbar { padding-left:7px!important; padding-right:7px!important; gap:4px!important; }
  .ls-dashboard .topbar-start { min-width:0!important; gap:5px!important; }
  .ls-dashboard .topbar-start h1 { font-size:16px!important; white-space:nowrap!important; }
  .ls-dashboard .topbar-end { gap:4px!important; }
  .ls-dashboard .dash-topbar .rtl-toggle,
  .ls-dashboard .dash-topbar #dashThemeToggle { width:32px!important;height:32px!important;min-width:32px!important;flex-basis:32px!important; }
  .ls-dashboard .dash-topbar .dash-notify { width:30px!important;height:30px!important;min-width:30px!important;flex-basis:30px!important; }
}


/* Responsive sidebar brand lock: keep logo and academy name pinned while sidebar navigation scrolls. */
.ls-dashboard .dash-sidebar {
  display: flex !important;
  flex-direction: column !important;
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  height: 100vh !important;
  height: 100dvh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}
.ls-dashboard .dash-sidebar .dash-brand {
  position: sticky !important;
  position: -webkit-sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  min-height: 86px !important;
  margin: 0 0 10px !important;
  padding: 14px 8px 16px !important;
  background: #2b1047 !important;
  box-shadow: 0 10px 0 #2b1047, 0 12px 18px rgba(20, 5, 32, .12) !important;
  transform: none !important;
}
.ls-dashboard .dash-sidebar .dash-brand img {
  display: block !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  object-fit: contain !important;
}
.ls-dashboard .dash-sidebar .dash-brand span,
.ls-dashboard .dash-sidebar .dash-brand b,
.ls-dashboard .dash-sidebar .dash-brand small {
  visibility: visible !important;
  opacity: 1 !important;
}
.ls-dashboard .dash-sidebar .dash-brand span { min-width: 0 !important; overflow: visible !important; }
.ls-dashboard .dash-sidebar .dash-brand b { color: #fff !important; white-space: nowrap !important; }
.ls-dashboard .dash-sidebar .dash-brand small { color: #ffd55d !important; }
@media (max-width: 980px) {
  .ls-dashboard .dash-sidebar { z-index: 1800 !important; }
  .ls-dashboard .dash-sidebar .dash-brand { position: sticky !important; top: 0 !important; }
}


/* Definitive sidebar fix: keep branding outside the scrolling menu so content can never slide behind it. */
.ls-dashboard .dash-sidebar {
  display: flex !important;
  flex-direction: column !important;
  height: 100vh !important;
  height: 100dvh !important;
  overflow: hidden !important;
  padding-top: 0 !important;
  isolation: isolate !important;
}
.ls-dashboard .dash-sidebar > .dash-brand {
  position: relative !important;
  inset: auto !important;
  z-index: 5 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-height: 92px !important;
  margin: 0 !important;
  padding: 20px 8px 18px !important;
  background: #2b1047 !important;
  border-bottom: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 8px 0 #2b1047 !important;
  transform: none !important;
}
.ls-dashboard .dash-sidebar > .dash-nav {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
  padding-top: 12px !important;
}
.ls-dashboard .dash-sidebar > .dash-brand img { flex: 0 0 44px !important; }
.ls-dashboard .dash-sidebar > .dash-brand b { color: #fff !important; }
.ls-dashboard .dash-sidebar > .dash-brand small { color: #ffd55d !important; }
@media (max-width: 980px) {
  .ls-dashboard .dash-sidebar { overflow: hidden !important; }
  .ls-dashboard .dash-sidebar > .dash-brand { position: relative !important; top: auto !important; }
  .ls-dashboard .dash-sidebar > .dash-nav { -webkit-overflow-scrolling: touch !important; }
}


/* Dark-mode mobile hamburger visibility fix (Parent + Admin dashboards). */
body.dark-dashboard .mobile-dash-toggle,
body.dark .mobile-dash-toggle {
  display: none;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #3b2054 !important;
  border: 1px solid #9d7cbb !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.28) !important;
  font-size: 23px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  z-index: 30 !important;
}
@media (max-width: 980px) {
  body.dark-dashboard .mobile-dash-toggle,
  body.dark .mobile-dash-toggle {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 10px !important;
  }
}


/* Dark-mode line-height normalization: match light-mode rhythm and prevent oversized text lines. */
.ls-dashboard.dark-dashboard .parent-hero-copy > p,
.ls-dashboard.dark-dashboard .admin-hero-copy > p,
.ls-dashboard.dark-dashboard .workshop-body p,
.ls-dashboard.dark-dashboard .workshop-card p,
.ls-dashboard.dark-dashboard .dash-table td,
.ls-dashboard.dark-dashboard .dash-table td small,
.ls-dashboard.dark-dashboard .cell-sub,
.ls-dashboard.dark-dashboard .table-main small,
.ls-dashboard.dark-dashboard .card-meta,
.ls-dashboard.dark-dashboard .card-meta span,
.ls-dashboard.dark-dashboard .workshop-footer {
  line-height: 1.5 !important;
}
.ls-dashboard.dark-dashboard .dash-table td b,
.ls-dashboard.dark-dashboard .table-main b,
.ls-dashboard.dark-dashboard .workshop-body h3,
.ls-dashboard.dark-dashboard .workshop-card h3 {
  line-height: 1.35 !important;
}

/* Keep the hamburger button and its three-line glyph identical in light/dark mode. */
.ls-dashboard .mobile-dash-toggle,
body.dark .mobile-dash-toggle,
body.dark-dashboard .mobile-dash-toggle {
  box-sizing: border-box !important;
  width: 39px !important;
  min-width: 39px !important;
  max-width: 39px !important;
  height: 39px !important;
  min-height: 39px !important;
  max-height: 39px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-stretch: normal !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-indent: 0 !important;
  text-transform: none !important;
  text-shadow: none !important;
  transform: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  overflow: hidden !important;
}
@media (max-width: 980px) {
  .ls-dashboard .mobile-dash-toggle,
  body.dark .mobile-dash-toggle,
  body.dark-dashboard .mobile-dash-toggle {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 39px !important;
  }
}


/* ===== Merged from upcoming.css ===== */
/* Lil Spotlight — Upcoming Shows redesign. Runs only on pages/upcoming-shows.html */
.up{--ink:#27133b;--pur:#59258e;--gold:#ffc83d;--mut:#6f627f;--lilac:#f4ecfd;--cream:#fffaf1;--card:#fff;--line:#e9deef;--dark:#1d0a30;--pk:#e0529c;--gr:#13a383;--or:#ff8a1f;--bl:#1b9ad6;--vi:#7b47d6;--c1:#e0529c;--c2:#ff8a1f;--c3:#7b47d6;--c4:#1b9ad6;background:var(--cream);color:var(--ink);overflow-x:clip}
body.dark .up{--ink:#fff;--pur:#d9b8ff;--mut:#cdbadd;--lilac:#241040;--cream:#160428;--card:#2a1445;--line:#3d2060}
.up section{position:relative;overflow:hidden;overflow:clip}
.up h1,.up h2,.up h3,.up h4{letter-spacing:-.03em;color:var(--ink);margin:0}
.up em{font-family:'Lobster Two',cursive;font-style:italic;font-weight:700;letter-spacing:0}
.up p{margin:0}
.up-sec{padding:84px 0}
.up-alt{background:var(--lilac)}
.up-kick{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pur)}
.up-kick:before{content:"";width:26px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--pk),var(--gold))}
.up-head{display:grid;grid-template-columns:1fr minmax(260px,420px);gap:40px;align-items:end;margin-bottom:40px}
.up-t{font-size:clamp(30px,3.8vw,46px);line-height:1.06;margin-top:12px}
.up-t em{font-size:1.12em;background:linear-gradient(100deg,var(--pk),var(--or));-webkit-background-clip:text;background-clip:text;color:transparent}
.up-head>p{font-size:15.5px;line-height:1.7;color:var(--mut)}
.up-note{margin-top:20px;font-size:12.5px;color:var(--mut)}
.up .i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.up-rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.up-rv.in{opacity:1;transform:none}
.up-ph{background:linear-gradient(135deg,#4b1a8f,#251038);overflow:hidden}
.up-ph img{width:100%;height:100%;object-fit:cover;display:block}
.up-c1{--c:var(--c1)}.up-c2{--c:var(--c2)}.up-c3{--c:var(--c3)}.up-c4{--c:var(--c4)}


/* 1 HERO — clean split with real photos */
@keyframes upspin{to{transform:rotate(360deg)}}
@keyframes upbob{50%{transform:translateY(-8px)}}
@keyframes uppulse{0%{box-shadow:0 0 0 0 #13a383aa}80%,100%{box-shadow:0 0 0 12px #13a38300}}
}
.up-hero{background:linear-gradient(180deg,#fff7ea 0%,#f6ecfd 100%);padding:56px 0 0}
body.dark .up-hero{background:linear-gradient(180deg,#1c0b2b,#241040)}
.up-hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,#ffc83d55,transparent 70%);top:-160px;inset-inline-end:-120px;pointer-events:none}
.up-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#e0529c30,transparent 70%);bottom:40px;inset-inline-start:-140px;pointer-events:none}
.up-hero-in{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.02fr;gap:56px;align-items:center;padding-bottom:70px}
.up-hero-in>*{min-width:0}
.up-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:99px;background:var(--card);border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink);box-shadow:0 6px 16px #2a104a14}
.up-pill i{width:9px;height:9px;border-radius:50%;background:var(--gr);animation:uppulse 1.8s infinite}
.up-hero h1{font-size:clamp(38px,4.9vw,64px);line-height:1.03;margin:20px 0 18px}
.up-hero h1 em{font-size:1.1em;background:linear-gradient(100deg,var(--pk),var(--or));-webkit-background-clip:text;background-clip:text;color:transparent}
.up-lead{font-size:17px;line-height:1.75;color:var(--mut);max-width:520px}
.up-acts{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:26px}
.up-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--ink);border-bottom:2px solid var(--gold);padding-bottom:3px}
.up-link .i{transition:transform .25s}.up-link:hover .i{transform:translateX(4px)}
.up-hstats{display:flex;gap:0;margin-top:34px;padding-top:24px;border-top:1px solid var(--line);max-width:500px}
.up-hstats div{flex:1;padding-inline-end:16px}.up-hstats div+div{padding-inline-start:20px;border-inline-start:1px solid var(--line)}
.up-hstats b{display:block;font:800 30px/1 'Baloo 2',sans-serif;color:var(--pur)}.up-hstats span{font-size:13px;color:var(--mut)}
.up-collage{position:relative;padding:0 0 46px 34px}
html[dir=rtl] .up-collage{padding:0 34px 46px 0}
.up-photo-main{position:relative;aspect-ratio:5/4.3;border-radius:34px;overflow:hidden;background:#fff7ea;box-shadow:0 30px 60px #2a104a33;border:6px solid #fff}
body.dark .up-photo-main{border-color:#2a1445}
.up-photo-main img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;transform:scale(1.04);animation:upzoom 14s ease-in-out infinite alternate}
@keyframes upzoom{to{transform:scale(1.12)}}
.up-photo-sm{position:absolute;inset-inline-start:0;bottom:0;width:36%;aspect-ratio:1;border-radius:26px;overflow:hidden;border:5px solid #fff;box-shadow:0 18px 36px #2a104a40;background:#4b1a8f;animation:upbob 7s ease-in-out infinite}
body.dark .up-photo-sm{border-color:#2a1445}
.up-photo-sm img{width:100%;height:100%;object-fit:cover}










.up-badge{position:absolute;z-index:3;inset-inline-end:34px;bottom:14px;display:flex;align-items:center;gap:10px;background:var(--gold);color:#24093c;border-radius:99px;padding:10px 18px 10px 12px;font-weight:700;font-size:13.5px;box-shadow:0 14px 28px #ffc83d66}
.up-badge .i{width:22px;height:22px}
.up-infobar{position:relative;z-index:4;margin-top:-10px;transform:translateY(50%)}
.up-infobar ul{list-style:none;margin:0;padding:8px;display:grid;grid-template-columns:repeat(4,1fr);background:var(--card);border:1px solid var(--line);border-radius:26px;box-shadow:0 22px 50px #2a104a1f}
.up-infobar li{display:flex;align-items:center;gap:14px;padding:16px 20px}
.up-infobar li+li{border-inline-start:1px solid var(--line)}
.up-infobar .ic{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--lilac);color:var(--pur)}
.up-infobar small{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--mut)}.up-infobar b{font-size:15px;color:var(--ink)}
.up-hero+.up-lineup{padding-top:130px}

/* 2 LINE-UP — photo cards */
.up-lineup{background:var(--cream)}
.up-bar-row{position:sticky;top:76px;z-index:20;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--cream) 90%,transparent);backdrop-filter:blur(12px);padding:12px 0;margin-bottom:26px;border-bottom:1px solid var(--line)}
.up-chips{display:flex;gap:8px;flex-wrap:wrap}
.up-chips button{font:600 14px 'Poppins',sans-serif;padding:9px 18px;border-radius:99px;border:2px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}
.up-chips button i{width:9px;height:9px;border-radius:50%;background:var(--c,var(--pur))}
.up-chips button:hover{border-color:var(--pur)}
.up-chips button.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}
body.dark .up-chips button.on{background:var(--gold);color:#24093c;border-color:var(--gold)}
.up-count{font-size:14px;color:var(--mut)}.up-count b{color:var(--ink)}
.up-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.up-show{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:26px;overflow:hidden;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.up-show:hover{transform:translateY(-10px);box-shadow:0 30px 56px #2a104a2b}
.up-show[hidden]{display:none}
.up-show.flash{animation:upflash 1.6s}
@keyframes upflash{0%,60%{box-shadow:0 0 0 4px var(--gold),0 20px 50px #ffc83d66}100%{box-shadow:0 0 0 0 #0000}}
.up-img{position:relative;aspect-ratio:16/11;overflow:hidden;background:linear-gradient(135deg,#4b1a8f,#251038)}
.up-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.up-show:hover .up-img img{transform:scale(1.1)}
.up-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1d0a3000 45%,#1d0a30cc)}
.up-date{position:absolute;z-index:2;top:14px;inset-inline-start:14px;background:#fff;color:#27133b;border-radius:14px;padding:7px 13px;text-align:center;line-height:1;box-shadow:0 8px 18px #0003}
.up-date b{display:block;font:800 24px 'Baloo 2',sans-serif}.up-date small{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--c)}
.up-age{position:absolute;z-index:2;top:14px;inset-inline-end:14px;background:#0004;backdrop-filter:blur(6px);border:1px solid #ffffff66;border-radius:99px;padding:5px 12px;font-size:12px;font-weight:600;color:#fff}
.up-grp{position:absolute;z-index:2;inset-inline-start:16px;bottom:14px;display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.14em;color:#fff;background:var(--c);padding:6px 12px;border-radius:99px}
.up-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.up-body h3{font-size:22px;line-height:1.15}
.up-meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13.5px;color:var(--mut)}
.up-meta span{display:inline-flex;align-items:center;gap:6px}.up-meta .i{width:15px;height:15px;color:var(--c)}
.up-txt{font-size:14px;line-height:1.65;color:var(--mut);flex:1}
.up-bar{height:8px;border-radius:9px;background:var(--line);overflow:hidden}
.up-bar i{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,var(--gr),var(--gold));transition:width 1.3s cubic-bezier(.2,.8,.2,1) .3s}
.up-bar.low i{background:linear-gradient(90deg,var(--or),var(--pk))}
.up-show.in .up-bar i{width:var(--w)}
.up-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.up-seats{display:grid;gap:1px;font-size:12.5px;color:var(--mut)}.up-seats b{font-size:15px;color:var(--ink)}
.up-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:99px;font-weight:700;font-size:13.5px;background:#3b1380;color:#fff;border:0;cursor:pointer;font-family:inherit;transition:transform .2s,box-shadow .2s;white-space:nowrap}
.up-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px #3b138055}
.up-btn .i{transition:transform .25s}.up-btn:hover .i{transform:translateX(4px)}
.up-btn.gold{background:var(--gold);color:#24093c}
.up-show .up-btn{background:var(--ink);color:var(--cream)}
body.dark .up-show .up-btn{background:var(--gold);color:#24093c}
.up-empty{display:none;text-align:center;padding:40px;color:var(--mut)}
@media(max-width:980px){
 .up-hero-in{grid-template-columns:1fr;gap:40px}
 .up-collage{max-width:600px;width:100%;margin-inline:auto}
 .up-board{grid-template-columns:repeat(2,minmax(0,1fr))}
 .up-infobar ul{grid-template-columns:1fr 1fr}.up-infobar li:nth-child(3){border-inline-start:0}.up-infobar li:nth-child(n+3){border-top:1px solid var(--line)}
 .up-hero+.up-lineup{padding-top:190px}
}
@media(max-width:680px){
 .up-hero{padding-top:36px}
 .up-collage{padding:0 0 46px 0}
 
 .up-photo-main{aspect-ratio:4/3.6}
 .up-photo-sm{width:34%;inset-inline-start:-6px}
 .up-badge{inset-inline-end:8px;font-size:12px}
 .up-hstats b{font-size:24px}
 .up-board{grid-template-columns:1fr}
 .up-infobar ul{grid-template-columns:1fr}.up-infobar li+li,.up-infobar li:nth-child(3){border-inline-start:0;border-top:1px solid var(--line)}
 .up-hero+.up-lineup{padding-top:300px}
 .up-chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px}.up-chips button{white-space:nowrap}
}

/* 3 SPOTLIGHT (featured + stats) */
.up-spot{background:linear-gradient(135deg,#2a0f4a,#1d0a30);color:#fff}
.up-spot .up-kick{color:#f6d9ff}.up-spot h2,.up-spot h3{color:#fff}
.up-spot-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.up-poster-big{position:relative;perspective:900px}
.up-pb{position:relative;aspect-ratio:4/5;max-height:520px;width:100%;border-radius:28px;overflow:hidden;box-shadow:0 30px 70px #0007;transform:rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .25s ease-out}
.up-pb img{width:100%;height:100%;object-fit:cover}
.up-pb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1d0a3000 35%,#1d0a30ee)}
.up-pb-t{position:absolute;inset-inline:22px;bottom:22px;z-index:2}
.up-pb-t small{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--gold)}
.up-pb-t h3{font-size:clamp(26px,3vw,36px);line-height:1.05;margin-top:6px}.up-pb-t h3 em{color:var(--gold)}
.up-stamp{position:absolute;z-index:3;top:20px;inset-inline-end:-14px;background:var(--pk);color:#fff;font:800 13px/1.15 'Baloo 2',sans-serif;letter-spacing:.06em;text-align:center;padding:12px 16px;border-radius:14px;transform:rotate(8deg);box-shadow:0 12px 26px #0005;animation:upbob 4s ease-in-out infinite}
.up-spot h2{font-size:clamp(30px,3.8vw,46px);line-height:1.06;margin:12px 0 16px}.up-spot h2 em{color:var(--gold);font-size:1.1em}
.up-spot .up-lead{font-size:16px;line-height:1.75;color:#dccdee}
.up-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.up-facts div{background:#ffffff12;border:1px solid #ffffff26;border-radius:16px;padding:14px 16px;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.up-facts .i{grid-row:span 2;color:var(--gold);width:22px;height:22px}
.up-facts b{font-size:11px;letter-spacing:.12em;color:#cdbadd}.up-facts span{font-size:14.5px;font-weight:600}
.up-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.up-tags span{padding:7px 14px;border-radius:99px;background:linear-gradient(100deg,#e0529c44,#ff8a1f33);border:1px solid #ffffff30;font-size:13px;font-weight:600}
.up-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;border-top:1px solid #ffffff22;padding-top:30px}
.up-stats li{list-style:none;text-align:center;padding:0 10px;border-inline-end:1px solid #ffffff1c}.up-stats li:last-child{border:0}
.up-stats b{display:block;font:800 clamp(30px,4vw,46px)/1 'Baloo 2',sans-serif;color:var(--gold)}
.up-stats span{font-size:13px;color:#cdbadd}
.up-stats{margin-inline:0;padding-inline:0;padding-top:30px;padding-bottom:0}
.up-spot-wrap{display:flex;flex-direction:column}

/* 4 CALENDAR + TICKETS */
.up-plan{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:start}
.up-panel{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:28px}
.up-panel>h3{font-size:24px;margin:10px 0 6px}.up-panel>.sub{font-size:14.5px;color:var(--mut);margin-bottom:20px;line-height:1.6}
.up-cals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.up-cal{background:var(--lilac);border-radius:18px;padding:14px}
.up-cal-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.up-cal-h h4{font-size:16px}.up-cal-h span{font-size:12px;color:var(--mut)}
.up-cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:11.5px}
.up-dow{font-weight:700;color:var(--mut);padding-bottom:3px}
.up-d{aspect-ratio:1;display:grid;place-items:center;border-radius:8px;color:var(--ink);border:0;background:none;font:inherit;position:relative;padding:0}
button.up-d{background:var(--c);color:#fff;font-weight:700;cursor:pointer;animation:upglow 2.4s ease-in-out infinite;transition:transform .2s}
button.up-d:hover{transform:scale(1.25);z-index:3}
@keyframes upglow{50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 30%,transparent)}}
.up-tip{position:absolute;bottom:125%;left:50%;transform:translateX(-50%) scale(.9);opacity:0;pointer-events:none;background:var(--ink);color:var(--cream);padding:6px 10px;border-radius:9px;white-space:nowrap;font-size:11.5px;transition:all .2s;z-index:5}
.up-tip small{display:block;opacity:.75}
button.up-d:hover .up-tip,button.up-d:focus-visible .up-tip{opacity:1;transform:translateX(-50%)}
.up-legend{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:18px 0 0;font-size:13px;color:var(--mut)}
.up-legend li{display:flex;align-items:center;gap:7px}.up-legend i{width:11px;height:11px;border-radius:50%;background:var(--c)}
.up-prices{display:grid;gap:12px}
.up-price{display:grid;grid-template-columns:auto 1fr auto;gap:4px 14px;align-items:center;padding:16px 18px;border-radius:20px;border:1px solid var(--line);background:var(--card);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.up-price:hover{transform:translateX(6px);box-shadow:0 14px 30px #2a104a1c}
.up-price .ic{grid-row:span 2;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--lilac);color:var(--pur)}
.up-price h4{font-size:17px}.up-price p{font-size:13px;color:var(--mut)}
.up-amt{grid-row:span 2;text-align:end;font:800 30px/1 'Baloo 2',sans-serif;color:var(--ink)}.up-amt sup{font-size:15px}.up-amt small{display:block;font:500 11px 'Poppins',sans-serif;color:var(--mut);margin-top:3px}
.up-price.pop{background:linear-gradient(120deg,#3b1380,#6b3fd4);border-color:transparent}
.up-price.pop h4,.up-price.pop .up-amt{color:#fff}.up-price.pop p,.up-price.pop .up-amt small{color:#e5d5f7}.up-price.pop .ic{background:#ffffff22;color:var(--gold)}
.up-ribbon{position:absolute;top:0;inset-inline-end:0;background:var(--gold);color:#24093c;font-size:10px;font-weight:800;letter-spacing:.12em;padding:4px 12px;border-end-start-radius:12px}
.up-price.pop:after{content:"";position:absolute;top:0;bottom:0;width:60px;background:linear-gradient(100deg,transparent,#ffffff30,transparent);transform:translateX(-200px) skewX(-20deg);animation:upsheen 4.5s ease-in-out infinite}
@keyframes upsheen{60%,100%{transform:translateX(560px) skewX(-20deg)}}
.up-perks{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:18px 0 0;padding:0;list-style:none;font-size:13.5px;color:var(--mut)}
.up-perks li{display:flex;gap:8px;align-items:center}.up-perks .i{color:var(--gr);width:16px;height:16px}

/* 5 VISIT BENTO */
.up-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.up-step{grid-column:span 3;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.up-step:hover{transform:translateY(-6px);box-shadow:0 20px 40px #2a104a1c}
.up-step:before{content:"";position:absolute;inset-inline:0;top:0;height:5px;background:var(--c)}
.up-num{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;font:800 20px 'Baloo 2',sans-serif;margin-bottom:14px}
.up-step h3{font-size:19px;margin-bottom:8px}.up-step p{font-size:14px;line-height:1.65;color:var(--mut)}
.up-step .big{position:absolute;inset-inline-end:14px;bottom:-14px;font:800 90px/1 'Baloo 2',sans-serif;color:var(--c);opacity:.09}
.up-venue{grid-column:span 7;display:grid;grid-template-columns:1fr 1fr;border-radius:28px;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.up-map{position:relative;min-height:260px;background:#e9f2e6;overflow:hidden}
body.dark .up-map{background:#26413a}
.up-map i{position:absolute;display:block}
.up-rd{background:#fff;height:16px;box-shadow:0 0 0 2px #e3dcef}body.dark .up-rd{background:#4a3566;box-shadow:none}
.up-rd.r1{width:140%;top:30%;left:-20%;transform:rotate(-14deg)}.up-rd.r2{width:140%;top:68%;left:-20%;transform:rotate(9deg)}.up-rd.r3{width:16px;height:140%;left:58%;top:-20%;transform:rotate(12deg)}
.up-pk{background:#bfe3b8;border-radius:40% 60% 50% 50%}body.dark .up-pk{background:#2f6a52}.up-pk.p1{width:110px;height:80px;left:8%;top:6%}.up-pk.p2{width:90px;height:70px;right:6%;bottom:8%}
.up-pin{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:var(--pk);color:#fff;display:grid;place-items:center;z-index:3;box-shadow:0 10px 22px #e0529c77}
.up-pin .i{width:26px;height:26px}
.up-pin:before,.up-pin:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--pk);animation:upripple 2.4s ease-out infinite}.up-pin:after{animation-delay:1.2s}
@keyframes upripple{to{transform:scale(2.6);opacity:0}}
.up-vc{padding:28px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.up-vc h3{font-size:24px}.up-vc ul{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:11px;font-size:14px;color:var(--mut)}
.up-vc li{display:flex;gap:10px;align-items:flex-start}.up-vc li .i{color:var(--pur);margin-top:2px}
.up-vc .up-btn{align-self:flex-start}
.up-pol{grid-column:span 5;border-radius:28px;padding:28px;background:linear-gradient(135deg,#e0529c,#ff8a1f);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:10px;position:relative;overflow:hidden}
.up-pol h3{color:#fff;font-size:24px}.up-pol p{font-size:14.5px;line-height:1.7;color:#fff9}.up-pol p{color:#fff}
.up-pol .up-btn{align-self:flex-start;background:#fff;color:#27133b}
.up-pol svg.s{position:absolute;inset-inline-end:-18px;top:-18px;width:120px;height:120px;fill:#ffffff30;animation:upspin 14s linear infinite}

/* 6 MEMORIES + CTA */
.up-gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:14px}
.up-g{position:relative;margin:0;border-radius:22px;overflow:hidden;background:#251038}
.up-g img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.up-g:hover img{transform:scale(1.1)}
.up-g:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#1d0a30dd)}
.up-g figcaption{position:absolute;z-index:2;inset-inline:16px;bottom:14px;color:#fff;display:grid;transform:translateY(8px);opacity:.92;transition:transform .35s}
.up-g:hover figcaption{transform:none}
.up-g figcaption b{font-size:15px}.up-g figcaption span{font-size:12px;color:#e5d5f7}
.up-g.g1{grid-column:span 2;grid-row:span 2}.up-g.g4{grid-column:span 2}
.up-cta{margin-top:30px;border-radius:32px;background:linear-gradient(120deg,#2a0f4a,#59258e 60%,#7b2f9e);color:#fff;padding:44px;display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;position:relative;overflow:hidden}
.up-cta h2{color:#fff;font-size:clamp(28px,3.4vw,40px);line-height:1.08;margin:12px 0}.up-cta h2 em{color:var(--gold);font-size:1.1em}
.up-cta .up-kick{color:#f6d9ff}.up-cta p.t{font-size:15.5px;line-height:1.7;color:#e5d5f7}
.up-form{display:flex;gap:8px;background:#fff;border-radius:99px;padding:6px;align-items:center;transition:box-shadow .2s}
.up-form:focus-within{box-shadow:0 0 0 4px #ffc83d88}
.up-form .i{margin-inline-start:14px;color:#6f627f}
.up-form input{flex:1;min-width:0;border:0;outline:0;background:none;font:500 15px 'Poppins',sans-serif;color:#27133b;padding:10px 6px}
.up-form.bad{animation:upshake .4s}
@keyframes upshake{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
.up-msg{min-height:22px;margin-top:10px;font-size:13.5px;color:#ffe9a8}
.up-msg.pop{animation:uppop .5s}
@keyframes uppop{from{transform:scale(.9);opacity:0}}
.up-orbs{position:relative;height:210px}
.up-orb{position:absolute;border-radius:50%;overflow:hidden;border:4px solid #ffffff55;box-shadow:0 14px 30px #0005;animation:upbob 6s ease-in-out infinite}
.up-orb img{width:100%;height:100%;object-fit:cover}
.up-orb.o1{width:120px;height:120px;left:4%;top:10%}.up-orb.o2{width:150px;height:150px;left:32%;top:36%;animation-delay:-2s}.up-orb.o3{width:100px;height:100px;left:64%;top:0;animation-delay:-4s}.up-orb.o4{width:116px;height:116px;right:0;bottom:0;animation-delay:-1s}
.up-cta-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.up-cta .up-btn.ghost{color:#fff;border-color:#ffffff66}

/* RESPONSIVE */
@media(max-width:980px){
 .up-spot-in,.up-plan,.up-cta{grid-template-columns:1fr}
 .up-head{grid-template-columns:1fr;gap:12px}
 .up-gal{grid-template-columns:repeat(2,1fr)}
 .up-poster-big{max-width:420px;margin-inline:auto}
}
@media(max-width:680px){
 .up-sec{padding:60px 0}
 .up-cals{grid-template-columns:1fr}.up-step{grid-column:span 12}
 .up-venue{grid-template-columns:1fr}.up-map{min-height:200px}
 .up-facts,.up-perks{grid-template-columns:1fr}
 .up-stats{grid-template-columns:1fr 1fr;gap:22px 0}.up-stats li:nth-child(2){border:0}
 .up-gal{grid-auto-rows:150px}.up-g.g1,.up-g.g4{grid-column:span 2}.up-g.g1{grid-row:span 1}
 .up-cta{padding:28px 20px}.up-orbs{display:none}
 .up-chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px}.up-chips button{white-space:nowrap}
 .up-price{grid-template-columns:auto 1fr}.up-amt{grid-row:auto;grid-column:1/-1;text-align:start}
}
@media(prefers-reduced-motion:reduce){.up *{animation:none!important;transition:none!important}.up-rv{opacity:1;transform:none}.up-bar i{width:var(--w)}}
/* layout polish: no empty gaps */
.up-plan{align-items:stretch}
.up-plan .up-panel{display:flex;flex-direction:column}
.up-cals{grid-template-columns:repeat(3,minmax(0,1fr))}
.up-alert{margin-top:auto;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;background:linear-gradient(120deg,#e0529c,#ff8a1f);color:#fff;transition:transform .25s,box-shadow .25s;margin-top:22px}
.up-alert:hover{transform:translateY(-3px);box-shadow:0 14px 28px #e0529c55}
.up-alert-ic{font-size:28px;animation:upbob 2.4s ease-in-out infinite}
.up-alert span:nth-child(2){flex:1;display:grid}.up-alert b{font-size:15px}.up-alert small{font-size:12.5px;opacity:.95}
.up-alert .i{transition:transform .25s}.up-alert:hover .i{transform:translateX(5px)}
.up-cals{flex:0 0 auto}
.up-plan .up-panel:first-child .up-legend{margin-bottom:0}
.up-price{grid-template-columns:auto minmax(0,1fr) auto}
.up-price .up-amt{grid-row:1/span 2;grid-column:3;text-align:end;font:800 30px/1 'Baloo 2',sans-serif;color:var(--ink);align-self:center}
.up-price .ic{grid-row:1/span 2;grid-column:1}
.up-price h4{grid-column:2;align-self:end}.up-price p{grid-column:2;align-self:start}
.up-price .up-amt small{font:500 11px 'Poppins',sans-serif;color:var(--mut);margin-top:3px;display:block}
.up-price.pop .up-amt small{color:#e5d5f7}
.up-perks{margin-top:20px}.up-plan .up-note{margin-top:auto;padding-top:16px}
.up-g.g5,.up-g.g6{grid-column:span 2}
@media(max-width:680px){.up-price .up-amt{grid-row:auto;grid-column:1/-1;text-align:start}.up-g.g5,.up-g.g6{grid-column:span 2}.up-cals{grid-template-columns:1fr}}
.up-ribbon{inset-inline-end:auto;inset-inline-start:78px;border-radius:0 0 10px 10px}
.up-fc{margin-inline:6px}
.up-fc.f1{--r:-6deg}.up-fc.f3{--r:6deg}
@media(max-width:700px){.up-fc{margin-inline:3px;width:112px}.up-fc.f1,.up-fc.f3{--r:-4deg}.up-fc.f3{--r:4deg}}
.up section.up-hero{overflow:visible;overflow-x:clip;overflow-y:visible}
.up section.up-hero{z-index:3}
@media(max-width:980px){.up-infobar{transform:none;margin-top:0}.up-hero-in{padding-bottom:36px}.up-hero{padding-bottom:0}.up-hero+.up-lineup{padding-top:64px}}
@media(max-width:680px){.up-hero+.up-lineup{padding-top:56px}.up-hero{padding-bottom:0}.up-infobar{padding-bottom:0}}


/* Hero image sizing: restore a larger, more prominent performance photo. */
.up .up-hero-in{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(28px,4vw,56px)}
.up .up-collage{width:100%;min-width:0;min-height:440px;position:relative}
.up .up-photo-main{
  width:100%;
  aspect-ratio:4 / 3 !important;
  height:auto;
  min-height:0;
}
.up .up-photo-main img{
  width:100%;height:100%;object-fit:cover;object-position:center 38%;transform:none !important;
}
@media (max-width: 980px){
  .up .up-hero-in{grid-template-columns:1fr;gap:32px}
  .up .up-collage{min-height:clamp(330px,58vw,520px);max-width:760px;width:100%;margin-inline:auto}
  .up .up-photo-main{aspect-ratio:4 / 3 !important}
}
@media (max-width: 520px){
  .up .up-collage{min-height:clamp(285px,78vw,390px)}
  .up .up-photo-main{aspect-ratio:4 / 3 !important;border-radius:26px}
  .up .up-photo-sm{width:34%;min-width:104px}
}


/* ===== Merged from upcoming-responsive.css ===== */

/* Upcoming Shows — responsive layout repair for small laptops, tablets and phones */
.up,.up *{min-width:0}
.up img{max-width:100%;height:auto}
.up .wrap{width:100%;max-width:calc(1320px + 2*clamp(16px,4vw,48px));padding-inline:clamp(16px,4vw,48px)}
.up .up-hero-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px)}
.up .up-head{grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(18px,3vw,40px)}
.up .up-bento>*{min-width:0}
.up .up-show,.up .up-panel,.up .up-price,.up .up-photo-main,.up .up-photo-sm{min-width:0;max-width:100%}
.up .up-form{min-width:0;max-width:100%}
.up .up-form input{min-width:0;width:100%}
.up .up-acts .up-btn,.up .up-acts .btn{max-width:100%;white-space:normal}
@media(max-width:980px){
 .up .up-hero-in{grid-template-columns:minmax(0,1fr);gap:30px;padding-bottom:36px}
 .up .up-spot-wrap,.up .up-collage{width:100%;max-width:640px;margin-inline:auto}
 .up .up-infobar{margin-top:22px;transform:none}
 .up .up-hero{padding-bottom:0}
 .up .up-lineup{padding-top:64px}
 .up .up-head{grid-template-columns:minmax(0,1fr) minmax(0,340px)}
 .up .up-plan{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
 .up .up-bento{gap:14px}
}
@media(max-width:760px){
 .up .up-sec{padding:58px 0}
 .up .up-head{grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:28px}
 .up .up-plan{grid-template-columns:minmax(0,1fr)}
 .up .up-cals{grid-template-columns:repeat(3,minmax(0,1fr))}
 .up .up-gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(130px,28vw,190px);gap:10px}
 .up .up-bento{grid-template-columns:repeat(6,minmax(0,1fr))}
 .up .up-g.g5,.up .up-g.g6{grid-column:span 3}
 .up .up-hero-in{padding-bottom:28px}
 .up .up-lineup{padding-top:50px}
 .up .up-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .up .up-form{border-radius:18px;flex-wrap:wrap;padding:10px}
 .up .up-form input{flex:1 1 150px}
 .up .up-form button{flex:1 1 100%}
}
@media(max-width:520px){
 .up .up-sec{padding:48px 0}
 .up .up-hero{padding-top:36px}
 .up .up-hero-in{gap:22px}
 .up .up-t{font-size:clamp(29px,8.4vw,38px)}
 .up .up-cals{grid-template-columns:minmax(0,1fr)}
 .up .up-cal{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px}
 .up .up-cal>*{min-width:0}
 .up .up-facts{grid-template-columns:minmax(0,1fr)}
 .up .up-gal{grid-auto-rows:145px;gap:8px}
 .up .up-bento{grid-template-columns:minmax(0,1fr)}
 .up .up-bento>* ,.up .up-g.g5,.up .up-g.g6{grid-column:1/-1}
 .up .up-price{grid-template-columns:auto minmax(0,1fr);gap:8px 10px;padding:14px}
 .up .up-price .up-amt{grid-column:1/-1;grid-row:auto;text-align:start}
 .up .up-price .ic{grid-column:1;grid-row:1}
 .up .up-price h4,.up .up-price p{grid-column:2}
 .up .up-acts{align-items:stretch;flex-direction:column}
 .up .up-acts .up-btn,.up .up-acts .btn{width:100%;justify-content:center}
 .up .up-photo-main{max-height:340px}
 .up .up-infobar{padding:16px}
 .up .up-hstats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:360px){
 .up .wrap{padding-inline:13px}
 .up .up-gal{grid-auto-rows:125px}
 .up .up-price{padding:12px}
}

/* Final narrow-screen repair: age filters must wrap instead of being clipped */
.up .up-bar-row{display:flex;flex-direction:column;align-items:stretch;gap:14px;width:100%;min-width:0}
.up .up-chips{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;width:100%;max-width:100%;min-width:0;overflow:visible;padding:0;margin:0}
.up .up-chips button{flex:0 0 auto;width:auto;max-width:100%;min-width:max-content;white-space:nowrap;overflow:visible;text-overflow:clip;box-sizing:border-box}
.up .up-chips button i{flex:0 0 auto}
.up .up-count{width:100%;max-width:100%;margin:0;white-space:normal;overflow-wrap:anywhere}
.up .up-show{overflow:hidden}
.up .up-show h3,.up .up-show p,.up .up-show a{overflow-wrap:anywhere}
@media(max-width:420px){
 .up .up-bar-row{gap:12px}
 .up .up-chips{gap:7px}
 .up .up-chips button{padding:10px 13px;font-size:13px;line-height:1.2}
 .up .up-count{font-size:13px}
}
@media(max-width:340px){
 .up .up-chips{gap:6px}
 .up .up-chips button{padding:9px 10px;font-size:12px}
}

/* Age filters are part of the normal page flow: they scroll away with the page. */
.up section.up-lineup,
.up.up-lineup,
.up .up-lineup,
.up .up-lineup > .wrap,
.up .up-lineup .wrap {
  overflow: visible !important;
}
.up .up-bar-row,
.up .up-lineup .up-bar-row {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  isolation: auto;
  background: transparent !important;
  background-color: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
@media (max-width: 760px) {
  .up .up-bar-row {
    padding: 10px 0 12px;
    margin-bottom: 20px;
  }
}


/* Reminder banner: centered single-column layout, with no decorative photo bubbles. */
.up .up-cta {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  grid-template-columns: minmax(0, 1fr);
  padding: clamp(28px, 5vw, 56px);
  min-width: 0;
}
.up .up-cta-content {
  width: 100%;
  max-width: 760px;
  min-width: 0;
  margin-inline: auto;
}
.up .up-cta-content p.t {
  max-width: 650px;
  margin-inline: auto;
}
.up .up-cta .up-kick {
  display: inline-flex;
  justify-content: center;
}
.up .up-form {
  width: 100%;
  max-width: 620px;
  margin-inline: auto;
  text-align: start;
}
.up .up-msg {
  text-align: center;
}
@media (max-width: 560px) {
  .up .up-cta {
    padding: 30px 18px;
    border-radius: 22px;
  }
  .up .up-cta h2 {
    font-size: clamp(26px, 7vw, 34px);
    line-height: 1.15;
    overflow-wrap: anywhere;
  }
  .up .up-cta-content p.t {
    font-size: 14px;
    line-height: 1.65;
  }
  .up .up-form {
    display: flex;
    flex-wrap: wrap;
    border-radius: 20px;
    gap: 6px;
    padding: 8px;
  }
  .up .up-form .i {
    margin-inline-start: 8px;
  }
  .up .up-form input {
    flex: 1 1 150px;
    width: auto;
    min-width: 0;
    padding: 10px 4px;
  }
  .up .up-form button {
    flex: 1 1 100%;
    justify-content: center;
    min-height: 46px;
    border-radius: 14px;
    white-space: normal;
  }
}
@media (max-width: 340px) {
  .up .up-cta { padding: 26px 14px; }
  .up .up-cta h2 { font-size: 25px; }
}


/* ===== Merged from responsive-fixes.css ===== */

/* Responsive repair layer: shared across every Lil Spotlight page */
html{width:100%;max-width:100%;overflow-x:clip}
body{width:100%;max-width:100%;overflow-x:clip}
main,section,header,footer,nav,article,aside,.wrap,.container{min-width:0}
img,video,iframe,svg{max-width:100%}
button,input,select,textarea{max-width:100%;font:inherit}
input,select,textarea{min-width:0}
.wrap{padding-inline:clamp(16px,4vw,48px)}
p,li,a,button,label,small{overflow-wrap:anywhere}
table{max-width:100%}
@media(max-width:1200px){
  .wrap{padding-inline:clamp(18px,3.2vw,36px)}
  .nav{min-width:0}
  .menu{min-width:0;max-width:100%}
  .hero-grid,.about-hero,.contact-grid,.contact-hero,.program-grid,.section-grid{min-width:0}
  .dash-main,.dash-content,.dashboard-main{min-width:0;max-width:100%}
}
@media(max-width:820px){
  .wrap{padding-inline:22px}
  .section,.sec,.content-section{padding-block:58px}
  .hero-grid,.contact-grid,.about-grid,.program-grid,.section-grid,.two-col,.three-col{grid-template-columns:minmax(0,1fr)!important}
  .hero-grid>* ,.contact-grid>* ,.about-grid>* ,.program-grid>* ,.section-grid>*{min-width:0}
  .btn,.button{max-width:100%;white-space:normal}
  .dash-main,.dash-content,.dashboard-main{width:100%;min-width:0}
  .dash-table-wrap,.table-wrap,.table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:560px){
  .wrap{padding-inline:16px}
  h1{font-size:clamp(30px,9vw,44px)}
  h2{font-size:clamp(25px,7vw,34px)}
  p{overflow-wrap:break-word}
  .btn,.button{min-height:44px;padding:11px 17px}
  .hero-links,.hero-cta,.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:10px}
  .hero-links .btn,.hero-cta .btn,.hero-actions .btn{width:100%;justify-content:center}
  .dash-sidebar,.dash-main,.dash-topbar,.dash-content{max-width:100%;min-width:0}
}
@media(max-width:380px){
  .wrap{padding-inline:13px}
  .btn,.button{padding-inline:13px;font-size:14px}
}

/* Contact page: improve readability of the contact directory at every size */
.contact-page .ct-directory-index{font-size:11px;line-height:1.4}
.contact-page .ct-directory-copy b{font-size:17px;line-height:1.35}
.contact-page .ct-directory-copy small{font-size:13px;line-height:1.65}
.contact-page .ct-directory-action{font-size:11px;line-height:1.5;letter-spacing:.045em}
.contact-page .ct-directory-note{font-size:13px;line-height:1.6}
@media(max-width:560px){
  .contact-page .ct-directory-row{grid-template-columns:38px minmax(0,1fr);gap:10px 12px;padding:19px 0;align-items:start}
  .contact-page .ct-directory-index{display:none}
  .contact-page .ct-directory-symbol{grid-column:1;grid-row:1 / span 2;width:36px;height:36px;font-size:19px}
  .contact-page .ct-directory-copy{grid-column:2;grid-row:1;gap:5px}
  .contact-page .ct-directory-copy b{font-size:16px;line-height:1.4}
  .contact-page .ct-directory-copy small{font-size:13px;line-height:1.65}
  .contact-page .ct-directory-action{grid-column:2;grid-row:2;margin-top:0;font-size:11px;line-height:1.5;white-space:normal}
  .contact-page .ct-directory-note{font-size:12px;line-height:1.6;gap:8px;padding-top:16px}
}
@media(max-width:360px){
  .contact-page .ct-directory-row{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:17px 0}
  .contact-page .ct-directory-symbol{width:33px;height:33px;font-size:18px}
  .contact-page .ct-directory-copy b{font-size:15px}
  .contact-page .ct-directory-copy small{font-size:12px;line-height:1.6}
  .contact-page .ct-directory-action{font-size:11px}
}


/* 1024px desktop-preservation: retain desktop composition until the tablet breakpoint. */
@media (min-width: 981px) and (max-width: 1100px) {
  .wrap { padding-inline: clamp(24px, 3vw, 34px); }
  .h1-hero-in, .hx-hero .wrap { min-width: 0; }
  .h1-hero-in > *, .hx-hero .wrap > * { min-width: 0; }
  .h1-art, .hx-coll, .hx-board, .hx-last { max-width: 100%; }
  .site-header, header .wrap, .nav-wrap, .navbar, .header-inner { min-width: 0; }
  .menu, .nav, .nav-links { gap: clamp(10px, 1.4vw, 18px); }
  footer .wrap, .site-footer .wrap { min-width: 0; }
}

/* REAL 1024px DESKTOP LAYOUT REPAIR
   Keep the full desktop navigation and page composition from 981px upward.
   Tablet/mobile drawer starts at 980px, matching the existing content breakpoint. */
@media (min-width: 981px) and (max-width: 1100px) {
  /* Restore the horizontal desktop header (previous max-width:1200 rules were
     incorrectly forcing the mobile drawer at 1024px). */
  header .nav,
  .auth-site-header .nav {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: calc(100% - 40px) !important;
    max-width: 1440px !important;
    min-height: 76px !important;
    height: auto !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }
  header .logo,
  .auth-site-header .logo {
    flex: 0 1 185px !important;
    width: auto !important;
    min-width: 135px !important;
    gap: 7px !important;
  }
  header .logo img,
  .auth-site-header .logo img { width: 42px !important; height: 42px !important; flex: 0 0 42px !important; }
  header .logo b,
  .auth-site-header .logo b { font-size: 19px !important; white-space: nowrap !important; }
  header .logo small,
  .auth-site-header .logo small { font-size: 8px !important; white-space: nowrap !important; }
  header .menu,
  .auth-site-header .menu {
    display: flex !important;
    position: static !important;
    inset: auto !important;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(5px, .8vw, 10px) !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    visibility: visible !important;
  }
  header .menu > a,
  .auth-site-header .menu > a,
  header .menu > .nav-dropdown > .nav-drop-trigger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 9px clamp(6px, .7vw, 10px) !important;
    border-radius: 10px !important;
    white-space: nowrap !important;
    font-size: clamp(11px, 1.08vw, 13px) !important;
    line-height: 1.2 !important;
  }
  header .menu .nav-dropdown { position: relative !important; width: auto !important; flex: 0 0 auto !important; }
  header .menu .nav-dropdown-panel {
    position: absolute !important;
    top: calc(100% + 7px) !important;
    left: 0 !important;
    right: auto !important;
    width: max-content !important;
    min-width: 185px !important;
    margin: 0 !important;
    padding: 7px !important;
    background: #fff !important;
    border: 1px solid #e5d9ef !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 35px rgba(0,0,0,.18) !important;
    z-index: 5000 !important;
  }
  header .menu .nav-dropdown.open > .nav-dropdown-panel { display: grid !important; }
  header .menu .nav-dropdown-panel a { display: flex !important; width: 100% !important; min-height: 38px !important; padding: 9px 11px !important; font-size: 12px !important; white-space: nowrap !important; }
  header .tools,
  .auth-site-header .tools { display: flex !important; flex: 0 0 auto !important; align-items: center !important; gap: 5px !important; }
  header .tools .pill,
  .auth-site-header .tools .pill { width: 35px !important; min-width: 35px !important; height: 35px !important; padding: 0 !important; flex: 0 0 35px !important; }
  header .tools .login-pill,
  .auth-site-header .tools .login-pill { display: inline-flex !important; width: auto !important; min-width: 55px !important; padding-inline: 11px !important; flex: 0 0 auto !important; }
  header .tools .burger,
  .auth-site-header .tools .burger { display: none !important; }
  header .menu .mobile-login-link,
  .auth-site-header .menu .mobile-login-link { display: none !important; }

  /* Preserve desktop section grids and alignment at 1024px; only shrink gaps
     enough to fit the viewport, without stacking the desktop composition. */
  .hero-grid, .about-hero, .contact-grid, .contact-hero, .program-grid,
  .section-grid, .about-grid, .two-col, .three-col, .history-wrap,
  .manifesto-grid, .people-heading, .people-grid, .wonder-wrap,
  .ct-hero-grid, .ct-form-grid, .ct-visit-grid, .pr-sgrid {
    min-width: 0;
    column-gap: clamp(18px, 2.6vw, 30px) !important;
  }
  .wrap { width: calc(100% - 48px) !important; max-width: 1440px !important; padding-inline: 0 !important; margin-inline: auto !important; }
  main, section, footer, .site-footer { min-width: 0; }
  footer .wrap, .site-footer .wrap { width: calc(100% - 48px) !important; }
}

/* FOOTER DESKTOP PRESERVATION — 981px to 1100px
   At 1024px keep the same four-column desktop footer as the wider desktop layout.
   Only tighten the gutters and column sizing; do not turn it into a two-column tablet footer. */
@media (min-width: 981px) and (max-width: 1100px) {
  .site-footer {
    width: 100%;
    max-width: 100%;
    overflow: visible;
  }
  .site-footer .footer-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(105px, .62fr) minmax(125px, .72fr) minmax(190px, 1fr) !important;
    gap: 22px !important;
    width: calc(100% - 48px) !important;
    max-width: 1440px !important;
    margin-inline: auto !important;
    padding: 38px 0 30px !important;
    box-sizing: border-box !important;
    align-items: start !important;
  }
  .site-footer .footer-brand,
  .site-footer .footer-links,
  .site-footer .footer-visit {
    grid-column: auto !important;
    grid-row: auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .site-footer .footer-visit { padding: 4px 0 0 !important; }
  .site-footer .footer-visit .footer-contact-details {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 11px !important;
  }
  .site-footer .footer-detail,
  .site-footer .footer-detail > span:last-child,
  .site-footer .footer-detail b,
  .site-footer .footer-detail small,
  .site-footer .footer-intro,
  .site-footer .footer-links li,
  .site-footer .footer-links li a {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }
  .site-footer .footer-brand .logo { max-width: 100% !important; gap: 6px !important; }
  .site-footer .footer-brand .logo img { height: 40px !important; max-width: 42px !important; }
  .site-footer .footer-brand .logo b { font-size: clamp(19px, 2vw, 23px) !important; }
  .site-footer .footer-intro { font-size: 12px !important; line-height: 1.7 !important; }
  .site-footer .footer-links h4,
  .site-footer .footer-visit h4 { font-size: 15px !important; }
  .site-footer .footer-links li a { font-size: 12px !important; }
  .site-footer .footer-detail b { font-size: 12px !important; }
  .site-footer .footer-bottom-inner {
    width: calc(100% - 48px) !important;
    max-width: 1440px !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
  }
  .site-footer .footer-bottom-inner nav { gap: 14px !important; }
}

/* Tablet widths below the desktop breakpoint use a deliberate two-column footer. */
@media (min-width: 721px) and (max-width: 980px) {
  .site-footer { width: 100%; max-width: 100%; overflow: hidden; }
  .site-footer .footer-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 28px 30px !important;
    width: calc(100% - 48px) !important;
    max-width: 1200px !important;
    margin-inline: auto !important;
    padding: 36px 0 30px !important;
    box-sizing: border-box !important;
    align-items: start !important;
  }
  .site-footer .footer-brand { grid-column: 1 !important; grid-row: auto !important; }
  .site-footer .footer-links:nth-of-type(2) { grid-column: 2 !important; }
  .site-footer .footer-links:nth-of-type(3) { grid-column: 1 !important; }
  .site-footer .footer-visit { grid-column: 2 !important; }
  .site-footer .footer-brand,
  .site-footer .footer-links,
  .site-footer .footer-visit { min-width: 0 !important; max-width: 100% !important; }
  .site-footer .footer-visit .footer-contact-details { grid-template-columns: minmax(0, 1fr) !important; }
  .site-footer .footer-bottom-inner { width: calc(100% - 48px) !important; margin-inline: auto !important; flex-wrap: wrap !important; }
}

/* Smaller tablets: stack the footer in a clear two-column layout. */
@media (min-width: 561px) and (max-width: 720px) {
  .site-footer { overflow: hidden; }
  .site-footer .footer-main {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 26px 22px !important;
    width: calc(100% - 44px) !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }
  .site-footer .footer-brand { grid-column: 1 / -1 !important; }
  .site-footer .footer-links:nth-of-type(2) { grid-column: 1 !important; }
  .site-footer .footer-links:nth-of-type(3) { grid-column: 2 !important; }
  .site-footer .footer-visit { grid-column: 1 / -1 !important; }
  .site-footer .footer-visit .footer-contact-details { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
}

@media (max-width: 560px) {
  .site-footer { overflow: hidden; }
  .site-footer .footer-main { width: calc(100% - 36px) !important; margin-inline: auto !important; }
  .site-footer .footer-bottom-inner { width: calc(100% - 36px) !important; margin-inline: auto !important; }
  .site-footer .footer-brand, .site-footer .footer-links, .site-footer .footer-visit { min-width: 0 !important; }
  .site-footer .footer-visit .footer-contact-details { grid-template-columns: minmax(0, 1fr) !important; }
  .site-footer .footer-detail b { overflow-wrap: anywhere !important; }
}

/* FINAL SITE-WIDE GUTTER ALIGNMENT
   Keep the same left/right content edges as the header logo and login control.
   This is deliberately a spacing-only pass; section-specific grids and visual styles remain intact. */
:root { --site-gutter: var(--g, clamp(20px, 4vw, 48px)); }
.wrap {
  box-sizing: border-box !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding-inline: var(--site-gutter) !important;
}
header .nav,
.auth-site-header .nav {
  box-sizing: border-box !important;
  padding-inline: var(--site-gutter) !important;
}
/* Footer wrappers previously used calc(100% - 48px), so their edges did not match the header. */
.site-footer .footer-main,
.site-footer .footer-bottom-inner {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: calc(1320px + 2 * var(--site-gutter)) !important;
  margin-inline: auto !important;
  padding-inline: var(--site-gutter) !important;
}
/* Preserve vertical footer spacing while making the horizontal gutters consistent. */
.site-footer .footer-main { padding-top: 38px !important; padding-bottom: 30px !important; }
.site-footer .footer-bottom-inner { padding-top: 12px !important; padding-bottom: 12px !important; }
/* Dashboard content and top bar use the same gutter scale as the public-site header. */
.ls-dashboard .dash-topbar {
  padding-inline: var(--site-gutter) !important;
}
.ls-dashboard .dash-content {
  padding-left: var(--site-gutter) !important;
  padding-right: var(--site-gutter) !important;
}
@media (max-width: 720px) {
  .site-footer .footer-main { padding-top: 34px !important; padding-bottom: 28px !important; }
  .site-footer .footer-bottom-inner { flex-wrap: wrap !important; }
}

/* HOME 1 — Find Their Role: fresh stage-callboard redesign */
.h1-quiz{position:relative;isolation:isolate;overflow:hidden;background:#f8f3fb;padding:clamp(64px,7vw,104px) 0}
.h1-quiz:before{content:"CASTING CALL";position:absolute;z-index:-1;top:30px;inset-inline-end:3vw;font:800 clamp(46px,9vw,130px)/1 'Baloo 2',sans-serif;letter-spacing:-.06em;color:#6b3fd408;white-space:nowrap;pointer-events:none}
.h1-quiz .h1-bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(220px,auto);gap:18px;align-items:stretch}
.h1-bento .intro{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);align-items:center;column-gap:44px;padding:clamp(26px,4vw,48px);border-radius:28px;color:#2c183e;background:#fff;border:1px solid #e8d9f4;box-shadow:0 18px 45px #43235c0b}
.h1-bento .intro:after{width:280px;height:280px;background:#e0529c12;filter:blur(26px);inset-inline-end:-80px;top:-100px}
.h1-bento .intro .kick{color:#7b47d6}.h1-bento .intro .h1-t{color:#2c183e;font-size:clamp(30px,4vw,48px);line-height:1.08;margin:10px 0 0}
.h1-bento .intro .h1-t em{background:linear-gradient(100deg,#a05ce0,#e0529c);-webkit-background-clip:text;background-clip:text}
.h1-bento .intro p{color:#66566f;max-width:520px;margin:0 0 18px;line-height:1.75}
.h1-bento .intro .stp{display:flex;flex-wrap:wrap;gap:8px;margin-top:0;align-self:center}
.h1-bento .intro .stp span{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;background:#f6effb;color:#554063;font-size:12px;font-weight:700}
.h1-bento .intro .stp b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#7b47d6;color:#fff;font-size:11px}
.h1-bento .rt{min-height:310px;grid-column:span 1;border-radius:22px;background:#21132f;box-shadow:0 12px 28px #2d16450b;transition:transform .35s,box-shadow .35s}
.h1-bento .rt:before{background:linear-gradient(180deg,#1b102000 10%,color-mix(in srgb,var(--c) 36%,#160b22) 48%,color-mix(in srgb,var(--c) 94%,#160b22) 100%)}
.h1-bento .rt .ph{inset:0 0 27%;opacity:.92;mask-image:linear-gradient(#000 60%,transparent 100%)}
.h1-bento .rt .ph img{filter:saturate(.88);transition:transform .8s,filter .5s}
.h1-bento .rt .tx{bottom:0;padding:20px 19px 22px}
.h1-bento .rt .tx i{width:42px;height:42px;border-radius:14px;margin-bottom:12px;font-size:22px;box-shadow:0 7px 18px #1d0a3020}
.h1-bento .rt .tx b{font-size:clamp(18px,1.6vw,22px);line-height:1.15}
.h1-bento .rt .tx small{font-size:12px;line-height:1.5;max-width:190px}
.h1-bento .rt .pk{top:13px;inset-inline-end:13px;font-size:10px;letter-spacing:.02em;background:#21132f88;border-color:#ffffff55}
.h1-bento .rt:hover{transform:translateY(-5px);box-shadow:0 20px 35px #38204720}
.h1-bento .rt:hover .ph img{filter:saturate(1.08);transform:scale(1.07)}
.h1-bento .rt.on{box-shadow:0 0 0 3px #f8f3fb,0 0 0 6px var(--c),0 20px 35px #38204720}
.h1-bento .rs{grid-column:span 2;grid-row:span 2;border-radius:26px;padding:clamp(25px,3vw,38px);background:linear-gradient(145deg,#3b1d59,#21102f 78%);box-shadow:0 20px 45px #3217481c;gap:24px}
.h1-bento .rs:before{width:340px;height:340px;top:-160px;inset-inline-end:-90px;background:#e0529c24}
.h1-bento .rs:after{width:200px;height:200px;bottom:-100px;inset-inline-start:18%;background:#7b47d624}
.h1-bento .rs .ic{width:54px;height:54px;border-radius:17px;box-shadow:none;background:#f4d7ff;color:#6b3fd4;margin-bottom:14px}
.h1-bento .rs .lab{color:#e7c9fa;font-size:10px;letter-spacing:.16em}
.h1-bento .rs .rn{font-size:clamp(31px,3vw,43px);margin:8px 0 12px}
.h1-bento .rs .rd{color:#e1d2ed;font-size:14px;max-width:420px}
.h1-bento .rs .fact{border-radius:14px;background:#ffffff12;border-color:#ffffff30;padding:12px 15px}
.h1-bento .rs .fact b{font-size:14px}
.h1-bento .rs .chips{gap:7px}
.h1-bento .rs .chips button{padding:8px 16px;font-size:13px;border-width:1px;border-color:#ffffff4a}
.h1-bento .rs .best{margin:13px 0 17px;color:#e7d9f1;font-size:13px}
.h1-bento .rs .best b{background:#ffffff1c;font-size:16px}
.h1-bento .rs .btn-gold{background:#f3c84c;color:#29133a;align-self:flex-start;border:0;box-shadow:0 8px 20px #10051d35}
.h1-bento .wide{grid-column:span 2;min-height:100%;border-radius:26px;background:#d9c3ef;color:#2c183e;overflow:hidden}
.h1-bento .wide .ph{inset:0;opacity:1}
.h1-bento .wide:before{background:linear-gradient(90deg,#21102fe8 0%,#21102f85 54%,#21102f0a 100%)}
.h1-bento .wide .tx{padding:clamp(22px,3vw,34px);max-width:560px}
.h1-bento .wide .kick{color:#f4d06c}
.h1-bento .wide h3{font-size:clamp(21px,2.5vw,31px);max-width:410px}
@media(max-width:980px){.h1-bento .intro{grid-template-columns:1fr;gap:16px}.h1-bento .rt{min-height:280px}.h1-bento .rs,.h1-bento .wide{grid-column:span 2}.h1-bento .rs{grid-row:auto}}
@media(max-width:600px){.h1-quiz{padding:56px 0}.h1-quiz:before{top:16px}.h1-bento .intro{padding:25px 22px;border-radius:22px}.h1-bento .intro .stp{gap:7px}.h1-bento .intro .stp span{font-size:11px;padding:7px 9px}.h1-bento .rt{min-height:245px;border-radius:18px}.h1-bento .rt .tx{padding:15px 13px 17px}.h1-bento .rt .tx i{width:36px;height:36px;font-size:19px}.h1-bento .rt .tx b{font-size:17px}.h1-bento .rt .tx small{font-size:11px}.h1-bento .rs{padding:25px 22px;border-radius:22px}.h1-bento .wide{min-height:230px;border-radius:22px}.h1-bento .wide:before{background:linear-gradient(0deg,#21102ff0 0%,#21102f7a 65%,#21102f05 100%)}.h1-bento .wide .tx{padding:22px}}
@media(max-width:420px){.h1-bento .rt{min-height:220px}.h1-bento .rt .pk{display:none}.h1-bento .intro .stp{display:grid;grid-template-columns:1fr}.h1-bento .wide{grid-column:1/-1}}


/* HOME LANDING — Find Their Role: immersive casting-board layout (compact, full, responsive) */
.h1-quiz{position:relative;isolation:isolate;overflow:hidden;background:#f3edf9;padding:clamp(44px,5vw,70px) 0 58px}
.h1-quiz:before{content:"CASTING / 01";position:absolute;z-index:-1;inset-inline-start:2.8vw;top:18px;font:800 clamp(36px,7vw,88px)/1 'Baloo 2',sans-serif;letter-spacing:-.055em;color:#4b23600a;white-space:nowrap;pointer-events:none}
.h1-quiz .wrap{position:relative}
.h1-quiz .h1-bento{display:grid;grid-template-columns:minmax(190px,.82fr) minmax(0,1fr) minmax(0,1fr) minmax(245px,1.08fr);grid-template-rows:minmax(205px,1fr) minmax(205px,1fr) 142px;gap:14px;align-items:stretch}
.h1-bento .intro{grid-column:1;grid-row:1/3;min-height:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:clamp(22px,2.2vw,32px);border-radius:24px;color:#fff;background:linear-gradient(150deg,#2d1544 0%,#512c70 58%,#6f3b89 100%);border:0;box-shadow:0 18px 38px #2d154426;overflow:hidden}
.h1-bento .intro:before{content:"";position:absolute;width:210px;height:210px;inset-inline-end:-110px;top:-95px;border:1px solid #ffffff2c;border-radius:50%;box-shadow:0 0 0 22px #ffffff08,0 0 0 44px #ffffff06}
.h1-bento .intro:after{width:150px;height:150px;inset-inline-end:-68px;top:auto;bottom:-80px;background:#e0529c38;filter:blur(20px)}
.h1-bento .intro .kick{position:relative;color:#f5d16c;font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.h1-bento .intro .h1-t{position:relative;color:#fff;font-size:clamp(28px,2.7vw,39px);line-height:1.04;letter-spacing:-.035em;margin:14px 0 15px}
.h1-bento .intro .h1-t em{display:block;color:#f5d16c;background:none;-webkit-text-fill-color:currentColor}
.h1-bento .intro p{position:relative;color:#e7d9ef;font-size:13px;line-height:1.75;margin:0 0 22px;max-width:300px}
.h1-bento .intro .stp{position:relative;display:grid;gap:8px;width:100%;margin:0}
.h1-bento .intro .stp span{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:10px;background:#ffffff10;border:1px solid #ffffff20;color:#f7eefc;font-size:11px;font-weight:700}
.h1-bento .intro .stp b{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border-radius:7px;background:#f5d16c;color:#2d1544;font-size:11px}
.h1-bento .rt{grid-column:auto;grid-row:auto;min-width:0;min-height:0;height:100%;border-radius:20px;background:#21132f;box-shadow:0 10px 24px #2d16450d;transition:transform .3s,box-shadow .3s;isolation:isolate}
.h1-bento .rt-s{grid-column:2;grid-row:1}.h1-bento .rt-c{grid-column:3;grid-row:1}.h1-bento .rt-p{grid-column:2;grid-row:2}.h1-bento .rt-l{grid-column:3;grid-row:2}
.h1-bento .rt:before{background:linear-gradient(180deg,#170b2200 5%,#21102f2e 40%,#21102fe8 100%)}
.h1-bento .rt .ph{inset:0;opacity:1;mask-image:none;z-index:-1}
.h1-bento .rt .ph:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#170b2200 20%,#170b226e 62%,#170b22f5 100%)}
.h1-bento .rt .ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:transform .65s,filter .4s}
.h1-bento .rt .tx{bottom:0;left:0;right:0;padding:18px 17px 17px;display:flex;flex-direction:column;align-items:flex-start}
.h1-bento .rt .tx i{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;margin:0 0 10px;font-size:19px;background:var(--c);color:#fff;box-shadow:0 7px 17px #10051d30}
.h1-bento .rt .tx b{font-size:clamp(16px,1.35vw,20px);line-height:1.15;color:#fff;letter-spacing:-.02em}
.h1-bento .rt .tx small{font-size:11px;line-height:1.5;color:#eee2f6;margin-top:5px;max-width:190px}
.h1-bento .rt .pk{top:11px;inset-inline-end:11px;font-size:9px;letter-spacing:.04em;padding:6px 8px;border-radius:99px;background:#20102f99;border:1px solid #ffffff44;color:#fff}
.h1-bento .rt:hover{transform:translateY(-4px);box-shadow:0 18px 30px #38204722}
.h1-bento .rt:hover .ph img{filter:saturate(1.12);transform:scale(1.07)}
.h1-bento .rt.on{box-shadow:0 0 0 3px #f3edf9,0 0 0 6px var(--c),0 16px 28px #38204724}
.h1-bento .rs{grid-column:4;grid-row:1/3;min-height:0;border-radius:24px;padding:clamp(22px,2.2vw,31px);background:linear-gradient(150deg,#45215f,#251034 86%);box-shadow:0 18px 38px #32174824;gap:15px;justify-content:space-between}
.h1-bento .rs:before{width:230px;height:230px;top:-115px;inset-inline-end:-75px;background:#e0529c26}
.h1-bento .rs:after{width:150px;height:150px;bottom:-75px;inset-inline-start:10%;background:#7b47d62b}
.h1-bento .rs .ic{width:44px;height:44px;border-radius:13px;background:#f5d16c;color:#321641;margin-bottom:12px;font-size:22px}
.h1-bento .rs .lab{color:#f5d16c;font-size:9px;letter-spacing:.15em}
.h1-bento .rs .rn{font-size:clamp(25px,2.3vw,34px);line-height:1.08;margin:7px 0 10px;letter-spacing:-.03em}
.h1-bento .rs .rd{font-size:12px;line-height:1.65;color:#e7d8f1;max-width:340px}
.h1-bento .rs .fact{border-radius:12px;background:#ffffff12;border:1px solid #ffffff26;padding:10px 12px}
.h1-bento .rs .fact small{font-size:10px;color:#e6d4f2}
.h1-bento .rs .fact b{font-size:12px;line-height:1.45;display:block;margin-top:3px}
.h1-bento .rs .bot>small{font-size:11px;color:#e7d8f1;display:block;margin-bottom:8px}
.h1-bento .rs .chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.h1-bento .rs .chips button{padding:8px 6px;font-size:11px;border:1px solid #ffffff4a;border-radius:9px;color:#fff;background:#ffffff09}
.h1-bento .rs .chips button.on{background:#f5d16c;color:#2d1544;border-color:#f5d16c;transform:none}
.h1-bento .rs .best{display:grid;gap:4px;margin:12px 0;color:#e7d8f1;font-size:11px}
.h1-bento .rs .best b{display:block;width:fit-content;max-width:100%;background:#ffffff18;border-radius:9px;font-size:13px;padding:5px 9px;line-height:1.35}
.h1-bento .rs .btn-gold{align-self:stretch;justify-content:center;min-height:43px;padding:10px 13px;background:#f5d16c;color:#2d1544;border:0;box-shadow:0 8px 20px #10051d35;font-size:12px}
.h1-bento .wide{grid-column:1/-1;grid-row:3;min-height:0;height:142px;border-radius:20px;background:#21132f;color:#fff;overflow:hidden;display:flex;align-items:center}
.h1-bento .wide .ph{inset:0;opacity:1}
.h1-bento .wide .ph img{width:100%;height:100%;object-fit:cover;object-position:center 43%;transition:transform .8s}
.h1-bento .wide:before{background:linear-gradient(90deg,#21102ff5 0%,#21102fbd 45%,#21102f14 100%)}
.h1-bento .wide .tx{position:relative;z-index:2;padding:20px clamp(22px,3vw,38px);max-width:700px}
.h1-bento .wide .kick{font-size:10px;color:#f5d16c;letter-spacing:.14em;text-transform:uppercase}
.h1-bento .wide h3{font-size:clamp(19px,2vw,26px);line-height:1.15;max-width:580px;margin-top:7px;color:#fff}
.h1-bento .wide:hover .ph img{transform:scale(1.035)}
@media(max-width:1100px){.h1-quiz .h1-bento{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:12px}.h1-bento .intro{grid-column:1;grid-row:1/3;min-height:440px}.h1-bento .rt-s{grid-column:2;grid-row:1}.h1-bento .rt-c{grid-column:3;grid-row:1}.h1-bento .rt-p{grid-column:2;grid-row:2}.h1-bento .rt-l{grid-column:3;grid-row:2}.h1-bento .rs{grid-column:1/-1;grid-row:3;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.9fr);align-items:center;gap:24px}.h1-bento .rs .swap{min-width:0}.h1-bento .rs .bot{min-width:0}.h1-bento .rs .chips{grid-template-columns:repeat(4,minmax(0,1fr))}.h1-bento .rs .best{display:flex;align-items:center;gap:10px}.h1-bento .rs .btn-gold{align-self:flex-start}.h1-bento .wide{grid-row:4}}
@media(max-width:700px){.h1-quiz{padding:44px 0}.h1-quiz:before{top:9px;inset-inline-start:4vw;font-size:42px}.h1-quiz .h1-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.h1-bento .intro{grid-column:1/-1;grid-row:1;min-height:0;padding:25px 22px}.h1-bento .intro .h1-t{font-size:34px;max-width:450px}.h1-bento .intro .h1-t em{display:inline}.h1-bento .intro p{max-width:560px;margin-bottom:17px}.h1-bento .intro .stp{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.h1-bento .intro .stp span{padding:7px 8px;font-size:10px;gap:6px}.h1-bento .intro .stp b{width:21px;height:21px;flex-basis:21px}.h1-bento .rt-s{grid-column:1;grid-row:2}.h1-bento .rt-c{grid-column:2;grid-row:2}.h1-bento .rt-p{grid-column:1;grid-row:3}.h1-bento .rt-l{grid-column:2;grid-row:3}.h1-bento .rt{min-height:245px}.h1-bento .rt .tx{padding:15px 13px}.h1-bento .rt .tx b{font-size:16px}.h1-bento .rt .tx small{font-size:11px}.h1-bento .rt .pk{font-size:9px}.h1-bento .rs{grid-column:1/-1;grid-row:4;display:flex;padding:24px 21px;gap:18px}.h1-bento .rs .rn{font-size:29px}.h1-bento .rs .chips{grid-template-columns:repeat(4,minmax(0,1fr))}.h1-bento .rs .chips button{font-size:10px;padding:8px 3px}.h1-bento .rs .best{display:flex;flex-wrap:wrap}.h1-bento .rs .btn-gold{align-self:stretch}.h1-bento .wide{grid-column:1/-1;grid-row:5;height:160px}.h1-bento .wide:before{background:linear-gradient(0deg,#21102ff2 0%,#21102f80 72%,#21102f08 100%)}.h1-bento .wide .tx{padding:22px}.h1-bento .wide h3{font-size:22px}}
@media(max-width:420px){.h1-bento .intro{padding:23px 18px}.h1-bento .intro .h1-t{font-size:30px}.h1-bento .intro .stp{grid-template-columns:1fr}.h1-bento .intro .stp span{font-size:11px}.h1-bento .rt{min-height:220px}.h1-bento .rt .tx i{width:31px;height:31px;font-size:17px;margin-bottom:8px}.h1-bento .rt .tx b{font-size:15px}.h1-bento .rt .tx small{font-size:10px}.h1-bento .rt .pk{display:none}.h1-bento .rs{padding:22px 18px}.h1-bento .rs .chips{grid-template-columns:repeat(2,minmax(0,1fr))}.h1-bento .rs .chips button{font-size:11px}.h1-bento .wide{height:170px}}
@media(prefers-reduced-motion:reduce){.h1-bento .rt,.h1-bento .rt .ph img,.h1-bento .wide .ph img{transition:none}}

/* User-requested image fit and About values-card readability fixes */
.faces span{background-size:cover!important;background-position:center 35%!important;background-repeat:no-repeat!important;display:block;flex:0 0 44px;min-width:44px;min-height:44px}
.h1-upcoming-main img,.h1-upcoming-small img{object-fit:cover;object-position:center 35%}
.h1-poster .ph img,.h1-step .ph img,.h1-ap .ph img,.h1-bento .ph img{object-fit:cover;object-position:center 38%}
.belief{isolation:isolate}
.belief .belief-art{position:relative;z-index:1;flex:0 0 82px;margin:30px 0 20px;background:transparent}
.belief .art-sun{position:relative!important;inset:auto!important;width:82px!important;height:82px!important;border:1px solid #4d315e55!important;background:transparent!important;box-shadow:none!important;border-radius:50%!important;display:grid;place-items:center;font-size:38px!important;color:#482461!important}
.belief h3,.belief p,.belief-index,.belief-bottom{position:relative;z-index:2}
.belief h3{color:#2b1740!important;text-shadow:none!important}
.belief p{color:#493653!important;font-size:12px;line-height:1.75}
.belief-yellow h3{color:#38234c!important}
@media(max-width:600px){.belief .belief-art{flex-basis:65px;margin:22px 0 15px}.belief .art-sun{width:65px!important;height:65px!important;font-size:31px!important}.faces span{flex-basis:40px;min-width:40px;min-height:40px;width:40px;height:40px}}
/* Home 1 image-fit and dashboard thumbnail repair */
.h1-dash .thumbs span{display:block;min-width:0;background-color:#f1e7fb;background-position:center;background-repeat:no-repeat;background-size:cover;overflow:hidden}
.h1-dash .thumbs span:nth-child(2){background-image:url('../images/home-workshop-session.png') !important;background-position:center 35%}
.h1-upcoming-main img,.h1-upcoming-small img,.h1-wall .ph img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.h1-poster .ph img,.h1-step .ph img,.h1-ap .ph img,.h1-bento .ph img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
@media(max-width:600px){.h1-dash .thumbs span{height:64px}.h1-upcoming-main img{object-position:center 30%}}


/* Final image placement pass: distinct local Home 1 thumbnails and less aggressive show-photo crops */
.h1-dash .thumbs span{background-size:cover!important;background-position:center 35%!important;background-repeat:no-repeat!important}
.h1-dash .thumbs span:nth-child(1){background-image:url('../images/home-stage-ready.png')!important}
.h1-dash .thumbs span:nth-child(2){background-image:url('../images/home-workshop-session.png')!important}
.h1-dash .thumbs span:nth-child(3){background-image:url('../images/home-workshop-smiles.png')!important}
.up-img img,.up-g img,.up-photo-main img,.up-photo-sm img{object-fit:cover;transform-origin:center;max-width:100%}
.up-show:hover .up-img img{transform:scale(1.025)}
.up-photo-main img{object-position:center 28%;transform:scale(1.01)}
.up-photo-sm img{object-position:center 35%}
.up-g.g1 img{object-position:center 38%}
.up-g.g2 img{object-position:center 42%}
.up-g.g3 img{object-position:center 38%}
.up-g.g4 img{object-position:center 42%}
.up-g.g5 img{object-position:center 35%}
.up-g.g6 img{object-position:center 42%}
@media(max-width:600px){.up-photo-main img{object-position:center 30%}.up-img img{object-position:center 35%}.up-g img{object-position:center 40%}}

/* Past-show gallery: show the complete photograph without cutting off performers. */
.up-g img{object-fit:contain!important;object-position:center!important;background:#1d0d2d;transform:none!important;}
.up-g:hover img,.up-g:focus-within img{transform:none!important;}



/* === RESPONSIVE REPAIR PASS: all pages + Programs age explorer === */
html, body { max-width:100%; overflow-x:clip; }
*, *::before, *::after { box-sizing:border-box; }
img, video, iframe, svg { max-width:100%; }
img { height:auto; }
button, input, select, textarea { max-width:100%; }
p, h1, h2, h3, h4, li, a, label, small, span { overflow-wrap:anywhere; }
.wrap, .container, .section-inner { width:min(100% - 40px, 1240px); margin-inline:auto; }
.pr-explore { display:grid !important; grid-template-columns:minmax(190px, .72fr) minmax(0, 1.8fr) !important; align-items:start; gap:clamp(14px,2.5vw,32px); width:100%; }
.pr-index { min-width:0; }
.pr-index button { min-width:0; max-width:100%; }
.pr-stage, .pr-panel, .pr-pbody, .pr-pphoto { min-width:0; width:100%; }
.pr-panel { display:grid; grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr); align-items:stretch; gap:clamp(16px,2.5vw,30px); }
.pr-pphoto { max-width:none; min-width:0; overflow:hidden; border-radius:clamp(16px,2vw,28px); }
.pr-pphoto img { display:block; width:100%; height:100%; min-height:260px; object-fit:cover; }
.pr-pbody { padding:clamp(16px,2.2vw,30px); }
.pr-pbody h3 { font-size:clamp(22px,2.2vw,34px); line-height:1.15; }
.pr-pbody p { line-height:1.65; }
.pr-learn { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 14px; }
.pr-learn li { min-width:0; align-items:flex-start; line-height:1.45; }
.pr-facts div { min-width:0; padding:8px 14px; }
.pr-explore > *, .pr-panel > * { min-width:0; }
@media (max-width:1100px) {
  .wrap, .container, .section-inner { width:min(100% - 32px, 1000px); }
  .pr-explore { grid-template-columns:minmax(150px,.65fr) minmax(0,1.7fr) !important; gap:16px; }
  .pr-panel { grid-template-columns:minmax(0, .8fr) minmax(0,1.2fr); gap:16px; }
  .pr-pbody { padding:18px; }
  .pr-learn { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .wrap, .container, .section-inner { width:calc(100% - 28px); }
  .pr-explore { grid-template-columns:minmax(0,1fr) !important; gap:14px; }
  .pr-index { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; }
  .pr-index button { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; padding:11px 12px !important; border-radius:12px !important; text-align:start; white-space:normal; }
  .pr-index button span { min-width:0; line-height:1.25; }
  .pr-index button small { flex:none; }
  .pr-panel { grid-template-columns:minmax(0,1fr) !important; gap:0; overflow:hidden; }
  .pr-pphoto { max-width:none; width:100%; max-height:300px; }
  .pr-pphoto img { height:clamp(190px,45vw,300px); min-height:0; }
  .pr-pbody { padding:clamp(16px,4vw,24px); }
  .pr-learn { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:420px) {
  .wrap, .container, .section-inner { width:calc(100% - 22px); }
  .pr-index { grid-template-columns:minmax(0,1fr); }
  .pr-index button { padding:10px 12px !important; }
  .pr-learn { grid-template-columns:minmax(0,1fr); gap:10px; }
  .pr-pbody { padding:15px; }
  .pr-facts { gap:8px; }
  .pr-facts div { border-inline-start:0; padding:5px 10px 5px 0; }
  .pr-pphoto img { height:210px; }
}
@media (max-width:340px) {
  .pr-index button { font-size:13px; }
  .pr-pbody h3 { font-size:22px; }
  .pr-learn li { font-size:13px; }
}

/* FINAL FIX — Programs compare skills at narrow phone widths (320px–380px) */
@media screen and (max-width: 380px) {
  .pr-cmpsec .wrap { width: calc(100% - 24px) !important; max-width: 100% !important; }
  .pr-cmpsec .pr-lad { width: 100%; min-width: 0; padding: 9px !important; box-sizing: border-box; }
  .pr-cmpsec .pr-lad-body { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; min-width: 0; }
  .pr-cmpsec .pr-read,
  .pr-cmpsec .pr-shots,
  .pr-cmpsec .pr-skills { grid-column: 1 / -1 !important; width: 100%; min-width: 0 !important; box-sizing: border-box; }
  .pr-cmpsec .pr-track { grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important; min-width: 0; }
  .pr-cmpsec .pr-node { width: 100%; min-width: 0; box-sizing: border-box; }
  .pr-cmpsec .pr-skills { display: block !important; padding: 8px 10px !important; overflow: hidden; }
  .pr-cmpsec .pr-skills li {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) 20px !important;
    align-items: start !important;
    gap: 8px !important;
    width: 100%; min-width: 0; box-sizing: border-box;
    padding: 13px 2px !important;
    overflow: visible;
  }
  .pr-cmpsec .pr-skills li > div { display: block; width: 100%; min-width: 0 !important; }
  .pr-cmpsec .pr-skills b,
  .pr-cmpsec .pr-skills small {
    display: block; width: 100%; max-width: 100%; min-width: 0;
    white-space: normal !important; word-break: normal !important;
    overflow-wrap: break-word !important; hyphens: auto;
  }
  .pr-cmpsec .pr-skills b { font-size: 13px !important; line-height: 1.45 !important; }
  .pr-cmpsec .pr-skills small { font-size: 12px !important; line-height: 1.55 !important; }
  .pr-cmpsec .pr-skills .pr-ic { width: 36px !important; height: 36px !important; }
  .pr-cmpsec .pr-skills .pr-st { width: 20px !important; height: 20px !important; }
  .pr-cmpsec .pr-skills .pr-new { right: 28px !important; top: 6px !important; }
}
@media screen and (min-width: 381px) and (max-width: 680px) {
  .pr-cmpsec .pr-skills li { grid-template-columns: 38px minmax(0, 1fr) 22px !important; min-width: 0; }
  .pr-cmpsec .pr-skills li > div { min-width: 0 !important; }
  .pr-cmpsec .pr-skills b,
  .pr-cmpsec .pr-skills small { word-break: normal !important; overflow-wrap: break-word !important; }
}


/* HARD FIX — 320px skill list: give the text the full available width */
@media screen and (max-width: 390px) {
  .pr-cmpsec .pr-lad-body { display:grid !important; grid-template-columns:minmax(0,1fr) !important; width:100% !important; }
  .pr-cmpsec .pr-skills { display:flex !important; flex-direction:column !important; width:100% !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box !important; padding:8px 12px !important; overflow:visible !important; }
  .pr-cmpsec .pr-skills:before { display:block !important; width:100% !important; box-sizing:border-box !important; }
  .pr-cmpsec .pr-skills > li, .pr-cmpsec .pr-skills > li.on { display:grid !important; position:relative !important; grid-template-columns:36px minmax(0,1fr) !important; grid-template-rows:auto auto !important; column-gap:10px !important; align-items:start !important; width:100% !important; min-width:0 !important; max-width:100% !important; box-sizing:border-box !important; padding:13px 28px 13px 2px !important; overflow:visible !important; }
  .pr-cmpsec .pr-skills > li > .pr-ic { grid-column:1 !important; grid-row:1 / span 2 !important; width:36px !important; height:36px !important; min-width:36px !important; }
  .pr-cmpsec .pr-skills > li > div { grid-column:2 !important; grid-row:1 / span 2 !important; display:block !important; width:auto !important; min-width:0 !important; max-width:100% !important; }
  .pr-cmpsec .pr-skills > li b, .pr-cmpsec .pr-skills > li small { display:block !important; width:auto !important; min-width:0 !important; max-width:100% !important; white-space:normal !important; word-break:normal !important; overflow-wrap:break-word !important; hyphens:none !important; }
  .pr-cmpsec .pr-skills > li b { font-size:13px !important; line-height:1.45 !important; }
  .pr-cmpsec .pr-skills > li small { font-size:12px !important; line-height:1.55 !important; }
  .pr-cmpsec .pr-skills > li .pr-new { position:absolute !important; top:10px !important; right:30px !important; }
  .pr-cmpsec .pr-skills > li .pr-st { position:absolute !important; top:9px !important; right:4px !important; }
}

/* ==========================================================
   FINAL TABLET RESPONSIVE REPAIR — 521px to 820px
   Upcoming Shows: prevent split pricing/layout and horizontal crop.
   Programs: keep comparison panels fully inside the viewport.
   ========================================================== */
@media screen and (min-width: 521px) and (max-width: 820px) {
  html, body { max-width:100%; overflow-x:clip; }
  .up, .up * { box-sizing:border-box; min-width:0; }
  .up .wrap { width:100%; max-width:100%; padding-inline:clamp(18px,3.2vw,28px); }
  .up .up-hero-in { grid-template-columns:minmax(0,1fr) !important; gap:28px; }
  .up .up-head { grid-template-columns:minmax(0,1fr) !important; gap:12px; }
  .up .up-plan { grid-template-columns:minmax(0,1fr) !important; gap:18px; }
  .up .up-cals { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .up .up-cal { min-width:0; overflow:hidden; }
  .up .up-cal h3, .up .up-cal p, .up .up-cal small { overflow-wrap:anywhere; }
  .up .up-price { grid-template-columns:44px minmax(0,1fr) auto; gap:10px; }
  .up .up-price h4, .up .up-price p { min-width:0; overflow-wrap:anywhere; }
  .up .up-bento { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .up .up-bento > *, .up .up-g.g5, .up .up-g.g6 { grid-column:span 1; min-width:0; }
  .up .up-g.g5, .up .up-g.g6 { grid-column:span 1; }
  .up .up-gal { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .up .up-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .up .up-form { width:100%; max-width:100%; }
  .up .up-form input { flex:1 1 180px; min-width:0; }
  .up img { max-width:100%; }

  .pr-cmpsec { overflow:clip; }
  .pr-cmpsec .wrap { width:100% !important; max-width:100% !important; padding-inline:clamp(16px,3vw,26px) !important; }
  .pr-cmpsec .pr-lad { width:100%; max-width:100%; padding:clamp(14px,2.5vw,24px); }
  .pr-cmpsec .pr-lad-body { grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:16px !important; }
  .pr-cmpsec .pr-read { min-width:0; padding:18px; }
  .pr-cmpsec .pr-shots { min-width:0; min-height:360px; }
  .pr-cmpsec .pr-skills { grid-column:1/-1; width:100%; min-width:0; overflow:visible; }
  .pr-cmpsec .pr-skills li { grid-template-columns:42px minmax(0,1fr) 26px !important; min-width:0; }
  .pr-cmpsec .pr-skills li > div { min-width:0; }
  .pr-cmpsec .pr-skills b, .pr-cmpsec .pr-skills small { white-space:normal; overflow-wrap:anywhere; word-break:normal; }
}
@media screen and (max-width: 520px) {
  .up .up-price { min-width:0; }
  .pr-cmpsec .pr-lad, .pr-cmpsec .pr-lad-body, .pr-cmpsec .pr-skills { max-width:100%; min-width:0; }
  .pr-cmpsec .pr-skills li { max-width:100%; }
}


/* ===== Responsive fixes (tablet 768px + small phone 320px) ===== */

/* Upcoming shows: venue + first-time cards were squeezed side by side on tablets.
   Give each full width below 1100px and keep the 12-col bento valid on smaller grids. */
@media (max-width:1100px){
  .up .up-venue,.up .up-pol{grid-column:1/-1}
  .up .up-vc{padding:clamp(22px,3.5vw,32px)}
  .up .up-vc .up-btn{white-space:normal;text-align:center;max-width:100%}
}
@media (max-width:620px){
  .up .up-venue{grid-template-columns:minmax(0,1fr)}
  .up .up-map{min-height:190px}
}

/* Programs dashboard preview cards: never crop content (was fixed 232px + overflow hidden) */
.pd-a .pd-view,.pd-b .pd-view{height:auto;min-height:232px}
.pd-row>div{min-width:0}
.pd-row b,.pd-row small{overflow-wrap:break-word}
.pd-steps li{overflow-wrap:normal;word-break:normal;hyphens:none;min-width:0}
@media (max-width:620px){
  .pd-c .pd-view{height:auto;min-height:0;aspect-ratio:4/3}
}
@media (max-width:420px){
  .pd-card{padding:10px 10px 18px}
  .pd-view{padding:12px}
  .pd-row{grid-template-columns:44px minmax(0,1fr);gap:4px 10px;padding:10px}
  .pd-row .pd-day{grid-row:1/span 2;width:44px}
  .pd-row .pd-pill{grid-column:2;justify-self:start;font-size:11.5px;padding:5px 12px}
  .pd-seats{flex-wrap:wrap;row-gap:6px}
  .pd-seats small{flex-basis:100%;margin-inline-start:0}
  /* 4 step labels in 4 tiny columns broke words mid-word -> 2x2 grid */
  .pd-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-steps li{font-size:11.5px;padding:8px 4px}
  .pd-next b{font-size:14px}
  .pd-txt{padding:0 4px;gap:12px}
  .pd-ic{width:40px;height:40px}
}

/* Programs session tickets: stop day/length badge clipping inside the stub on very small phones */
@media (max-width:400px){
  .pr-sc{--stub:84px}
  .pr-tk-stub{padding:16px 8px 12px;min-width:0}
  .pr-day{font-size:29px;letter-spacing:-.02em;max-width:100%}
  .pr-len{font-size:10.5px;padding:3px 8px;white-space:nowrap}
  .pr-admit{font-size:12.5px}
  .pr-tk-body{padding:14px 12px 14px 14px;min-width:0}
  .pr-tk-body h3,.pr-tk-body b{overflow-wrap:anywhere}
}

/* "Most loved" ribbon removed */
.up-ribbon{display:none!important}

/* ===== Programs "Explore by age": clean tablet layout (tabs on top, photo beside text) ===== */
@media (max-width:1100px){
  .pr-explore{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
  .pr-index{position:static!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px!important;width:100%;border:0!important}
  .pr-index button{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 8px;width:100%;min-height:54px;padding:10px 12px!important;border:1.5px solid var(--line)!important;border-radius:16px!important;text-align:center;white-space:normal}
  .pr-index button b,.pr-index button:after{display:none!important}
  .pr-index button span{font-size:16px;line-height:1.2;min-width:0}
  .pr-index button small{flex:none}
  .pr-index button[aria-selected=true]{background:var(--c);border-color:var(--c)!important;color:#2b1740}
  .pr-panel{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;align-items:start!important;gap:clamp(18px,3vw,32px)!important}
  .pr-pphoto{aspect-ratio:4/5;max-width:340px;width:100%;align-self:start;overflow:hidden}
  .pr-pphoto img{height:100%!important;min-height:0!important}
  .pr-pbody{padding:6px 0 0!important}
  .pr-learn{grid-template-columns:1fr!important}
  /* facts: tidy 2x2 grid instead of ragged wrapping with stray borders */
  .pr-facts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px!important}
  .pr-facts div,.pr-facts div:first-child{padding:0 0 0 14px!important;border:0!important;border-inline-start:3px solid var(--c)!important}
}
@media (max-width:760px){
  .pr-index{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pr-panel{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
  .pr-pphoto{max-width:none!important;aspect-ratio:4/3;max-height:none!important}
  .pr-learn{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:480px){
  .pr-learn{grid-template-columns:minmax(0,1fr)!important}
  .pr-pphoto{aspect-ratio:4/3}
  .pr-facts{gap:12px 14px!important}
}

/* ===== Header: fit logo + tool buttons on very small phones (no overlap) ===== */
@media (max-width:420px){
  header .wrap.nav,header .nav{gap:8px!important;padding-inline:14px!important}
  header .logo{gap:6px;flex:1 1 0;min-width:0;overflow:hidden}
  header .logo img{width:36px!important;height:34px!important;flex:none}
  header .logo span{min-width:0;overflow:hidden}
  header .logo b{font-size:18px!important;line-height:1.05}
  header .logo small{font-size:7.5px!important;letter-spacing:0!important;line-height:1.2;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  header .tools{flex:none;gap:4px!important}
  header .tools .pill{width:32px!important;height:32px!important;min-width:32px!important}
  header .tools .pill svg{width:16px;height:16px}
}
@media (max-width:350px){
  header .wrap.nav,header .nav{gap:6px!important;padding-inline:10px!important}
  header .logo img{width:30px!important;height:30px!important}
  header .logo b{font-size:16.5px!important}
  header .logo small{font-size:6.8px!important}
  header .tools{gap:3px!important}
  header .tools .pill{width:30px!important;height:30px!important;min-width:30px!important}
}

/* ===== About page: dark-mode readability (hero heading accent, "The story so far", eyebrows) ===== */
body.dark .hero-copy h1 em,
body.dark .beliefs-heading h2 em,
body.dark .voices-heading h2 em,
body.dark .people-heading h2 em,
body.dark .history-title h2 em{color:#d8a6ff!important}
body.dark .eyebrow,
body.dark .chapter-num{color:#e4c4fb!important}
body.dark .under-link{color:#ffc83d!important}
body.dark .under-link svg{color:#ffc83d!important;stroke:currentColor}
body.dark .under-link:hover{color:#ffe08a!important}
body.dark .floating-note small{color:#d8c6e8!important}
/* "Parent…" captions sit on pale yellow/pink notes even in dark mode -> keep them dark */
body.dark .voice-by small{color:#5a4a6b!important}
body.dark .voice-author small{color:#e2d0f1!important}

/* ==========================================================================
   DASHBOARDS (parent + admin) — 320px responsive fixes
   ========================================================================== */
@media (max-width: 380px) {
  /* Top bar: never clip the icons, let the title shrink instead */
  .ls-dashboard .dash-topbar { gap: 6px !important; }
  .ls-dashboard .topbar-start { flex: 1 1 auto !important; min-width: 0 !important; }
  .ls-dashboard .topbar-start > div { min-width: 0 !important; }
  .ls-dashboard .topbar-start h1 { overflow: hidden !important; text-overflow: ellipsis !important; max-width: 100% !important; }
  .ls-dashboard .topbar-end { flex: 0 0 auto !important; }
  .ls-dashboard .mobile-dash-toggle { flex: 0 0 36px !important; width: 36px !important; height: 36px !important; min-width: 36px !important; }

  /* Enrollment requests: stack into a tidy card instead of a 4-column squeeze */
  .ls-dashboard .request-row {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    grid-template-areas: "avatar person" ". status" "actions actions" !important;
    column-gap: 11px !important;
    row-gap: 10px !important;
    align-items: start !important;
    padding: 14px !important;
  }
  .ls-dashboard .request-row > .person-avatar { grid-area: avatar; width: 38px !important; height: 38px !important; flex: none !important; }
  .ls-dashboard .request-row > .request-person { grid-area: person; width: auto !important; min-width: 0 !important; }
  .ls-dashboard .request-row > .status-pill { grid-area: status; justify-self: start; margin: 0 !important; white-space: nowrap !important; }
  .ls-dashboard .request-row > .request-actions { grid-area: actions; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin: 0 !important; }
  .ls-dashboard .request-actions button { width: 100% !important; min-height: 38px !important; }
  .ls-dashboard .request-person b { font-size: 14px !important; line-height: 1.3 !important; }
  .ls-dashboard .request-person small {
    font-size: 12px !important; line-height: 1.5 !important; margin-top: 3px !important;
    overflow-wrap: break-word !important; word-break: normal !important; hyphens: auto;
  }
  .ls-dashboard .request-date { font-size: 11px !important; margin-top: 5px !important; overflow-wrap: break-word !important; }

  /* Pills, badges and small buttons should not wrap into two lines */
  .ls-dashboard .status-pill,
  .ls-dashboard .unread-badge,
  .ls-dashboard .workshop-tag,
  .ls-dashboard .mini-label { white-space: nowrap !important; overflow-wrap: normal !important; }
  .ls-dashboard .section-title-row .unread-badge { display: inline-flex; margin-top: 6px; }
  .ls-dashboard .dash-outline,
  .ls-dashboard .dash-primary { white-space: nowrap; }

  /* Updates / announcements list: give the text more room */
  .ls-dashboard .updates-card { padding: 0 14px !important; }
  .ls-dashboard .update-item { gap: 10px !important; align-items: flex-start !important; }
  .ls-dashboard .update-item p { overflow-wrap: break-word !important; }
}

/* Very narrow phones (≤ 340px) */
@media (max-width: 340px) {
  .ls-dashboard .dash-topbar { padding-inline: 8px !important; }
  .ls-dashboard .topbar-start h1 { font-size: 15px !important; }
  .ls-dashboard .dash-topbar .rtl-toggle,
  .ls-dashboard .dash-topbar #dashThemeToggle { width: 30px !important; height: 30px !important; min-width: 30px !important; flex-basis: 30px !important; font-size: 16px !important; }
  .ls-dashboard .dash-topbar .dash-notify { width: 30px !important; height: 30px !important; min-width: 30px !important; flex-basis: 30px !important; }
  .ls-dashboard .mobile-dash-toggle { flex-basis: 34px !important; width: 34px !important; height: 34px !important; min-width: 34px !important; }
}

/* ==========================================================================
   HEADER DROPDOWNS — 981px to 1100px (desktop nav kept at 1024px)
   The ≤1200px mobile-menu rules made the OPEN panel position:static, which
   pushed the triggers up and stretched the header. Keep the panel floating
   under its trigger, exactly like the wider desktop layout.
   ========================================================================== */
@media (min-width: 981px) and (max-width: 1100px) {
  header .menu .nav-dropdown,
  .auth-site-header .menu .nav-dropdown { position: relative !important; width: auto !important; padding-bottom: 0 !important; }
  header .menu .nav-dropdown > .nav-drop-trigger,
  .auth-site-header .menu .nav-dropdown > .nav-drop-trigger { width: auto !important; justify-content: center !important; }
  header .menu .nav-dropdown > .nav-dropdown-panel,
  header .menu .nav-dropdown.open > .nav-dropdown-panel,
  .auth-site-header .menu .nav-dropdown > .nav-dropdown-panel,
  .auth-site-header .menu .nav-dropdown.open > .nav-dropdown-panel {
    position: absolute !important;
    top: calc(100% + 7px) !important;
    left: 0 !important;
    right: auto !important;
    width: max-content !important;
    min-width: 185px !important;
    margin: 0 !important;
    padding: 7px !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 35px rgba(0,0,0,.18) !important;
    z-index: 5000 !important;
  }
  header .menu .nav-dropdown:not(.open) > .nav-dropdown-panel,
  .auth-site-header .menu .nav-dropdown:not(.open) > .nav-dropdown-panel { display: none !important; }
  header .menu .nav-dropdown.open > .nav-dropdown-panel,
  .auth-site-header .menu .nav-dropdown.open > .nav-dropdown-panel { display: grid !important; }
  html[dir="rtl"] header .menu .nav-dropdown > .nav-dropdown-panel,
  html[dir="rtl"] header .menu .nav-dropdown.open > .nav-dropdown-panel { left: auto !important; right: 0 !important; }
}

/* Open dropdown trigger (981–1100px): soft highlight, white label + chevron */
@media (min-width: 981px) and (max-width: 1100px) {
  header .menu > .nav-dropdown.open > .nav-drop-trigger,
  header .menu > .nav-dropdown.open > .nav-drop-trigger[aria-expanded="true"] {
    background: rgba(255,255,255,.1) !important;
    color: #fff !important;
    box-shadow: none !important;
  }
  header .menu > .nav-dropdown.open > .nav-drop-trigger .nav-chevron { color: #fff !important; opacity: 1 !important; }
}

/* ==========================================================================
   UPCOMING SHOWS — "Mark your calendar" at tablet / small-desktop widths
   The three month cards share a half-width column, which squeezed the day
   cells until two-digit dates wrapped. Keep every date on one line.
   ========================================================================== */
.up .up-cal-g .up-d,
.up .up-cal-g .up-dow { min-width: 0; white-space: nowrap; overflow-wrap: normal; word-break: keep-all; }

/* 981px–1160px: keep the desktop two-column composition, make the months compact */
@media (min-width: 981px) and (max-width: 1160px) {
  .up .up-cals { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .up .up-cal { padding: 10px 8px 12px; border-radius: 14px; min-width: 0; }
  .up .up-cal-h { flex-direction: column; align-items: flex-start; gap: 1px; margin-bottom: 8px; }
  .up .up-cal-h h4 { font-size: 14px; line-height: 1.2; white-space: nowrap; }
  .up .up-cal-h span { font-size: 10.5px; line-height: 1.2; }
  .up .up-cal-g { gap: 2px 1px; font-size: 10.5px; }
  .up .up-d { border-radius: 6px; }
  .up button.up-d:hover { transform: scale(1.18); }
}

/* 821px–980px: the calendar column is too narrow for 3 months, so stack the
   calendar and seats panels and give the months the full width */
@media (min-width: 821px) and (max-width: 980px) {
  .up .up-plan { grid-template-columns: minmax(0, 1fr) !important; gap: 24px; }
  .up .up-cals { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .up .up-cal { min-width: 0; }
  .up .up-cal-g { font-size: 12px; }
}

/* ==========================================================================
   DASHBOARDS — dark mode: dark-purple text that was invisible on dark cards
   (dark mode only; light mode and the pastel chips are unchanged)
   ========================================================================== */
body.dark-dashboard .text-action,
body.dark-dashboard .table-action,
body.dark-dashboard .dash-table .table-action,
body.dark-dashboard .admin-schedule-list .table-action {
  color: #d9bfff !important;
}
body.dark-dashboard .text-action:hover,
body.dark-dashboard .table-action:hover { color: #ffffff !important; }

body.dark-dashboard .dash-footer a { color: #d9bfff !important; }
body.dark-dashboard .dash-footer a:hover { color: #ffffff !important; }

/* "68% complete" on the child card */
body.dark-dashboard .child-card .child-info b,
body.dark-dashboard .child-info small b { color: #d9bfff !important; }

/* Schedule type tags that sit on the dark card */
body.dark-dashboard .event-type.rehearsal { color: #d2b2ff !important; }
body.dark-dashboard .event-type.class-type { color: #ffb88f !important; }
body.dark-dashboard .event-type.performance { color: #7fe0b4 !important; }

/* Announcement / modal form labels */
body.dark-dashboard .announcement-form label,
body.dark-dashboard .modal-panel label,
body.dark-dashboard .announcement-bottom label { color: #e6d6f7 !important; }
body.dark-dashboard .child-info .mini-label { color: #c9a8f0 !important; }
body.dark-dashboard .stat-trend { color: #d2b4f5 !important; }

/* ==========================================================================
   HOME — "How a season works" step cards: equal height in every row
   ========================================================================== */
.h1-steps { align-items: stretch; }
.h1-step { display: flex; flex-direction: column; }
.h1-step .n { flex: 0 0 auto; }
.h1-step .cd { flex: 1 1 auto; display: flex; flex-direction: column; }
.h1-step .cd .ph { flex: 0 0 auto; }
.h1-step .cd .tx { flex: 1 1 auto; }
/* Keep the descriptions aligned when some titles wrap to two lines (4-column tablet/desktop range) */
@media (min-width: 981px) and (max-width: 1180px) {
  .h1-step h3 { min-height: 2.4em; line-height: 1.2; }
}
