:root{--black:#070706;--black2:#11100d;--charcoal:#17150f;--gold:#c99a3b;--gold-bright:#f0cb76;--gold-pale:#f8dfa3;--cream:#f5efe4;--ink:#17130d;--muted:#bdb5a8;--line:rgba(212,169,78,.34);--max:1200px;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}
body:has(.lightbox[open]){overflow:hidden}
img,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}

.header{height:82px;position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - var(--max))/2));background:rgba(5,5,4,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;flex-shrink:0}
.gp{font:42px/1 var(--serif);color:var(--gold-bright);letter-spacing:-.08em}
.brand b{display:block;font:19px/1.1 var(--serif);color:var(--gold-bright);text-transform:uppercase;letter-spacing:.08em}
.brand small{display:block;font-size:9px;letter-spacing:.24em;text-transform:uppercase;margin-top:6px;color:#ddd}
.header nav{display:flex;align-items:center;gap:22px}
.header nav a{text-decoration:none;color:#fff;text-transform:uppercase;font-size:12px;letter-spacing:.06em;transition:color .2s ease}
.header nav a:hover,.header nav a:focus-visible{color:var(--gold-bright)}
.menu{display:none;background:none;color:#fff;border:1px solid var(--gold);padding:9px 13px;text-transform:uppercase;font-size:12px;letter-spacing:.1em}

.btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#161006!important;text-decoration:none;border:0;padding:14px 23px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;font-size:12px;cursor:pointer;transition:transform .2s ease,filter .2s ease}
.btn:hover,.btn:focus-visible{transform:translateY(-2px);filter:brightness(1.08)}
.btn.small{min-height:42px;padding:10px 15px}
.btn.outline{background:rgba(0,0,0,.25);color:#fff!important;border:1px solid var(--gold)}
.text-link,.agreement-link{display:inline-flex;color:#8b631d;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.special .text-link{color:var(--gold-pale)}

.hero{height:max(760px,100svh);min-height:720px;position:relative;display:flex;align-items:center;overflow:hidden}
.hero-slides,.hero-slide{position:absolute;inset:0;width:100%;height:100%}
.hero-slide{object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity 1.1s ease,transform 8s ease}
.hero-slide.active{opacity:1;transform:scale(1)}
.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.74) 43%,rgba(0,0,0,.16) 80%),linear-gradient(0deg,rgba(0,0,0,.82),transparent 43%)}
.hero-copy{position:relative;z-index:2;width:min(var(--max),calc(100% - 44px));margin:62px auto 90px}
.eyebrow{margin:0 0 13px;color:var(--gold-bright);text-transform:uppercase;letter-spacing:.22em;font-weight:800;font-size:12px;line-height:1.5}
.hero h1,.section h2{font-family:var(--serif);font-weight:400;text-transform:uppercase;line-height:.94;margin:.14em 0}
.hero h1{font-size:clamp(58px,8vw,112px);max-width:810px;text-wrap:balance;text-shadow:0 4px 24px rgba(0,0,0,.45)}
.hero h1 span{color:var(--gold-bright)}
.script{font:clamp(31px,4vw,45px)/1.1 "Brush Script MT",cursive;color:var(--gold-bright);margin:10px 0 14px}
.lead{max-width:670px;font-size:18px;line-height:1.7;color:#eee}
.actions{display:flex;gap:12px;margin:28px 0}
.address{font-size:14px;color:#e2ddd5;letter-spacing:.03em}
.hero-rail{position:absolute;z-index:3;bottom:0;right:max(22px,calc((100vw - var(--max))/2));display:flex;background:rgba(5,5,4,.88);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.hero-rail button{min-width:180px;padding:20px 24px;text-align:left;border:0;border-right:1px solid var(--line);background:transparent;color:#aaa;cursor:pointer;text-transform:uppercase;font-size:11px;letter-spacing:.08em}
.hero-rail button span{display:block;color:var(--gold);font-family:var(--serif);font-size:16px;margin-bottom:3px}
.hero-rail button.active{color:#fff;background:rgba(201,154,59,.12)}

.section{padding:104px max(22px,calc((100vw - var(--max))/2))}
.inner{max-width:var(--max);margin:auto}
.center{text-align:center}
.section h2{font-size:clamp(40px,5vw,67px);text-wrap:balance}
.cream{background:var(--cream);color:var(--ink)}
.dark{background:var(--black2)}
.black{background:#050504}

.special{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 50%,rgba(240,203,118,.18),transparent 34%),linear-gradient(115deg,#090806,#18130a 58%,#090806)}
.special:before,.special:after{content:"";position:absolute;width:460px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:rotate(-35deg);opacity:.4}
.special:before{top:80px;right:-130px}.special:after{bottom:70px;left:-160px}
.special-layout{position:relative;z-index:1;display:grid;grid-template-columns:.72fr 1.28fr;gap:72px;align-items:center}
.special-price{min-height:360px;display:grid;align-content:center;text-align:center;border:1px solid var(--gold);box-shadow:inset 0 0 0 10px #0e0b06,inset 0 0 0 11px rgba(212,169,78,.34),0 24px 70px rgba(0,0,0,.3);background:linear-gradient(145deg,rgba(255,255,255,.04),transparent)}
.special-price span{font-size:13px;text-transform:uppercase;letter-spacing:.23em;color:var(--gold-pale);font-weight:800}
.special-price strong{display:block;font:clamp(70px,9vw,128px)/1 var(--serif);color:var(--gold-bright);letter-spacing:-.06em;margin-top:14px;text-shadow:0 7px 24px rgba(201,154,59,.18)}
.special-copy>p:not(.eyebrow,.fine-print){font-size:19px;color:#ece4d7;max-width:630px}
.special-events{display:flex;flex-wrap:wrap;gap:9px;margin:27px 0}
.special-events span{padding:10px 14px;border:1px solid var(--line);color:#fff;text-transform:uppercase;font-size:12px;letter-spacing:.08em;background:rgba(255,255,255,.025)}
.fine-print{max-width:670px;color:#a9a195;font-size:13px;line-height:1.65}

.ballroom-layout{display:grid;grid-template-columns:1fr 1fr;gap:84px;align-items:center}
.photo-stack{position:relative;min-height:690px;padding-right:90px}
.photo-main{width:100%;height:660px;object-fit:cover;box-shadow:0 28px 60px rgba(27,18,8,.2)}
.photo-float{position:absolute;right:0;bottom:-34px;width:245px;height:350px;object-fit:cover;border:9px solid var(--cream);box-shadow:0 22px 50px rgba(27,18,8,.25)}
.ballroom-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;color:#5b5145}
.capacity-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:35px;border-top:1px solid #d9c496;border-bottom:1px solid #d9c496}
.capacity-grid div{padding:22px 16px 22px 0;border-right:1px solid #d9c496}
.capacity-grid div:not(:first-child){padding-left:18px}
.capacity-grid div:last-child{border-right:0}
.capacity-grid strong{display:block;color:#875e16;font:25px/1.15 var(--serif);margin-bottom:8px}
.capacity-grid span{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#6e6254;line-height:1.5}

.section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end;margin-bottom:48px}
.section-heading>p{color:#bdb5a8;line-height:1.75;margin:0 0 6px}
.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.event-grid article{position:relative;background:#15130f;padding:30px;min-height:205px;transition:background .25s ease,transform .25s ease}
.event-grid article:hover{background:#1e1911;z-index:1;transform:translateY(-3px)}
.event-grid article.featured{background:linear-gradient(145deg,#33250f,#15130f)}
.event-grid article>span{font:16px var(--serif);color:#8f6b2c}
.event-grid h3{font:25px var(--serif);color:var(--gold-bright);margin:24px 0 10px}
.event-grid p{margin:0;color:#bdb5a8;line-height:1.6}

.motion{background:linear-gradient(180deg,#ece2d2,#f8f4eb);color:var(--ink);overflow:hidden}
.narrow-heading{max-width:760px;margin:0 auto 46px}.narrow-heading>p:not(.eyebrow){color:#655b4e;font-size:18px}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:center;max-width:1020px;margin:auto}
.video-grid figure{margin:0;position:relative;background:#0b0a08;padding:10px 10px 0;box-shadow:0 22px 50px rgba(34,24,12,.2)}
.video-grid figure:before{content:"";position:absolute;inset:0;border:1px solid rgba(201,154,59,.52);pointer-events:none}
.video-grid .video-featured{transform:translateY(-15px)}
.video-grid video{width:100%;aspect-ratio:9/16;object-fit:cover;background:#111}
.video-grid figcaption{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;color:var(--gold-pale);font:18px var(--serif)}
.video-toggle{border:0;border-left:1px solid var(--line);background:transparent;color:#fff;padding:7px 0 7px 15px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;cursor:pointer}

.gallery-heading{margin-bottom:35px}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:245px;gap:13px}
.gallery-card{position:relative;grid-column:span 4;border:0;padding:0;overflow:hidden;background:#111;color:#fff;cursor:zoom-in;text-align:left}
.gallery-card.tall{grid-row:span 2}.gallery-card.wide{grid-column:span 8}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .35s ease}
.gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent 48%)}
.gallery-card span{position:absolute;z-index:1;left:22px;bottom:18px;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:12px;border-bottom:1px solid var(--gold);padding-bottom:5px}
.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.045);filter:brightness(1.08)}

.booking-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:66px;align-items:start}
.booking-copy>p{font-size:18px;line-height:1.75;color:#564d42}
.steps{display:grid;gap:13px;margin:28px 0}
.steps span{display:flex;gap:12px;align-items:center;color:#3f372e}
.steps b{flex:0 0 36px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#1a1712;color:var(--gold-bright);font-size:14px}
.deposit-policy{background:#17130e;color:#fff;padding:24px;margin:30px 0;border-left:4px solid var(--gold)}
.deposit-policy h3{font:27px var(--serif);color:var(--gold-bright);margin:0 0 10px}
.deposit-policy p{font-size:15px;margin:7px 0;color:#ddd}
.form{background:#fff;padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:18px;box-shadow:0 18px 52px rgba(30,21,10,.14);border-top:5px solid var(--gold)}
.form-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid #e0d6c7;padding-bottom:18px;margin-bottom:2px}
.form-intro span{font:28px var(--serif);color:#20190f}.form-intro p{margin:0;color:#776b5c;font-size:13px}
.field{display:grid;gap:8px}.field.full,.full{grid-column:1/-1}
.field label{font-size:13px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.field label span{color:#918678;text-transform:none;font-weight:400;letter-spacing:0}
.field input,.field select,.field textarea{width:100%;padding:14px;border:1px solid #d6cbbc;background:#fff;color:#18140e;min-height:50px;border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(201,154,59,.45);outline-offset:1px;border-color:var(--gold)}
.deposit-box{padding:19px 20px;background:#17130e;color:#fff;display:flex;justify-content:space-between;gap:20px;align-items:center}
.deposit-box span{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.deposit-box strong{font:23px var(--serif);color:var(--gold-bright);text-align:right}
.policy{border:1px solid #dbcdaF;padding:20px;background:#fbf8f1}.policy h3{font:22px var(--serif);margin:0 0 8px}.policy p{font-size:13px;line-height:1.65;color:#61574b}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;text-transform:none!important;letter-spacing:0!important}.check input{width:auto;min-height:0;margin-top:4px}
.promo-check{display:flex;align-items:flex-start;gap:12px;padding:17px 18px;border:1px solid #b8862c;background:#fff9ea;color:#4d402d;font-size:14px;line-height:1.55}.promo-check input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:#a8741b}.promo-check strong{display:block;color:#7d5715;font-family:var(--serif);font-size:17px;margin-bottom:2px}
.message{min-height:22px;font-size:14px}.message.ok{color:#1f763d}.message.err{color:#aa2424}

.cta{text-align:center;background:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.82)),url('/media/pink-celebration.webp') center 46%/cover;padding-top:120px;padding-bottom:120px}
.cta h2{font-size:clamp(48px,7vw,88px)}.cta p:not(.eyebrow){color:#eee;font-size:19px;margin:20px 0 28px}
footer{padding:62px max(22px,calc((100vw - var(--max))/2)) 26px;background:#050504;border-top:1px solid var(--line)}
.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.15fr 1fr 1fr 1.4fr;gap:32px}
footer h4{color:var(--gold-bright);text-transform:uppercase;letter-spacing:.14em;font-size:12px;margin-top:0}footer p{font-size:14px;color:#bbb;line-height:1.7}
.copy{max-width:var(--max);margin:30px auto 0;border-top:1px solid #282218;padding-top:20px;color:#777;font-size:12px;display:flex;justify-content:space-between;gap:20px;text-transform:uppercase;letter-spacing:.06em}

.lightbox{width:min(92vw,920px);max-height:92vh;border:1px solid var(--gold);padding:10px;background:#080705;box-shadow:0 30px 90px #000}.lightbox::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(5px)}
.lightbox img{width:100%;max-height:86vh;object-fit:contain}.lightbox-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border:1px solid var(--gold);background:rgba(0,0,0,.8);color:#fff;font-size:28px;line-height:1;cursor:pointer}

@media(max-width:1000px){.header nav{gap:13px}.header nav a{font-size:10px}.special-layout,.ballroom-layout{gap:45px}.photo-stack{padding-right:55px}.event-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#070706;padding:25px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.header.open nav{display:flex}.menu{display:block}.hero-rail{left:0;right:0}.hero-rail button{flex:1;min-width:0;padding:16px}.special-layout,.ballroom-layout,.booking-layout,.section-heading{grid-template-columns:1fr}.special-price{min-height:280px}.photo-stack{max-width:590px;margin:auto}.section-heading{gap:18px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.header{height:72px}.header nav{top:72px}.brand b{font-size:14px}.brand small{font-size:7px}.gp{font-size:34px}.hero{min-height:760px}.hero-copy{margin:78px auto 116px}.hero h1{font-size:54px}.lead{font-size:16px}.actions{flex-direction:column;max-width:310px}.hero-rail button{padding:13px 10px;font-size:8px}.hero-rail button span{font-size:13px}.section{padding:78px 20px}.special-layout{gap:38px}.special-price{min-height:230px}.special-price strong{font-size:72px}.special-events{display:grid;grid-template-columns:1fr 1fr}.photo-stack{min-height:570px;padding-right:34px}.photo-main{height:540px}.photo-float{width:170px;height:250px;border-width:6px}.capacity-grid{grid-template-columns:1fr}.capacity-grid div,.capacity-grid div:not(:first-child){padding:15px 0;border-right:0;border-bottom:1px solid #d9c496}.capacity-grid div:last-child{border-bottom:0}.event-grid{grid-template-columns:1fr}.video-grid{grid-template-columns:1fr;max-width:360px}.video-grid .video-featured{transform:none}.gallery{grid-template-columns:1fr;grid-auto-rows:390px}.gallery-card,.gallery-card.wide{grid-column:1}.gallery-card.tall{grid-row:span 1}.form{grid-template-columns:1fr;padding:22px}.field.full,.full{grid-column:1}.form-intro,.deposit-box{align-items:flex-start;flex-direction:column}.deposit-box strong{text-align:left}.footer-grid{grid-template-columns:1fr}.copy{flex-direction:column}.lightbox{width:96vw}.cta{background-position:55% center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide,.gallery-card img,.btn,.event-grid article{transition:none}}
.header nav a.phone-link{color:var(--gold2);font-weight:800;font-size:13px;letter-spacing:.03em;text-transform:none;white-space:nowrap;text-decoration:none}footer .phone-link{color:var(--gold2);text-decoration:none;font-weight:800;font-size:15px;white-space:nowrap}footer .phone-link:hover,.header nav a.phone-link:hover{text-decoration:underline}video.hero-slide{object-fit:cover}.gp.crown{width:50px;height:38px;flex-shrink:0;overflow:visible}footer .gp.crown{width:44px;height:33px}.phone-stack{display:flex;flex-direction:column;gap:4px;margin-top:6px}.footer-brand{display:grid;gap:20px;align-content:start}.social{display:flex;gap:10px}.social a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);color:var(--gold-bright);transition:background .25s,color .25s,border-color .25s}.social a:hover,.social a:focus-visible{background:var(--gold);border-color:var(--gold);color:#120d05}.social svg{width:18px;height:18px}.gallery{grid-auto-flow:dense}