@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Manrope:wght@400;500;600&display=swap');

:root { --ink:#f0cf9c; --mist:#120f0c; --line:rgba(240,207,156,.27); --gold:#c99859; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--mist); font-family:Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.hero { min-height:100svh; position:relative; display:flex; flex-direction:column; color:#f7f5f1; overflow:hidden; }
.hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,11,16,.78),rgba(8,11,16,.28) 55%,rgba(8,11,16,.38)),linear-gradient(0deg,rgba(0,0,0,.28),transparent 40%); z-index:1; }
.hero > * { position:relative; z-index:2; }
.photo-hero { background:url('assets/hero-desert-hotel.png') center/cover; }
.nav { padding:28px 5vw; display:flex; justify-content:space-between; align-items:center; font-size:10px; text-transform:uppercase; letter-spacing:.18em; }
.brand { font-family:'Cormorant Garamond',serif; font-size:25px; letter-spacing:.13em; line-height:.72; text-align:center; }
.brand small { font-size:14px; letter-spacing:.09em; }
.menu { display:flex; gap:24px; }
.menu a { opacity:.78; transition:.25s; }
.menu a:hover,.menu a.active { opacity:1; }
.mobile-menu-button { display:none; }
.hero-copy { margin:auto 11vw 13vh; max-width:680px; }
.eyebrow { font-size:10px; text-transform:uppercase; letter-spacing:.27em; line-height:1.7; }
h1,h2,h3 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; margin:0; }
h1 { font-size:clamp(66px,11vw,160px); line-height:.75; letter-spacing:-.05em; }
h1 em { font-size:.45em; letter-spacing:-.02em; }
.lead { font-family:'Cormorant Garamond',serif; max-width:380px; font-size:22px; line-height:1.2; margin:25px 0; }
.button { display:inline-block; border:1px solid currentColor; padding:15px 23px; font-size:10px; text-transform:uppercase; letter-spacing:.18em; transition:.3s; }
.button:hover { background:#f7f5f1; color:#302f2e; }
.hero-foot { padding:0 5vw 30px; display:flex; justify-content:space-between; font-size:9px; text-transform:uppercase; letter-spacing:.19em; }
.page-hero { min-height:66svh; background:#302e2b center/cover; color:#f7f5f1; position:relative; display:flex; flex-direction:column; }
.page-hero::before { content:""; position:absolute; inset:0; background:rgba(12,12,12,.46); }
.page-hero>* { position:relative; z-index:1; }
.page-hero .hero-copy { margin:auto 11vw 9vh; }
.page-hero h1 { font-size:clamp(58px,9vw,128px); }
.dining { background-image:url('assets/dining-salon.png'); }
.bar { background-image:url('assets/night-club-eclipse.png'); }
.mansion { background-image:url('assets/hero-mansion.png'); }
.content { padding:110px 11vw; }
.intro { display:grid; grid-template-columns:minmax(180px,.6fr) 1.4fr; gap:11vw; margin-bottom:100px; }
.intro h2 { font-size:clamp(42px,5vw,75px); line-height:.9; }
.intro p,.copy { font-family:'Cormorant Garamond',serif; font-size:clamp(21px,2.1vw,31px); line-height:1.18; margin:0; }
.rule { border:0; border-top:1px solid var(--line); margin:0; }
.list { padding:0; margin:0; list-style:none; }
.list li { border-bottom:1px solid var(--line); display:grid; grid-template-columns:100px 1fr auto; gap:20px; align-items:center; padding:29px 0; }
.list li:first-child { border-top:1px solid var(--line); }
.list span,.list small { font-size:10px; text-transform:uppercase; letter-spacing:.18em; }
.list strong { font-family:'Cormorant Garamond',serif; font-size:clamp(28px,3.4vw,48px); font-weight:400; }
.quote { padding:17vh 11vw; background:#2a1e14; text-align:center; }
.quote p { max-width:850px; margin:auto; font-family:'Cormorant Garamond',serif; font-size:clamp(42px,6vw,90px); line-height:.9; }
.grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.card { min-height:265px; background:var(--mist); padding:32px; display:flex; flex-direction:column; justify-content:space-between; }
.card span { font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:#c99859; }
.card h3 { font-size:42px; line-height:.9; }
.card p { margin:0; font-size:12px; line-height:1.7; max-width:240px; }
.contact { background:#2c2b2a; color:#f4f2ef; min-height:100svh; display:flex; flex-direction:column; }
.contact .nav { flex:none; }
.contact-main { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:8vh 10vw; text-align:center; }
.contact-main h1 { font-size:clamp(58px,10vw,145px); }
.contact-main p { font-family:'Cormorant Garamond',serif; font-size:26px; max-width:440px; margin:25px 0 38px; }
.contact-main .address { font-size:clamp(31px,4vw,54px); line-height:.95; margin:24px 0 14px; }
.contact-main .coordinates { font-family:Manrope,Arial,sans-serif; font-size:12px; line-height:1.65; letter-spacing:.14em; margin:0 0 31px; }
.route-buttons { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-bottom:33px; }
.fine { font-size:9px; text-transform:uppercase; letter-spacing:.19em; line-height:1.9; opacity:.75; }
.footer { padding:24px 5vw; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.2); }
.dress-code { padding:105px 11vw; background:#21170f; text-align:center; }
.dress-code h2 { font-size:clamp(48px,7vw,90px); letter-spacing:.06em; }
.dress-code .subtitle { margin:4px 0 32px; font-size:10px; text-transform:uppercase; letter-spacing:.32em; }
.dress-code .dress-copy { max-width:660px; margin:0 auto 28px; font-family:'Cormorant Garamond',serif; font-size:clamp(21px,2.4vw,33px); line-height:1.16; }
.dress-code .roles { font-size:10px; letter-spacing:.2em; text-transform:uppercase; line-height:1.8; }
.menu-page { min-height:100svh; }
.menu-main { flex:1; padding:7vh 11vw 12vh; }
.menu-main > h1 { font-size:clamp(64px,9vw,132px); margin:14px 0 7vh; }
.menu-columns { display:grid; grid-template-columns:1.4fr .8fr; gap:11vw; max-width:1100px; }
.menu-columns section { border-top:1px solid var(--line); padding-top:19px; }
.menu-label { margin:0 0 30px; color:var(--gold); font-size:10px; text-transform:uppercase; letter-spacing:.25em; }
.menu-columns h2 { font-size:clamp(44px,5vw,74px); line-height:.85; margin-bottom:27px; }
.menu-columns ul { list-style:none; padding:0; margin:0; }
.menu-columns li { border-bottom:1px solid var(--line); padding:14px 0; font-family:'Cormorant Garamond',serif; font-size:clamp(22px,2.2vw,31px); line-height:1; }
.dessert { margin:36px 0 0; font-family:'Cormorant Garamond',serif; font-size:22px; line-height:1.08; color:#d9b77e; }
.lineup-page { min-height:100svh; display:flex; flex-direction:column; color:#f3d49e; background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.1)),url('assets/lineup-stage.png') center/cover; }
.lineup-page .nav,.lineup-page .hero-foot { flex:none; }
.lineup-content { flex:1; padding:6vh 11vw; display:flex; flex-direction:column; justify-content:center; }
.lineup-content h1 { font-size:clamp(75px,11vw,158px); line-height:.72; letter-spacing:.02em; }
.lineup-date { margin:26px 0 25px; font-family:'Cormorant Garamond',serif; font-size:clamp(23px,3vw,42px); letter-spacing:.1em; }
.lineup-date em { color:var(--gold); font-style:normal; }
.artists { margin:0; padding:0; list-style:none; font-family:'Cormorant Garamond',serif; font-size:clamp(25px,3.4vw,51px); line-height:.91; letter-spacing:.04em; }
.lineup-tagline { margin:35px 0 0; font-size:10px; text-transform:uppercase; letter-spacing:.26em; }
@media(max-width:700px) { .nav{padding:22px 6vw;position:relative}.mobile-menu-button{display:block;margin-left:auto;border:1px solid currentColor;background:transparent;color:inherit;padding:10px 12px;font:500 9px Manrope,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.menu{display:none;position:absolute;right:6vw;top:72px;min-width:185px;z-index:20;flex-direction:column;align-items:stretch;gap:0;background:#17120e;border:1px solid rgba(240,207,156,.35);box-shadow:0 16px 38px rgba(0,0,0,.4)}.menu.is-open{display:flex}.menu a{padding:15px 17px;border-bottom:1px solid rgba(240,207,156,.18);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.menu a:last-child{border-bottom:0}.hero-copy,.page-hero .hero-copy{margin-left:7vw;margin-right:7vw}.hero-foot{padding:0 7vw 22px}.content{padding:72px 7vw}.intro{display:block;margin-bottom:65px}.intro h2{margin-bottom:28px}.list li{grid-template-columns:56px 1fr;gap:12px}.list small{display:none}.grid{grid-template-columns:1fr}.quote{padding:14vh 7vw}.page-hero{min-height:58svh}.menu-main{padding:7vh 7vw}.menu-columns{grid-template-columns:1fr;gap:60px}.contact-main .address{font-size:39px}.lineup-content{padding:5vh 7vw}.lineup-page{background-position:61% center} }
