:root{
  --bg:#05051b;--bg2:#080724;--surface:#0d0b2e;--surface2:#15103d;--line:rgba(154,95,255,.35);
  --cyan:#12dfe3;--cyan2:#54e9f2;--violet:#9a45ed;--text:#f8f4ff;--muted:#b9b2ca;
  --serif:Georgia,"Times New Roman","Noto Serif Armenian",serif;--sans:Arial,"Noto Sans Armenian",sans-serif;
  --shadow:0 24px 60px rgba(0,0,0,.26);--radius:22px;--shell:min(1440px,calc(100% - 80px));
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 80% 2%,rgba(106,42,190,.18),transparent 32rem),var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden}body.menu-open{overflow:hidden}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button,input,textarea{font:inherit}button{color:inherit}.shell{width:var(--shell);margin-inline:auto}.icon{width:1.05em;height:1.05em;object-fit:contain;filter:brightness(0) saturate(100%) invert(78%) sepia(83%) saturate(748%) hue-rotate(126deg) brightness(97%) contrast(91%)}
.site-header{position:relative;z-index:30;background:rgba(3,3,20,.96);border-bottom:1px solid rgba(137,75,214,.25)}.header-top{min-height:86px;display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:30px}.brand{width:225px;margin-top:6px;overflow:hidden;border-radius:4px}.brand img{width:100%}.contact-strip{display:flex;align-items:center;justify-content:center;gap:28px;color:#eee9f6;font-family:var(--serif);font-size:15px}.contact-strip>a,.contact-strip>span{display:flex;align-items:center;gap:9px;white-space:nowrap}.socials{display:flex;gap:10px}.socials a{width:40px;height:40px;border:1px solid rgba(159,100,236,.32);border-radius:50%;display:grid;place-items:center;background:rgba(17,13,45,.62);transition:.2s}.socials a:hover{transform:translateY(-2px);border-color:var(--cyan)}.socials .icon{width:18px;height:18px}.nav-wrap{height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(129,77,199,.28);border-radius:18px 18px 0 0;padding:0 18px}.main-nav{display:flex;align-items:stretch;height:100%;overflow:hidden}.nav-link{position:relative;display:flex;align-items:center;padding:0 16px;font-family:var(--serif);font-size:16px;white-space:nowrap;color:#eee9f5;transition:.2s}.nav-link:hover,.nav-link.active{color:var(--cyan)}.nav-link.active:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--cyan),var(--violet))}.languages{display:flex;align-items:center;gap:4px}.languages button{border:0;background:transparent;padding:9px 10px;border-radius:12px;cursor:pointer}.languages button.active{background:var(--cyan);color:#05051b;font-weight:700}.menu-toggle,.mobile-nav{display:none}
html[lang="ru"] .languages button.active,
html[lang="en"] .languages button.active{background:transparent;color:inherit;font-weight:400}
html[lang="ru"] .languages button:nth-child(2),
html[lang="en"] .languages button:nth-child(3){background:var(--cyan);color:#05051b;font-weight:700}
.hero{position:relative;isolation:isolate;background-image:linear-gradient(90deg,rgba(2,2,19,.97) 0%,rgba(2,2,19,.82) 35%,rgba(2,2,19,.18) 74%,rgba(2,2,19,.42) 100%),var(--hero-image);background-size:cover;background-position:center;overflow:hidden}.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 72% 35%,rgba(143,62,238,.23),transparent 30rem)}.hero-overlay{position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(180deg,transparent,var(--bg));pointer-events:none}.hero-content{position:relative;z-index:2}.hero-home{min-height:690px;display:flex;align-items:center;background-position:center top}.hero-home .hero-content{padding-top:30px}.hero-inner{min-height:500px;display:flex;align-items:center}.hero-inner .hero-content{padding-top:5px}.breadcrumbs{display:flex;gap:11px;margin-bottom:28px;color:var(--muted);font-family:var(--serif)}.breadcrumbs a{color:var(--cyan)}.hero h1{max-width:700px;margin:0;font:400 clamp(58px,5.1vw,92px)/1.05 var(--serif);letter-spacing:-.04em;text-shadow:0 5px 28px rgba(0,0,0,.55)}.hero h1 span{color:var(--cyan)}.hero p{max-width:610px;margin:0;color:#d7d0df;font:19px/1.8 var(--serif)}.accent-line{display:block;width:76px;height:3px;margin:25px 0;border-radius:5px;background:linear-gradient(90deg,var(--cyan),var(--violet))}.hero-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:32px}.btn{min-height:56px;padding:0 28px;border:1px solid transparent;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font:700 16px var(--serif);transition:.2s;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn.primary{color:#05051b;background:linear-gradient(100deg,var(--cyan),var(--cyan2));box-shadow:0 14px 34px rgba(18,223,227,.16)}.btn.secondary{border-color:var(--cyan);background:rgba(5,5,27,.38);color:white}.btn.dark{border-color:#281e45;color:#17112d;background:transparent}.btn.primary .icon,.btn.dark .icon{filter:brightness(0) saturate(100%) invert(8%) sepia(22%) saturate(1890%) hue-rotate(213deg) brightness(90%) contrast(105%)}.hero-highlights{position:absolute;z-index:3;left:50%;bottom:26px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);gap:0}.hero-highlights>div{min-height:78px;padding:0 30px;display:flex;align-items:center;gap:14px;border-right:1px solid rgba(255,255,255,.16);font-family:var(--serif)}.hero-highlights>div:last-child{border-right:0}.hero-highlights .icon{width:43px;height:43px;flex:0 0 43px}.hero-highlights span{line-height:1.35}
.dark-section{padding:80px 0;background:radial-gradient(circle at 6% 40%,rgba(20,223,227,.05),transparent 22rem),linear-gradient(180deg,#07071f,#05051b)}.light-area{padding:80px 0;background:linear-gradient(125deg,#fbf8ff,#ede8fa);color:#18112d}.section-heading{margin-bottom:38px}.section-heading h2{margin:0;font:400 clamp(38px,3.3vw,58px)/1.12 var(--serif);letter-spacing:-.025em}.section-heading p{max-width:740px;margin:0;color:var(--muted);font:18px/1.75 var(--serif)}.light-area .section-heading p{color:#61576f}.welcome-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:center}.welcome-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.welcome-gallery img{width:100%;aspect-ratio:1/1.06;object-fit:cover;border-radius:18px;box-shadow:0 18px 36px rgba(34,18,69,.18)}.welcome .btn{margin-top:18px}.direction-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.image-card,.teacher-card,.news-card,.featured-news,.split-feature,.day-card,.age-grid article,.contact-info,.contact-form{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:linear-gradient(145deg,rgba(18,15,56,.95),rgba(7,7,30,.98));box-shadow:var(--shadow)}.image-card img{width:100%;aspect-ratio:1.04;object-fit:cover}.card-content{padding:24px}.card-content h3,.teacher-card h3,.news-card h3{margin:0 0 11px;font:400 25px/1.2 var(--serif)}.card-content p,.teacher-card p,.news-card p{min-height:50px;margin:0 0 20px;color:var(--muted);font:16px/1.55 var(--serif)}.card-content a,.teacher-card a,.news-card a{display:inline-flex;align-items:center;gap:8px;color:var(--cyan);font-weight:700}.center-action{text-align:center;margin-top:34px}.split-feature{display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;margin-bottom:80px}.split-feature>img{width:100%;height:100%;min-height:430px;object-fit:cover}.split-feature>div{padding:50px}.split-feature p{color:var(--muted);font:18px/1.8 var(--serif)}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:75px}.values-grid article{padding:34px 25px;border:1px solid var(--line);border-radius:20px;text-align:center;background:rgba(12,10,43,.78)}.values-grid .icon{width:58px;height:58px;margin:0 auto 20px}.values-grid h3{margin:0 0 10px;font:400 23px var(--serif)}.values-grid p{margin:0;color:var(--muted);line-height:1.55}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.achievement-grid figure{margin:0}.achievement-grid img{width:100%;aspect-ratio:1.65;object-fit:cover;border:1px solid var(--line);border-radius:18px}.achievement-grid figcaption{padding:14px 5px;text-align:center;color:var(--muted);font-family:var(--serif)}
.teacher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.teacher-card{display:grid;grid-template-columns:46% 54%;min-height:280px}.teacher-card img{width:100%;height:100%;object-fit:cover;object-position:top}.teacher-card>div{padding:26px 24px}.teacher-card strong{display:block;margin-bottom:16px;color:var(--cyan)}.teacher-card p{font-size:14px}.benefits-row,.access-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:40px}.benefits-row>div,.access-grid>div{display:flex;gap:18px;align-items:center;padding:20px 32px;border-right:1px solid rgba(255,255,255,.12)}.benefits-row>div:last-child,.access-grid>div:last-child{border-right:0}.benefits-row .icon,.access-grid .icon{width:48px;height:48px;flex:0 0 48px}.benefits-row span,.access-grid span{display:grid;gap:6px}.benefits-row small,.access-grid small{color:var(--muted);line-height:1.45}
.schedule-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:52px;padding:20px;border:1px solid var(--line);border-radius:22px;background:rgba(10,8,39,.78)}.schedule-filters button{min-height:72px;padding:12px 20px;border:1px solid rgba(139,84,210,.28);border-radius:16px;background:rgba(17,14,51,.86);display:flex;align-items:center;gap:15px;text-align:left;cursor:pointer}.schedule-filters .icon{width:34px;height:34px}.schedule-filters span{display:grid;gap:6px;color:var(--muted)}.schedule-filters strong{color:white}.schedule-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.day-card{padding:0 22px 20px}.day-card h3{margin:0 -22px 20px;padding:22px;text-align:center;border-bottom:1px solid rgba(255,255,255,.1);font:400 27px var(--serif)}.lesson{position:relative;padding:0 0 24px 17px;display:grid;gap:6px}.lesson:before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.lesson time{font:16px var(--serif)}.lesson strong{color:#db77ff;font:17px var(--serif)}.lesson small{color:var(--muted)}.note{margin:22px 0 65px;text-align:center;color:var(--muted)}.age-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.age-grid article img{width:100%;aspect-ratio:1.35;object-fit:cover}.age-grid article>div{padding:20px}.age-grid h3{margin:0 0 8px;font:400 28px var(--serif)}.age-grid p{margin:0;color:var(--muted);line-height:1.55}
.filter-pills{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:35px}.filter-pills button{min-height:48px;padding:0 28px;border:1px solid rgba(159,83,236,.58);border-radius:999px;background:rgba(8,7,31,.78);cursor:pointer}.filter-pills button.active{border-color:transparent;background:var(--cyan);color:#05051b;font-weight:700}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.gallery-item{position:relative;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:19px;background:transparent;cursor:pointer;box-shadow:var(--shadow)}.gallery-item img{width:100%;height:100%;aspect-ratio:1.08;object-fit:cover;transition:.25s}.gallery-item:hover img{transform:scale(1.04)}.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.video-item img{aspect-ratio:1.5}.play{position:absolute;left:50%;top:50%;width:62px;height:62px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;background:rgba(6,4,27,.62);transform:translate(-50%,-50%);backdrop-filter:blur(8px)}.play .icon{width:26px;filter:brightness(0) invert(1)}.duration{position:absolute;right:10px;bottom:10px;padding:4px 8px;border-radius:6px;background:rgba(0,0,0,.72);font-size:13px}.lightbox{position:fixed;z-index:100;inset:0;display:none;align-items:center;justify-content:center;padding:30px;background:rgba(0,0,10,.92)}.lightbox.open{display:flex}.lightbox>img{max-width:min(1100px,92vw);max-height:84vh;border:1px solid rgba(255,255,255,.22);border-radius:20px}.lightbox-close{position:absolute;top:25px;right:25px;width:48px;height:48px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;background:#17113c;cursor:pointer}.lightbox-close .icon{width:20px}
.featured-news{display:grid;grid-template-columns:44% 56%;margin-bottom:24px}.featured-news img{width:100%;height:100%;min-height:370px;object-fit:cover}.featured-news>div{padding:42px}.featured-news small,.news-card small{color:var(--muted)}.featured-news h2{margin:16px 0;font:400 40px/1.22 var(--serif)}.featured-news p{margin:0 0 25px;color:var(--muted);font:17px/1.7 var(--serif)}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.news-card img{width:100%;aspect-ratio:1.65;object-fit:cover}.news-card>div{padding:24px}.news-card h3{margin-top:10px}.news-card p{min-height:72px}
.contact-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:24px}.contact-info,.contact-form{padding:32px}.contact-info>a,.contact-info>div:not(.section-heading):not(.socials){display:flex;gap:18px;align-items:flex-start;padding:17px;margin-bottom:12px;border:1px solid rgba(128,75,196,.27);border-radius:15px;background:rgba(20,16,58,.75)}.contact-info .icon{width:32px;height:32px;flex:0 0 32px}.contact-info span{color:var(--muted);line-height:1.55}.contact-info strong{display:block;margin-bottom:5px;color:white}.contact-info .socials{margin-top:16px}.contact-form{display:grid;gap:15px}.contact-form .section-heading{margin-bottom:0}.contact-form label{display:grid;gap:8px;color:var(--muted);font-size:14px}.contact-form input,.contact-form textarea{width:100%;padding:16px;border:1px solid rgba(139,91,212,.28);border-radius:12px;background:rgba(18,15,54,.78);color:white;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--cyan)}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form .btn{border:0}.form-status{min-height:22px;margin:0;color:var(--cyan)}.map-card{position:relative;overflow:hidden;min-height:360px;margin-top:26px;padding:44px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(32deg,transparent 49%,rgba(97,116,184,.17) 50%,transparent 51%) 0 0/86px 86px,linear-gradient(117deg,transparent 49%,rgba(97,116,184,.16) 50%,transparent 51%) 0 0/125px 125px,#10153d}.map-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 67% 47%,rgba(114,38,217,.38),transparent 32%)}.map-card>div{position:relative;z-index:2;max-width:390px}.map-card h2{margin:0 0 14px;font:400 36px var(--serif)}.map-card p{color:var(--muted);font:17px/1.6 var(--serif)}.map-pin{position:absolute;z-index:2;right:28%;top:35%;width:78px;height:78px;border:3px solid var(--cyan);border-radius:50% 50% 50% 8px;display:grid;place-items:center;color:var(--cyan);background:#180d4c;font:400 42px var(--serif);transform:rotate(-45deg);box-shadow:0 0 32px rgba(20,220,224,.28)}
.cta-card{margin-top:0;margin-bottom:0;padding:38px 48px;border:1px solid rgba(168,72,244,.57);border-radius:24px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;background:radial-gradient(circle at 100% 0,rgba(119,37,210,.46),transparent 50%),linear-gradient(115deg,#151041,#27105a)}.cta-card h2{margin:0 0 10px;font:400 38px var(--serif)}.cta-card p{margin:0;color:var(--muted);font:17px/1.6 var(--serif)}.cta-actions{display:flex;gap:14px}.cta-card+.site-footer{}.site-footer{margin-top:80px;border-top:1px solid rgba(118,69,183,.24);background:#040419}.footer-grid{padding:55px 0 38px;display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:60px;color:var(--muted)}.footer-grid>div{display:grid;align-content:start;gap:11px}.footer-brand img{width:230px}.footer-brand p{line-height:1.65}.site-footer h3{margin:0 0 9px;color:white;font:400 24px var(--serif)}.site-footer a:hover{color:var(--cyan)}.site-footer .btn{width:max-content;margin-top:6px}.copyright{padding:20px 0 28px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;color:#827c94;font-size:13px}
@media(max-width:1180px){:root{--shell:min(100% - 40px,1120px)}.contact-strip{gap:14px;font-size:13px}.nav-link{padding:0 10px;font-size:14px}.hero-home{min-height:620px}.direction-grid{grid-template-columns:repeat(3,1fr)}.teacher-grid{grid-template-columns:repeat(2,1fr)}.schedule-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.video-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){:root{--shell:min(100% - 32px,760px)}.site-header{position:sticky;top:0}.header-top{min-height:76px;grid-template-columns:1fr auto}.brand{width:165px}.contact-strip,.header-top>.socials,.nav-wrap{display:none}.menu-toggle{width:44px;height:44px;border:1px solid rgba(154,95,255,.4);border-radius:50%;display:grid;place-items:center;background:#15103d;cursor:pointer}.menu-toggle .icon{width:20px}.mobile-nav{position:fixed;z-index:50;top:0;right:0;width:min(84vw,365px);height:100dvh;padding:90px 25px 30px;display:block;background:linear-gradient(160deg,#0d0a2c,#08071e 70%);border-left:1px solid rgba(154,95,255,.45);transform:translateX(105%);transition:.25s;overflow-y:auto}.mobile-nav.open{transform:translateX(0)}.mobile-nav:before{content:"×";position:absolute;top:18px;right:24px;font-size:36px;color:var(--cyan)}.mobile-nav nav{display:grid}.mobile-nav .nav-link{min-height:48px;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.07);font-size:19px}.mobile-nav .nav-link.active:after{display:none}.mobile-contact{display:grid;gap:12px;margin-top:30px;color:var(--muted)}.hero-home{min-height:650px;align-items:flex-end;background-image:linear-gradient(180deg,rgba(2,2,19,.02),rgba(2,2,19,.28) 38%,rgba(2,2,19,.91) 83%),var(--hero-image);background-position:58% top}.hero-inner{min-height:510px;align-items:flex-end;background-image:linear-gradient(180deg,rgba(2,2,19,.05),rgba(2,2,19,.43) 47%,rgba(2,2,19,.94) 88%),var(--hero-image);background-position:center top}.hero-content{padding-bottom:55px}.hero h1{font-size:clamp(45px,10vw,68px)}.hero p{font-size:17px}.hero-highlights{display:none}.dark-section,.light-area{padding:60px 0}.welcome-grid{grid-template-columns:1fr;gap:35px}.welcome-gallery{grid-template-columns:repeat(2,1fr)}.direction-grid{grid-template-columns:repeat(2,1fr)}.split-feature{grid-template-columns:1fr;margin-bottom:55px}.split-feature>img{min-height:320px}.split-feature>div{padding:30px}.values-grid{grid-template-columns:repeat(2,1fr)}.achievement-grid{grid-template-columns:1fr}.teacher-grid{grid-template-columns:1fr}.teacher-card{grid-template-columns:42% 58%}.benefits-row,.access-grid{grid-template-columns:1fr}.benefits-row>div,.access-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.schedule-grid{grid-template-columns:repeat(2,1fr)}.age-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.news-grid{grid-template-columns:repeat(2,1fr)}.featured-news{grid-template-columns:1fr}.featured-news img{min-height:300px}.contact-grid{grid-template-columns:1fr}.cta-card{grid-template-columns:1fr;padding:32px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:36px}.copyright{gap:16px;flex-direction:column}}
@media(max-width:560px){:root{--shell:calc(100% - 28px);--radius:17px}.hero-home{min-height:620px}.hero-inner{min-height:480px}.hero-content{padding-bottom:40px}.hero h1{font-size:44px}.hero p{font-size:16px;line-height:1.65}.hero-actions{display:grid}.btn{min-height:51px;padding:0 21px}.section-heading h2{font-size:35px}.section-heading p{font-size:16px}.welcome-gallery{gap:9px}.direction-grid,.values-grid,.teacher-grid,.schedule-grid,.age-grid,.gallery-grid,.video-grid,.news-grid{grid-template-columns:1fr}.image-card img{aspect-ratio:1.35}.teacher-card{grid-template-columns:1fr}.teacher-card img{height:300px}.schedule-filters{grid-template-columns:1fr;padding:14px}.featured-news>div{padding:25px}.featured-news h2{font-size:31px}.featured-news img{min-height:230px}.two-cols{grid-template-columns:1fr}.contact-info,.contact-form{padding:21px}.map-card{min-height:340px;padding:25px}.map-pin{right:16%;top:48%;width:62px;height:62px;font-size:34px}.cta-card{width:calc(100% - 28px);padding:26px 22px}.cta-card h2{font-size:30px}.cta-actions{display:grid}.footer-grid{grid-template-columns:1fr}.footer-brand img{width:190px}.copyright{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Home page calibrated to the supplied 1280 × 853 reference. */
.hero-wave{position:absolute;z-index:2;left:0;right:0;bottom:-1px;width:100%;height:112px;pointer-events:none}.hero-wave .wave-violet{fill:#7136b3}.hero-wave .wave-light{fill:#f4f1fb}

@media(min-width:1181px){
  .site-header{height:108px;background:linear-gradient(180deg,rgba(5,2,27,.98),rgba(4,2,24,.96));border-bottom:1px solid rgba(129,77,199,.34)}
  .header-top{position:relative;width:calc(100% - 64px);height:54px;min-height:54px;display:flex;justify-content:flex-end;gap:46px}
  .brand{position:absolute;z-index:3;left:0;top:7px;width:190px;border-radius:0}
  .contact-strip{justify-content:flex-end;gap:27px;font-size:14px}
  .header-top>.socials{gap:8px}.header-top>.socials a{width:32px;height:32px}.header-top>.socials .icon{width:14px;height:14px}
  .nav-wrap{width:calc(100% - 296px);height:54px;margin-left:272px;margin-right:24px;padding:0 12px;border-color:rgba(129,77,199,.3);border-radius:16px;gap:8px}
  .main-nav{flex:1;justify-content:space-between}.nav-link{padding:0 10px;font-size:13px}.nav-link.active:after{left:10px;right:10px;height:2px}
  .languages{gap:2px}.languages button{padding:8px 9px;font-size:12px;border-radius:10px}

  body[data-page="home"] .hero-home{height:545px;min-height:545px;display:block;background-color:#030218;background-image:linear-gradient(90deg,rgba(2,2,19,.99) 0%,rgba(2,2,19,.96) 26%,rgba(2,2,19,.66) 41%,rgba(2,2,19,.08) 67%,rgba(2,2,19,.2) 100%),var(--hero-image);background-size:100% 100%,1036px 660px;background-position:center,right -30px;background-repeat:no-repeat}
  body[data-page="home"] .hero-home:before{z-index:1;background:radial-gradient(circle at 70% 32%,rgba(125,49,218,.12),transparent 28rem)}
  body[data-page="home"] .hero-content.shell{width:1050px;padding-top:74px}
  body[data-page="home"] .hero h1{max-width:490px;font-size:48px;line-height:1.05;letter-spacing:-.025em}
  body[data-page="home"] .hero .accent-line{width:54px;height:2px;margin:24px 0}
  body[data-page="home"] .hero p{max-width:365px;font-size:14px;line-height:1.55}
  body[data-page="home"] .hero-actions{gap:20px;margin-top:25px}
  body[data-page="home"] .hero-actions .btn{min-width:199px;min-height:47px;padding:0 20px;font-size:13px}
  body[data-page="home"] .hero-highlights.shell{width:1050px;bottom:53px;min-height:58px}
  body[data-page="home"] .hero-highlights:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(2,2,19,.72),rgba(2,2,19,.32));filter:blur(8px)}
  body[data-page="home"] .hero-highlights>div{min-height:58px;padding:0 23px;border-right:0;gap:12px;font-size:14px}
  body[data-page="home"] .hero-highlights>div:first-child{padding-left:0}
  body[data-page="home"] .hero-highlights .icon{width:38px;height:38px;flex-basis:38px}

  body[data-page="home"] .welcome{min-height:310px;padding:12px 0 70px;background:linear-gradient(120deg,#f8f6fc,#eeeaf8)}
  body[data-page="home"] .welcome-grid{width:1176px;grid-template-columns:360px 1fr;gap:62px;align-items:start}
  body[data-page="home"] .welcome .section-heading{margin:0}
  body[data-page="home"] .welcome .section-heading h2{font-size:34px;line-height:1.12}
  body[data-page="home"] .welcome .accent-line{width:54px;height:2px;margin:22px 0}
  body[data-page="home"] .welcome .section-heading p{font-size:14px;line-height:1.55}
  body[data-page="home"] .welcome .section-heading .welcome-intro{margin-bottom:10px;color:#352748;font-weight:700}
  body[data-page="home"] .welcome-gallery{gap:10px;padding-top:3px}
  body[data-page="home"] .welcome-gallery img{height:162px;aspect-ratio:auto;border-radius:14px;box-shadow:0 10px 24px rgba(34,18,69,.15)}
  body[data-page="home"] .welcome .btn{margin-top:20px}
}

@media(max-width:1180px){.hero-wave{display:none}body[data-page="home"] .hero-home:after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,transparent,var(--bg))}}

@media(min-width:1181px){
  .brand{left:-8px;top:0;width:240px}
  .contact-strip{font-size:13px}
  body[data-page="home"] .hero-home{background-image:linear-gradient(90deg,rgba(2,2,19,.99) 0%,rgba(2,2,19,.97) 25%,rgba(2,2,19,.82) 32%,rgba(2,2,19,.18) 43%,rgba(2,2,19,.06) 58%,rgba(2,2,19,.12) 100%),var(--hero-image);background-position:center,calc(100% + 96px) -30px}
  body[data-page="home"] .hero-home:before{background:radial-gradient(circle at 1% 23%,rgba(238,201,255,.95) 0 4px,rgba(158,68,241,.46) 5px,transparent 23px),radial-gradient(circle at 1% 49%,rgba(229,186,255,.9) 0 4px,rgba(145,58,230,.4) 5px,transparent 22px),linear-gradient(73deg,transparent 0 4%,rgba(107,34,198,.28) 7%,transparent 13%),radial-gradient(circle at 70% 32%,rgba(125,49,218,.1),transparent 28rem)}
  body[data-page="home"] .hero-actions .btn:first-child{width:199px;min-width:0}
  body[data-page="home"] .hero-actions .btn:nth-child(2){width:213px;min-width:0}
  body[data-page="home"] .hero-highlights{grid-template-columns:repeat(4,210px);justify-content:start}
  body[data-page="home"] .hero-highlights>div{padding:0 14px}
  body[data-page="home"] .hero-highlights .icon{width:32px;height:32px;flex-basis:32px}
  body[data-page="home"] .welcome .section-heading h2{font-size:31px;white-space:nowrap}
  .hero-wave .wave-violet{d:path("M0 40C340 99 831 108 1280 5V112H0Z")}
  .hero-wave .wave-light{d:path("M0 57C357 113 840 115 1280 19V112H0Z")}
}

@media(min-width:1181px){
  body[data-page="home"] .hero-home:after{content:"";position:absolute;z-index:1;inset:0 auto 0 0;width:545px;pointer-events:none;background:radial-gradient(circle at 1% 23%,rgba(238,201,255,.95) 0 4px,rgba(158,68,241,.44) 5px,transparent 23px),radial-gradient(circle at 1% 49%,rgba(229,186,255,.9) 0 4px,rgba(145,58,230,.38) 5px,transparent 22px),linear-gradient(90deg,#030218 0%,rgba(3,2,24,.995) 63%,rgba(3,2,24,.92) 76%,rgba(3,2,24,0) 100%)}
  body[data-page="home"] .hero-highlights.shell{bottom:55px;min-height:48px}
  body[data-page="home"] .hero-highlights>div{min-height:48px;padding:0;gap:10px}
  body[data-page="home"] .welcome .section-heading h2{font-size:28px;letter-spacing:-.02em}
}

@media(min-width:1181px){
  .brand{left:-15px}
  .header-top>.contact-strip{transform:translateX(13px)}
  .header-top>.socials{transform:translateX(-10px)}
  body[data-page="home"] .hero-home{background-size:100% 100%,865px 551px;background-position:center,calc(100% - 8px) -25px}
  body[data-page="home"] .hero-home:before{background:linear-gradient(180deg,transparent 0 69%,rgba(2,1,19,.86) 87%,rgba(2,1,19,.98) 100%),radial-gradient(circle at 1% 23%,rgba(238,201,255,.95) 0 4px,rgba(158,68,241,.44) 5px,transparent 23px),radial-gradient(circle at 1% 49%,rgba(229,186,255,.9) 0 4px,rgba(145,58,230,.38) 5px,transparent 22px),linear-gradient(73deg,transparent 0 4%,rgba(107,34,198,.28) 7%,transparent 13%),radial-gradient(circle at 70% 32%,rgba(125,49,218,.1),transparent 28rem)}
  body[data-page="home"] .hero-home:after{width:570px;background:radial-gradient(circle at 1% 23%,rgba(238,201,255,.95) 0 4px,rgba(158,68,241,.44) 5px,transparent 23px),radial-gradient(circle at 1% 49%,rgba(229,186,255,.9) 0 4px,rgba(145,58,230,.38) 5px,transparent 22px),linear-gradient(90deg,#030218 0%,rgba(3,2,24,.997) 84%,rgba(3,2,24,.95) 89%,rgba(3,2,24,0) 100%)}
}

@media(max-width:1180px){body[data-page="home"] .hero-home:before{z-index:1;background:linear-gradient(180deg,rgba(3,2,24,.98) 0,rgba(3,2,24,.9) 34px,transparent 82px)}}

@media(min-width:1181px){body[data-page="home"] .welcome{min-height:max(310px,calc(100vh - 653px))}}

/* Full-width responsive home hero: the photograph and HTML overlay share one fluid grid. */
@media(min-width:1181px){
  body[data-page="home"] .hero-home{height:clamp(545px,43.58vw,892px);min-height:clamp(545px,43.58vw,892px);background-size:100% 100%,100% 100%;background-position:center,center}
  body[data-page="home"] .hero-home:before{background:linear-gradient(180deg,transparent 0 72%,rgba(2,1,19,.72) 89%,rgba(2,1,19,.92) 100%)}
  body[data-page="home"] .hero-home:after{width:46%;background:linear-gradient(90deg,rgba(3,2,24,.78) 0%,rgba(3,2,24,.62) 67%,rgba(3,2,24,0) 100%)}
  body[data-page="home"] .hero-content.shell{width:82%;padding-top:clamp(74px,5.76vw,118px)}
  body[data-page="home"] .hero h1{max-width:clamp(490px,38.3vw,784px);font-size:clamp(48px,3.5vw,72px)}
  body[data-page="home"] .hero .accent-line{width:clamp(54px,4.22vw,86px);height:clamp(2px,.16vw,3px);margin:clamp(24px,1.88vw,38px) 0}
  body[data-page="home"] .hero p{max-width:clamp(365px,28.52vw,584px);font-size:clamp(14px,1.1vw,22px)}
  body[data-page="home"] .hero-actions{gap:clamp(20px,1.56vw,32px);margin-top:clamp(25px,1.95vw,40px)}
  body[data-page="home"] .hero-actions .btn{min-height:clamp(47px,3.67vw,75px);padding:0 clamp(20px,1.56vw,32px);font-size:clamp(13px,1.02vw,21px)}
  body[data-page="home"] .hero-actions .btn:first-child{width:clamp(199px,15.55vw,318px)}
  body[data-page="home"] .hero-actions .btn:nth-child(2){width:clamp(213px,16.64vw,341px)}
  body[data-page="home"] .hero-highlights.shell{width:82%;bottom:clamp(55px,4.3vw,88px);min-height:clamp(48px,3.75vw,77px);grid-template-columns:repeat(4,clamp(210px,16.4vw,336px))}
  body[data-page="home"] .hero-highlights>div{min-height:clamp(48px,3.75vw,77px);gap:clamp(10px,.78vw,16px);font-size:clamp(14px,1.1vw,22px)}
  body[data-page="home"] .hero-highlights .icon{width:clamp(32px,2.5vw,51px);height:clamp(32px,2.5vw,51px);flex-basis:clamp(32px,2.5vw,51px)}
  .hero-wave{height:clamp(112px,8.75vw,179px)}
}

/* Gallery page calibrated to the supplied 1024 × 1536 reference. */
body[data-page="gallery"]{background:#05051b}
body[data-page="gallery"] .gallery-section{padding:26px 0 18px;background:radial-gradient(circle at 8% 26%,rgba(20,223,227,.035),transparent 22rem),linear-gradient(180deg,#05051b,#05051b)}
body[data-page="gallery"] .gallery-section>.shell,
body[data-page="gallery"] .hero-content.shell,
body[data-page="gallery"] .gallery-cta{width:min(1120px,calc(100% - 120px))}
body[data-page="gallery"] .media-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:13px}
body[data-page="gallery"] .media-heading .section-heading{margin:0}
body[data-page="gallery"] .media-heading .section-heading h2{font-size:32px;line-height:1.05;letter-spacing:-.02em}
body[data-page="gallery"] .media-heading .accent-line{width:49px;height:2px;margin:8px 0 0}
body[data-page="gallery"] .media-heading>.btn{width:168px;min-height:42px;padding:0 18px;font-size:13px;gap:12px}
body[data-page="gallery"] .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}
body[data-page="gallery"] .gallery-item{width:100%;aspect-ratio:1.72;border-radius:12px;box-shadow:none}
body[data-page="gallery"] .gallery-item>img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center top}
body[data-page="gallery"] .photo-card{min-width:0}
body[data-page="gallery"] .photo-card .gallery-item{display:block}
body[data-page="gallery"] .photo-card p{min-height:20px;margin:8px 4px 0;color:#c8c0d4;font:13px/1.35 var(--serif)}
body[data-page="gallery"] .videos-block{margin-top:26px}
body[data-page="gallery"] .video-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
body[data-page="gallery"] .video-card{min-width:0}
body[data-page="gallery"] .video-card .gallery-item{display:block;aspect-ratio:1.5}
body[data-page="gallery"] .video-card p{min-height:36px;margin:8px 4px 0;color:#c8c0d4;font:13px/1.35 var(--serif)}

body[data-page="gallery"] .gallery-cta{position:relative;overflow:hidden;min-height:148px;margin-top:0;padding:14px 24px 14px 0;grid-template-columns:180px minmax(0,1fr) 254px;gap:18px;border-radius:16px;background:radial-gradient(circle at 100% 0,rgba(154,48,232,.48),transparent 48%),linear-gradient(110deg,#171044,#37116e)}
body[data-page="gallery"] .gallery-cta-art{position:relative;align-self:stretch;overflow:hidden;min-height:118px}
body[data-page="gallery"] .gallery-cta-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 54%,#1a1047 96%);pointer-events:none}
body[data-page="gallery"] .gallery-cta-art img{position:absolute;inset:-8px 0 -26px -18px;width:230px;height:168px;max-width:none;object-fit:cover;object-position:50% 58%}
body[data-page="gallery"] .gallery-cta-copy{position:relative;z-index:1;align-self:center}
body[data-page="gallery"] .gallery-cta h2{margin:0 0 8px;font-size:28px;line-height:1.08;letter-spacing:-.01em}
body[data-page="gallery"] .gallery-cta p{max-width:430px;font-size:13px;line-height:1.45}
body[data-page="gallery"] .gallery-cta .cta-actions{display:grid;gap:10px}
body[data-page="gallery"] .gallery-cta .btn{width:100%;min-height:42px;padding:0 17px;font-size:13px}

@media(min-width:901px){
  body[data-page="gallery"] .site-header{height:104px;background:linear-gradient(180deg,rgba(5,2,27,.98),rgba(4,2,24,.96))}
  body[data-page="gallery"] .header-top{position:relative;width:calc(100% - 64px);height:52px;min-height:52px;display:flex;justify-content:flex-end;gap:clamp(20px,3.2vw,41px)}
  body[data-page="gallery"] .brand{position:absolute;z-index:3;left:-8px;top:0;width:clamp(200px,18.75vw,240px);border-radius:0}
  body[data-page="gallery"] .contact-strip{justify-content:flex-end;gap:clamp(14px,2.1vw,27px);font-size:clamp(11px,1.02vw,13px)}
  body[data-page="gallery"] .header-top>.socials{gap:7px}
  body[data-page="gallery"] .header-top>.socials a{width:30px;height:30px}
  body[data-page="gallery"] .header-top>.socials .icon{width:13px;height:13px}
  body[data-page="gallery"] .nav-wrap{width:auto;height:52px;margin-left:clamp(222px,21.25vw,272px);margin-right:24px;padding:0 10px;border-radius:14px;gap:6px}
  body[data-page="gallery"] .main-nav{flex:1;justify-content:space-between}
  body[data-page="gallery"] .nav-link{padding:0 clamp(5px,.7vw,9px);font-size:clamp(11px,.98vw,12.5px)}
  body[data-page="gallery"] .nav-link.active:after{left:7px;right:7px;height:2px}
  body[data-page="gallery"] .languages{gap:1px}
  body[data-page="gallery"] .languages button{padding:7px 8px;font-size:11px;border-radius:9px}
  body[data-page="gallery"] .hero-inner{height:329px;min-height:329px;align-items:center;background-position:center top;background-size:cover}
  body[data-page="gallery"] .hero-inner:before{background:radial-gradient(circle at 78% 35%,rgba(143,62,238,.18),transparent 25rem)}
  body[data-page="gallery"] .hero-inner .hero-overlay{height:62px}
  body[data-page="gallery"] .hero-inner .hero-content{padding:0}
  body[data-page="gallery"] .hero h1{font-size:52px;line-height:1.04;letter-spacing:-.025em}
  body[data-page="gallery"] .hero .accent-line{width:51px;height:2px;margin:18px 0}
  body[data-page="gallery"] .hero p{max-width:440px;font-size:15px;line-height:1.7}
}

@media(max-width:900px){
  body[data-page="gallery"] .gallery-section>.shell,
  body[data-page="gallery"] .hero-content.shell,
  body[data-page="gallery"] .gallery-cta{width:var(--shell)}
  body[data-page="gallery"] .hero-inner{min-height:430px;background-position:58% top}
  body[data-page="gallery"] .hero-inner .hero-content{padding-bottom:36px}
  body[data-page="gallery"] .gallery-section{padding-top:44px}
  body[data-page="gallery"] .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-page="gallery"] .video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  body[data-page="gallery"] .gallery-cta{padding:22px;grid-template-columns:180px 1fr;gap:20px}
  body[data-page="gallery"] .gallery-cta-art{min-height:170px;grid-row:span 2}
  body[data-page="gallery"] .gallery-cta .cta-actions{grid-column:2}
}

@media(max-width:560px){
  body[data-page="gallery"] .hero-inner{min-height:445px;background-position:61% top}
  body[data-page="gallery"] .hero h1{font-size:42px}
  body[data-page="gallery"] .media-heading{align-items:center}
  body[data-page="gallery"] .media-heading .section-heading h2{font-size:30px}
  body[data-page="gallery"] .media-heading>.btn{width:auto;min-height:39px;padding:0 15px;font-size:12px}
  body[data-page="gallery"] .gallery-grid,
  body[data-page="gallery"] .video-grid{grid-template-columns:1fr;gap:12px}
  body[data-page="gallery"] .videos-block{margin-top:38px}
  body[data-page="gallery"] .video-card p{margin-bottom:12px}
  body[data-page="gallery"] .gallery-cta{width:calc(100% - 28px);grid-template-columns:1fr;padding:0 22px 24px}
  body[data-page="gallery"] .gallery-cta-art{grid-row:auto;min-height:190px;margin:0 -22px}
  body[data-page="gallery"] .gallery-cta-art img{width:310px;height:220px;left:0;right:auto}
  body[data-page="gallery"] .gallery-cta .cta-actions{grid-column:auto}
  body[data-page="gallery"] .gallery-cta h2{font-size:27px}
}

/* Contact page calibrated to the supplied 1024 × 1536 reference, without CTA/footer. */
body[data-page="contact"]{background:#05051b}
body[data-page="contact"] .hero-content.shell,
body[data-page="contact"] .contact-section>.shell{width:min(1120px,calc(100% - 40px))}
body[data-page="contact"] .contact-section{padding:0 0 16px;background:linear-gradient(180deg,#05051b,#05051b)}
body[data-page="contact"] .contact-grid{grid-template-columns:356px minmax(0,1fr);gap:12px;align-items:stretch}
body[data-page="contact"] .contact-info,
body[data-page="contact"] .contact-form{min-height:456px;padding:22px 24px;border-color:rgba(126,74,197,.38);border-radius:16px;background:linear-gradient(145deg,rgba(9,8,35,.96),rgba(5,5,27,.99));box-shadow:none}
body[data-page="contact"] .contact-info .section-heading,
body[data-page="contact"] .contact-form .section-heading{margin:0 0 15px}
body[data-page="contact"] .contact-info .section-heading h2,
body[data-page="contact"] .contact-form .section-heading h2{font-size:22px;line-height:1.12;letter-spacing:0}
body[data-page="contact"] .contact-info .section-heading h2{font-size:19px;white-space:nowrap}
body[data-page="contact"] .contact-info>a,
body[data-page="contact"] .contact-info>div:not(.section-heading){min-height:64px;margin:0 0 9px;padding:9px 13px;gap:13px;align-items:center;border-color:rgba(127,73,196,.25);border-radius:11px;background:linear-gradient(145deg,rgba(21,17,59,.8),rgba(12,10,43,.8))}
body[data-page="contact"] .contact-info>div:last-child{margin-bottom:0}
body[data-page="contact"] .contact-info>a,
body[data-page="contact"] .contact-info>div:not(.section-heading){height:64px;min-height:64px}
body[data-page="contact"] .contact-info>div:nth-of-type(3){height:74px;min-height:74px}
body[data-page="contact"] .contact-info>a>.icon,
body[data-page="contact"] .contact-info>div>.icon{width:34px;height:34px;flex:0 0 34px;padding:7px;border-radius:50%;background:rgba(86,25,154,.36);box-shadow:0 0 18px rgba(154,69,237,.3)}
body[data-page="contact"] .contact-info span{font:11px/1.2 var(--serif)}
body[data-page="contact"] .contact-info strong{margin-bottom:3px;font-size:11.5px}
body[data-page="contact"] .contact-social-row>span{display:grid;gap:4px}
body[data-page="contact"] .contact-social-row .socials{display:flex;gap:14px;margin:0}
body[data-page="contact"] .contact-social-row .socials a{width:28px;height:28px}
body[data-page="contact"] .contact-social-row .socials .icon{width:12px;height:12px}

body[data-page="contact"] .contact-form{display:grid;grid-template-rows:auto 47px 47px 47px 100px 42px auto 0;align-content:start;gap:10px}
body[data-page="contact"] .contact-form .section-heading{align-self:start}
body[data-page="contact"] .contact-form label{position:relative;display:block;min-height:47px;color:#9f98b3}
body[data-page="contact"] .contact-form label>span{position:absolute;z-index:1;left:13px;top:7px;font-size:10px;line-height:1;pointer-events:none}
body[data-page="contact"] .contact-form input,
body[data-page="contact"] .contact-form textarea{height:47px;padding:20px 13px 6px;border-color:rgba(127,73,196,.2);border-radius:7px;background:rgba(17,15,50,.86);font-size:12px}
body[data-page="contact"] .contact-form input::placeholder,
body[data-page="contact"] .contact-form textarea::placeholder{color:#aaa2b9;opacity:.85}
body[data-page="contact"] .contact-form .two-cols{gap:12px}
body[data-page="contact"] .contact-form .message-field,
body[data-page="contact"] .contact-form .message-field textarea{height:100px}
body[data-page="contact"] .contact-form .message-field textarea{padding-top:24px;resize:none}
body[data-page="contact"] .contact-form .btn{min-height:42px;border-radius:10px;font-size:13px;background:linear-gradient(100deg,#12dfe3,#9a45ed)}
body[data-page="contact"] .contact-privacy{margin:0;white-space:nowrap;text-align:center;color:#888197;font:9.2px/1.3 var(--serif)}
body[data-page="contact"] .form-status{height:0;min-height:0;margin:0;text-align:center;font-size:11px;overflow:visible}

body[data-page="contact"] .map-card{display:block;min-height:0;height:300px;margin-top:12px;padding:0;border:1px solid rgba(126,74,197,.52);border-radius:16px;background:transparent;box-shadow:0 12px 34px rgba(0,0,0,.2);overflow:hidden}
body[data-page="contact"] .map-card:before{display:none}
body[data-page="contact"] .map-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
body[data-page="contact"] .map-link{transition:transform .2s,filter .2s}
body[data-page="contact"] .map-link:hover{transform:translateY(-2px);filter:brightness(1.04)}
body[data-page="contact"] .map-link:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}

body[data-page="contact"] .access-panel{height:132px;min-height:132px;margin-top:12px;padding:15px 22px;border:1px solid rgba(126,74,197,.38);border-radius:16px;background:linear-gradient(145deg,rgba(10,9,39,.95),rgba(6,6,29,.98))}
body[data-page="contact"] .access-panel h2{margin:0;font:400 22px/1.1 var(--serif)}
body[data-page="contact"] .access-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}
body[data-page="contact"] .access-grid>div{min-width:0;min-height:68px;padding:0 18px;gap:12px;align-items:flex-start;border-right:1px solid rgba(255,255,255,.09);border-bottom:0}
body[data-page="contact"] .access-grid>div:first-child{padding-left:0}
body[data-page="contact"] .access-grid>div:last-child{padding-right:0}
body[data-page="contact"] .access-grid .icon{width:27px;height:27px;flex:0 0 27px}
body[data-page="contact"] .access-grid>div:nth-child(n+2) .icon{filter:brightness(0) saturate(100%) invert(47%) sepia(90%) saturate(1864%) hue-rotate(243deg) brightness(98%) contrast(90%)}
body[data-page="contact"] .access-grid span{gap:5px}
body[data-page="contact"] .access-grid strong{font:13px/1.2 var(--serif)}
body[data-page="contact"] .access-grid small{font:11px/1.35 var(--serif)}

@media(min-width:901px){
  body[data-page="contact"] .site-header{height:104px;background:linear-gradient(180deg,rgba(5,2,27,.98),rgba(4,2,24,.96))}
  body[data-page="contact"] .header-top{position:relative;width:calc(100% - 64px);height:52px;min-height:52px;display:flex;justify-content:flex-end;gap:clamp(20px,3.2vw,41px)}
  body[data-page="contact"] .brand{position:absolute;z-index:3;left:-8px;top:0;width:clamp(200px,18.75vw,240px);border-radius:0}
  body[data-page="contact"] .contact-strip{justify-content:flex-end;gap:clamp(14px,2.1vw,27px);font-size:clamp(11px,1.02vw,13px)}
  body[data-page="contact"] .header-top>.socials{gap:7px}
  body[data-page="contact"] .header-top>.socials a{width:30px;height:30px}
  body[data-page="contact"] .header-top>.socials .icon{width:13px;height:13px}
  body[data-page="contact"] .nav-wrap{width:auto;height:52px;margin-left:clamp(222px,21.25vw,272px);margin-right:24px;padding:0 10px;border-radius:14px;gap:6px}
  body[data-page="contact"] .main-nav{flex:1;justify-content:space-between}
  body[data-page="contact"] .nav-link{padding:0 clamp(5px,.7vw,9px);font-size:clamp(11px,.98vw,12.5px)}
  body[data-page="contact"] .nav-link.active:after{left:7px;right:7px;height:2px}
  body[data-page="contact"] .languages{gap:1px}
  body[data-page="contact"] .languages button{padding:7px 8px;font-size:11px;border-radius:9px}
  body[data-page="contact"] .hero-inner{height:270px;min-height:270px;align-items:center;background-color:#05041d;background-size:auto 135%;background-position:65% top;background-repeat:no-repeat}
  body[data-page="contact"] .hero-inner .hero-overlay{height:52px}
  body[data-page="contact"] .hero-inner .hero-content{padding:0}
  body[data-page="contact"] .breadcrumbs{gap:9px;margin-bottom:24px;font-size:13px}
  body[data-page="contact"] .hero h1{font-size:52px;line-height:1.04;letter-spacing:-.02em}
  body[data-page="contact"] .hero .accent-line{width:51px;height:2px;margin:17px 0}
  body[data-page="contact"] .hero p{max-width:410px;font-size:14px;line-height:1.65}
}

@media(max-width:1180px) and (min-width:901px){
  body[data-page="contact"] .contact-grid{grid-template-columns:356px minmax(0,1fr)}
}

@media(max-width:900px){
  body[data-page="contact"] .hero-content.shell,
  body[data-page="contact"] .contact-section>.shell{width:var(--shell)}
  body[data-page="contact"] .hero-inner{min-height:430px;background-position:62% top}
  body[data-page="contact"] .hero-inner .hero-content{padding-bottom:36px}
  body[data-page="contact"] .contact-section{padding-top:20px}
  body[data-page="contact"] .contact-grid{grid-template-columns:1fr;gap:14px}
  body[data-page="contact"] .contact-info,
  body[data-page="contact"] .contact-form{min-height:0}
  body[data-page="contact"] .access-grid{grid-template-columns:repeat(2,1fr);gap:22px 0}
  body[data-page="contact"] .access-grid>div:nth-child(2){border-right:0}
  body[data-page="contact"] .access-grid>div:nth-child(3){padding-left:0}
  body[data-page="contact"] .access-panel{height:auto;min-height:0;padding:24px}
}

@media(max-width:560px){
  body[data-page="contact"] .hero-inner{min-height:430px;background-position:61% top}
  body[data-page="contact"] .hero h1{font-size:44px}
  body[data-page="contact"] .contact-info,
  body[data-page="contact"] .contact-form{padding:20px 18px}
  body[data-page="contact"] .contact-info .section-heading h2,
  body[data-page="contact"] .contact-form .section-heading h2{font-size:21px}
  body[data-page="contact"] .contact-form{grid-template-rows:auto auto auto auto 110px 45px auto auto}
  body[data-page="contact"] .contact-form .two-cols{grid-template-columns:1fr;gap:10px}
  body[data-page="contact"] .contact-form .message-field,
  body[data-page="contact"] .contact-form .message-field textarea{height:110px}
  body[data-page="contact"] .map-card{height:210px}
  body[data-page="contact"] .access-grid{grid-template-columns:1fr;gap:0}
  body[data-page="contact"] .access-grid>div{padding:16px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}
  body[data-page="contact"] .access-grid>div:last-child{border-bottom:0}
}

/* Directions page calibrated to the supplied 1024 × 1536 reference. */
body[data-page="directions"]{background:#05051b}
body[data-page="directions"] .hero-content.shell,
body[data-page="directions"] .directions-section>.shell,
body[data-page="directions"] .directions-cta,
body[data-page="about"] .directions-cta{width:min(1140px,calc(100% - 92px))}
body[data-page="directions"] .directions-section{padding:22px 0 12px;background:radial-gradient(circle at 10% 32%,rgba(22,222,226,.025),transparent 24rem),#05051b}
body[data-page="directions"] .directions-section .section-heading{margin:0 0 6px;text-align:center}
body[data-page="directions"] .directions-section .section-heading h2{font-size:31px;line-height:1.05;letter-spacing:-.015em}
body[data-page="directions"] .directions-section .section-heading .accent-line{width:48px;height:2px;margin:8px auto 0}
body[data-page="directions"] .direction-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 14px}
body[data-page="directions"] .image-card{height:326px;overflow:hidden;border-color:rgba(127,72,195,.48);border-radius:15px;background:linear-gradient(160deg,rgba(10,9,39,.98),rgba(6,6,29,.98));box-shadow:none}
body[data-page="directions"] .image-card>img{width:100%;height:202px;aspect-ratio:auto;object-fit:cover;object-position:center}
body[data-page="directions"] .image-card .card-content{height:124px;padding:14px 16px 12px;display:flex;flex-direction:column;align-items:flex-start}
body[data-page="directions"] .image-card h3{margin:0 0 7px;font-size:18px;line-height:1.08;letter-spacing:-.01em}
body[data-page="directions"] .image-card p{display:-webkit-box;min-height:34px;margin:0;color:#a9a2b8;font-size:12px;line-height:1.38;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
body[data-page="directions"] .image-card a{margin-top:auto;color:#20d5d8;font-size:11.5px;line-height:1;gap:6px}
body[data-page="directions"] .image-card a .icon{width:11px;height:11px}

body[data-page="directions"] .directions-cta,
body[data-page="about"] .directions-cta{min-height:88px;margin-top:0;padding:12px 28px;grid-template-columns:58px minmax(0,1fr) 188px;gap:18px;border-color:rgba(135,67,215,.72);border-radius:15px;background:radial-gradient(circle at 96% 20%,rgba(143,42,224,.42),transparent 34%),linear-gradient(105deg,#171044,#35106d)}
body[data-page="directions"] .directions-cta-icon,
body[data-page="about"] .directions-cta-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#6c21b8,#9b46ed);box-shadow:0 0 22px rgba(150,65,235,.3)}
body[data-page="directions"] .directions-cta-icon .icon,
body[data-page="about"] .directions-cta-icon .icon{width:32px;height:32px;filter:brightness(0) saturate(100%)}
body[data-page="directions"] .directions-cta-copy,
body[data-page="about"] .directions-cta-copy{align-self:center}
body[data-page="directions"] .directions-cta h2,
body[data-page="about"] .directions-cta h2{margin:0 0 5px;font-size:20px;line-height:1.12}
body[data-page="directions"] .directions-cta p,
body[data-page="about"] .directions-cta p{font-size:12px;line-height:1.35}
body[data-page="directions"] .directions-cta>.btn,
body[data-page="about"] .directions-cta>.btn{width:188px;min-height:42px;padding:0 19px;font-size:13px}

@media(min-width:901px){
  body[data-page="directions"] .site-header{height:104px;background:linear-gradient(180deg,rgba(5,2,27,.98),rgba(4,2,24,.96))}
  body[data-page="directions"] .header-top{position:relative;width:calc(100% - 64px);height:52px;min-height:52px;display:flex;justify-content:flex-end;gap:clamp(20px,3.2vw,41px)}
  body[data-page="directions"] .brand{position:absolute;z-index:3;left:8px;top:0;width:clamp(200px,18.75vw,240px);border-radius:0}
  body[data-page="directions"] .contact-strip{justify-content:flex-end;gap:clamp(14px,2.1vw,27px);font-size:clamp(11px,1.02vw,13px)}
  body[data-page="directions"] .header-top>.socials{gap:7px}
  body[data-page="directions"] .header-top>.socials a{width:30px;height:30px}
  body[data-page="directions"] .header-top>.socials .icon{width:13px;height:13px}
  body[data-page="directions"] .nav-wrap{width:auto;height:52px;margin-left:clamp(222px,21.25vw,272px);margin-right:24px;padding:0 10px;border-radius:14px;gap:6px}
  body[data-page="directions"] .main-nav{flex:1;justify-content:space-between}
  body[data-page="directions"] .nav-link{padding:0 clamp(5px,.7vw,9px);font-size:clamp(11px,.98vw,12.5px)}
  body[data-page="directions"] .nav-link.active:after{left:7px;right:7px;height:2px}
  body[data-page="directions"] .languages{gap:1px}
  body[data-page="directions"] .languages button{padding:7px 8px;font-size:11px;border-radius:9px}
  body[data-page="directions"] .hero-inner{height:348px;min-height:348px;align-items:center;background-color:#05041d;background-size:100% 100%,auto 100%;background-position:center,right center;background-repeat:no-repeat}
  body[data-page="directions"] .hero-inner:before{background:linear-gradient(90deg,rgba(4,3,25,.97) 0%,rgba(4,3,25,.91) 31%,rgba(4,3,25,.7) 48%,rgba(4,3,25,.2) 72%,rgba(4,3,25,.04) 100%)}
  body[data-page="directions"] .hero-inner:after{content:"";position:absolute;z-index:-2;inset:-14px;background:var(--hero-image) center 38%/cover no-repeat;filter:blur(10px) saturate(.9);opacity:.3;transform:scale(1.025);pointer-events:none}
  body[data-page="directions"] .hero-inner .hero-overlay{height:56px}
  body[data-page="directions"] .hero-inner .hero-content{padding:0}
  body[data-page="directions"] .hero h1{font-size:52px;line-height:1.04;letter-spacing:-.025em}
  body[data-page="directions"] .hero .accent-line{width:51px;height:2px;margin:18px 0}
  body[data-page="directions"] .hero p{max-width:410px;font-size:14px;line-height:1.65}
}

@media(max-width:900px){
  body[data-page="directions"] .hero-content.shell,
  body[data-page="directions"] .directions-section>.shell,
  body[data-page="directions"] .directions-cta,
  body[data-page="about"] .directions-cta{width:var(--shell)}
  body[data-page="directions"] .hero-inner{min-height:430px;background-size:100% 100%,auto 100%;background-position:center,58% top}
  body[data-page="directions"] .hero-inner:after{inset:-10px;background-position:58% center;filter:blur(8px);opacity:.22}
  body[data-page="directions"] .hero-inner .hero-content{padding-bottom:34px}
  body[data-page="directions"] .directions-section{padding-top:38px}
  body[data-page="directions"] .direction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  body[data-page="directions"] .image-card{height:auto;min-height:398px}
  body[data-page="directions"] .image-card>img{height:auto;aspect-ratio:1.28}
  body[data-page="directions"] .image-card .card-content{height:140px;padding:18px}
  body[data-page="directions"] .image-card h3{font-size:22px}
  body[data-page="directions"] .image-card p{font-size:13px}
  body[data-page="directions"] .directions-cta,
  body[data-page="about"] .directions-cta{padding:20px 22px;grid-template-columns:58px 1fr;gap:14px 18px}
  body[data-page="directions"] .directions-cta>.btn,
  body[data-page="about"] .directions-cta>.btn{grid-column:2;width:210px}
}

@media(max-width:560px){
  body[data-page="directions"] .hero-inner{min-height:435px;background-size:100% 100%,auto 100%;background-position:center,60% top}
  body[data-page="directions"] .hero h1{font-size:42px}
  body[data-page="directions"] .hero p{max-width:280px;font-size:14px}
  body[data-page="directions"] .directions-section{padding:34px 0 20px}
  body[data-page="directions"] .directions-section .section-heading h2{font-size:28px}
  body[data-page="directions"] .direction-grid{grid-template-columns:1fr;gap:16px}
  body[data-page="directions"] .image-card{min-height:0}
  body[data-page="directions"] .image-card>img{aspect-ratio:1.38}
  body[data-page="directions"] .image-card .card-content{height:136px;padding:17px 18px}
  body[data-page="directions"] .directions-cta,
  body[data-page="about"] .directions-cta{width:calc(100% - 28px);grid-template-columns:54px 1fr;padding:19px;gap:15px}
  body[data-page="directions"] .directions-cta-icon,
  body[data-page="about"] .directions-cta-icon{width:50px;height:50px}
  body[data-page="directions"] .directions-cta h2,
  body[data-page="about"] .directions-cta h2{font-size:19px}
  body[data-page="directions"] .directions-cta p,
  body[data-page="about"] .directions-cta p{font-size:11.5px}
  body[data-page="directions"] .directions-cta>.btn,
  body[data-page="about"] .directions-cta>.btn{grid-column:1/-1;width:100%}
}

/* One proportional header system for every page and desktop width. */
@media(min-width:901px){
  body[data-page] .site-header{height:104px;background:linear-gradient(180deg,rgba(5,2,27,.98),rgba(4,2,24,.96));border-bottom:1px solid rgba(129,77,199,.34)}
  body[data-page] .header-top{position:relative;width:calc(100% - 64px);height:52px;min-height:52px;display:flex;justify-content:flex-end;gap:clamp(20px,3.2vw,41px)}
  body[data-page] .brand{position:absolute;z-index:3;left:-8px;top:0;width:clamp(200px,18.75vw,240px);border-radius:0}
  body[data-page] .contact-strip{justify-content:flex-end;gap:clamp(14px,2.1vw,27px);font-size:13px}
  body[data-page] .header-top>.contact-strip,
  body[data-page] .header-top>.socials{transform:none}
  body[data-page] .header-top>.socials{gap:7px}
  body[data-page] .header-top>.socials a{width:30px;height:30px}
  body[data-page] .header-top>.socials .icon{width:13px;height:13px}
  body[data-page] .nav-wrap{width:auto;height:52px;margin-left:clamp(222px,21.25vw,272px);margin-right:24px;padding:0 10px;border-color:rgba(129,77,199,.3);border-radius:14px;gap:6px}
  body[data-page] .main-nav{flex:1;justify-content:space-between}
  body[data-page] .nav-link{padding:0 clamp(5px,.7vw,9px);font-size:clamp(11px,.98vw,12.5px)}
  body[data-page] .nav-link.active:after{left:7px;right:7px;height:2px}
  body[data-page] .languages{gap:1px}
  body[data-page] .languages button{padding:7px 8px;font-size:11px;border-radius:9px}
  body[data-page="home"] .hero-home{background-size:100% 100%,cover;background-position:center,center}
}

@media(min-width:1441px){
  body[data-page] .site-header{height:clamp(104px,7.22vw,166px)}
  body[data-page] .header-top{width:calc(100% - clamp(64px,4.44vw,102px));height:clamp(52px,3.61vw,83px);min-height:clamp(52px,3.61vw,83px);gap:clamp(41px,2.85vw,66px)}
  body[data-page] .brand{left:clamp(-13px,-.56vw,-8px);width:clamp(240px,16.67vw,384px)}
  body[data-page] .contact-strip{gap:clamp(27px,1.88vw,43px);font-size:clamp(13px,.9vw,21px)}
  body[data-page] .header-top>.socials{gap:clamp(7px,.49vw,11px)}
  body[data-page] .header-top>.socials a{width:clamp(30px,2.08vw,48px);height:clamp(30px,2.08vw,48px)}
  body[data-page] .header-top>.socials .icon{width:clamp(13px,.9vw,21px);height:clamp(13px,.9vw,21px)}
  body[data-page] .nav-wrap{height:clamp(52px,3.61vw,83px);margin-left:clamp(272px,18.89vw,435px);margin-right:clamp(24px,1.67vw,38px);padding:0 clamp(10px,.69vw,16px);border-radius:clamp(14px,.97vw,22px);gap:clamp(6px,.42vw,10px)}
  body[data-page] .nav-link{padding:0 clamp(9px,.63vw,14px);font-size:clamp(12.5px,.87vw,20px)}
  body[data-page] .nav-link.active:after{left:clamp(7px,.49vw,11px);right:clamp(7px,.49vw,11px);height:clamp(2px,.14vw,3px)}
  body[data-page] .languages button{padding:clamp(7px,.49vw,11px) clamp(8px,.56vw,13px);font-size:clamp(11px,.76vw,18px);border-radius:clamp(9px,.63vw,14px)}
}

@media(min-width:901px) and (max-width:1100px){
  body[data-page] .nav-link{padding-inline:3px;font-size:10px}
  body[data-page] .languages button{padding:6px;font-size:10px}
}

@media(max-width:900px){
  body[data-page="home"] .hero-home{background-size:100% 100%,auto 135%;background-position:center,58% center}
}

/* Mobile home hero follows the calmer contact-page crop without changing tablet or desktop. */
@media(max-width:560px){
  body[data-page="home"] .hero-home{
    height:660px;
    min-height:660px;
    align-items:flex-end;
    background-color:#05041d;
    background-image:linear-gradient(180deg,rgba(2,2,19,.04) 0%,rgba(2,2,19,.12) 34%,rgba(2,2,19,.76) 66%,rgba(2,2,19,.98) 100%),var(--hero-image);
    background-size:100% 100%,auto 485px;
    background-position:center,center top;
    background-repeat:no-repeat
  }
  body[data-page="home"] .hero-home:before{
    background:linear-gradient(180deg,rgba(4,3,26,.06) 0%,rgba(4,3,26,.02) 42%,rgba(4,3,26,.42) 68%,rgba(4,3,26,.94) 100%)
  }
  body[data-page="home"] .hero-home:after{
    height:88px;
    background:linear-gradient(180deg,transparent,var(--bg))
  }
  body[data-page="home"] .hero-content.shell{
    width:calc(100% - 28px);
    padding:0 0 30px
  }
  body[data-page="home"] .hero h1{
    max-width:340px;
    font-size:36px;
    line-height:1.08;
    letter-spacing:-.025em
  }
  body[data-page="home"] .hero .accent-line{
    width:58px;
    margin:18px 0
  }
  body[data-page="home"] .hero p{
    max-width:350px;
    font-size:14px;
    line-height:1.55
  }
  body[data-page="home"] .hero-actions{
    gap:12px;
    margin-top:20px
  }
  body[data-page="home"] .hero-actions .btn{
    width:100%;
    min-width:0;
    min-height:48px;
    padding:0 18px;
    font-size:13px
  }
}

/* Shared footer component: one compact layout reused by all pages that render a footer. */
dulcinea-footer{display:block}
body[data-page] dulcinea-footer .site-footer{margin-top:18px}
body[data-page] dulcinea-footer .footer-grid.shell,
body[data-page] dulcinea-footer .copyright.shell{width:min(1140px,calc(100% - 92px))}
body[data-page] dulcinea-footer .footer-grid{
  padding:16px 0 14px;
  grid-template-columns:238px 180px 176px 1fr;
  gap:35px;
  font-size:12px
}
body[data-page] dulcinea-footer .footer-grid>div{gap:4px}
body[data-page] dulcinea-footer .footer-brand img{width:164px}
body[data-page] dulcinea-footer .footer-brand p{margin:0;line-height:1.4}
body[data-page] dulcinea-footer .site-footer h3{margin:0 0 7px;font-size:18px}
body[data-page] dulcinea-footer .site-footer .socials{gap:8px;margin-top:2px}
body[data-page] dulcinea-footer .site-footer .socials a{width:30px;height:30px;font:18px/1 var(--serif)}
body[data-page] dulcinea-footer .site-footer .socials .icon{width:13px;height:13px}
body[data-page] dulcinea-footer .site-footer .btn{min-height:42px;padding:0 22px;font-size:13px}
body[data-page] dulcinea-footer .copyright{padding:10px 0 12px;font-size:10px}

@media(max-width:900px){
  body[data-page] dulcinea-footer .footer-grid.shell,
  body[data-page] dulcinea-footer .copyright.shell{width:var(--shell)}
  body[data-page] dulcinea-footer .footer-grid{
    grid-template-columns:repeat(2,1fr);
    padding:38px 0 28px
  }
}

@media(max-width:560px){
  body[data-page] dulcinea-footer .footer-grid{grid-template-columns:1fr}
}

/* Artistic director profile — calibrated to the supplied teachers-page reference. */
body[data-page="teachers"]{background:#05051b}
body[data-page="teachers"] .teacher-lead-hero{
  min-height:280px;
  height:280px;
  align-items:center;
  background-color:#040418;
  background-image:linear-gradient(90deg,rgba(2,2,18,.98) 0%,rgba(2,2,18,.92) 31%,rgba(2,2,18,.34) 54%,rgba(2,2,18,.08) 100%),var(--hero-image);
  background-size:100% 100%,100% auto;
  background-position:center,center 10%;
  background-repeat:no-repeat
}
body[data-page="teachers"] .teacher-lead-hero:before{
  background:radial-gradient(circle at 72% 18%,rgba(108,52,223,.21),transparent 22rem)
}
body[data-page="teachers"] .teacher-lead-hero .hero-overlay{
  height:58px;
  background:linear-gradient(180deg,transparent,#05051b)
}
body[data-page="teachers"] .teacher-lead-hero .hero-content{
  width:min(1120px,calc(100% - 160px));
  padding:44px 0 0
}
body[data-page="teachers"] .teacher-lead-hero .breadcrumbs{
  margin-bottom:26px;
  font-size:14px
}
body[data-page="teachers"] .teacher-lead-hero h1{
  max-width:430px;
  font-size:52px;
  line-height:1.08;
  letter-spacing:-.025em
}
body[data-page="teachers"] .teacher-lead-hero .accent-line{
  width:54px;
  height:2px;
  margin:25px 0 0
}
.teacher-profile-section{
  padding:0 0 0;
  background:radial-gradient(circle at 9% 32%,rgba(52,34,127,.08),transparent 26rem),#05051b
}
.teacher-profile-card{
  width:min(1120px,calc(100% - 40px));
  margin:0 auto;
  padding:0 25px 24px;
  overflow:hidden;
  border:1px solid rgba(126,72,192,.48);
  border-radius:17px;
  background:linear-gradient(155deg,rgba(8,7,32,.97),rgba(4,4,24,.99));
  box-shadow:0 26px 70px rgba(0,0,0,.24)
}
.teacher-profile-intro{
  min-height:245px;
  display:grid;
  grid-template-columns:38% 62%;
  align-items:center
}
.teacher-profile-portrait{
  align-self:stretch;
  min-width:0;
  display:flex;
  align-items:flex-end;
  justify-content:center
}
.teacher-profile-portrait img{
  width:min(68vw,1080px);
  height:260px;
  object-fit:cover;
  object-position:center 30%
}
.teacher-profile-summary{padding:25px 24px 20px}
.teacher-eyebrow{
  display:block;
  margin-bottom:14px;
  color:var(--cyan);
  font:14px/1.3 var(--serif)
}
.teacher-profile-summary h2{
  margin:0 0 14px;
  font:400 39px/1.08 var(--serif);
  letter-spacing:-.025em
}
.teacher-profile-summary p{
  max-width:660px;
  margin:0;
  color:#e0d8e7;
  font:16px/1.65 var(--serif)
}
.teacher-profile-summary .accent-line{
  width:46px;
  height:2px;
  margin:20px 0 0
}
.teacher-experience{margin-top:12px;padding:5px 0 0}
.teacher-experience>h3{
  margin:0 0 3px;
  text-align:center;
  font:400 20px/1.3 var(--serif)
}
.teacher-timeline{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px
}
.teacher-timeline>article{
  height:153px;
  min-height:153px;
  overflow:hidden;
  padding:13px 14px;
  border:1px solid rgba(116,68,184,.35);
  border-radius:10px;
  background:linear-gradient(145deg,rgba(16,13,49,.82),rgba(7,7,29,.88))
}
.teacher-timeline-head{
  min-height:35px;
  display:flex;
  align-items:center;
  gap:10px
}
.teacher-timeline-head img{
  width:34px;
  height:34px;
  flex:0 0 34px;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(45%) sepia(97%) saturate(2896%) hue-rotate(247deg) brightness(98%) contrast(91%)
}
.teacher-timeline-head strong{
  color:var(--cyan);
  font:700 14px/1.25 var(--serif)
}
.teacher-timeline>article p{
  margin:14px 0 0;
  color:#bbb3c7;
  font:12.5px/1.45 var(--serif)
}
.teacher-biography{
  margin-top:18px;
  display:grid;
  grid-template-columns:36% 64%;
  gap:26px;
  align-items:start
}
.teacher-biography figure{
  height:auto;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(132,78,194,.35);
  border-radius:12px;
  background:#0b0929
}
.teacher-biography figure img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center
}
.teacher-biography-copy{
  display:grid;
  gap:9px;
  padding-right:3px
}
.teacher-biography-copy p{
  margin:0;
  color:#d0c8d7;
  font:12.5px/1.45 var(--serif)
}
.teacher-biography-copy strong{color:#f2edf7;font-weight:700}
@media(min-width:901px){
  .teacher-biography figure{
    width:min(100%,362.5px);
    height:520px;
    justify-self:center;
    display:flex;
    align-items:center;
    justify-content:center
  }
  .teacher-biography figure img{
    width:100%;
    max-width:100%;
    height:100%;
    object-fit:contain
  }
  .teacher-biography-copy p{font-size:14.5px;line-height:1.5}
}
.teacher-quote{
  min-height:82px;
  margin:18px 0 12px;
  padding:10px 32px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:21px;
  border:1px solid rgba(126,70,195,.52);
  border-radius:12px;
  background:linear-gradient(115deg,rgba(18,13,57,.94),rgba(11,9,42,.97))
}
.teacher-quote>span{
  color:#a549ef;
  font:700 48px/.65 Georgia,serif
}
.teacher-quote>span:last-child{align-self:end}
.teacher-quote p{
  margin:0;
  color:#eee9f2;
  font:16.5px/1.34 var(--serif)
}
.teacher-profile-cta{
  position:relative;
  min-height:120px;
  overflow:hidden;
  border:1px solid rgba(130,73,194,.42);
  border-radius:12px;
  background-image:linear-gradient(90deg,rgba(11,8,39,.99) 0%,rgba(15,10,49,.97) 46%,rgba(20,11,68,.5) 69%,rgba(38,13,90,.14) 100%),url('../images/gallery/gallery-cta-dancer.png');
  background-size:100% 100%,cover;
  background-position:center,center 47%;
  background-repeat:no-repeat
}
.teacher-profile-cta-copy{
  position:relative;
  z-index:1;
  max-width:560px;
  padding:10px 34px
}
.teacher-profile-cta h3{
  margin:0 0 8px;
  font:400 18px/1.22 var(--serif)
}
.teacher-profile-actions{display:flex;gap:13px}
.teacher-profile-actions .btn{
  min-width:168px;
  min-height:40px;
  padding:0 21px;
  font-size:13px
}
@media(max-width:1180px){
  .teacher-profile-card{width:min(1120px,calc(100% - 40px))}
  .teacher-timeline-head{align-items:flex-start;gap:7px}
  .teacher-timeline-head img{width:30px;height:30px;flex-basis:30px}
  .teacher-timeline-head strong{font-size:13px}
  .teacher-timeline>article{padding:14px 11px}
}

@media(max-width:900px){
  body[data-page="teachers"] .teacher-lead-hero{
    height:440px;
    min-height:440px;
    align-items:flex-end;
    background-image:linear-gradient(180deg,rgba(2,2,18,.04) 0%,rgba(2,2,18,.18) 47%,rgba(2,2,18,.9) 100%),var(--hero-image);
    background-size:100% 100%,auto 440px;
    background-position:center,62% top
  }
  body[data-page="teachers"] .teacher-lead-hero .hero-content{
    width:calc(100% - 64px);
    padding:0 0 36px
  }
  body[data-page="teachers"] .teacher-lead-hero .breadcrumbs{margin-bottom:17px}
  body[data-page="teachers"] .teacher-lead-hero h1{font-size:48px}
  body[data-page="teachers"] .teacher-lead-hero .accent-line{margin-top:18px}
  .teacher-profile-card{
    width:calc(100% - 32px);
    padding:0 22px 22px
  }
  .teacher-profile-intro{grid-template-columns:42% 58%}
  .teacher-profile-portrait img{height:250px;object-fit:contain;object-position:center bottom}
  .teacher-profile-summary{padding:22px 12px 18px 20px}
  .teacher-profile-summary h2{font-size:34px}
  .teacher-profile-summary p{font-size:15px}
  .teacher-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .teacher-timeline>article{min-height:132px}
  .teacher-timeline>article:last-child{grid-column:1/-1}
  .teacher-biography{grid-template-columns:1fr;gap:20px}
  .teacher-biography figure{height:auto;aspect-ratio:auto}
  .teacher-biography-copy p{font-size:14px;line-height:1.58}
  .teacher-quote{padding:18px 24px}
  .teacher-quote p{font-size:17px}
  .teacher-profile-cta{background-position:center,58% center}
}

@media(max-width:560px){
  body[data-page="teachers"] .teacher-lead-hero{
    height:410px;
    min-height:410px;
    background-size:100% 100%,auto 410px;
    background-position:center,66% top
  }
  body[data-page="teachers"] .teacher-lead-hero .hero-content{
    width:calc(100% - 28px);
    padding-bottom:29px
  }
  body[data-page="teachers"] .teacher-lead-hero .breadcrumbs{font-size:12px}
  body[data-page="teachers"] .teacher-lead-hero h1{font-size:39px}
  body[data-page="teachers"] .teacher-lead-hero .accent-line{width:48px}
  .teacher-profile-card{
    width:calc(100% - 20px);
    padding:0 12px 12px;
    border-radius:15px
  }
  .teacher-profile-intro{
    grid-template-columns:1fr;
    padding-top:8px
  }
  .teacher-profile-portrait img{height:330px}
  .teacher-profile-summary{padding:18px 7px 22px}
  .teacher-eyebrow{font-size:13px}
  .teacher-profile-summary h2{font-size:33px}
  .teacher-profile-summary p{font-size:14px;line-height:1.6}
  .teacher-experience{margin-top:0}
  .teacher-experience>h3{font-size:19px}
  .teacher-timeline{grid-template-columns:1fr;gap:9px}
  .teacher-timeline>article,
  .teacher-timeline>article:last-child{
    height:auto;
    min-height:0;
    overflow:visible;
    grid-column:auto;
    padding:15px
  }
  .teacher-timeline-head{align-items:center}
  .teacher-timeline>article p{font-size:13px}
  .teacher-biography{margin-top:18px}
  .teacher-biography figure{border-radius:10px}
  .teacher-biography-copy{gap:12px;padding:0 4px}
  .teacher-biography-copy p{font-size:13px;line-height:1.6}
  .teacher-quote{
    margin:20px 0 12px;
    padding:18px 14px;
    grid-template-columns:1fr;
    gap:7px
  }
  .teacher-quote>span{font-size:38px}
  .teacher-quote>span:last-child{justify-self:end}
  .teacher-quote p{font-size:16px;line-height:1.5}
  .teacher-profile-cta{
    min-height:300px;
    background-image:linear-gradient(180deg,rgba(9,7,35,.98) 0%,rgba(10,8,38,.92) 46%,rgba(16,9,56,.42) 100%),url('../images/gallery/gallery-cta-dancer.png');
    background-size:100% 100%,auto 190px;
    background-position:center,36% bottom
  }
  .teacher-profile-cta-copy{max-width:none;padding:22px 18px}
  .teacher-profile-cta h3{font-size:21px}
  .teacher-profile-actions{display:grid}
  .teacher-profile-actions .btn{width:100%}
}

/* Separate photo and video archives calibrated to the supplied 1024 × 1536 screens. */
body[data-page="galleryPhotos"],
body[data-page="galleryVideos"]{min-width:320px;background:radial-gradient(circle at 52% 18%,rgba(44,31,104,.06),transparent 28rem),#05051b;color:#f7f3fb}
.archive-page{min-height:100vh;background:linear-gradient(180deg,rgba(5,5,27,.2),rgba(5,5,27,.04))}
.archive-shell{width:calc(100% - 72px);max-width:952px;margin:0 auto;padding:31px 0 26px}
.archive-breadcrumbs{display:flex;align-items:center;gap:13px;color:#b8afc1;font:14px/1.3 var(--serif)}
.archive-breadcrumbs a{color:inherit}
.archive-breadcrumbs a:first-child{color:#1bd8db}
.archive-heading{margin-top:29px}
.archive-heading h1{margin:0;font:400 42px/1.05 var(--serif);letter-spacing:-.015em}
.archive-heading>.accent-line{width:54px;height:2px;margin:14px 0 16px}
.archive-heading p{margin:0;color:#c1b8c9;font:16px/1.75 var(--serif)}
.archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:14px}
.photo-archive-grid{margin-top:22px;row-gap:27px}
.archive-card{min-width:0;margin:0}
.archive-thumb{width:100%;aspect-ratio:227/182;overflow:hidden;padding:0;display:block;border:1px solid rgba(128,67,189,.48);border-radius:12px;background:#090821;box-shadow:none;cursor:pointer}
.archive-thumb>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.archive-card.compact-thumb .archive-thumb{aspect-ratio:227/165}
.archive-card h2{margin:11px 2px 0;color:#f5f0f8;font:400 15px/1.3 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.archive-card>p{margin:4px 2px 0;color:#aaa1b4;font:13px/1.25 var(--serif)}
.archive-pagination{width:max-content;margin-left:auto;margin-right:auto;padding:4px 7px;display:flex;align-items:center;gap:3px;border:1px solid rgba(110,68,172,.32);border-radius:11px;background:rgba(7,6,30,.78)}
.archive-pagination a{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#f0eaf5;font:14px/1 var(--sans)}
.archive-pagination a.active{color:#04121d;background:#12dce0}
.archive-pagination a.disabled{opacity:.3;pointer-events:none}
.photo-archive-grid .archive-card:nth-child(n+13):nth-child(-n+16){position:relative;top:-15px}
.photo-archive-grid .archive-card:nth-child(n+17){position:relative;top:-23px}
.photo-archive .archive-shell{padding-bottom:20px}
.photo-pagination{margin-top:0}

body[data-page="galleryVideos"] .archive-shell{width:calc(100% - 88px);max-width:936px;padding-top:42px}
body[data-page="galleryVideos"] .archive-heading{margin-top:30px}
body[data-page="galleryVideos"] .archive-heading h1{font-size:46px}
body[data-page="galleryVideos"] .archive-heading>.accent-line{width:62px;margin:19px 0 23px}
body[data-page="galleryVideos"] .archive-heading p{line-height:1.8}
.video-archive-grid{margin-top:50px;column-gap:12px;row-gap:38px}
.video-archive-grid .archive-thumb{aspect-ratio:16/9;border-color:rgba(129,75,175,.5)}
.video-archive-thumb{position:relative;cursor:pointer}
.video-archive-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 64%,rgba(2,1,13,.22));pointer-events:none}
.video-archive-thumb>img{transition:transform .25s ease,filter .25s ease}
.video-archive-thumb:hover>img{transform:scale(1.035);filter:brightness(.86)}
.video-archive-thumb:focus-visible{outline:3px solid #12dce0;outline-offset:3px}
.video-preview-unavailable{width:100%;height:100%;padding:24px;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 35%,rgba(146,60,221,.3),transparent 45%),linear-gradient(145deg,#171044,#06051c);color:#d9d0e1;font:15px/1.45 var(--serif)}
.archive-play{position:absolute;z-index:2;left:50%;top:50%;width:48px;height:48px;border:1.5px solid #fff;border-radius:50%;background:rgba(5,4,26,.38);transform:translate(-50%,-50%);box-shadow:0 2px 12px rgba(0,0,0,.25)}
.archive-play:after{content:"";position:absolute;left:19px;top:14px;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:14px solid #fff}
.archive-duration{position:absolute;z-index:2;right:7px;bottom:7px;padding:4px 6px;border-radius:4px;color:#fff;background:rgba(3,2,15,.82);font:12px/1 var(--serif)}
.archive-source{position:absolute;z-index:2;right:7px;bottom:7px;padding:4px 7px;border-radius:4px;color:#fff;background:rgba(3,2,15,.82);font:11px/1 var(--sans);letter-spacing:.03em}
.video-archive-grid .archive-card h2{margin-top:12px;font-size:15px}
.video-archive-grid .archive-card>p{margin-top:5px}
.video-pagination{margin-top:28px;padding:4px 6px;gap:7px}
.video-pagination a{width:36px;height:36px;border:1px solid rgba(112,77,161,.32);border-radius:10px}
.video-pagination a.active{border-color:#12dce0;color:#12dce0;background:transparent}

/* Gallery lightbox with framed stage, navigation, caption and counter. */
.gallery-lightbox{z-index:200;padding:24px;background:rgba(0,0,14,.86);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.gallery-lightbox.open{display:flex}
.gallery-lightbox .lightbox-panel{width:calc(100vw - 40px);height:calc(100vh - 40px);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid #9050ea;border-radius:16px;background:linear-gradient(155deg,#080722,#05051b);box-shadow:0 26px 90px rgba(0,0,0,.56)}
.gallery-lightbox .lightbox-head{height:52px;padding:0 15px 0 23px;display:flex;align-items:center;justify-content:space-between}
.gallery-lightbox .lightbox-head h2{position:relative;margin:0;font:400 18px/1 var(--serif)}
.gallery-lightbox .lightbox-head h2:after{content:"";position:absolute;left:0;bottom:-14px;width:52px;height:2px;background:linear-gradient(90deg,#15dce0,#9947ed)}
.gallery-lightbox .lightbox-close{position:static;width:34px;height:34px;padding:0;border:1px solid #15dce0;border-radius:50%;display:grid;place-items:center;color:#fff;background:#0b0928;font:300 27px/1 var(--sans);box-shadow:0 0 0 1px rgba(154,54,231,.8);cursor:pointer}
.gallery-lightbox .lightbox-stage{position:relative;min-height:0;margin:0 16px;overflow:hidden;display:grid;place-items:center;border:1px solid rgba(119,72,177,.55);border-radius:12px 12px 0 0;background:#02020d}
.gallery-lightbox .lightbox-stage>img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;object-position:center;border:0;border-radius:0}
.gallery-lightbox .lightbox-prev,
.gallery-lightbox .lightbox-next{position:absolute;top:50%;width:54px;height:54px;padding:0;display:grid;place-items:center;border:2px solid #17dce0;border-radius:50%;color:#fff;background:rgba(7,5,29,.72);font:300 44px/.8 var(--sans);transform:translateY(-50%);box-shadow:0 0 0 2px rgba(153,42,229,.55);cursor:pointer;backdrop-filter:blur(5px)}
.gallery-lightbox .lightbox-prev{left:14px}
.gallery-lightbox .lightbox-next{right:14px}
.gallery-lightbox .lightbox-meta{min-height:68px;margin:0 16px 15px;padding:11px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border:1px solid rgba(119,72,177,.55);border-top:0;border-radius:0 0 12px 12px;background:linear-gradient(90deg,rgba(24,17,65,.88),rgba(13,9,48,.92))}
.gallery-lightbox .lightbox-meta>div{display:grid;gap:5px}
.gallery-lightbox .lightbox-meta strong{font:400 15px/1.25 var(--serif)}
.gallery-lightbox .lightbox-meta span{color:#aaa1b4;font:12px/1.3 var(--serif)}
.gallery-lightbox .lightbox-count{padding-top:2px;font:400 14px/1.2 var(--serif)}
body.lightbox-open{overflow:hidden}

.video-player-modal{position:fixed;z-index:220;inset:0;padding:24px;display:none;align-items:center;justify-content:center;background:rgba(0,0,14,.9);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.video-player-modal.open{display:flex}
.video-player-modal[hidden]{display:none}
.video-player-panel{width:min(920px,calc(100% - 32px));overflow:hidden;border:1px solid #9050ea;border-radius:16px;background:linear-gradient(155deg,#080722,#05051b);box-shadow:0 26px 90px rgba(0,0,0,.62)}
.video-player-head{min-height:58px;padding:10px 14px 10px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.video-player-head h2{margin:0;font:400 18px/1.3 var(--serif)}
.video-player-close{flex:0 0 auto;width:36px;height:36px;padding:0;border:1px solid #15dce0;border-radius:50%;display:grid;place-items:center;color:#fff;background:#0b0928;font:300 28px/1 var(--sans);box-shadow:0 0 0 1px rgba(154,54,231,.8);cursor:pointer}
.video-player-close:focus-visible,.video-player-youtube:focus-visible{outline:3px solid #12dce0;outline-offset:3px}
.video-player-frame{width:calc(100% - 32px);margin:0 16px;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(119,72,177,.55);border-radius:12px;background:#000}
.video-player-frame iframe{width:100%;height:100%;display:block;border:0}
.video-player-modal.is-short .video-player-panel{width:min(470px,calc(100% - 24px))}
.video-player-modal.is-short .video-player-frame{width:min(calc(100% - 32px),calc((100vh - 170px)*9/16));margin-left:auto;margin-right:auto;aspect-ratio:9/16}
.video-player-youtube{width:max-content;margin:12px 16px 15px auto;display:block;color:#19dce0;font:13px/1.3 var(--serif)}
.video-player-youtube:hover{text-decoration:underline}

@media(max-width:900px){
  .archive-shell,
  body[data-page="galleryVideos"] .archive-shell{width:calc(100% - 32px);padding-top:28px}
  .archive-heading{margin-top:25px}
  .archive-heading h1,
  body[data-page="galleryVideos"] .archive-heading h1{font-size:40px}
  .archive-heading p{font-size:15px}
  .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
  .photo-archive-grid .archive-card:nth-child(n+13):nth-child(-n+16),
  .photo-archive-grid .archive-card:nth-child(n+17){top:0}
  .archive-card.compact-thumb .archive-thumb{aspect-ratio:227/182}
  .photo-pagination,
  .video-pagination{margin-top:34px}
  .gallery-lightbox{padding:14px}
  .gallery-lightbox .lightbox-panel{width:calc(100vw - 28px);height:calc(100vh - 28px)}
  .video-player-modal{padding:14px}
}

@media(max-width:560px){
  .archive-shell,
  body[data-page="galleryVideos"] .archive-shell{width:calc(100% - 28px);padding-top:22px}
  .archive-breadcrumbs{gap:8px;font-size:12px;white-space:nowrap}
  .archive-heading{margin-top:23px}
  .archive-heading h1,
  body[data-page="galleryVideos"] .archive-heading h1{font-size:35px}
  .archive-heading>.accent-line,
  body[data-page="galleryVideos"] .archive-heading>.accent-line{width:50px;margin:13px 0 16px}
  .archive-heading p{font-size:14px;line-height:1.6}
  .archive-heading p br{display:none}
  .archive-grid{grid-template-columns:1fr;gap:24px}
  .photo-archive-grid,
  .video-archive-grid{margin-top:27px}
  .archive-card h2,
  .video-archive-grid .archive-card h2{font-size:16px}
  .archive-pagination{max-width:100%;gap:1px}
  .video-pagination{gap:3px}
  .gallery-lightbox{padding:8px}
  .gallery-lightbox .lightbox-panel{width:calc(100vw - 16px);height:calc(100vh - 16px);border-radius:13px}
  .gallery-lightbox .lightbox-head{height:48px;padding-left:15px}
  .gallery-lightbox .lightbox-stage{margin:0 8px}
  .gallery-lightbox .lightbox-prev,
  .gallery-lightbox .lightbox-next{width:42px;height:42px;font-size:34px}
  .gallery-lightbox .lightbox-prev{left:8px}
  .gallery-lightbox .lightbox-next{right:8px}
  .gallery-lightbox .lightbox-meta{min-height:64px;margin:0 8px 8px;padding:10px 12px}
  .video-player-modal{padding:8px}
  .video-player-panel,
  .video-player-modal.is-short .video-player-panel{width:calc(100% - 8px);border-radius:13px}
  .video-player-head{min-height:52px;padding:8px 10px 8px 14px}
  .video-player-head h2{font-size:16px}
  .video-player-frame{width:calc(100% - 16px);margin:0 8px}
  .video-player-modal.is-short .video-player-frame{width:min(calc(100% - 16px),calc((100vh - 146px)*9/16))}
  .video-player-youtube{margin:10px 10px 12px auto}
}

/* Contact remains a navigation item; language selection is its own visual control. */
@media(min-width:901px){
  body[data-page] .nav-wrap>.languages{
    position:relative;
    flex:0 0 auto;
    margin-left:12px;
    padding:3px;
    border:1px solid rgba(127,75,196,.42);
    border-radius:12px;
    background:linear-gradient(145deg,rgba(20,15,54,.88),rgba(8,7,31,.9));
    box-shadow:inset 0 0 18px rgba(124,58,207,.08)
  }
  body[data-page] .nav-wrap>.languages:before{
    content:"";
    position:absolute;
    left:-13px;
    top:8px;
    bottom:8px;
    width:1px;
    background:rgba(157,103,225,.32)
  }
  body[data-page] .nav-wrap>.languages button{min-width:34px}
}

@media(max-width:900px){
  .mobile-nav .mobile-languages{
    display:flex;
    justify-content:center;
    gap:8px;
    margin:24px 0 20px;
    padding:18px 0;
    border-top:1px solid rgba(154,95,255,.24);
    border-bottom:1px solid rgba(154,95,255,.24)
  }
  .mobile-nav .mobile-languages button{
    min-width:62px;
    min-height:40px;
    padding:8px 12px;
    border:1px solid rgba(154,95,255,.34);
    border-radius:12px;
    background:rgba(17,13,50,.72);
    cursor:pointer
  }
  .mobile-nav .mobile-languages button.active{
    border-color:var(--cyan);
    background:var(--cyan);
    color:#05051b
  }
}

/* About — story */
.about-story-heading{margin:0 0 16px;text-align:center}
.about-story-heading h2{font-size:31px;line-height:1.05;letter-spacing:-.015em}
.about-story-heading .accent-line{width:48px;height:2px;margin:8px auto 0}
.about-values-heading h2{font-size:clamp(34px,3vw,50px)}
.about-story-copy p{margin:0 0 20px}
.about-story-copy p:last-child{margin-bottom:0}
.about-story-copy .about-story-lead{color:var(--text);font-weight:700}
.about-story-copy strong{color:var(--text);font-weight:700}
.about-story{margin-bottom:18px;border-color:rgba(127,72,195,.48);box-shadow:none}
.about-story-quote{margin:0 0 76px}
body[data-page="about"] .dark-section{
  padding:26px 0 28px
}
body[data-page="about"] .values-grid{margin-bottom:0}
body[data-page="about"] dulcinea-footer .site-footer{margin-top:0}
body[data-page="about"] .about-lead-hero .hero-content.shell,
body[data-page="about"] .dark-section>.shell{
  width:min(1120px,calc(100% - 120px))
}

/* About hero follows the same compact inner-page system as Gallery and Director. */
@media(min-width:901px){
  body[data-page="about"] .about-lead-hero{
    height:329px;
    min-height:329px;
    align-items:center;
    background-position:center top;
    background-size:cover
  }
  body[data-page="about"] .about-lead-hero:before{
    background:radial-gradient(circle at 78% 35%,rgba(143,62,238,.18),transparent 25rem)
  }
  body[data-page="about"] .about-lead-hero .hero-overlay{height:62px}
  body[data-page="about"] .about-lead-hero .hero-content{padding:0}
  body[data-page="about"] .about-lead-hero h1{
    font-size:52px;
    line-height:1.04;
    letter-spacing:-.025em
  }
  body[data-page="about"] .about-lead-hero .accent-line{
    width:51px;
    height:2px;
    margin:18px 0
  }
  body[data-page="about"] .about-lead-hero p{
    max-width:440px;
    font-size:15px;
    line-height:1.7
  }
}

@media(max-width:900px){
  body[data-page="about"] .about-lead-hero .hero-content.shell,
  body[data-page="about"] .dark-section>.shell{width:var(--shell)}
  body[data-page="about"] .dark-section{padding:44px 0 32px}
  body[data-page="about"] .about-lead-hero{
    min-height:430px;
    background-position:58% top
  }
  body[data-page="about"] .about-lead-hero .hero-content{padding-bottom:36px}
  .about-story-quote{margin-bottom:55px}
}

@media(max-width:560px){
  body[data-page="about"] .about-lead-hero{
    min-height:445px;
    background-position:61% top
  }
  body[data-page="about"] .about-lead-hero h1{font-size:42px}
  .about-story-heading h2{font-size:28px}
  .about-values-heading h2{font-size:32px}
}

/* Canonical responsive crop for the home studio hero. */
body[data-page="home"] .hero-home{
  background-color:#05041d;
  background-image:linear-gradient(90deg,rgba(2,2,19,.96) 0%,rgba(2,2,19,.82) 30%,rgba(2,2,19,.22) 57%,rgba(2,2,19,.12) 100%),var(--hero-image);
  background-size:100% 100%,cover;
  background-position:center,center top;
  background-repeat:no-repeat
}

@media(min-width:561px) and (max-width:1180px){
  body[data-page="home"] .hero-home{
    background-image:linear-gradient(90deg,rgba(2,2,19,.88) 0%,rgba(2,2,19,.58) 33%,rgba(2,2,19,.12) 62%),linear-gradient(180deg,rgba(2,2,19,.02) 0%,rgba(2,2,19,.08) 58%,rgba(2,2,19,.88) 100%),var(--hero-image);
    background-size:100% 100%,100% 100%,auto 100%;
    background-position:center,center,50% top
  }
}

/* Framed inner-page heroes share the education page's 1120px presentation. */
:is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) main{padding-top:18px}
:is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner{
  width:min(1120px,calc(100% - 40px));
  height:329px;
  min-height:329px;
  margin-inline:auto;
  border:1px solid rgba(127,62,194,.45);
  border-radius:14px;
  background-color:#05051b;
  background-image:linear-gradient(90deg,rgba(3,3,22,.98) 0%,rgba(3,3,22,.9) 35%,rgba(3,3,22,.35) 65%,rgba(3,3,22,.12) 100%),var(--hero-image);
  background-position:center,center;
  background-size:100% 100%,cover;
  background-repeat:no-repeat;
  align-items:center;
  box-shadow:inset 0 0 42px rgba(9,5,42,.3)
}
:is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner .hero-content.shell{width:100%;padding:0 62px}
:is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner h1{font-size:58px}
:is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner p{font-size:16px;line-height:1.65}
:is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner .hero-overlay{height:54px}

body[data-page="achievements"] main{padding-top:18px}
body[data-page="achievements"] .achievements-hero{
  width:min(1120px,calc(100% - 40px));
  height:329px;
  min-height:329px;
  margin-inline:auto;
  border:1px solid rgba(127,62,194,.45);
  border-radius:14px;
  overflow:hidden
}
body[data-page="achievements"] .achievements-hero-content{width:100%;padding-inline:62px}

@media(max-width:900px){
  :is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"],body[data-page="achievements"]) main{padding-top:12px}
  :is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner{
    width:var(--shell);
    height:430px;
    min-height:430px;
    border-radius:12px;
    align-items:flex-end;
    background-image:linear-gradient(180deg,rgba(3,3,22,.06) 0%,rgba(3,3,22,.28) 44%,rgba(3,3,22,.94) 88%,#05051b 100%),var(--hero-image);
    background-position:center,center;
    background-size:100% 100%,cover
  }
  :is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner .hero-content.shell{padding:0 28px 32px}
  body[data-page="achievements"] .achievements-hero{width:var(--shell);height:430px;min-height:430px;border-radius:12px}
  body[data-page="achievements"] .achievements-hero-content{width:100%;padding:0 28px 32px}
}

@media(max-width:560px){
  :is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner,
  body[data-page="achievements"] .achievements-hero{height:420px;min-height:420px}
  :is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner .hero-content.shell,
  body[data-page="achievements"] .achievements-hero-content{padding:0 21px 25px}
  :is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner h1,
  body[data-page="achievements"] .achievements-hero h1{font-size:40px}
}

@media(max-width:560px){
  body[data-page="home"] .hero-home{
    background-image:linear-gradient(180deg,rgba(2,2,19,.02) 0%,rgba(2,2,19,.1) 38%,rgba(2,2,19,.78) 69%,rgba(2,2,19,.98) 100%),var(--hero-image);
    background-size:100% 100%,auto 520px;
    background-position:center,56% top
  }
}

/* Achievements — calibrated to the supplied 1024 × 1536 reference. */
body[data-page="achievements"]{background:#05051b}
.achievements-top{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 84% 17%,rgba(127,54,214,.2) 0%,rgba(74,35,151,.1) 32%,transparent 62%),
    radial-gradient(ellipse at 88% 76%,rgba(118,54,202,.16) 0%,rgba(46,29,113,.09) 35%,transparent 65%),
    linear-gradient(145deg,#05051b 0%,#06061f 48%,#0a0729 76%,#05051b 100%)
}
.achievements-top:after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(112deg,transparent 45%,rgba(120,61,205,.08) 60%,transparent 74%),
    radial-gradient(ellipse at 91% 52%,rgba(143,62,238,.12),transparent 38rem)
}
.achievements-hero{
  position:relative;
  isolation:isolate;
  height:412px;
  min-height:412px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background-color:transparent;
  background-image:var(--hero-image);
  background-size:auto 100%;
  background-position:right center;
  background-repeat:no-repeat
}
.achievements-hero-shade{
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,rgba(3,3,22,.99) 0%,rgba(3,3,22,.94) 30%,rgba(3,3,22,.67) 48%,rgba(3,3,22,.13) 70%,rgba(3,3,22,.06) 100%),linear-gradient(180deg,rgba(4,3,24,.1),rgba(4,3,24,.03) 62%,rgba(6,6,31,.52) 84%,rgba(6,6,31,.92) 100%)
}
.achievements-hero-content{
  position:relative;
  z-index:1;
  width:min(1140px,calc(100% - 92px))
}
.achievements-hero h1{
  max-width:480px;
  margin:0;
  font:400 52px/1.05 var(--serif);
  letter-spacing:-.025em;
  text-shadow:0 5px 25px rgba(0,0,0,.5)
}
.achievements-hero .accent-line{width:72px;height:2px;margin:31px 0 27px}
.achievements-hero p{
  max-width:460px;
  margin:0;
  color:#d0c8d7;
  font:15px/1.9 var(--serif)
}
.achievements-content{
  padding:16px 0 0;
  border-top:1px solid rgba(123,72,186,.24);
  background:radial-gradient(circle at 7% 20%,rgba(20,223,227,.026),transparent 23rem),#05051b
}
.achievements-graduates-content{
  position:relative;
  z-index:1;
  padding:16px 0 28px;
  border-top:0;
  background:linear-gradient(180deg,rgba(6,6,31,.08),rgba(5,5,27,.3) 78%,rgba(5,5,27,.72))
}
.achievements-graduates-content:after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-120px;
  right:0;
  bottom:0;
  width:min(62vw,900px);
  pointer-events:none;
  background:radial-gradient(ellipse at 72% 38%,rgba(125,59,216,.15),transparent 60%),linear-gradient(135deg,transparent 24%,rgba(93,51,173,.07) 58%,transparent 82%)
}
.achievements-awards-content{
  padding:26px 0 44px;
  border-top:1px solid rgba(123,72,186,.3);
  background:radial-gradient(circle at 7% 20%,rgba(20,223,227,.026),transparent 23rem),#05051b
}
.achievements-shell{width:min(1120px,calc(100% - 40px));margin:0 auto}
.achievement-heading{margin-bottom:11px}
.achievement-heading h2{
  margin:0;
  font:400 30px/1.08 var(--serif);
  letter-spacing:-.018em
}
.achievement-heading .accent-line{width:48px;height:2px;margin:8px 0 0}
.graduate-grid,.awards-grid{display:grid;gap:16px}
.graduate-grid{
  grid-template-columns:none;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 48px)/4);
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 0 12px;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(39,216,221,.72) rgba(124,70,181,.18);
  -webkit-overflow-scrolling:touch
}
.graduate-grid::-webkit-scrollbar{height:7px}
.graduate-grid::-webkit-scrollbar-track{border-radius:999px;background:rgba(124,70,181,.18)}
.graduate-grid::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--violet))}
.awards-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.achievement-card{
  min-width:0;
  overflow:hidden;
  scroll-snap-align:start;
  border:1px solid rgba(126,76,182,.42);
  border-radius:15px;
  background:linear-gradient(160deg,rgba(12,10,43,.98),rgba(6,6,28,.98))
}
.graduate-card>img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center
}
.graduate-card:nth-child(1)>img{object-position:center 38%}
.graduate-card:nth-child(2)>img{object-position:center 38%}
.graduate-card:nth-child(3)>img{object-position:center 42%}
.graduate-card:nth-child(4)>img{object-position:center 34%}
.graduate-card:nth-child(5)>img{object-position:center 38%}
.graduate-card:nth-child(6)>img{object-position:center 35%}
.graduate-card:nth-child(7)>img{object-position:center 40%}
.graduate-card>div{min-height:73px;padding:14px 12px 11px;text-align:center}
.graduate-card h3,.award-card h3{margin:0;color:#eee8f3;font:400 15px/1.3 var(--serif)}
.graduate-card p,.award-card p{margin:8px 0 0;color:#c3bacb;font:13px/1.2 var(--serif)}
.awards-group{margin-top:0}
.award-card{min-width:0}
.award-card>img{
  width:100%;
  aspect-ratio:1.1;
  object-fit:cover;
  object-position:center;
  border:1px solid rgba(126,76,182,.42);
  border-radius:14px
}
.original-award-card>img{aspect-ratio:3/2;object-fit:contain;background:#17101e}
[data-page="achievements"] [data-lightbox]{cursor:zoom-in;transition:transform .2s,filter .2s}
[data-page="achievements"] [data-lightbox]:hover{filter:brightness(1.08)}
[data-page="achievements"] [data-lightbox]:focus-visible{outline:3px solid var(--cyan);outline-offset:-3px}
.award-card h3{margin:10px 3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.award-card p{margin:6px 3px 0}

@media(max-width:900px){
  .achievements-hero{height:500px;min-height:500px;align-items:flex-end;background-size:auto 100%;background-position:62% top}
  .achievements-hero-shade{background:linear-gradient(180deg,rgba(3,3,22,.03) 0%,rgba(3,3,22,.22) 43%,rgba(3,3,22,.94) 86%,#05051b 100%)}
  .achievements-hero-content{width:var(--shell);padding-bottom:42px}
  .achievements-hero h1{font-size:48px}
  .achievements-hero .accent-line{margin:20px 0}
  .achievements-hero p{max-width:560px;font-size:15px;line-height:1.7}
  .achievements-content{padding-top:38px}
  .achievements-graduates-content{padding-bottom:34px;border-top:0}
  .achievements-graduates-content:after{top:-90px;width:100%}
  .achievements-awards-content{padding-top:38px;padding-bottom:52px}
  .achievements-shell{width:var(--shell)}
  .graduate-grid{grid-template-columns:none;grid-auto-columns:calc((100% - 18px)/2);gap:18px}
  .awards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
  .graduate-card>img{aspect-ratio:4/5}
  .award-card>img{aspect-ratio:4/3}
  .awards-group{margin-top:0}
}

@media(max-width:560px){
  .achievements-hero{height:560px;min-height:560px;background-position:65% top}
  .achievements-hero-content{padding-bottom:34px}
  .achievements-hero h1{font-size:42px}
  .achievements-hero p{font-size:14px;line-height:1.65}
  .achievements-content{padding-top:32px}
  .achievements-graduates-content{padding-bottom:30px}
  .achievements-awards-content{padding-top:32px;padding-bottom:46px}
  .achievement-heading h2{font-size:28px}
  .graduate-grid{grid-template-columns:none;grid-auto-columns:min(84vw,320px);gap:14px}
  .awards-grid{grid-template-columns:1fr;gap:18px}
  .graduate-card>img{aspect-ratio:4/5}
  .graduate-card>div{min-height:69px}
  .award-card>img{aspect-ratio:4/3}
  .award-card h3{white-space:normal}
}

/* Education page: composed from the supplied layout reference. */
body[data-page="schedule"] main{overflow:hidden;background:#05051b}
.education-hero{position:relative;isolation:isolate;height:329px;overflow:hidden;border-bottom:1px solid rgba(154,95,255,.24);background:#05051b}
.education-hero-art{position:absolute;z-index:-2;inset:0;background-image:url('../images/directions/hero-directions-clean.png');background-repeat:no-repeat;background-size:675px 329px;background-position:right max(42px,calc((100% - 1280px)/2)) center}
.education-hero-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#05051b 0%,rgba(5,5,27,.98) 37%,rgba(5,5,27,.58) 59%,rgba(5,5,27,.08) 78%,rgba(5,5,27,.34) 100%),radial-gradient(circle at 78% 30%,rgba(132,57,225,.23),transparent 28rem)}
.education-hero-content{width:min(1120px,calc(100% - 120px));height:100%;display:flex;flex-direction:column;justify-content:center;padding:0}
.education-hero h1{max-width:480px;margin:0;font:400 52px/1.04 var(--serif);letter-spacing:-.025em}
.education-hero p{max-width:460px;margin:0;color:#d7d0df;font:15px/1.7 var(--serif)}
.education-hero .accent-line{width:51px;height:2px;margin:18px 0}
.education-section{position:relative;padding:56px 0;border-bottom:1px solid rgba(154,95,255,.18);background:radial-gradient(circle at 4% 30%,rgba(18,223,227,.04),transparent 28rem),linear-gradient(180deg,#07071f,#05051b)}
.education-section:nth-of-type(even){background:radial-gradient(circle at 96% 42%,rgba(142,57,229,.07),transparent 30rem),#05051b}
.education-shell{max-width:none}
.education-kicker{margin:0 0 10px!important;color:var(--cyan)!important;font:700 12px/1.4 var(--sans)!important;letter-spacing:.09em;text-transform:uppercase}
.education-section h2{margin:0;color:#fff;font:400 clamp(29px,2.55vw,42px)/1.16 var(--serif);letter-spacing:-.022em}
.education-section h3{font-family:var(--serif)}
.education-section p{color:var(--muted);font:15px/1.72 var(--serif)}
.education-section strong{color:#f7f2ff}
.education-overview{padding-top:44px}
.education-overview-grid{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(250px,.72fr) minmax(390px,1.25fr);gap:24px;align-items:start}
.education-overview-copy h2{font-size:31px;line-height:1.18}
.education-section-title h2,.education-path-copy h2{font-size:31px}
.education-overview-copy>p:last-child{margin:18px 0 0}
.education-direction-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.education-direction-list li{min-height:54px;padding:9px 17px;border:1px solid rgba(151,83,226,.38);border-radius:999px;display:flex;align-items:center;gap:14px;background:linear-gradient(100deg,rgba(18,15,54,.88),rgba(8,7,31,.75));box-shadow:inset 0 1px rgba(255,255,255,.025)}
.education-direction-list img{width:28px;height:28px;object-fit:contain;filter:brightness(0) saturate(100%) invert(37%) sepia(92%) saturate(1777%) hue-rotate(247deg) brightness(98%) contrast(94%)}
.education-direction-list strong{font:400 15px/1.3 var(--serif)}
.education-overview-visual{overflow:hidden;border:1px solid rgba(151,83,226,.4);border-radius:18px;background:rgba(10,8,39,.88);box-shadow:0 20px 50px rgba(0,0,0,.22)}
.education-collage{display:grid;grid-template-columns:repeat(4,1fr);height:172px}
.education-collage img{width:100%;height:100%;object-fit:cover;border-right:1px solid rgba(255,255,255,.08)}
.education-collage img:last-child{border-right:0}
.education-certifications{padding:17px 21px;border-top:1px solid rgba(151,83,226,.33)}
.education-certifications h3{margin:0 0 6px;font-size:17px;font-weight:400}
.education-certifications>p{margin:0 0 13px;font-size:13px;line-height:1.55}
.education-certification-marks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.education-certification-marks span{min-height:49px;padding:8px 10px;border:1px solid rgba(151,83,226,.25);border-radius:11px;display:flex;align-items:center;gap:9px;color:#e9e3f1;font:12px/1.35 var(--serif);background:rgba(17,13,52,.76)}
.education-certification-marks img{width:27px;height:27px;flex:0 0 27px;filter:brightness(0) saturate(100%) invert(78%) sepia(83%) saturate(748%) hue-rotate(126deg) brightness(97%) contrast(91%)}
.education-emphasis{margin-top:30px;padding:19px 24px;border:1px solid rgba(18,223,227,.19);border-radius:16px;display:grid;grid-template-columns:38px 1fr;gap:17px;align-items:center;background:linear-gradient(90deg,rgba(18,223,227,.055),rgba(143,63,229,.07))}
.education-emphasis>img{width:38px;height:38px;filter:brightness(0) saturate(100%) invert(78%) sepia(83%) saturate(748%) hue-rotate(126deg) brightness(97%) contrast(91%)}
.education-emphasis p{margin:0;color:#d5cfdf}
.education-section-title{margin-bottom:25px}
.education-depth-grid{display:grid;grid-template-columns:1.72fr .78fr;gap:28px;align-items:stretch}
.education-feature-grid{height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.education-feature-grid article{min-height:260px;padding:24px 22px;border:1px solid rgba(151,83,226,.42);border-radius:18px;background:linear-gradient(145deg,rgba(19,15,57,.93),rgba(8,7,31,.95));box-shadow:0 18px 40px rgba(0,0,0,.18)}
.education-icon{width:50px;height:50px;margin-bottom:17px;border:1px solid rgba(18,223,227,.48);border-radius:50%;display:grid;place-items:center;background:rgba(18,223,227,.045)}
.education-icon img{width:27px;height:27px}
.education-feature-grid h3{margin:0 0 11px;font-size:20px;font-weight:400;line-height:1.25}
.education-feature-grid p{margin:0;font-size:13px;line-height:1.65}
.education-photo-card{position:relative;overflow:hidden;margin:0;border:1px solid rgba(151,83,226,.46);border-radius:18px;background:#0d0b2e;box-shadow:0 20px 50px rgba(0,0,0,.24)}
.education-photo-card:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.education-photo-card img{width:100%;height:100%;min-height:310px;object-fit:cover}
.education-photo-right img{object-position:54% center}
.education-path{padding-top:20px}
.education-path-grid{display:grid;grid-template-columns:.72fr 1.58fr;gap:40px;align-items:center}
.education-photo-left{height:288px}
.education-photo-left img{min-height:0;object-position:center}
.education-path-copy>p:not(.education-kicker){max-width:810px;margin:16px 0 0}
.education-path-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin:28px 0 0;padding:0;list-style:none}
.education-path-steps:before{content:"";position:absolute;left:10%;right:10%;top:27px;height:1px;background:linear-gradient(90deg,var(--cyan),var(--violet))}
.education-path-steps li{position:relative;z-index:1;display:grid;justify-items:center;gap:10px;text-align:center}
.education-path-steps span{width:54px;height:54px;border:1px solid var(--violet);border-radius:50%;display:grid;place-items:center;background:#090726;box-shadow:0 0 0 7px #05051b}
.education-path-steps img{width:27px;height:27px}
.education-path-steps strong{max-width:180px;font:400 14px/1.4 var(--serif)}
.education-decade{padding-top:48px}
.education-decade-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:center}
.education-decade-copy{display:grid;grid-template-columns:132px 1fr;gap:22px;align-items:start}
.education-ten{font:400 118px/.86 var(--serif);letter-spacing:-.08em;color:transparent;background:linear-gradient(160deg,var(--cyan) 10%,var(--violet) 78%);-webkit-background-clip:text;background-clip:text}
.education-decade-copy h2{font-size:31px}
.education-decade-copy p{margin:16px 0 0;font-size:14px}
.education-years{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0 0 24px;padding:0;list-style:none}
.education-years:before{content:"";position:absolute;left:9%;right:9%;top:24px;height:1px;background:linear-gradient(90deg,var(--cyan),var(--violet))}
.education-years li{position:relative;z-index:1;display:grid;justify-items:center;gap:6px;text-align:center}
.education-years span{width:48px;height:48px;border:1px solid var(--violet);border-radius:50%;display:grid;place-items:center;background:#090726;box-shadow:0 0 0 6px #05051b}
.education-years img{width:24px;height:24px}
.education-years strong{font:400 13px var(--serif)}
.education-years small{max-width:130px;color:var(--muted);font:11px/1.35 var(--serif)}
.education-award-row{display:grid;grid-template-columns:210px 1fr;gap:18px}
.education-diploma{position:relative;min-height:220px;padding:22px 18px;border:1px solid rgba(151,83,226,.5);border-radius:16px;display:grid;align-content:start;justify-items:center;gap:24px;text-align:center;background:radial-gradient(circle at 50% 10%,rgba(150,75,224,.22),transparent 56%),linear-gradient(145deg,#26164c,#110c37);box-shadow:inset 0 0 0 6px rgba(255,255,255,.025)}
.education-diploma>span{font:700 17px/1.35 var(--serif);letter-spacing:.06em}
.education-diploma img{width:140px}
.education-diploma i{width:46px;height:46px;border:2px solid #c3a5ef;border-radius:50%;box-shadow:0 0 0 5px rgba(154,69,237,.18)}
.education-competition{min-height:220px;padding:25px;border:1px solid rgba(151,83,226,.38);border-radius:16px;background:linear-gradient(145deg,rgba(18,15,56,.94),rgba(7,7,30,.96))}
.education-competition>img{width:39px;height:39px;margin-bottom:14px}
.education-competition h3{margin:0 0 10px;font-size:21px;font-weight:400}
.education-competition p{margin:0;font-size:13px;line-height:1.62}
.education-quote{position:relative;isolation:isolate;overflow:hidden;min-height:156px;margin-top:26px;margin-bottom:24px;padding:34px 300px 34px 86px;border:1px solid rgba(155,70,237,.67);border-radius:19px;display:flex;align-items:center;background:radial-gradient(circle at 86% 10%,rgba(122,49,214,.44),transparent 34%),linear-gradient(115deg,#151041,#261057)}
.education-quote:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,transparent 0 58%,rgba(5,5,27,.08) 75%,rgba(5,5,27,.5) 100%)}
.education-quote blockquote{position:relative;z-index:2;margin:0;color:#f4effa;font:18px/1.65 var(--serif)}
.education-quote-mark{position:absolute;left:31px;top:31px;color:var(--cyan);font:700 72px/.75 var(--serif)}
.education-quote-dancer{position:absolute;z-index:1;right:-10px;bottom:0;width:320px;height:100%;background:url('../images/gallery/gallery-cta-dancer.png') no-repeat left bottom/auto 178px}
@media(min-width:901px){
  .education-shell,
  .education-quote{width:min(1120px,calc(100% - 120px))}
}

@media(max-width:1180px){
  .education-overview-grid{grid-template-columns:1fr 1fr}.education-overview-visual{grid-column:1/-1}.education-collage{height:210px}
  .education-depth-grid,.education-decade-grid{grid-template-columns:1fr}.education-photo-card{height:420px}.education-decade-copy{max-width:800px}
  .education-decade-visual{max-width:900px}.education-quote{padding-right:260px}
}

@media(max-width:900px){
  .education-hero{height:430px}.education-hero-art{background-size:882px 430px;background-position:57% top}.education-hero-shade{background:linear-gradient(180deg,rgba(5,5,27,.07) 0%,rgba(5,5,27,.18) 37%,rgba(5,5,27,.92) 78%,#05051b 100%)}.education-hero-content{width:var(--shell);justify-content:flex-end;padding-bottom:36px}.education-hero h1{font-size:48px}.education-hero p{max-width:560px;font-size:15px;line-height:1.7}.education-hero .accent-line{margin:18px 0}
  .education-section{padding:48px 0}.education-overview-grid{grid-template-columns:1fr;gap:26px}.education-overview-visual{grid-column:auto}.education-direction-list{grid-template-columns:1fr 1fr}.education-collage{height:190px}.education-depth-grid{gap:22px}.education-feature-grid{grid-template-columns:1fr}.education-feature-grid article{min-height:0}.education-photo-card{height:380px}.education-path-grid{grid-template-columns:1fr}.education-photo-left{height:380px}.education-path-copy{order:-1}.education-decade-copy{grid-template-columns:112px 1fr}.education-ten{font-size:100px}.education-quote{padding:32px 190px 32px 70px}.education-quote blockquote{font-size:16px}.education-quote-dancer{right:-88px}
}

@media(max-width:560px){
  .education-hero{height:445px}.education-hero-art{background-size:912px 445px;background-position:57% top}.education-hero-content{padding-bottom:34px}.education-hero h1{font-size:42px}.education-hero p{max-width:320px;font-size:14px;line-height:1.65}
  .education-section{padding:38px 0}.education-section h2,.education-overview-copy h2,.education-decade-copy h2{font-size:28px}.education-section p{font-size:14px;line-height:1.65}.education-direction-list{grid-template-columns:1fr}.education-direction-list li{min-height:52px}.education-collage{grid-template-columns:1fr 1fr;height:auto}.education-collage img{aspect-ratio:1.25;border-bottom:1px solid rgba(255,255,255,.08)}.education-certification-marks{grid-template-columns:1fr}.education-emphasis{grid-template-columns:1fr;padding:20px}.education-depth-grid{grid-template-columns:1fr}.education-feature-grid article{padding:22px 20px}.education-photo-card,.education-photo-left{height:270px}.education-photo-card img{min-height:270px}.education-path-steps{grid-template-columns:1fr;gap:20px}.education-path-steps:before{left:26px;right:auto;top:12px;bottom:12px;width:1px;height:auto}.education-path-steps li{grid-template-columns:54px 1fr;justify-items:start;align-items:center;text-align:left}.education-path-steps span{box-shadow:0 0 0 5px #05051b}.education-path-steps strong{max-width:none}.education-decade-grid{gap:28px}.education-decade-copy{grid-template-columns:1fr;gap:10px}.education-ten{font-size:88px}.education-years{grid-template-columns:1fr 1fr;gap:22px}.education-years:before{display:none}.education-award-row{grid-template-columns:1fr}.education-diploma{min-height:205px}.education-competition{min-height:0}.education-quote{min-height:260px;margin-top:16px;padding:28px 24px 118px 58px}.education-quote-mark{left:20px;top:30px;font-size:55px}.education-quote blockquote{font-size:14px;line-height:1.55}.education-quote-dancer{right:-48px;width:235px;height:128px;background-size:auto 128px}
}

/* Education page — final 1120px card composition. */
body[data-page="schedule"] main{padding:18px 0 26px;overflow:hidden;background:radial-gradient(circle at 76% 8%,rgba(88,36,160,.1),transparent 31rem),#05051b}
body[data-page="schedule"] .education-hero,body[data-page="schedule"] .education-layout{width:min(1120px,calc(100% - 40px));margin-inline:auto}
body[data-page="schedule"] .education-hero{height:260px;border:1px solid rgba(139,75,215,.42);border-radius:14px;background:#07071f}
body[data-page="schedule"] .education-hero-art{background-size:534px 260px;background-position:right center}
body[data-page="schedule"] .education-hero-shade{background:linear-gradient(90deg,#05051b 0%,rgba(5,5,27,.98) 38%,rgba(5,5,27,.56) 63%,rgba(5,5,27,.05) 82%,rgba(5,5,27,.2) 100%)}
body[data-page="schedule"] .education-hero-content{width:100%;padding:0 62px;justify-content:center}
body[data-page="schedule"] .education-breadcrumb{display:flex;align-items:center;gap:14px;margin-bottom:22px;color:#bcb4c8;font:12px/1.3 var(--serif)}
body[data-page="schedule"] .education-breadcrumb a{color:var(--cyan);text-decoration:none}
body[data-page="schedule"] .education-hero h1{font-size:50px}
body[data-page="schedule"] .education-hero p{order:3;margin:15px 0 0;font-size:14px;line-height:1.5}
body[data-page="schedule"] .education-hero .accent-line{order:4;width:60px;height:2px;margin:18px 0 0}
body[data-page="schedule"] .education-layout{display:grid;gap:14px;margin-top:18px}
body[data-page="schedule"] .education-panel,body[data-page="schedule"] .education-quote,body[data-page="schedule"] .education-cta{width:100%;margin:0;border:1px solid rgba(139,75,215,.38);border-radius:14px;background:linear-gradient(110deg,rgba(10,11,43,.95),rgba(6,7,31,.94));box-shadow:inset 0 1px rgba(255,255,255,.015)}
body[data-page="schedule"] .education-panel{padding:24px 40px}
body[data-page="schedule"] .education-panel h2,body[data-page="schedule"] .education-cta h2{margin:0;color:#f7f2ff;font:400 25px/1.2 var(--serif);letter-spacing:-.015em}
body[data-page="schedule"] .education-panel h3{font-family:var(--serif)}
body[data-page="schedule"] .education-panel p{color:#c3bdcb;font:13px/1.58 var(--serif)}
body[data-page="schedule"] .education-panel strong{color:#f2edf7}
body[data-page="schedule"] .education-overview{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:center}
body[data-page="schedule"] .education-overview-copy h2{font-size:25px}
body[data-page="schedule"] .education-overview-copy p{margin:16px 0 0}
body[data-page="schedule"] .education-directions-intro{margin-top:19px!important}
body[data-page="schedule"] .education-overview-conclusion{grid-column:1/-1;margin:0;padding:15px 18px;border:1px solid rgba(18,223,227,.18);border-radius:11px;background:linear-gradient(90deg,rgba(18,223,227,.045),rgba(151,83,226,.055));color:#d9d2e2!important}
body[data-page="schedule"] .education-direction-list{gap:9px}
body[data-page="schedule"] .education-direction-list li{min-height:52px;padding:8px 18px;border-radius:12px;background:linear-gradient(100deg,rgba(17,14,52,.9),rgba(8,7,31,.86))}
body[data-page="schedule"] .education-direction-list img{width:27px;height:27px}
body[data-page="schedule"] .education-direction-list strong{font-size:14px}
body[data-page="schedule"] .education-depth{padding-top:20px;padding-bottom:22px}
body[data-page="schedule"] .education-depth>h2{margin-bottom:16px}
body[data-page="schedule"] .education-feature-grid{height:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body[data-page="schedule"] .education-feature-grid article{position:relative;display:grid;grid-template-columns:47px 1fr;grid-template-rows:auto 1fr;column-gap:12px;min-height:224px;padding:18px 17px 16px;border-radius:13px}
body[data-page="schedule"] .education-feature-grid article:not(:last-child):after{content:"→";position:absolute;z-index:3;right:-16px;top:50%;width:30px;height:30px;display:grid;place-items:center;transform:translateY(-50%);color:#a84bec;font:25px/1 var(--sans)}
body[data-page="schedule"] .education-number{width:32px;height:32px;border:1px solid rgba(172,77,237,.65);border-radius:50%;display:grid;place-items:center;color:#be6cff;font:700 11px/1 var(--sans);background:#28105a}
body[data-page="schedule"] .education-icon{width:45px;height:45px;margin:0;border:0;background:transparent}
body[data-page="schedule"] .education-icon img{width:39px;height:39px;filter:none}
body[data-page="schedule"] .education-feature-grid h3{align-self:center;margin:0;font-size:15px;line-height:1.28;font-weight:600}
body[data-page="schedule"] .education-feature-grid p{grid-column:1/-1;margin:14px 0 0;font-size:12px;line-height:1.52}
body[data-page="schedule"] .education-path{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:36px;align-items:center;padding-top:20px;padding-bottom:20px}
body[data-page="schedule"] .education-path-copy h2{font-size:25px;margin:0 0 14px}
body[data-page="schedule"] .education-path-description{display:grid;gap:7px;margin-bottom:20px}
body[data-page="schedule"] .education-path-description p{margin:0;font-size:12.5px;line-height:1.52}
body[data-page="schedule"] .education-photo-card{height:286px;border-radius:12px;box-shadow:none}
body[data-page="schedule"] .education-photo-card img{min-height:0;object-position:center 62%}
body[data-page="schedule"] .education-path-steps{gap:26px;margin:0}
body[data-page="schedule"] .education-path-steps:before{left:10%;right:10%;top:25px;background:linear-gradient(90deg,var(--cyan),var(--violet))}
body[data-page="schedule"] .education-path-steps li{gap:9px}
body[data-page="schedule"] .education-path-steps li:not(:last-child):after{display:none}
body[data-page="schedule"] .education-path-steps span{width:50px;height:50px;box-shadow:0 0 0 5px #07071f}
body[data-page="schedule"] .education-path-steps img{width:27px;height:27px;filter:none}
body[data-page="schedule"] .education-path-steps strong{max-width:180px;font-size:12px;line-height:1.38;color:#cfc8d6}
body[data-page="schedule"] .education-decade{padding-top:20px;padding-bottom:20px}
body[data-page="schedule"] .education-decade-copy{grid-template-columns:88px 1fr;gap:22px;align-items:start}
body[data-page="schedule"] .education-ten{font-size:84px;line-height:.86}
body[data-page="schedule"] .education-decade-copy h2{font-size:24px}
body[data-page="schedule"] .education-decade-copy p{margin:8px 0 0;font-size:12.5px;line-height:1.5}
body[data-page="schedule"] .education-decade-bottom{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:24px;align-items:center;margin-top:17px}
body[data-page="schedule"] .education-years{margin:0;gap:12px}
body[data-page="schedule"] .education-years:before{top:21px}
body[data-page="schedule"] .education-years li{gap:5px}
body[data-page="schedule"] .education-years li:not(:last-child):after{display:none}
body[data-page="schedule"] .education-years span{width:43px;height:43px;box-shadow:0 0 0 5px #07071f}
body[data-page="schedule"] .education-years img{width:22px;height:22px}
body[data-page="schedule"] .education-years strong{color:var(--cyan);font:700 12px/1.2 var(--serif)}
body[data-page="schedule"] .education-years small{font-size:10px}
body[data-page="schedule"] .education-certificate-card{min-height:116px;padding:16px;border:1px solid rgba(151,83,226,.4);border-radius:13px;display:flex;align-items:center;gap:15px;background:linear-gradient(135deg,rgba(27,17,65,.95),rgba(8,8,32,.96))}
body[data-page="schedule"] .education-certificate-card>img{width:65px;height:65px;flex:0 0 65px}
body[data-page="schedule"] .education-certificate-card div{display:grid;gap:8px}
body[data-page="schedule"] .education-certificate-card strong{font:600 14px/1.3 var(--serif)}
body[data-page="schedule"] .education-certificate-card span{color:#c3bdcb;font:11px/1.35 var(--serif)}
body[data-page="schedule"] .education-quote{position:relative;isolation:isolate;overflow:hidden;min-height:142px;padding:28px 310px 28px 84px;display:flex;align-items:center;background:radial-gradient(circle at 84% 13%,rgba(114,48,205,.46),transparent 31%),linear-gradient(112deg,#13103d,#26104f)}
body[data-page="schedule"] .education-quote blockquote{font-size:17px;line-height:1.55}
body[data-page="schedule"] .education-quote-mark{left:31px;top:32px;font-size:65px}
body[data-page="schedule"] .education-quote-close{position:absolute;right:284px;bottom:20px;color:#a64cf0;font:700 58px/.8 var(--serif)}
body[data-page="schedule"] .education-quote-dancer{right:0;width:315px;height:100%;background-image:linear-gradient(90deg,rgba(18,9,52,.38),transparent 30%),url('../images/gallery/photo_011.jpg');background-repeat:no-repeat;background-position:center,center 30%;background-size:100% 100%,cover}
body[data-page="schedule"] .education-cta{min-height:92px;padding:17px 28px 17px 60px;display:grid;grid-template-columns:1fr 480px;gap:30px;align-items:center}
body[data-page="schedule"] .education-cta h2{font-size:20px}
body[data-page="schedule"] .education-cta p{margin:5px 0 0;color:#aaa3b5;font:11px/1.35 var(--serif)}
body[data-page="schedule"] .education-cta-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px}
body[data-page="schedule"] .education-cta .btn{min-height:44px;padding:0 22px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:34px;font:700 13px/1 var(--serif);text-decoration:none}
body[data-page="schedule"] .education-cta .primary{border:1px solid var(--cyan);color:#041323;background:linear-gradient(90deg,#13dce2,#14c7e8)}
body[data-page="schedule"] .education-cta .secondary{border:1px solid rgba(222,211,238,.6);color:#f5effb;background:transparent}
@media(max-width:900px){
  body[data-page="schedule"] main{padding-top:14px}body[data-page="schedule"] .education-hero,body[data-page="schedule"] .education-layout{width:var(--shell)}body[data-page="schedule"] .education-hero{height:390px}body[data-page="schedule"] .education-hero-art{background-size:803px 390px;background-position:56% top}body[data-page="schedule"] .education-hero-content{padding:0 30px 28px;justify-content:flex-end}body[data-page="schedule"] .education-breadcrumb{margin-bottom:14px}body[data-page="schedule"] .education-overview,body[data-page="schedule"] .education-path,body[data-page="schedule"] .education-cta{grid-template-columns:1fr}body[data-page="schedule"] .education-direction-list{grid-template-columns:1fr 1fr}body[data-page="schedule"] .education-feature-grid{grid-template-columns:1fr}body[data-page="schedule"] .education-feature-grid article{min-height:0}body[data-page="schedule"] .education-feature-grid article:not(:last-child):after{content:"↓";right:calc(50% - 15px);top:auto;bottom:-25px}body[data-page="schedule"] .education-path{padding:24px}body[data-page="schedule"] .education-photo-card{height:auto;aspect-ratio:16/7}body[data-page="schedule"] .education-decade-bottom{grid-template-columns:1fr}body[data-page="schedule"] .education-quote{padding-right:220px}body[data-page="schedule"] .education-quote-close{right:205px}body[data-page="schedule"] .education-quote-dancer{right:-45px}body[data-page="schedule"] .education-cta{padding:24px 30px;gap:18px}body[data-page="schedule"] .education-cta-actions{max-width:520px;width:100%}
}
@media(max-width:560px){
  body[data-page="schedule"] main{padding-top:10px}body[data-page="schedule"] .education-hero{height:420px;border-radius:12px}body[data-page="schedule"] .education-hero-art{background-size:865px 420px;background-position:56% top}body[data-page="schedule"] .education-hero-content{padding:0 21px 25px}body[data-page="schedule"] .education-breadcrumb{font-size:11px}body[data-page="schedule"] .education-hero h1{font-size:40px}body[data-page="schedule"] .education-hero p{font-size:13px}body[data-page="schedule"] .education-layout{gap:11px;margin-top:11px}body[data-page="schedule"] .education-panel{padding:22px 18px}body[data-page="schedule"] .education-panel h2,body[data-page="schedule"] .education-overview-copy h2,body[data-page="schedule"] .education-path-copy h2,body[data-page="schedule"] .education-decade-copy h2{font-size:23px}body[data-page="schedule"] .education-panel p{font-size:13px}body[data-page="schedule"] .education-overview{gap:23px}body[data-page="schedule"] .education-direction-list{grid-template-columns:1fr}body[data-page="schedule"] .education-feature-grid article{grid-template-columns:44px 1fr;padding:17px 15px}body[data-page="schedule"] .education-feature-grid h3{font-size:14px}body[data-page="schedule"] .education-path{padding:22px 18px}body[data-page="schedule"] .education-path-copy h2{margin-bottom:22px}body[data-page="schedule"] .education-path-steps{grid-template-columns:1fr;gap:20px}body[data-page="schedule"] .education-path-steps:before{left:25px;right:auto;top:10px;bottom:10px;width:1px;height:auto}body[data-page="schedule"] .education-path-steps li{grid-template-columns:50px 1fr;justify-items:start;align-items:center;text-align:left}body[data-page="schedule"] .education-path-steps li:not(:last-child):after{display:none}body[data-page="schedule"] .education-path-steps strong{max-width:none}body[data-page="schedule"] .education-photo-card{aspect-ratio:3/2}body[data-page="schedule"] .education-decade-copy{grid-template-columns:70px 1fr;gap:14px}body[data-page="schedule"] .education-ten{font-size:67px}body[data-page="schedule"] .education-decade-bottom{margin-top:22px}body[data-page="schedule"] .education-years{grid-template-columns:1fr 1fr;gap:22px 12px}body[data-page="schedule"] .education-years:before,body[data-page="schedule"] .education-years li:after{display:none!important}body[data-page="schedule"] .education-certificate-card{min-height:105px}body[data-page="schedule"] .education-quote{min-height:255px;padding:25px 21px 115px 52px}body[data-page="schedule"] .education-quote blockquote{font-size:14px;line-height:1.52}body[data-page="schedule"] .education-quote-mark{left:18px;top:27px;font-size:50px}body[data-page="schedule"] .education-quote-close{right:24px;bottom:75px;font-size:46px}body[data-page="schedule"] .education-quote-dancer{right:-12px;width:180px;height:118px;background-position:center,center 24%;background-size:100% 100%,cover}body[data-page="schedule"] .education-cta{padding:22px 18px;text-align:center}body[data-page="schedule"] .education-cta h2{font-size:19px}body[data-page="schedule"] .education-cta-actions{grid-template-columns:1fr;gap:10px}
}

/* Canonical desktop toolbar: one centered container shared with page content. */
@media(min-width:901px){
  body[data-page] .site-header{
    --header-shell:var(--shell);
    --header-brand-slot:clamp(222px,21.25vw,272px);
    height:104px
  }
  body[data-page] .header-top{
    width:var(--header-shell);
    height:52px;
    min-height:52px;
    margin-inline:auto;
    gap:clamp(14px,2.1vw,27px)
  }
  body[data-page] .brand{
    left:0;
    top:0;
    width:clamp(200px,18.75vw,240px)
  }
  body[data-page] .contact-strip{
    gap:clamp(14px,2.1vw,27px);
    font-size:clamp(11px,1.02vw,13px)
  }
  body[data-page] .header-top>.contact-strip,
  body[data-page] .header-top>.socials{transform:none}
  body[data-page] .header-top>.socials{gap:7px}
  body[data-page] .header-top>.socials a{width:30px;height:30px}
  body[data-page] .header-top>.socials .icon{width:13px;height:13px}
  body[data-page] .nav-wrap{
    width:calc(var(--header-shell) - var(--header-brand-slot));
    height:52px;
    margin-left:auto;
    margin-right:calc((100% - var(--header-shell))/2);
    padding:0 10px;
    border-radius:14px;
    gap:6px
  }
  body[data-page] .nav-link{
    padding:0 clamp(5px,.7vw,9px);
    font-size:clamp(11px,.98vw,12.5px)
  }
  body[data-page] .nav-link.active:after{left:7px;right:7px;height:2px}
  body[data-page] .languages button{padding:7px 8px;font-size:11px;border-radius:9px}
}

/* About hero: clean artwork aligned to the same content container as the copy. */
body[data-page="about"] .about-lead-hero{
  --about-image-right:max(60px,calc((100% - 1120px)/2));
  background-color:#05051b;
  background-image:
    linear-gradient(90deg,rgba(3,3,22,.99) 0%,rgba(3,3,22,.96) 31%,rgba(3,3,22,.66) 48%,rgba(3,3,22,.08) 73%,rgba(3,3,22,.03) 100%),
    linear-gradient(90deg,#05051b 0%,rgba(5,5,27,.94) 18%,rgba(5,5,27,0) 100%),
    linear-gradient(90deg,rgba(5,5,27,0) 0%,rgba(5,5,27,.76) 76%,#05051b 100%),
    var(--hero-image);
  background-size:100% 100%,170px 100%,72px 100%,675px 329px;
  background-position:
    center,
    right calc(var(--about-image-right) + 505px) top,
    right var(--about-image-right) top,
    right var(--about-image-right) top;
  background-repeat:no-repeat
}

@media(min-width:901px){
  body[data-page="about"] .about-lead-hero h1{font-size:58px}
  body[data-page="about"] .about-lead-hero p{max-width:500px;font-size:17px;line-height:1.65}
}

@media(min-width:561px) and (max-width:900px){
  body[data-page="about"] .about-lead-hero{
    --about-image-right:16px;
    background-image:
      linear-gradient(180deg,rgba(3,3,22,.04) 0%,rgba(3,3,22,.16) 42%,rgba(3,3,22,.9) 86%,#05051b 100%),
      linear-gradient(90deg,#05051b 0%,rgba(5,5,27,.8) 28%,rgba(5,5,27,0) 100%),
      linear-gradient(90deg,rgba(5,5,27,0) 0%,rgba(5,5,27,.7) 76%,#05051b 100%),
      var(--hero-image);
    background-size:100% 100%,135px 100%,54px 100%,675px 329px;
    background-position:center,right calc(var(--about-image-right) + 540px) top,right var(--about-image-right) top,right var(--about-image-right) top
  }
}

@media(max-width:560px){
  body[data-page="about"] .about-lead-hero{
    background-image:linear-gradient(180deg,rgba(3,3,22,.04) 0%,rgba(3,3,22,.18) 40%,rgba(3,3,22,.92) 84%,#05051b 100%),var(--hero-image);
    background-size:100% 100%,675px 329px;
    background-position:center,53% top
  }
}

/* Keep the custom achievements hero inside the same framed shell. */
body[data-page="achievements"] main{padding-top:18px}
body[data-page="achievements"] .achievements-hero{
  width:min(1120px,calc(100% - 40px));
  height:329px;
  min-height:329px;
  margin-inline:auto;
  border:1px solid rgba(127,62,194,.45);
  border-radius:14px;
  overflow:hidden
}
body[data-page="achievements"] .achievements-hero-content{width:100%;padding-inline:62px}
@media(max-width:900px){
  body[data-page="achievements"] main{padding-top:12px}
  body[data-page="achievements"] .achievements-hero{width:var(--shell);height:430px;min-height:430px;border-radius:12px}
  body[data-page="achievements"] .achievements-hero-content{width:100%;padding:0 28px 32px}
}
@media(max-width:560px){
  body[data-page="achievements"] .achievements-hero{height:420px;min-height:420px}
  body[data-page="achievements"] .achievements-hero-content{padding:0 21px 25px}
  body[data-page="achievements"] .achievements-hero h1{font-size:40px}
}

/* Contact keeps its original compact typography and aligns with the cards below. */
@media(min-width:901px){
  body[data-page="contact"] .hero-inner{
    width:min(1120px,calc(100% - 40px));
    height:270px;
    min-height:270px;
    margin-bottom:18px
  }
  body[data-page="contact"] .hero-inner .hero-content.shell{padding:0 40px}
  body[data-page="contact"] .hero h1{font-size:52px;line-height:1.04;letter-spacing:-.02em}
  body[data-page="contact"] .hero .accent-line{width:51px;height:2px;margin:17px 0}
  body[data-page="contact"] .hero p{max-width:410px;font-size:14px;line-height:1.65}
}

/* Director hero matches the width of the profile card and keeps its compact scale. */
@media(min-width:901px){
  body[data-page="teachers"] .teacher-lead-hero{
    width:min(1120px,calc(100% - 40px));
    height:280px;
    min-height:280px;
    margin-bottom:18px
  }
  body[data-page="teachers"] .teacher-lead-hero .hero-content.shell{width:100%;padding:0 40px}
  body[data-page="teachers"] .teacher-lead-hero h1{max-width:430px;font-size:52px;line-height:1.08;letter-spacing:-.025em}
  body[data-page="teachers"] .teacher-lead-hero .accent-line{width:54px;height:2px;margin:25px 0 0}
}

/* All inner-page hero copy starts at the same 40px inset as the contact page. */
@media(min-width:901px){
  :is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner .hero-content.shell{padding-inline:40px}
  body[data-page="schedule"] .education-hero-content{padding-inline:40px}
  body[data-page="achievements"] .achievements-hero-content{padding-inline:40px}
}

/* Inner-page titles use the Education hero as the single typography reference. */
@media(min-width:901px){
  :is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner h1,
  body[data-page="achievements"] .achievements-hero h1,
  body[data-page="schedule"] .education-hero h1{
    max-width:480px;
    margin:0;
    font:400 50px/1.04 var(--serif);
    letter-spacing:-.025em
  }
}
@media(min-width:561px) and (max-width:900px){
  :is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner h1,
  body[data-page="achievements"] .achievements-hero h1,
  body[data-page="schedule"] .education-hero h1{
    font:400 48px/1.04 var(--serif);
    letter-spacing:-.025em
  }
}
@media(max-width:560px){
  :is(body[data-page="about"],body[data-page="directions"],body[data-page="teachers"],body[data-page="gallery"],body[data-page="contact"]) .hero-inner h1,
  body[data-page="achievements"] .achievements-hero h1,
  body[data-page="schedule"] .education-hero h1{
    font:400 40px/1.04 var(--serif);
    letter-spacing:-.025em
  }
}

/* Generated gallery artwork stays fully visible and blends into the dark copy area. */
body[data-page="gallery"] .hero-inner{
  background-color:#05051b;
  background-size:100% 100%,auto 100%;
  background-position:center,right center
}

/* Contact form delivery states and the anti-spam honeypot. */
.contact-form .form-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.contact-form .btn:disabled{cursor:wait;opacity:.65}
.contact-form .form-status.is-error{color:#ff9eb1}
@media(max-width:900px){
  body[data-page="gallery"] .hero-inner{background-size:100% 100%,auto 100%;background-position:center,62% center}
}
