:root{
  --black:#090807;
  --ink:#17100f;
  --gold:#d3a548;
  --gold-light:#f1d485;
  --wine:#6f0f2b;
  --magenta:#b10050;
  --ivory:#f6efe4;
  --paper:#fffaf2;
  --muted:#a69381;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(7,6,5,.95);position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid rgba(211,165,72,.24);backdrop-filter:blur(15px)}
.brand{width:270px;height:56px;display:flex;align-items:center;overflow:hidden}
.brand img{width:100%;height:100%;object-fit:cover;object-position:center}
.nav{display:flex;align-items:center;gap:30px}
.nav a{text-decoration:none;text-transform:uppercase;letter-spacing:1.7px;font-size:10px;color:#eadcc8}
.nav a:hover{color:var(--gold-light)}
.nav-cta{border:1px solid var(--gold);padding:11px 17px}
.menu-toggle{display:none;background:none;border:1px solid var(--gold);color:var(--gold-light);padding:9px 13px;text-transform:uppercase;letter-spacing:1px;font-size:10px}
.hero{min-height:100svh;background:radial-gradient(circle at 50% 40%,#35111d 0,#14090c 43%,#050404 82%);position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:130px 7vw 110px;color:white;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 45%,rgba(211,165,72,.035) 45% 46%,transparent 46% 100%),linear-gradient(45deg,transparent 0 49%,rgba(177,0,80,.035) 49% 50%,transparent 50%);background-size:160px 160px}
.hero-glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.22}
.hero-glow.one{width:340px;height:340px;background:var(--gold);top:12%;left:-120px}
.hero-glow.two{width:400px;height:400px;background:var(--magenta);bottom:-180px;right:-100px}
.hero-content{max-width:890px;position:relative;z-index:2}
.hero-logo{width:min(640px,88vw);margin:0 auto 25px;mix-blend-mode:screen}
.eyebrow{text-transform:uppercase;letter-spacing:4px;font-size:10px;color:var(--gold-light);font-weight:600}
.eyebrow.dark{color:var(--wine)}
.hero h1,.section h2{font-family:"Cormorant Garamond",serif;font-weight:600;line-height:.98}
.hero h1{font-size:clamp(43px,6.5vw,84px);max-width:820px;margin:22px auto}
.hero-copy{max-width:670px;margin:0 auto;color:#d7c8bb;font-size:16px}
.actions{display:flex;gap:13px;justify-content:center;margin-top:33px;flex-wrap:wrap}
.button{display:inline-block;text-decoration:none;border:0;padding:15px 23px;text-transform:uppercase;letter-spacing:1.5px;font-size:10px;font-weight:700;cursor:pointer}
.button.gold{background:linear-gradient(135deg,#f4d681,#b77b1f);color:#160d08;box-shadow:0 15px 35px rgba(211,165,72,.14)}
.button.outline{border:1px solid rgba(238,211,142,.6);color:var(--gold-light)}
.button.burgundy{background:var(--wine);color:white}
.hero-note{position:absolute;bottom:35px;right:5vw;z-index:3;background:rgba(16,10,10,.78);border:1px solid rgba(211,165,72,.34);padding:18px 24px;display:grid;text-align:left;min-width:280px}
.hero-note span{font-size:9px;text-transform:uppercase;letter-spacing:2px;color:var(--gold)}
.hero-note strong{font-family:"Cormorant Garamond",serif;font-size:23px}
.hero-note a{font-size:12px;color:var(--gold-light)}
.scroll{position:absolute;bottom:45px;left:5vw;color:#bfae9c;text-decoration:none;text-transform:uppercase;letter-spacing:2px;font-size:8px}
.marquee{overflow:hidden;white-space:nowrap;background:var(--gold);color:#241306;padding:14px 0;font-size:10px;text-transform:uppercase;letter-spacing:3px;font-weight:700}
.marquee div{width:max-content;animation:marquee 25s linear infinite}
.marquee span{padding:0 24px}
@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:110px 8vw}
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:9vw;align-items:start}
.section h2{font-size:clamp(46px,6vw,76px);margin:18px 0}
.prose{padding-top:35px;color:#635348;font-size:16px}
.signature{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:32px;color:var(--wine);margin-top:28px}
.signature-caption{font-size:9px;text-transform:uppercase;letter-spacing:2px}
.programs{background:var(--black);color:white}
.center{text-align:center;max-width:720px;margin:0 auto 54px}
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.program{border:1px solid rgba(211,165,72,.22);padding:42px 32px;min-height:330px;display:flex;flex-direction:column;background:#100c0c}
.program.feature{background:linear-gradient(150deg,#68132c,#360914);transform:translateY(-15px)}
.program-number{color:var(--gold);font-family:"Cormorant Garamond",serif;font-size:23px}
.program h3{font-family:"Cormorant Garamond",serif;font-size:37px;line-height:1.1}
.program p{color:#c4b6aa}
.program a{margin-top:auto;color:var(--gold-light);font-size:10px;text-transform:uppercase;letter-spacing:1.3px}
.choreography{display:grid;grid-template-columns:1fr 1.05fr;gap:9vw;align-items:center;background:#f4eadc}
.choreo-copy p:not(.eyebrow){color:#665549}
.text-link{color:var(--wine);font-weight:600}
.service-list>div{border-top:1px solid #cdbda8;padding:22px 0;display:flex;align-items:center;gap:28px}
.service-list span{color:var(--wine);font-size:10px}
.service-list h3{font-family:"Cormorant Garamond",serif;font-size:30px;margin:0}
.event-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#12090d;color:white;align-items:center}
.event-image img{border:1px solid rgba(211,165,72,.45);box-shadow:0 35px 80px rgba(0,0,0,.42)}
.event-details h2{color:#f4e8d5}
.event-lead{color:#cbbdb1;max-width:700px}
.event-facts{display:grid;grid-template-columns:1fr 1fr;margin:34px 0 20px;border-top:1px solid rgba(211,165,72,.3)}
.event-facts div{padding:16px 10px;border-bottom:1px solid rgba(211,165,72,.2)}
.event-facts span,.pricing span{display:block;text-transform:uppercase;letter-spacing:1.5px;font-size:8px;color:var(--gold)}
.event-facts strong{font-size:13px}
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:27px}
.pricing div{background:#241118;padding:18px}
.pricing strong{font-family:"Cormorant Garamond",serif;font-size:34px;color:var(--gold-light)}
.statement{padding:100px 7vw;text-align:center;background:linear-gradient(135deg,#f7e9cf,#fffaf2)}
.statement p{font-family:"Cormorant Garamond",serif;font-size:clamp(48px,7vw,92px);line-height:1;margin:0;color:var(--wine)}
.statement span{text-transform:uppercase;letter-spacing:4px;font-size:9px;color:#8d6d4d}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:9vw}
.contact-copy p{color:#69584c}
.contact-links{display:grid;gap:9px;margin-top:30px}
.contact-links a{color:var(--wine)}
.contact-form{background:#eee1d1;padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{font-size:9px;text-transform:uppercase;letter-spacing:1.2px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:7px;border:1px solid #cdbda8;background:#fffaf2;padding:13px;font:inherit}
.contact-form .full{grid-column:1/-1}
.contact-form button{justify-self:start}
footer{background:var(--black);color:#b9aa9b;padding:40px 6vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(211,165,72,.25)}
footer img{width:300px;height:60px;object-fit:cover}
footer p{font-size:10px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
  .header{height:74px}
  .brand{width:220px;height:48px}
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;top:74px;left:0;right:0;background:#0b0808;padding:25px 6vw;flex-direction:column;align-items:flex-start}
  .nav.open{display:flex}
  .hero{padding-top:110px;padding-bottom:180px}
  .hero-note{left:6vw;right:6vw;bottom:35px}
  .scroll{display:none}
  .split,.choreography,.event-section,.contact{grid-template-columns:1fr}
  .program-grid{grid-template-columns:1fr}
  .program.feature{transform:none}
  .section{padding:80px 7vw}
  .event-image{max-width:500px;margin:auto}
  footer{flex-direction:column;align-items:flex-start;gap:18px}
}
@media(max-width:600px){
  .hero-logo{width:100%}
  .hero h1{font-size:46px}
  .section h2{font-size:49px}
  .pricing,.event-facts{grid-template-columns:1fr}
  .contact-form{grid-template-columns:1fr;padding:24px}
  .contact-form .full{grid-column:auto}
  .brand{width:190px}
}