:root{
  --ink:#07110f;
  --ink-2:#0d1b18;
  --ink-3:#142621;
  --gold:#d7b16a;
  --gold-2:#f0d59a;
  --ivory:#f3efe8;
  --paper:#fbfaf7;
  --text:#222722;
  --muted:#74786f;
  --line:rgba(215,177,106,.26);
  --serif:'DM Serif Display',Georgia,serif;
  --sans:'Outfit',Arial,sans-serif;
  --shadow:0 24px 70px rgba(0,0,0,.18)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);line-height:1.6;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.wrap{width:min(1240px,92%);margin-inline:auto}
.topline{background:#020706;color:#e9e4da;font-size:13px;border-bottom:1px solid rgba(255,255,255,.06)}
.topline .wrap{height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topline .wrap>span{color:var(--gold-2);letter-spacing:.02em}
.topline .wrap>div{display:flex;align-items:center;gap:16px}
.topline i{width:4px;height:4px;border-radius:50%;background:var(--gold)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,17,15,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.header-row{min-height:92px;display:flex;align-items:center;gap:28px}
.logo{width:245px;flex:0 0 245px}
.logo img{width:100%;height:auto}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:26px;color:#f4eee3;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.main-nav a{position:relative;padding:8px 0}
.main-nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:.25s}
.main-nav a:hover{color:var(--gold-2)}
.main-nav a:hover:after{width:100%}
.header-cta{display:inline-flex;align-items:center;gap:18px;border-radius:999px;background:var(--gold);color:#10100d;padding:14px 22px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.header-cta span{font-size:18px;line-height:1}
.menu-toggle{display:none;margin-left:auto;width:48px;height:48px;border:1px solid rgba(255,255,255,.16);background:transparent;border-radius:50%;padding:13px}
.menu-toggle span{display:block;height:2px;background:#fff;margin:5px 0;transition:.25s}
.hero{min-height:760px;position:relative;display:flex;align-items:center;color:#fff;background-image:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(2,7,6,.78) 32%,rgba(2,7,6,.28) 60%,rgba(0,0,0,.05) 100%),var(--hero-image);background-position:center;background-size:cover;isolation:isolate}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:190px;background:linear-gradient(0deg,rgba(7,17,15,.72),transparent);z-index:-1}
.hero-grain{position:absolute;inset:0;z-index:-1;opacity:.12;background-image:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 1px),radial-gradient(circle at 80% 40%,#fff 0 1px,transparent 1px);background-size:46px 46px,63px 63px;mix-blend-mode:soft-light}
.hero-inner{padding-block:90px}
.hero-copy{max-width:620px}
.script-kicker{font:italic 24px/1.2 var(--serif);color:var(--gold-2);display:block;margin-bottom:22px}
.hero h1{font:400 clamp(62px,7vw,104px)/.9 var(--serif);letter-spacing:-.035em;margin:0 0 28px;max-width:780px}
.hero h1 strong{font-weight:400;color:var(--gold)}
.hero p{max-width:600px;font-size:18px;color:#e6e1d7;margin:0 0 32px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:0 28px;border-radius:2px;border:1px solid transparent;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;transition:.25s}
.btn.gold{background:var(--gold);color:#11100c}
.btn.gold:hover{background:var(--gold-2);transform:translateY(-2px)}
.btn.outline{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(0,0,0,.16)}
.btn.outline:hover{border-color:var(--gold);color:var(--gold-2)}
.hero-index{margin-top:54px;display:flex;align-items:center;gap:12px;color:#cfc8bd;font-size:12px;letter-spacing:.2em}
.hero-index i{width:36px;height:1px;background:rgba(255,255,255,.24)}
.facts{background:var(--paper);position:relative;z-index:3;border-bottom:1px solid #e6e1d8}
.facts-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.facts article{display:flex;align-items:center;gap:16px;padding:28px 24px;border-right:1px solid #ded8cf}
.facts article:last-child{border-right:0}
.facts svg{width:40px;height:40px;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:0 0 40px}
.facts b,.facts span{display:block}
.facts b{font-size:17px;line-height:1.2}
.facts span{font-size:13px;color:var(--muted);margin-top:3px}
.section{padding:110px 0}
.section-label{display:block;color:var(--gold);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.28em;margin-bottom:16px}
.section-label.dark{color:#936f35}
h2{font:400 clamp(46px,5vw,72px)/.95 var(--serif);letter-spacing:-.025em;margin:0}
.services{background:radial-gradient(circle at 85% 0%,rgba(215,177,106,.1),transparent 28%),linear-gradient(135deg,#030806,#0a1714 70%,#0e211c);color:#fff;position:relative;overflow:hidden}
.services:after{content:"";position:absolute;right:-160px;bottom:-250px;width:520px;height:520px;border:1px solid rgba(215,177,106,.1);border-radius:50%;box-shadow:0 0 0 80px rgba(215,177,106,.025),0 0 0 160px rgba(215,177,106,.018)}
.services-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:52px;position:relative;z-index:1}
.services-head h2{max-width:720px}
.services-head>a{border:1px solid rgba(215,177,106,.5);padding:12px 18px;text-transform:uppercase;font-size:11px;letter-spacing:.13em;color:var(--gold-2);white-space:nowrap}
.services-head>a span{margin-left:18px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);position:relative;z-index:1;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-grid article{min-height:280px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:.25s}
.service-grid article:hover{background:rgba(215,177,106,.06);transform:translateY(-3px)}
.service-no{position:absolute;right:26px;top:24px;color:rgba(255,255,255,.22);font-size:12px;letter-spacing:.18em}
.service-grid svg{width:48px;height:48px;stroke:var(--gold);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;margin-bottom:24px}
.service-grid h3{font:400 30px/1.1 var(--serif);margin:0 0 12px}
.service-grid p{color:#b8bdb7;margin:0;max-width:300px}
.venues{background:var(--ivory)}
.venues-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:54px;align-items:start}
.venues-copy{position:sticky;top:130px}
.venues-copy p{color:#666b64;margin:24px 0 28px}
.dark-link{display:inline-flex;align-items:center;gap:24px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.11em;border-bottom:1px solid #9e7b43;padding-bottom:8px}
.venue-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:190px;gap:10px}
.gallery-tile{border:0;padding:0;position:relative;overflow:hidden;background:#111}
.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:.45s}
.gallery-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.66),transparent 55%);opacity:.8}
.gallery-tile span{position:absolute;left:18px;bottom:15px;z-index:2;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em}
.gallery-tile:hover img{transform:scale(1.06)}
.tile-1{grid-column:span 7;grid-row:span 2}.tile-2{grid-column:span 5}.tile-3{grid-column:span 5}.tile-4{grid-column:span 4}.tile-5{grid-column:span 4}.tile-6{grid-column:span 4}
.story{background:#fff}
.story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.story-visual{position:relative;padding:0 44px 44px 0}
.story-visual:before{content:"";position:absolute;right:0;bottom:0;width:76%;height:76%;border:1px solid var(--gold);z-index:0}
.story-visual img{width:100%;height:620px;object-fit:cover;position:relative;z-index:1;filter:saturate(.88) contrast(1.02)}
.story-seal{position:absolute;right:-12px;top:44px;z-index:2;width:138px;height:138px;border-radius:50%;display:grid;place-items:center;align-content:center;background:var(--ink);color:#fff;border:1px solid var(--gold);box-shadow:var(--shadow)}
.story-seal span,.story-seal em{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold-2);font-style:normal}
.story-seal b{font:400 34px var(--serif)}
.story-copy p{font-size:18px;color:#676b66;margin:26px 0 34px}
.story-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ded8cf;border-bottom:1px solid #ded8cf;margin-bottom:34px}
.story-stats div{padding:22px 16px;border-right:1px solid #ded8cf}
.story-stats div:last-child{border-right:0}
.story-stats b,.story-stats span{display:block}
.story-stats b{font:400 29px var(--serif);color:#9a743b}
.story-stats span{font-size:12px;color:#777b74;margin-top:4px}
.privileges{background:#050b09;color:#fff}
.privilege-layout{display:grid;grid-template-columns:330px 1fr;gap:70px;align-items:start}
.privilege-intro{position:sticky;top:135px}
.privilege-intro p{color:#aeb4ae;margin-top:24px}
.privilege-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.privilege-list article{display:grid;grid-template-columns:68px 1fr;gap:20px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:210px}
.privilege-icon{width:62px;height:62px;border:1px solid rgba(215,177,106,.34);display:grid;place-items:center;border-radius:50%}
.privilege-icon svg{width:31px;height:31px;stroke:var(--gold);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.privilege-list small{font-size:10px;letter-spacing:.18em;color:#787f79}
.privilege-list h3{font:400 25px/1.05 var(--serif);margin:5px 0 9px}
.privilege-list p{font-size:14px;color:#a7ada7;margin:0}
.packages{background:linear-gradient(135deg,#0d1d19,#102923);color:#fff}
.packages-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:44px}
.packages-head>div{max-width:700px}
.packages-head>p{max-width:430px;color:#aeb7b0;margin:0}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.package-card{position:relative;border:1px solid rgba(215,177,106,.28);padding:34px;background:rgba(0,0,0,.13);min-height:410px;display:flex;flex-direction:column}
.package-card.featured{background:linear-gradient(150deg,rgba(215,177,106,.2),rgba(0,0,0,.15));border-color:var(--gold);transform:translateY(-12px)}
.package-badge{position:absolute;left:24px;top:-14px;background:var(--gold);color:#0b0c08;padding:6px 12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.13em}
.package-title{display:flex;justify-content:space-between;gap:20px;align-items:start;border-bottom:1px solid rgba(255,255,255,.13);padding-bottom:20px}
.package-title h3{font:400 29px/1 var(--serif);margin:0;color:var(--gold-2)}
.package-title strong{font:500 20px var(--sans);white-space:nowrap}
.package-suffix{font-size:11px;color:#8f9991;margin-top:8px}
.package-card ul{list-style:none;margin:26px 0;padding:0;display:grid;gap:12px;color:#d2d6d2}
.package-card li:before{content:"✓";color:var(--gold);margin-right:10px}
.package-card>a{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border:1px solid rgba(215,177,106,.42);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--gold-2)}
.package-card.featured>a{background:var(--gold);color:#111;border-color:var(--gold)}
.reviews{background:var(--ivory)}
.reviews-head{text-align:center;max-width:760px;margin:0 auto 45px}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review-grid blockquote{margin:0;background:#fff;border:1px solid #ded8cf;padding:34px;min-height:270px;display:flex;flex-direction:column}
.review-grid blockquote>span{color:#b38a48;letter-spacing:.16em;font-size:13px}
.review-grid p{font:italic 27px/1.25 var(--serif);margin:24px 0;color:#343833}
.review-grid footer{margin-top:auto;color:#8b7045;font-size:12px;text-transform:uppercase;letter-spacing:.15em}
.contact{background:#020706;color:#fff}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
.contact-copy>p{color:#b1b7b2;font-size:17px;margin:24px 0 34px}
.contact-items{display:grid;border-top:1px solid var(--line)}
.contact-items>a,.contact-items>div{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}
.contact-items span{color:#838c86;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.contact-items b{font-weight:500;color:#f4eee3}
.reservation-form{background:var(--paper);color:var(--text);padding:36px;display:grid;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.reservation-form label{display:grid;gap:7px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#5e645f}
.reservation-form input,.reservation-form select,.reservation-form textarea{width:100%;border:1px solid #d8d3ca;background:#fff;padding:14px 15px;color:#222;border-radius:0;outline:none}
.reservation-form input:focus,.reservation-form select:focus,.reservation-form textarea:focus{border-color:#a77e3e;box-shadow:0 0 0 3px rgba(215,177,106,.15)}
.reservation-form textarea{resize:vertical}
.reservation-form .btn{border:0;width:100%}
.footer{background:#07110f;color:#d5d9d4;border-top:1px solid rgba(255,255,255,.07);padding:70px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr .7fr;gap:50px}
.footer-brand img{width:270px}
.footer-brand p{color:#949d96;max-width:380px}
.footer h4{color:var(--gold);font:400 24px var(--serif);margin:0 0 18px}
.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-grid a:hover{color:var(--gold-2)}
.footer-grid p{margin:0;color:#aeb5af}
.footer-bottom{border-top:1px solid rgba(255,255,255,.09);margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#7e8982}
.mobile-actions{display:none}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:grid;place-items:center;padding:30px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:min(1100px,94vw);max-height:88vh;object-fit:contain}
.lightbox button{position:absolute;right:24px;top:18px;background:transparent;border:0;color:#fff;font-size:52px;line-height:1}
@media(max-width:1100px){
  .main-nav{gap:16px;font-size:11px}
  .logo{width:210px;flex-basis:210px}
  .header-cta{padding:12px 16px}
  .facts-grid{grid-template-columns:repeat(3,1fr)}
  .facts article:nth-child(3){border-right:0}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .venues-grid,.privilege-layout{grid-template-columns:1fr}
  .venues-copy,.privilege-intro{position:static;max-width:700px}
  .story-grid{gap:44px}
  .story-visual img{height:540px}
  .package-grid{gap:14px}
  .package-card{padding:27px}
  .contact-grid{gap:40px}
}
@media(max-width:860px){
  .topline{display:none}
  .header-row{min-height:74px}
  .logo{width:205px;flex-basis:205px}
  .menu-toggle{display:block}
  .header-cta{display:none}
  .main-nav{position:fixed;left:0;right:0;top:74px;height:calc(100vh - 74px);background:#07110f;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:42px 5%;gap:8px;transform:translateX(105%);transition:.3s;overflow:auto;font-size:15px}
  .main-nav.open{transform:translateX(0)}
  .main-nav a{width:100%;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .hero{min-height:690px;background-image:linear-gradient(90deg,rgba(0,0,0,.89),rgba(0,0,0,.35)),var(--hero-image);background-position:58% center}
  .hero-inner{padding-block:70px}
  .hero h1{font-size:72px}
  .story-grid,.contact-grid{grid-template-columns:1fr}
  .story-copy{order:-1}
  .story-visual{max-width:700px}
  .privilege-list{grid-template-columns:1fr}
  .package-grid,.review-grid{grid-template-columns:1fr}
  .package-card.featured{transform:none}
  .package-card{min-height:auto}
  .packages-head{display:block}
  .packages-head>p{margin-top:22px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  body{padding-bottom:74px}
  .wrap{width:min(100% - 32px,1240px)}
  .site-header{position:sticky}
  .logo{width:175px;flex-basis:175px}
  .menu-toggle{width:42px;height:42px}
  .hero{min-height:640px;background-position:64% center}
  .hero-inner{padding-block:54px}
  .script-kicker{font-size:18px;margin-bottom:16px}
  .hero h1{font-size:clamp(49px,14vw,68px);line-height:.92}
  .hero p{font-size:15px}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
  .hero-index{margin-top:32px}
  .facts-grid{grid-template-columns:1fr 1fr;width:100%}
  .facts article{padding:20px 16px;border-bottom:1px solid #ded8cf}
  .facts article:nth-child(2n){border-right:0}
  .facts article:nth-child(3){border-right:1px solid #ded8cf}
  .facts article:last-child{grid-column:1/-1;border-right:0}
  .facts svg{width:34px;height:34px;flex-basis:34px}
  .facts b{font-size:15px}
  .section{padding:76px 0}
  h2{font-size:45px}
  .services-head{display:block}
  .services-head>a{display:inline-block;margin-top:24px}
  .service-grid{grid-template-columns:1fr;width:100%}
  .service-grid article{min-height:auto;padding:28px 22px}
  .venue-mosaic{grid-template-columns:1fr;grid-auto-rows:230px}
  .gallery-tile{grid-column:auto!important;grid-row:auto!important}
  .story-visual{padding:0 18px 18px 0}
  .story-visual img{height:430px}
  .story-seal{width:105px;height:105px;right:-2px;top:20px}
  .story-seal b{font-size:27px}
  .story-stats{grid-template-columns:1fr}
  .story-stats div{border-right:0;border-bottom:1px solid #ded8cf}
  .story-stats div:last-child{border-bottom:0}
  .privilege-list{width:100%}
  .privilege-list article{grid-template-columns:54px 1fr;padding:24px 18px;min-height:auto}
  .privilege-icon{width:50px;height:50px}
  .privilege-list h3{font-size:23px}
  .package-grid,.review-grid{width:100%}
  .review-grid blockquote{min-height:auto}
  .review-grid p{font-size:24px}
  .reservation-form{padding:24px 18px}
  .form-row{grid-template-columns:1fr}
  .contact-items>a,.contact-items>div{grid-template-columns:1fr;gap:4px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{display:block}
  .footer-bottom span{display:block;margin-top:6px}
  .mobile-actions{position:fixed;left:0;right:0;bottom:0;z-index:80;display:grid;grid-template-columns:1fr 1fr;background:#fff;padding:10px;gap:10px;border-top:1px solid #ddd;box-shadow:0 -10px 24px rgba(0,0,0,.12)}
  .mobile-actions a{min-height:52px;display:grid;place-items:center;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:13px}
  .mobile-actions a:first-child{background:#111;color:#fff}
  .mobile-actions a:last-child{background:#1cad5c;color:#fff}
}
