
:root{--navy:#081229;--purple:#6f3ea8;--gold:#d8ad5b;--gold-light:#f4d58a;--cream:#fff8ee;--paper:#fffaf4;--ink:#1f1c2b;--muted:#c9c2d6;--radius:22px;--shadow:0 20px 60px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Montserrat',system-ui,sans-serif;color:var(--cream);background:var(--navy)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,92%);margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(8,18,41,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(216,173,91,.28)}.nav-wrap{display:flex;align-items:center;gap:28px;min-height:82px}.brand{display:inline-flex;flex-direction:column;line-height:1}.brand-script{font-family:'Great Vibes',cursive;font-size:34px;color:var(--gold-light);text-shadow:0 0 18px rgba(216,173,91,.45)}.brand-small{font-family:'Cinzel',serif;font-size:11px;letter-spacing:4px;color:#fff}.main-nav{display:flex;align-items:center;gap:24px;margin-left:auto}.main-nav a{font-weight:700;font-size:13px;text-transform:uppercase;color:#f4eefb;opacity:.86}.main-nav a.active,.main-nav a:hover{color:var(--gold-light)}.nav-toggle{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:10px;font-weight:800;font-size:13px;border:1px solid transparent;transition:.2s}.btn-gold{background:linear-gradient(135deg,#efd28b,#c99742);color:#25150a;box-shadow:0 8px 30px rgba(216,173,91,.25)}.btn-purple{background:var(--purple);color:white}.btn-light{background:white;color:var(--navy);padding:10px 16px}.btn-outline{border-color:rgba(255,255,255,.55);color:white}.btn-outline-dark{border-color:var(--purple);color:var(--purple)}.btn:hover{transform:translateY(-2px)}
.hero{min-height:720px;background:radial-gradient(circle at 76% 30%,rgba(111,62,168,.48),transparent 32%),linear-gradient(135deg,#070b1a 0%,#111433 48%,#301451 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;min-height:720px}.eyebrow,.section-label{color:var(--gold-light);letter-spacing:5px;font-size:13px;font-weight:800;text-transform:uppercase}.hero h1{font-family:'Cinzel',serif;font-size:clamp(58px,9vw,116px);line-height:.9;margin:12px 0 22px}.hero h1 span{display:block;font-family:'Great Vibes',cursive;color:#c990ff;font-weight:400;text-shadow:0 0 35px rgba(201,144,255,.5)}.hero-text{font-size:20px;line-height:1.7;color:#f3eef8;max-width:570px}.hero-location{color:var(--gold-light);font-weight:700;margin:25px 0}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.hero-visual{min-height:520px;border-radius:40px;background:radial-gradient(circle at 50% 40%,rgba(216,173,91,.18),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);display:grid;place-items:center;padding:32px}
.notice{background:#fbf0ff;color:var(--ink);margin-top:-44px;position:relative;z-index:2}.notice-inner{min-height:92px;border-radius:18px;background:#f3defc;display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:24px;padding:22px 28px;box-shadow:var(--shadow)}.notice strong{color:var(--purple);font-size:20px}
.section{padding:86px 0;background:var(--paper);color:var(--ink)}.section h2{font-family:'Cinzel',serif;font-size:clamp(32px,5vw,52px);line-height:1.15;margin:8px 0 20px;color:#201527}.lessons{text-align:center}.lesson-grid,.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px;text-align:left}.lesson-card,.detail-card,.contact-card,.interest-form{background:white;border-radius:var(--radius);padding:28px;border:1px solid rgba(111,62,168,.10);box-shadow:0 14px 40px rgba(17,20,51,.08)}.lesson-card h3,.detail-card h2{font-family:'Cinzel',serif;margin:0 0 12px;color:var(--purple)}.lesson-card p,.detail-card p,.split p,.page-hero p,.prose p{color:#62596c;line-height:1.75}.lesson-icon{width:52px;height:52px;border-radius:16px;background:#f1defd;color:var(--purple);display:grid;place-items:center;margin-bottom:18px}.lesson-card a,.text-link{color:var(--purple);font-weight:800}.center{text-align:center;margin-top:32px}
.split{background:linear-gradient(180deg,#fffaf4,#f4eefa)}.split-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.check-list{list-style:none;padding:0;margin:24px 0}.check-list li{margin:12px 0;padding-left:32px;position:relative;color:#3d3347}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--purple);font-weight:900}.image-panel{min-height:360px;border-radius:24px;background:linear-gradient(135deg,#111433,#5c2a84);box-shadow:var(--shadow);border:1px solid rgba(216,173,91,.28);padding:24px}.image-panel.tall{min-height:500px}.studio-mock{height:100%;border-radius:18px;border:1px solid rgba(216,173,91,.5);display:grid;place-items:center;text-align:center;color:var(--gold-light);font-family:'Great Vibes',cursive;font-size:56px;background:radial-gradient(circle at center,rgba(216,173,91,.18),transparent 45%)}.studio-mock span{display:block;font-family:'Montserrat';font-size:18px;color:#fff}
.schedule-preview{text-align:center;background:#fffaf4}.schedule-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0}.schedule-cards div{background:#f4edf7;border-radius:14px;padding:18px}.schedule-cards strong{display:block;color:var(--purple);margin-bottom:8px}.cta-band{background:linear-gradient(135deg,#33185e,#7a3ca8);padding:52px 0;color:#fff}.cta-grid{display:flex;justify-content:space-between;align-items:center;gap:24px}.cta-band h2{font-family:'Cinzel',serif;font-size:38px;margin:0 0 10px}
.site-footer{background:#071123;color:#dcd5e6;padding:70px 0 26px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1.1fr;gap:36px}.footer-grid h3{color:var(--gold-light);font-family:'Cinzel',serif}.footer-grid a{display:block;margin:10px 0;color:#e9e2f2}.map-placeholder{height:145px;border-radius:14px;background:#eae7ee;color:#2e2540;display:grid;place-items:center;text-align:center;margin-bottom:14px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:22px;color:#a9a0b8;font-size:13px}
.page-hero{padding:100px 0 70px;background:linear-gradient(135deg,#071123,#1c143b 60%,#4d2573);border-bottom:1px solid rgba(216,173,91,.22)}.page-hero h1{font-family:'Cinzel',serif;font-size:clamp(42px,6vw,72px);margin:12px 0}.program-table{display:grid;grid-template-columns:1fr 1fr 1.4fr 1fr;border:1px solid #e1d6e8;border-radius:18px;overflow:hidden}.program-table div{padding:16px;border-bottom:1px solid #e1d6e8;border-right:1px solid #e1d6e8;background:white}.program-head{background:#f0e2fa!important;color:var(--purple);font-weight:900}.contact-section{background:#fffaf4}.contact-grid{align-items:start}.interest-form label{display:block;font-weight:800;margin-bottom:14px;color:#2c2338}.interest-form input,.interest-form textarea,.interest-form select{width:100%;margin-top:8px;padding:14px;border-radius:12px;border:1px solid #d8cbe1;font:inherit}.thankyou{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#071123,#3d1e5e)}.thanks-card{background:white;color:#24182e;padding:44px;border-radius:24px;text-align:center;box-shadow:var(--shadow)}
@media (max-width:900px){.nav-toggle{display:block;margin-left:auto;background:none;border:0;color:white;font-size:28px}.main-nav,.nav-cta{display:none}.main-nav.open{display:flex;position:absolute;top:82px;left:0;right:0;flex-direction:column;background:#081229;padding:24px}.hero-grid,.split-grid,.contact-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-grid{min-height:auto;padding:70px 0}.lesson-grid,.detail-grid{grid-template-columns:1fr}.notice-inner{grid-template-columns:1fr}.schedule-cards{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.cta-grid{flex-direction:column;text-align:center}.program-table{grid-template-columns:1fr}.program-head{display:none}}


/* Program page v3 */
.program-section{background:#fffaf4}
.program-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px;justify-content:center}
.program-filter{border:1px solid #d7cadd;background:white;color:#4d4656;padding:12px 18px;border-radius:999px;font-weight:800;cursor:pointer}
.program-filter.active,.program-filter:hover{background:var(--purple);color:white;border-color:var(--purple)}
.program-day-block{margin:44px 0}
.program-day-block h2{font-family:'Cinzel',serif;color:var(--purple);font-size:34px;border-bottom:1px solid #e7daed;padding-bottom:12px}
.program-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.program-card{background:white;border-radius:18px;padding:22px;border:1px solid rgba(111,62,168,.12);box-shadow:0 12px 34px rgba(17,20,51,.08)}
.program-card h3{margin:8px 0 10px;color:#22172e;font-size:18px}
.program-card p{margin:0;color:#7a7086;font-weight:700}
.program-time{display:inline-flex;background:#f0e2fa;color:var(--purple);border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px}
.program-note{background:#f3defc;color:#362147;border-radius:16px;padding:20px;margin:40px 0}
.program-full-table-wrap{margin-top:42px;overflow-x:auto}
.program-full-table{width:100%;border-collapse:collapse;background:white;border-radius:18px;overflow:hidden;box-shadow:0 14px 40px rgba(17,20,51,.08)}
.program-full-table th{background:#6f3ea8;color:white;text-align:left;padding:16px}
.program-full-table td{padding:14px 16px;border-bottom:1px solid #eee4f5;color:#352942}
@media (max-width:1100px){.program-card-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:650px){.program-card-grid{grid-template-columns:1fr}.program-toolbar{justify-content:flex-start}.program-filter{font-size:12px;padding:10px 13px}}


/* Program page v4 - cleaner timetable */
.clean-program-section{background:#fffaf4}
.day-tabs-clean{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:34px;position:sticky;top:82px;z-index:9;background:#fffaf4;padding:14px 0;border-bottom:1px solid #eadff0}
.day-tab{border:1px solid #d7cadd;background:white;color:#4d4656;padding:13px 22px;border-radius:999px;font-weight:900;cursor:pointer;box-shadow:0 8px 22px rgba(17,20,51,.05)}
.day-tab.active,.day-tab:hover{background:linear-gradient(135deg,#6f3ea8,#4b2878);color:white;border-color:#6f3ea8}
.program-board{margin-top:12px}
.day-panel{display:none}
.day-panel.active{display:block}
.day-panel h2{font-family:'Cinzel',serif;text-align:center;color:#6f3ea8;font-size:42px;margin:0 0 28px}
.rooms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}
.room-column{background:white;border-radius:22px;border:1px solid rgba(111,62,168,.14);box-shadow:0 14px 40px rgba(17,20,51,.08);overflow:hidden}
.room-column h3{margin:0;background:linear-gradient(135deg,#151a3c,#6f3ea8);color:white;text-align:center;padding:15px;font-size:15px;letter-spacing:.5px}
.room-lessons{padding:14px;display:flex;flex-direction:column;gap:12px;min-height:280px}
.room-lesson{background:#fbf7ff;border:1px solid #eadcf4;border-left:5px solid #d8ad5b;border-radius:14px;padding:13px}
.room-time{display:inline-flex;background:#f1e2fb;color:#6f3ea8;border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px;margin-bottom:8px}
.room-title{color:#241a30;font-weight:850;line-height:1.35;font-size:15px}
.room-empty{color:#aaa;text-align:center;padding:30px 0}
.program-note.clean{background:#f3defc;color:#362147;border-radius:16px;padding:20px;margin:36px 0}
.program-details-table{margin-top:30px;background:white;border-radius:18px;padding:18px 22px;box-shadow:0 12px 34px rgba(17,20,51,.08);color:#241a30}
.program-details-table summary{cursor:pointer;font-weight:900;color:#6f3ea8}
@media (max-width:1050px){.rooms-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){
  .day-tabs-clean{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;top:80px}
  .day-tab{white-space:nowrap;padding:11px 16px}
  .rooms-grid{grid-template-columns:1fr}
  .day-panel h2{font-size:32px}
}


/* v5 pages polish */
.simple-program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.simple-program-card{background:white;border-radius:22px;padding:30px;box-shadow:0 14px 40px rgba(17,20,51,.08);border:1px solid rgba(111,62,168,.12)}
.simple-program-card h2{font-size:25px;color:var(--purple)}
.lessons-list-section{background:#fffaf4}
.lesson-wide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:30px}
.lesson-wide-card{display:flex;gap:18px;background:white;border-radius:22px;padding:26px;box-shadow:0 14px 40px rgba(17,20,51,.08);border:1px solid rgba(111,62,168,.12)}
.lesson-wide-card h2{font-size:25px;color:var(--purple);margin:0 0 10px}
.lesson-wide-card p{color:#62596c;line-height:1.7;margin:0 0 12px}
.lesson-wide-icon{min-width:50px;height:50px;border-radius:16px;background:#f1defd;color:var(--purple);display:grid;place-items:center;font-weight:900}
.contact-social-box{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.contact-social-box a{background:#f1defd;color:var(--purple);font-weight:900;padding:10px 14px;border-radius:999px}
@media (max-width:900px){.simple-program-grid,.lesson-wide-grid{grid-template-columns:1fr}.lesson-wide-card{flex-direction:column}}


/* v6 social links */
.footer-socials{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.footer-socials a{display:inline-flex;margin:0;background:rgba(216,173,91,.12);border:1px solid rgba(216,173,91,.35);color:var(--gold-light);padding:8px 11px;border-radius:999px;font-weight:800;font-size:12px}
.social-section{background:#fff}
.social-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center}
.social-section p{color:#62596c;line-height:1.7}
.social-button-grid{display:grid;grid-template-columns:1fr;gap:14px}
.social-button-grid a{background:linear-gradient(135deg,#151a3c,#6f3ea8);color:white;border-radius:18px;padding:20px 24px;font-weight:900;box-shadow:0 14px 34px rgba(17,20,51,.12)}
.social-button-grid a:hover{transform:translateY(-2px)}
@media (max-width:900px){.social-grid{grid-template-columns:1fr}}


/* v7 social icons */
.social-icon-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.social-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:170px;background:linear-gradient(135deg,#151a3c,#6f3ea8);color:white;border-radius:18px;padding:18px 22px;font-weight:900;box-shadow:0 14px 34px rgba(17,20,51,.12);transition:.2s}
.social-icon-btn:hover{transform:translateY(-2px)}
.social-icon-btn svg{width:24px;height:24px;fill:currentColor;flex:0 0 24px}
.social-icon-btn.small{min-width:auto;padding:14px 18px;border-radius:14px}
.contact-social-box{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
@media (max-width:900px){
  .social-icon-row{justify-content:flex-start}
  .social-icon-btn{min-width:150px}
}
@media (max-width:640px){
  .social-icon-row{display:grid;grid-template-columns:1fr;gap:12px}
  .social-icon-btn{width:100%}
}


/* v8 social icons - smaller fixed size */
.social-section .social-grid{
  grid-template-columns:1fr auto;
}
.social-icon-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.social-icon-btn,
.social-icon-btn.small{
  min-width:0 !important;
  width:46px !important;
  height:46px !important;
  padding:0 !important;
  border-radius:50% !important;
  gap:0 !important;
}
.social-icon-btn svg,
.social-icon-btn.small svg{
  width:20px !important;
  height:20px !important;
}
.social-icon-btn span{
  display:none !important;
}
.contact-social-box{
  gap:10px;
}
@media (max-width:900px){
  .social-section .social-grid{
    grid-template-columns:1fr;
  }
  .social-icon-row{
    justify-content:flex-start;
  }
}
@media (max-width:640px){
  .social-icon-row{
    display:flex !important;
    flex-direction:row !important;
  }
  .social-icon-btn{
    width:44px !important;
    height:44px !important;
  }
}


/* v9 lesson SEO pages */
.lesson-content-section{background:#fffaf4}
.lesson-content-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:start}
.lesson-main-text,.lesson-side-box{background:white;border-radius:24px;padding:34px;box-shadow:0 14px 40px rgba(17,20,51,.08);border:1px solid rgba(111,62,168,.12)}
.lesson-main-text h2{color:#21172d}
.lesson-main-text p,.lesson-side-box p,.lesson-seo-section p,.local-seo-section p{color:#62596c;line-height:1.8}
.lesson-side-box{position:sticky;top:120px;background:linear-gradient(180deg,#ffffff,#f5edfb)}
.lesson-side-box h3{font-family:'Cinzel',serif;color:var(--purple);font-size:27px;margin-top:0}
.lesson-seo-section{background:#fff}
.seo-mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.seo-mini-cards div{background:#f7effb;border-radius:18px;padding:20px;border:1px solid #eadcf4}
.seo-mini-cards strong{display:block;color:var(--purple);margin-bottom:8px}
.seo-mini-cards span{color:#403249;font-weight:700}
.local-seo-section{background:#fff}
.local-seo-section .container{max-width:920px;text-align:center}
@media (max-width:900px){.lesson-content-grid,.seo-mini-cards{grid-template-columns:1fr}.lesson-side-box{position:static}}


/* v10 placeholder web images */
.image-hero-card{padding:0;overflow:hidden}
.image-hero-card img{width:100%;height:100%;min-height:520px;object-fit:cover;border-radius:40px}
.photo-panel{padding:0;overflow:hidden;background:#111433}
.photo-panel img{width:100%;height:100%;min-height:360px;object-fit:cover;border-radius:24px}
.photo-panel.tall img{min-height:500px}
.contact-photo-card img{width:100%;height:190px;object-fit:cover;border-radius:18px;margin-bottom:24px}
@media (max-width:900px){.image-hero-card img{min-height:320px}.photo-panel.tall img{min-height:320px}}
