:root{--ink:#120b0e;--black:#090608;--wine:#4f0718;--wine-deep:#24060d;--wine-light:#7d1730;--gold:#cda85b;--gold-light:#f0d99b;--ivory:#fff9ed;--paper:#f4ead8;--paper-deep:#ead9bd;--line:rgba(92,58,21,.24);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:78px}
body{margin:0;min-width:0;background:var(--paper);color:var(--ink);font:400 1rem/1.68 var(--sans);overflow-x:hidden}
main,section,div,article,figure,form{min-width:0}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:82px;padding:0 clamp(22px,4vw,70px);display:flex;align-items:center;justify-content:space-between;background:rgba(18,11,14,.97);color:var(--ivory);position:relative;z-index:20;border-bottom:1px solid rgba(205,168,91,.4)}
.brand{display:flex;align-items:center;gap:12px;font-weight:600;line-height:1.05;letter-spacing:.1em;font-size:.9rem}
.brand small{display:block;font-size:.62rem;letter-spacing:.28em;margin-top:5px;color:var(--gold-light)}
.brand-mark{font:500 1.8rem var(--serif);color:var(--gold)}
.main-nav{display:flex;align-items:center;gap:clamp(16px,2vw,32px);font-size:.84rem}
.main-nav>a:not(.nav-cta){position:relative}
.main-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--gold);transition:.25s}
.main-nav>a:hover:after{right:0}
.nav-cta{padding:11px 18px;border:1px solid var(--gold);color:var(--gold-light);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;transition:.25s}
.nav-cta:hover{background:var(--gold);color:var(--black)}
.menu-button{display:none;background:none;border:0;padding:10px;color:inherit;cursor:pointer}
.menu-button span:not(.sr-only){display:block;width:27px;height:1px;background:currentColor;margin:6px}
.hero{min-height:700px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);background:radial-gradient(circle at 18% 22%,#781833 0,transparent 34%),linear-gradient(135deg,var(--wine) 0%,var(--wine-deep) 68%,var(--black) 100%);color:var(--ivory);padding:54px clamp(24px,6vw,96px);gap:clamp(38px,6vw,88px);align-items:center;position:relative;isolation:isolate}
.hero:after{content:"";position:absolute;inset:22px;border:1px solid rgba(205,168,91,.32);pointer-events:none;z-index:-1}
.hero-copy{padding:42px 0 42px clamp(0px,2vw,30px);display:flex;flex-direction:column;justify-content:center}
.eyebrow,.section-kicker,.section-label{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:600;color:var(--wine-light)}
.hero .eyebrow{color:var(--gold-light)}
.eyebrow,.section-kicker{display:flex;align-items:center;gap:14px}
.eyebrow:before,.section-kicker:before{content:"";width:34px;height:1px;background:currentColor;flex:0 0 auto}
.hero h1,.section h2{font:600 clamp(3rem,5.4vw,5.4rem)/.98 var(--serif);letter-spacing:-.035em;margin:26px 0}
.hero h1 em,.section h2 em{font-weight:500;color:var(--wine-light)}
.hero h1 em{color:var(--gold-light)}
.hero-lead{font:500 clamp(1.12rem,1.8vw,1.4rem)/1.5 var(--serif);max-width:610px;color:rgba(255,249,237,.78)}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:25px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 19px;text-transform:uppercase;letter-spacing:.11em;font-size:.7rem;font-weight:600;transition:.25s}
.button-dark{border:1px solid var(--gold);background:var(--gold);color:var(--black);cursor:pointer}
.button-dark:hover{background:var(--gold-light);border-color:var(--gold-light)}
.button-outline{border:1px solid currentColor;margin-top:24px}
.button-outline:hover{background:var(--gold);border-color:var(--gold);color:var(--black)}
.text-link{font-size:.75rem;text-transform:uppercase;letter-spacing:.11em;border-bottom:1px solid var(--gold);padding-bottom:4px;color:var(--gold-light)}
.hero-photo{position:relative;margin:0 auto;width:100%;max-width:410px;height:520px;overflow:visible;border:1px solid rgba(205,168,91,.78);box-shadow:0 18px 45px rgba(0,0,0,.28)}
.hero-photo img{object-position:center 34%}
.hero-photo figcaption,.award-photo figcaption{position:static;background:transparent;padding:12px 0 0;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,249,237,.64)}
.section{padding:clamp(70px,8vw,112px) clamp(22px,8vw,135px)}
.intro{display:grid;grid-template-columns:.42fr 1.1fr .85fr;gap:clamp(30px,6vw,90px);align-items:start;background:linear-gradient(110deg,var(--ivory),var(--paper))}
.intro h2{font-size:clamp(3rem,5.5vw,5.4rem);margin-top:0}
.lead{font:500 clamp(1.15rem,2vw,1.45rem)/1.55 var(--serif)}
.intro-copy{padding-top:52px;color:#5f5053}
.intro-copy p:first-child{color:var(--ink);font-weight:500}
.lessons{background:var(--black);color:var(--ivory);position:relative}
.lessons:before{content:"";position:absolute;top:0;left:8vw;right:8vw;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.lessons .section-kicker{color:var(--gold)}
.section-heading{display:grid;grid-template-columns:1.45fr .65fr;gap:9vw;align-items:end}
.section-heading h2{font-size:clamp(2.8rem,5vw,5rem)}
.lessons h2 em{color:var(--gold-light)}
.section-heading>p{color:rgba(255,249,237,.65);margin-bottom:30px}
.discipline-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:55px}
.discipline-card{min-height:370px;padding:clamp(28px,3.5vw,46px);border:1px solid rgba(205,168,91,.38);display:flex;flex-direction:column;align-items:flex-start;background:#1a1115}
.card-accent{background:linear-gradient(145deg,var(--wine-light),var(--wine-deep));color:var(--ivory);border-color:var(--gold)}
.card-number{font-size:.7rem;letter-spacing:.16em;color:var(--gold)}
.card-symbol{font:500 3.2rem/1 var(--serif);margin:32px 0 18px;color:var(--gold)}
.discipline-card h3{font:600 clamp(2rem,3.5vw,3.1rem)/1.1 var(--serif);margin:0 0 18px}
.discipline-card p{margin:0 0 35px;color:rgba(255,249,237,.68);max-width:540px}
.discipline-card>a{margin-top:auto;text-transform:uppercase;letter-spacing:.11em;font-size:.7rem;font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:5px;color:var(--gold-light)}
.discipline-card>a span{margin-left:13px}
.story{background:linear-gradient(120deg,var(--wine-deep),var(--wine) 70%,#74152d);color:var(--ivory);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(42px,7vw,105px);align-items:center}
.story-photo{width:100%;max-width:370px;height:450px;justify-self:end;border:1px solid var(--gold);box-shadow:0 18px 45px rgba(0,0,0,.25)}
.story-photo img{object-position:center}
.story .section-kicker{color:var(--gold)}
.story h2{font-size:clamp(3rem,5vw,5rem)}
.story h2 em{color:var(--gold-light)}
.story-copy>p:not(.section-kicker){color:rgba(255,249,237,.8)}
.story-copy .lead{color:var(--ivory)}
.song-ideas,.song-benefits{list-style:none;margin:24px 0 30px;padding:0;border-top:1px solid rgba(205,168,91,.42)}
.song-ideas li,.song-benefits li{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid rgba(205,168,91,.24);color:rgba(255,249,237,.88)}
.song-ideas li>span,.song-benefits li>span{display:block}
.studio-highlight{margin:30px 0;padding:20px 22px;border-left:2px solid var(--gold);background:rgba(9,6,8,.2);font:500 1.12rem/1.55 var(--serif)}
.story-closing{margin-top:30px;font:500 1.12rem/1.55 var(--serif)}
.steps{margin-top:42px;border-top:1px solid rgba(205,168,91,.5)}
.steps>div{display:grid;grid-template-columns:48px 1fr;gap:15px;padding:17px 0;border-bottom:1px solid rgba(205,168,91,.28)}
.steps span{color:var(--gold);font-size:.7rem;letter-spacing:.14em}
.steps p{margin:0}
.studio-callout{padding:90px 22px;background:var(--black);color:var(--ivory);text-align:center;border-top:1px solid rgba(205,168,91,.35);border-bottom:1px solid rgba(205,168,91,.35)}
.studio-callout p{font:600 clamp(2.3rem,5vw,5rem)/1.03 var(--serif);margin:0}
.studio-callout em{font-weight:500;color:var(--gold-light)}
.world{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(45px,7vw,105px);align-items:center;background:linear-gradient(135deg,var(--paper),var(--paper-deep))}
.world h2{font-size:clamp(3rem,5vw,5.2rem)}
.world-copy>p:not(.section-kicker){max-width:620px;color:#5f5053}
.award-photo{position:relative;margin:0;width:100%;max-width:400px;height:470px;overflow:visible;justify-self:start;border:1px solid var(--gold);box-shadow:0 18px 45px rgba(36,6,13,.18)}
.award-photo img{object-position:center 36%}
.award-photo figcaption{color:#675256}
.languages{background:var(--ivory);text-align:center}
.languages .section-kicker{justify-content:center;color:var(--wine-light)}
.languages h2{font-size:clamp(2.6rem,4.2vw,4.2rem);max-width:900px;margin-left:auto;margin-right:auto}
.language-list{display:grid;grid-template-columns:repeat(4,1fr);max-width:980px;margin:48px auto 0;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.language-card{min-width:0;padding:19px 16px;display:flex;align-items:baseline;justify-content:center;gap:13px;border-right:1px solid rgba(205,168,91,.45)}
.language-card:last-child{border-right:0}
.language-card span{font-size:.62rem;letter-spacing:.16em;color:var(--wine-light)}
.language-card strong{font:600 clamp(1.05rem,1.7vw,1.45rem) var(--serif)}
.final-message{text-align:center;background:var(--wine-deep);color:var(--ivory)}
.final-message .section-kicker{justify-content:center;color:var(--gold)}
.final-message h2{font-size:clamp(2.9rem,5.4vw,5.4rem)}
.final-message h2 em{color:var(--gold-light)}
.final-message .lead{max-width:770px;margin-left:auto;margin-right:auto;color:rgba(255,249,237,.75)}
.contact{background:linear-gradient(125deg,#6d1028,var(--wine-deep));color:var(--ivory);display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,140px)}
.contact .section-kicker{color:var(--gold)}
.contact h2{font-size:clamp(3rem,5.1vw,5.2rem)}
.contact h2 em{color:var(--gold-light)}
.contact .lead{color:rgba(255,249,237,.76)}
.contact-details{display:flex;gap:55px;margin-top:50px;flex-wrap:wrap}
.contact-details p{margin:0}
.contact-details span{display:block;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-size:.68rem;margin-bottom:12px}
.contact-details a:hover{text-decoration:underline}
.contact-details a[href^="mailto"]{overflow-wrap:anywhere}
.contact-form{background:var(--ivory);color:var(--ink);padding:clamp(25px,5vw,52px);border:1px solid var(--gold);box-shadow:0 20px 55px rgba(7,4,6,.24)}
.contact-form label{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:600;margin-bottom:23px}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;max-width:100%;border:0;border-bottom:1px solid #9e8460;background:transparent;padding:12px 0;color:var(--ink);outline:0;border-radius:0;text-transform:none;letter-spacing:0;font-size:1rem}
.contact-form textarea{resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--wine-light)}
.contact-form .button{width:100%}
.form-note{text-align:center;font-size:.72rem;color:#74645c;margin:12px 0 0}
.site-footer{padding:38px clamp(22px,5vw,70px);background:var(--black);color:rgba(255,249,237,.7);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.75rem;border-top:1px solid rgba(205,168,91,.35)}
.footer-brand{color:var(--ivory)}
.site-footer>div{display:flex;gap:22px}
.site-footer a:hover{color:var(--gold-light)}
.legal-main{min-height:70vh;padding:clamp(58px,7vw,96px) clamp(22px,8vw,135px);background:linear-gradient(135deg,var(--ivory),var(--paper))}
.legal-wrap{max-width:860px;margin:0 auto}
.legal-wrap h1{font:600 clamp(2.8rem,6vw,5rem)/1 var(--serif);letter-spacing:-.035em;margin:20px 0 42px;color:var(--wine-deep)}
.legal-wrap h2{font:600 clamp(1.45rem,2.5vw,2rem)/1.2 var(--serif);margin:38px 0 12px;color:var(--wine)}
.legal-wrap h3{font:600 1.08rem/1.35 var(--serif);margin:27px 0 8px}
.legal-wrap p,.legal-wrap li{color:#54464a}
.legal-wrap a{color:var(--wine-light);text-decoration:underline;text-underline-offset:3px}
.legal-wrap ul{padding-left:22px}
.legal-note{padding:18px 20px;border-left:2px solid var(--gold);background:rgba(205,168,91,.13)}
@media(max-width:980px){
  html{scroll-padding-top:68px}
  .site-header{height:68px;padding:0 20px;position:sticky;top:0}
  .menu-button{display:block;flex:0 0 auto;margin-right:-8px}
  .main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--black);padding:12px 20px 24px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--gold);box-shadow:0 18px 30px rgba(0,0,0,.28)}
  .main-nav.open{display:flex}
  .main-nav a{padding:14px 4px;border-bottom:1px solid rgba(205,168,91,.2)}
  .main-nav>a:not(.nav-cta):after{display:none}
  .nav-cta{text-align:center;margin-top:14px;padding:14px 18px!important;border:1px solid var(--gold)!important}
  .hero{min-height:0;grid-template-columns:1fr;padding:72px 32px 68px;gap:62px}
  .hero-copy{padding:0}
  .hero h1{font-size:clamp(3.2rem,10vw,5.4rem);max-width:780px}
  .hero-photo{height:460px;max-width:360px}
  .intro{grid-template-columns:1fr;gap:20px}
  .intro-copy{padding-top:0;max-width:720px}
  .section-heading,.contact,.story,.world{grid-template-columns:1fr}
  .section-heading{gap:10px}
  .section-heading>p{max-width:700px}
  .story-photo{width:100%;max-width:360px;height:410px;min-height:0;justify-self:center}
  .world-copy{order:1}
  .award-photo{order:2;height:430px;max-width:360px;justify-self:center}
  .contact-form{box-shadow:0 18px 45px rgba(7,4,6,.24)}
  .site-footer{flex-direction:column;text-align:center}
}
@media(max-width:620px){
  body{font-size:1rem;line-height:1.62}
  .site-header{padding:0 16px}
  .site-header{background:var(--black);color:var(--ivory);border-bottom-color:var(--gold)}
  .brand{gap:8px;font-size:.7rem;letter-spacing:.07em;white-space:nowrap}
  .brand-mark{font-size:1.45rem}
  .brand small{font-size:.49rem;letter-spacing:.17em;margin-top:4px}
  .section{padding:62px 18px}
  .eyebrow,.section-kicker,.section-label{font-size:.66rem;letter-spacing:.16em}
  .eyebrow:before,.section-kicker:before{width:23px}
  .hero{padding:58px 18px;gap:46px;background:radial-gradient(circle at 18% 18%,#781833 0,transparent 36%),linear-gradient(150deg,var(--wine) 0%,var(--wine-deep) 72%,var(--black) 100%);color:var(--ivory)}
  .hero:after{inset:10px}
  .hero-copy{align-items:flex-start}
  .hero h1{font-size:clamp(2.72rem,12.5vw,3.85rem);line-height:1.01;margin:22px 0;overflow-wrap:normal}
  .hero-lead{font-size:1.13rem;line-height:1.48}
  .hero-actions{width:100%;display:grid;grid-template-columns:1fr;gap:19px;margin-top:19px}
  .hero-actions .button{width:100%}
  .hero-actions .text-link{justify-self:start}
  .button{min-height:50px;padding:14px 16px}
  .hero-photo{width:calc(100% - 34px);max-width:296px;height:368px;box-shadow:0 14px 34px rgba(0,0,0,.3)}
  .hero-photo figcaption,.award-photo figcaption{font-size:.6rem;line-height:1.45}
  .section h2{font-size:clamp(2.35rem,10.5vw,3.25rem);line-height:1.02;margin:22px 0;overflow-wrap:normal;text-wrap:balance}
  .lead{font-size:1.15rem}
  .intro{gap:18px}
  .intro-copy p{margin-top:0}
  .lessons{background:var(--black);color:var(--ivory)}
  .discipline-grid{grid-template-columns:1fr;gap:16px;margin-top:34px}
  .discipline-card{min-height:0;padding:28px 21px}
  .card-symbol{font-size:2.6rem;margin:24px 0 15px}
  .discipline-card h3{font-size:2rem}
  .discipline-card p{margin-bottom:28px}
  .story{gap:48px;background:linear-gradient(155deg,var(--wine-deep),var(--wine) 72%,#74152d);color:var(--ivory)}
  .story-photo{height:320px;max-width:284px;box-shadow:0 14px 34px rgba(0,0,0,.3)}
  .song-ideas li,.song-benefits li{grid-template-columns:28px 1fr;gap:9px}
  .studio-highlight{padding:17px 16px;font-size:1.06rem}
  .steps{margin-top:32px}
  .steps>div{grid-template-columns:35px 1fr;gap:10px;padding:15px 0}
  .studio-callout{padding:60px 18px}
  .studio-callout p{font-size:clamp(2rem,10vw,3rem);line-height:1.08}
  .world{gap:44px}
  .award-photo{height:344px;max-width:284px;box-shadow:0 14px 34px rgba(36,6,13,.2)}
  .language-list{grid-template-columns:1fr;margin-top:34px;text-align:left}
  .language-card{padding:14px 5px;justify-content:flex-start;border-right:0;border-bottom:1px solid rgba(205,168,91,.45)}
  .language-card:last-child{border-bottom:0}
  .language-card span{width:32px;flex:0 0 32px}
  .language-card strong{font-size:1.22rem}
  .final-message{background:var(--wine-deep);color:var(--ivory)}
  .final-message h2{font-size:clamp(2.25rem,10vw,3rem)}
  .contact{gap:42px;background:linear-gradient(150deg,#6d1028,var(--wine-deep));color:var(--ivory)}
  .contact-details{display:grid;grid-template-columns:1fr;gap:26px;margin-top:34px}
  .contact-form{padding:29px 20px;box-shadow:none}
  .contact-form input,.contact-form select,.contact-form textarea{font-size:16px}
  .contact-form .button{font-size:.66rem}
  .site-footer{padding:34px 18px;gap:17px}
  .footer-brand{white-space:normal}
  .site-footer>div{flex-wrap:wrap;justify-content:center}
  .legal-main{padding:52px 18px}
  .legal-wrap h1{font-size:2.75rem;margin-bottom:32px}
}
@media(max-width:360px){.brand{font-size:.64rem}.brand small{font-size:.45rem;letter-spacing:.12em}.hero h1{font-size:2.55rem}.section h2{font-size:2.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
