
:root{
  --night:#16110D;
  --night-2:#211A14;
  --night-3:#2C231B;
  --gold:#C9A45C;
  --gold-hi:#EBD7A6;
  --gold-lo:#9A7638;
  --gold-grad:linear-gradient(120deg,#9A7638 0%,#E9D39F 38%,#C9A45C 62%,#F3E4BD 82%,#A9843F 100%);
  --ivory:#FBF7F0;
  --paper:#FBF7F0;
  --paper-2:#F3E9DF;
  --ink:#2A221C;
  --muted:#7C6F63;
  --line:rgba(42,34,28,.14);
  --cream-text:#F5EDE1;
  --serif:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --sans:"Montserrat","Helvetica Neue",Arial,system-ui,sans-serif;
  --script:"Pinyon Script","Snell Roundhand","Apple Chancery",cursive;
  --wrap:min(1320px,92vw);
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--paper:#1C1611;--paper-2:#241C16;--ink:#F1E8DB;--muted:#B5A898;--line:rgba(241,232,219,.14)}
}
:root[data-theme="dark"]{--paper:#1C1611;--paper-2:#241C16;--ink:#F1E8DB;--muted:#B5A898;--line:rgba(241,232,219,.14)}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 70px)}
body{margin:0;background:var(--night);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:1rem;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{width:var(--wrap);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);font-weight:300;margin:0;line-height:1.02}
p{margin:0 0 1.1em}
.gold-text{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.script{font-family:var(--script);font-weight:400;color:var(--gold);line-height:1;display:block;font-size:clamp(2rem,3.4vw,2.9rem);margin-bottom:6px}
.rule{width:72px;height:1px;background:var(--gold-grad);border:0;margin:26px 0}
.center{text-align:center}.center .rule{margin-inline:auto}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans);font-weight:500;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;padding:18px 34px;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:all .35s ease;position:relative;overflow:hidden}
.btn-gold{background:var(--gold-grad);background-size:200% 100%;color:#1A130C}
.btn-gold:hover{background-position:100% 0;box-shadow:0 10px 40px -10px rgba(201,164,92,.6)}
.btn-ghost{border-color:rgba(245,237,225,.5);color:var(--cream-text);background:rgba(22,17,13,.15);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-hi)}

/* ============ HEADER ============ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;padding-top:env(safe-area-inset-top,0px);transition:background .4s,border-color .4s;border-bottom:1px solid transparent;color:var(--cream-text)}
.site-header.scrolled{background:rgba(22,17,13,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:rgba(201,164,92,.2)}
.site-header .wrap{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px;transition:height .4s}
.site-header.scrolled .wrap{height:68px}
.brand{text-decoration:none;display:flex;align-items:baseline;gap:1px;font-family:var(--serif);font-size:1.75rem;font-weight:400;letter-spacing:.01em}
.brand .dot{font-family:var(--serif);font-style:italic}
.brand .ev{font-style:italic}
.nav{display:flex;align-items:center;gap:30px}
.nav a{text-decoration:none;font-size:.74rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;position:relative;padding:6px 0}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .4s}
.nav a:not(.btn):hover::after{transform:scaleX(1);transform-origin:left}
.nav .btn{padding:13px 22px;font-size:.7rem}
.burger{display:none;background:none;border:0;color:var(--cream-text);cursor:pointer;width:44px;height:44px;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:1px;background:currentColor;transition:transform .3s,opacity .3s}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:22px}.burger span:nth-child(3){top:28px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ============ HERO ============ */
.hero{position:relative;height:100%;min-height:680px;height:100vh;height:100svh;color:var(--cream-text);overflow:hidden;background:var(--night)}
.slides{position:absolute;inset:0}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.8s ease;transform:scale(1.12)}
.slides img.on{opacity:1;animation:kb 9s ease-out forwards}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1.0)}}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:
  radial-gradient(ellipse at 50% 45%,rgba(22,17,13,.25) 0%,rgba(22,17,13,.72) 70%),
  linear-gradient(180deg,rgba(22,17,13,.6) 0%,rgba(22,17,13,.15) 30%,rgba(22,17,13,.35) 65%,rgba(22,17,13,.96) 100%)}
.hero-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 4vw 150px}
.hero .script{font-size:clamp(2.4rem,5vw,4rem);margin-bottom:0}
.hero h1{font-size:clamp(3.4rem,9.5vw,9rem);font-weight:300;letter-spacing:-.015em;line-height:.95;margin-top:4px}
.hero h1 .l2{display:block;font-style:italic}
.hero .sub{font-size:clamp(.72rem,1.2vw,.82rem);letter-spacing:.34em;text-transform:uppercase;font-weight:500;margin:34px 0 42px;color:rgba(245,237,225,.88)}
.hero .sub i{font-style:normal;color:var(--gold);padding:0 .9em}
.hero .ctas{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.dots{position:absolute;z-index:3;right:4vw;bottom:110px;display:flex;flex-direction:column;gap:12px}
.dots button{width:9px;height:9px;border-radius:50%;border:1px solid rgba(245,237,225,.7);background:transparent;padding:0;cursor:pointer;transition:all .3s}
.dots button.on{background:var(--gold);border-color:var(--gold);transform:scale(1.3)}
.scroll-cue{position:absolute;z-index:3;left:50%;bottom:92px;transform:translateX(-50%);width:1px;height:56px;background:linear-gradient(var(--gold),transparent);overflow:hidden}

/* Marquee */
.marquee{position:absolute;z-index:3;left:0;right:0;bottom:0;border-top:1px solid rgba(201,164,92,.35);background:rgba(22,17,13,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden;white-space:nowrap}
.marquee .track{display:inline-flex;animation:mq 60s linear infinite;padding:20px 0}
.marquee span{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--cream-text);padding:0 28px;display:inline-flex;align-items:center;gap:56px}
.marquee span::after{content:"\2726";font-style:normal;font-size:.8rem;color:var(--gold)}
@keyframes mq{to{transform:translateX(-50%)}}

/* ============ INTRO ============ */
.intro{background:var(--paper);padding:150px 0 140px;position:relative}
.intro .wrap{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}
.intro-media{position:relative}
.intro-media .main{aspect-ratio:4/5;overflow:hidden;position:relative;z-index:2}
.intro-media .main img{width:100%;height:100%;object-fit:cover}
.intro-media::before{content:"";position:absolute;z-index:1;inset:-26px 26px 26px -26px;border:1px solid var(--gold)}
.intro-media .inset{position:absolute;z-index:3;right:-60px;bottom:-60px;width:46%;aspect-ratio:1;overflow:hidden;border:10px solid var(--paper);box-shadow:0 30px 60px -20px rgba(22,17,13,.35)}
.intro-media .inset img{width:100%;height:100%;object-fit:cover}
.intro h2{font-size:clamp(2.8rem,5vw,4.6rem)}
.intro h2 em{font-style:italic}
.intro .lead{font-family:var(--serif);font-size:1.5rem;line-height:1.5;color:var(--ink);font-weight:400}
.intro p{color:var(--muted);max-width:52ch}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;border-top:1px solid var(--line)}
.pillars div{padding:26px 18px 0 0}
.pillars div + div{padding-left:22px;border-left:1px solid var(--line)}
.pillars strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.7rem;color:var(--ink);line-height:1.1}
.pillars span{font-size:.86rem;color:var(--muted);line-height:1.6;display:block;margin-top:6px}

/* ============ OCCASIONS ============ */
.occasions{background:var(--night);color:var(--cream-text);padding:140px 0 150px}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:64px}
.sec-head h2{font-size:clamp(2.8rem,5.4vw,5rem)}
.sec-head p{max-width:40ch;margin:0;color:rgba(245,237,225,.68)}
.panels{display:flex;gap:12px;height:clamp(520px,68vh,700px)}
.panel{all:unset;box-sizing:border-box;position:relative;flex:1;min-width:0;overflow:hidden;cursor:pointer;transition:flex .8s cubic-bezier(.3,.8,.2,1);background:var(--night-2)}
.panel.open{flex:4.2}
.panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.4s cubic-bezier(.3,.8,.2,1),filter .8s}
.panel:not(.open) img{filter:grayscale(.55) brightness(.6)}
.panel.open img{transform:scale(1)}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,17,13,0) 35%,rgba(22,17,13,.92) 100%)}
.panel .vt{position:absolute;z-index:2;left:50%;bottom:36px;transform:translateX(-50%) rotate(180deg);writing-mode:vertical-rl;font-family:var(--serif);font-size:1.9rem;white-space:nowrap;transition:opacity .4s}
.panel .num{position:absolute;z-index:2;top:26px;left:50%;transform:translateX(-50%);font-size:.72rem;letter-spacing:.2em;color:var(--gold)}
.panel.open .vt{opacity:0}
.panel .body{position:absolute;z-index:2;left:44px;right:44px;bottom:40px;opacity:0;transform:translateY(24px);transition:opacity .5s .15s,transform .7s .15s;max-width:560px}
.panel.open .body{opacity:1;transform:none}
.panel.open .num{left:44px;transform:none}
.panel h3{font-size:clamp(2.4rem,4vw,3.8rem);font-style:italic;margin-bottom:14px}
.panel .body p{color:rgba(245,237,225,.82);margin:0 0 20px;font-size:.98rem}
.panel .chips{display:flex;flex-wrap:wrap;gap:8px}
.panel .chips span{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid rgba(201,164,92,.55);padding:7px 12px;color:var(--gold-hi)}

/* ============ EXPERIENCE ============ */
.experience{background:var(--night-2);color:var(--cream-text);padding:140px 0;position:relative;overflow:hidden}
.experience::before{content:"Turn Key";position:absolute;right:-2vw;top:40px;font-family:var(--script);font-size:clamp(8rem,20vw,18rem);color:rgba(201,164,92,.06);line-height:1;pointer-events:none;white-space:nowrap}
.timeline{list-style:none;margin:80px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;position:relative}
.timeline::before{content:"";position:absolute;top:38px;left:6%;right:6%;height:1px;background:var(--gold-grad);opacity:.6}
.timeline li{position:relative;text-align:center;padding:0 8px}
.timeline .ring{width:78px;height:78px;border-radius:50%;border:1px solid var(--gold);background:var(--night-2);display:grid;place-items:center;margin:0 auto 30px;font-family:var(--serif);font-size:2.1rem;font-style:italic;color:var(--gold-hi);position:relative;z-index:1;transition:background .4s,color .4s}
.timeline li:hover .ring{background:var(--gold);color:var(--night)}
.timeline h3{font-size:2rem;margin-bottom:12px}
.timeline p{color:rgba(245,237,225,.66);font-size:.93rem;margin:0 auto;max-width:28ch}

/* ============ MENU RAIL ============ */
.menu{background:var(--paper);padding:140px 0 130px}
.menu .sec-head p{color:var(--muted)}
.menu .sec-head h2{color:var(--ink)}
.rail-ctrl{display:flex;gap:12px}
.rail-ctrl button{width:56px;height:56px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font-size:1.2rem;transition:all .3s}
.rail-ctrl button:hover{background:var(--gold);border-color:var(--gold);color:#1A130C}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(270px,27vw,400px);gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(4vw,calc((100vw - 1320px)/2)) 30px;scrollbar-width:none;scroll-padding-inline:max(4vw,calc((100vw - 1320px)/2))}
.rail::-webkit-scrollbar{display:none}
.dish{margin:0;scroll-snap-align:start;position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--night)}
.dish img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.3,.8,.2,1)}
.dish:hover img{transform:scale(1.06)}
.dish::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(22,17,13,.9))}
.dish figcaption{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:var(--cream-text)}
.dish strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.9rem;line-height:1.05;margin-bottom:6px}
.dish span{font-size:.82rem;color:rgba(245,237,225,.72);letter-spacing:.02em}
.menu-note{text-align:center;margin-top:44px;font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--muted)}

/* ============ INCLUDED ============ */
.included{background:var(--paper-2);padding:140px 0}
.included h2{font-size:clamp(2.8rem,5vw,4.6rem);color:var(--ink)}
.included .intro-p{color:var(--muted);max-width:56ch;margin:0 auto}
.inc{display:grid;grid-template-columns:repeat(4,1fr);margin-top:72px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.inc div{padding:44px 30px 40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;transition:background .4s}
.inc div:hover{background:var(--paper)}
.inc svg{width:44px;height:44px;stroke:var(--gold);stroke-width:1.1;fill:none;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 22px;display:block}
.inc h3{font-size:1.55rem;font-weight:400;color:var(--ink);margin-bottom:10px}
.inc p{font-size:.88rem;color:var(--muted);margin:0;line-height:1.65}

/* ============ QUOTE BAND ============ */
.band{position:relative;padding:170px 0;color:var(--cream-text);text-align:center;overflow:hidden}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(22,17,13,.72)}
.band .wrap{position:relative;z-index:2}
.band blockquote{margin:0 auto;font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(2.2rem,4.6vw,4.2rem);line-height:1.15;max-width:20ch}
.band .by{margin-top:28px;font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}

/* ============ GALLERY ============ */
.gallery{background:var(--night);color:var(--cream-text);padding:140px 0}
.mosaic{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(130px,14vw,200px);grid-auto-flow:dense;gap:10px}
.mosaic button{all:unset;position:relative;overflow:hidden;cursor:zoom-in;grid-column:span 2;background:var(--night-2)}
.mosaic button.t{grid-row:span 2}
.mosaic button.w{grid-column:span 2}
.mosaic button.b{grid-column:span 4;grid-row:span 2}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.3,.8,.2,1),filter .6s}
.mosaic button:hover img{transform:scale(1.06)}
.mosaic button::after{content:"";position:absolute;inset:0;border:1px solid rgba(201,164,92,0);transition:border-color .4s,inset .4s}
.mosaic button:hover::after{border-color:rgba(201,164,92,.8);inset:10px}
.mosaic button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

.lightbox{border:0;padding:0;margin:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100%}
.lightbox::backdrop{background:rgba(16,12,9,.96)}
.lb-stage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 70px) 90px calc(env(safe-area-inset-bottom,0px) + 70px)}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain}
.lb-btn{position:fixed;width:54px;height:54px;border-radius:50%;background:transparent;border:1px solid rgba(201,164,92,.5);color:var(--gold-hi);cursor:pointer;font-size:1.3rem;display:grid;place-items:center;transition:all .3s}
.lb-btn:hover{background:var(--gold);color:var(--night)}
.lb-close{top:calc(env(safe-area-inset-top,0px) + 18px);right:18px}
.lb-prev{left:18px;top:50%;transform:translateY(-50%)}
.lb-next{right:18px;top:50%;transform:translateY(-50%)}
.lb-count{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);transform:translateX(-50%);font-size:.74rem;letter-spacing:.3em;color:var(--gold)}

/* ============ CONTACT ============ */
.contact{position:relative;padding:150px 0;color:var(--cream-text);overflow:hidden}
.contact > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.contact::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(22,17,13,.96) 0%,rgba(22,17,13,.86) 45%,rgba(22,17,13,.6) 100%)}
.contact .wrap{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.contact h2{font-size:clamp(3rem,5.6vw,5.2rem)}
.contact .lede{color:rgba(245,237,225,.78);max-width:40ch;font-size:1.02rem}
.contact dl{margin:40px 0 0;display:grid;gap:26px}
.contact dt{font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.contact dd{margin:4px 0 0;font-family:var(--serif);font-size:1.7rem}
.contact dd a{text-decoration:none}
.contact dd a:hover{color:var(--gold-hi)}
.form-card{background:rgba(33,26,20,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(201,164,92,.35);padding:52px 48px;position:relative}
.form-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(201,164,92,.14);pointer-events:none}
.form-card h3{font-size:2.2rem;font-style:italic;margin-bottom:6px}
.form-card > p{color:rgba(245,237,225,.6);font-size:.9rem;margin-bottom:30px}
form{display:grid;grid-template-columns:1fr 1fr;gap:26px 26px}
.field{position:relative}
.field.full{grid-column:1/-1}
.field label{display:block;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;font:inherit;font-weight:300;font-size:1rem;color:var(--cream-text);background:transparent;border:0;border-bottom:1px solid rgba(245,237,225,.28);padding:10px 0 12px;border-radius:0;transition:border-color .3s}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.field select option{color:#2A221C}
.field input[type=date]{color-scheme:dark}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--gold)}
.hp{position:absolute;left:-9999px}
.status{grid-column:1/-1;margin:0;min-height:1.4em;font-size:.95rem}
.status.ok{color:var(--gold-hi)}
.status.err{color:#F0B6A8}
.status a{color:var(--gold-hi)}
.form-card .btn{width:100%;grid-column:1/-1}

/* ============ FOOTER ============ */
footer{background:var(--night);color:rgba(245,237,225,.6);padding:100px 0 44px;border-top:1px solid rgba(201,164,92,.18);overflow:hidden}
.foot-mark{font-family:var(--serif);font-weight:300;font-size:clamp(3.4rem,12.4vw,12rem);line-height:.9;letter-spacing:-.02em;text-align:center;margin-bottom:60px;white-space:nowrap}
.foot-mark em{font-style:italic}
.foot-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid rgba(245,237,225,.1);padding-top:30px}
.foot-row nav{display:flex;gap:28px;flex-wrap:wrap}
.foot-row a{text-decoration:none}
.foot-row a:hover{color:var(--gold)}


/* ============ ENTERTAINMENT ============ */
.ent{position:relative;background:#0E0A07;color:var(--cream-text);padding:150px 0 140px;overflow:hidden;isolation:isolate}
.ent .beams{position:absolute;inset:0;z-index:-1;pointer-events:none}
.beam{position:absolute;top:-6%;width:70vw;height:115%;transform-origin:50% 0;background:conic-gradient(from 180deg at 50% 0%,transparent 166deg,rgba(235,215,166,.13) 176deg,rgba(235,215,166,.2) 180deg,rgba(235,215,166,.13) 184deg,transparent 194deg);filter:blur(2px)}
.beam.b1{left:-20vw;transform:rotate(-14deg)}
.beam.b2{left:15vw;transform:rotate(3deg);opacity:.8}
.beam.b3{right:-20vw;transform:rotate(16deg)}
.ent .floor{position:absolute;left:0;right:0;bottom:0;height:45%;z-index:-1;background:radial-gradient(ellipse 60% 70% at 50% 100%,rgba(201,164,92,.22),transparent 70%)}
.ent .haze{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 20% 30%,rgba(106,31,44,.25),transparent 40%),radial-gradient(circle at 80% 20%,rgba(201,164,92,.1),transparent 40%)}
.ent-head{text-align:center;max-width:860px;margin:0 auto}
.ent-head h2{font-size:clamp(3rem,6.4vw,6rem)}
.ent-head p{color:rgba(245,237,225,.72);max-width:58ch;margin:0 auto;font-size:1.02rem}
.acts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:80px}
.act{position:relative;padding:48px 38px 40px;background:linear-gradient(180deg,rgba(33,26,20,.72),rgba(22,17,13,.55));border:1px solid rgba(201,164,92,.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .4s,transform .6s cubic-bezier(.3,.8,.2,1)}
.act:hover{border-color:rgba(201,164,92,.75);transform:translateY(-6px)}
.act::before{content:"";position:absolute;left:38px;right:38px;top:0;height:1px;background:var(--gold-grad)}
.act svg{width:46px;height:46px;stroke:var(--gold);stroke-width:1.1;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-bottom:24px}
.act h3{font-size:2.5rem;font-style:italic;margin-bottom:26px}
.act ul{list-style:none;margin:0;padding:0}
.act li{padding:16px 0;border-top:1px solid rgba(245,237,225,.1)}
.act li strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.2;color:var(--cream-text)}
.act li span{font-size:.86rem;color:rgba(245,237,225,.6);line-height:1.55;display:block;margin-top:3px}
.genres{margin-top:70px;text-align:center}
.genres .lbl{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;display:block}
.genres ul{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:980px}
.genres li{font-family:var(--serif);font-style:italic;font-size:1.25rem;padding:8px 22px;border:1px solid rgba(245,237,225,.18);border-radius:999px;transition:all .3s}
.genres li:hover{border-color:var(--gold);color:var(--gold-hi)}
.ent .ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:60px}

/* ============ CAPTURE & KEEPSAKES ============ */
.capture{background:var(--paper);padding:150px 0 140px}
.cap-row{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}
.cap-row + .cap-row{margin-top:150px}
.cap-row.flip .cap-media{order:2}
.cap-media{position:relative}
.cap-media .frame{aspect-ratio:4/5;overflow:hidden;position:relative;z-index:2}
.cap-media .frame img{width:100%;height:100%;object-fit:cover}
.cap-media::before{content:"";position:absolute;z-index:1;inset:26px -26px -26px 26px;border:1px solid var(--gold)}
.cap-row.flip .cap-media::before{inset:26px 26px -26px -26px}
.cap-media .tagline{position:absolute;z-index:3;left:-34px;bottom:44px;background:var(--night);color:var(--cream-text);padding:18px 26px;font-family:var(--serif);font-style:italic;font-size:1.3rem;box-shadow:0 20px 50px -18px rgba(22,17,13,.5)}
.cap-row.flip .cap-media .tagline{left:auto;right:-34px}
.capture h2{font-size:clamp(2.8rem,5vw,4.6rem);color:var(--ink)}
.capture .lead{font-family:var(--serif);font-size:1.45rem;line-height:1.5;color:var(--ink)}
.capture p{color:var(--muted)}
.svc{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:36px;border-top:1px solid var(--line)}
.svc div{padding:26px 22px 24px 0;border-bottom:1px solid var(--line)}
.svc div:nth-child(even){padding-left:24px;padding-right:0;border-left:1px solid var(--line)}
.svc svg{width:34px;height:34px;stroke:var(--gold);stroke-width:1.2;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-bottom:12px}
.svc strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--ink);line-height:1.15}
.svc span{display:block;font-size:.86rem;color:var(--muted);line-height:1.6;margin-top:4px}
.chips-lt{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;list-style:none;padding:0}
.chips-lt li{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;border:1px solid var(--line);color:var(--ink);background:var(--paper-2)}

/* Services checkboxes in form */
.checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.checks label{display:inline-flex;align-items:center;gap:0;font-size:.74rem;letter-spacing:.08em;text-transform:none;color:var(--cream-text);cursor:pointer;margin:0}
.checks input{position:absolute;opacity:0;width:1px;height:1px}
.checks span{padding:8px 14px;border:1px solid rgba(245,237,225,.25);transition:all .25s}
.checks input:checked + span{background:var(--gold);border-color:var(--gold);color:#1A130C}
.checks input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px}

@media (prefers-reduced-motion:no-preference){
  .beam.b1{animation:sw1 11s ease-in-out infinite alternate}
  .beam.b2{animation:sw2 8s ease-in-out infinite alternate}
  .beam.b3{animation:sw3 13s ease-in-out infinite alternate}
  @keyframes sw1{to{transform:rotate(6deg)}}
  @keyframes sw2{to{transform:rotate(-10deg)}}
  @keyframes sw3{to{transform:rotate(-4deg)}}
}
@media (max-width:1080px){
  .acts{grid-template-columns:1fr;max-width:640px;margin-inline:auto}
  .cap-row{grid-template-columns:1fr;gap:80px}
  .cap-row.flip .cap-media{order:0}
  .cap-media{max-width:560px;margin-left:34px}
}
@media (max-width:620px){
  .ent,.capture{padding:96px 0}
  .cap-row + .cap-row{margin-top:100px}
  .cap-media{margin-left:0;margin-right:26px}
  .cap-media .tagline{left:-4px;font-size:1.1rem;padding:14px 18px}
  .cap-row.flip .cap-media .tagline{right:-4px}
  .svc{grid-template-columns:1fr}
  .svc div,.svc div:nth-child(even){padding:22px 0;border-left:0}
  .act{padding:40px 26px 32px}
  .act::before{left:26px;right:26px}
  .pillars{grid-template-columns:1fr 1fr!important}
}


/* ============ MULTI-PAGE ============ */
.nav{gap:26px}
.nav a[aria-current="page"]{color:var(--gold-hi)}
.nav a[aria-current="page"]::after{transform:scaleX(1)!important}
.page-hero{position:relative;min-height:64vh;min-height:64svh;display:flex;align-items:flex-end;color:var(--cream-text);overflow:hidden;background:var(--night)}
.page-hero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(22,17,13,.72) 0%,rgba(22,17,13,.35) 40%,rgba(22,17,13,.94) 100%)}
.page-hero .wrap{position:relative;z-index:2;padding:190px 0 90px}
.page-hero h1{font-size:clamp(3.2rem,8vw,7.4rem);letter-spacing:-.015em;line-height:.95}
.page-hero h1 em{font-style:italic}
.page-hero .lede{max-width:52ch;margin:26px 0 0;color:rgba(245,237,225,.8);font-size:1.05rem}
.crumbs{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(245,237,225,.6);margin-bottom:22px}
.crumbs a{text-decoration:none;color:var(--gold)}
.crumbs a:hover{color:var(--gold-hi)}
@media (prefers-reduced-motion:no-preference){
  .page-hero > img{animation:kb 12s ease-out both}
  .page-hero .wrap > *{animation:up 1.1s cubic-bezier(.2,.7,.2,1) both}
  .page-hero .wrap > *:nth-child(2){animation-delay:.1s}
  .page-hero .wrap > *:nth-child(3){animation-delay:.2s}
  .page-hero .wrap > *:nth-child(4){animation-delay:.3s}
}
.ent.first{padding-top:200px}
.ent-head h1{font-size:clamp(3rem,6.4vw,6rem);font-weight:300;line-height:1.02}
.contact.first{padding-top:200px}
.contact h1{font-size:clamp(3rem,5.6vw,5.2rem);font-weight:300;line-height:1.02}

/* Home service tiles */
.services{background:var(--night);color:var(--cream-text);padding:140px 0 150px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tile{position:relative;aspect-ratio:4/5;overflow:hidden;display:block;text-decoration:none;color:var(--cream-text);background:var(--night-2);isolation:isolate}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.4s cubic-bezier(.3,.8,.2,1),filter .8s;filter:brightness(.82)}
.tile:hover img{transform:scale(1.07);filter:brightness(.95)}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(22,17,13,.1) 30%,rgba(22,17,13,.92) 100%)}
.tile::after{content:"";position:absolute;inset:0;border:1px solid rgba(201,164,92,0);transition:inset .5s,border-color .5s}
.tile:hover::after,.tile:focus-visible::after{inset:14px;border-color:rgba(201,164,92,.75)}
.tile .in{position:absolute;left:34px;right:34px;bottom:32px}
.tile .n{font-size:.7rem;letter-spacing:.26em;color:var(--gold)}
.tile h3{font-size:clamp(2.2rem,3vw,2.8rem);margin:8px 0 10px}
.tile p{font-size:.9rem;color:rgba(245,237,225,.75);margin:0 0 16px;max-width:34ch}
.tile .go{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-hi);display:inline-flex;gap:10px;align-items:center}
.tile .go::after{content:"\2192";transition:transform .4s}
.tile:hover .go::after{transform:translateX(6px)}
.tile.stage{background:#0E0A07}
.tile.stage .glow{position:absolute;inset:0;z-index:-2;background:
  conic-gradient(from 180deg at 30% 0%,transparent 166deg,rgba(235,215,166,.2) 180deg,transparent 194deg),
  conic-gradient(from 180deg at 72% 0%,transparent 168deg,rgba(235,215,166,.16) 180deg,transparent 192deg),
  radial-gradient(ellipse 80% 45% at 50% 100%,rgba(201,164,92,.35),transparent 70%),
  radial-gradient(circle at 20% 40%,rgba(106,31,44,.35),transparent 50%);transition:opacity .6s}
.tile.stage .mic{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);width:92px;height:92px;stroke:var(--gold);stroke-width:.9;fill:none;opacity:.85}

/* CTA strip */
.cta-strip{background:var(--night-2);color:var(--cream-text);padding:120px 0;text-align:center;position:relative;overflow:hidden;border-top:1px solid rgba(201,164,92,.15)}
.cta-strip::before{content:"";position:absolute;inset:auto 0 -40% 0;height:80%;background:radial-gradient(ellipse at 50% 100%,rgba(201,164,92,.18),transparent 65%);pointer-events:none}
.cta-strip h2{font-size:clamp(2.6rem,5vw,4.6rem);max-width:18ch;margin:0 auto 38px;position:relative}
.cta-strip .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative}

/* Catering service styles */
.styles{background:var(--paper-2);padding:130px 0}
.styles h2{font-size:clamp(2.6rem,4.6vw,4.2rem);color:var(--ink)}
.style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:64px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.style-grid div{padding:40px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .4s}
.style-grid div:hover{background:var(--paper)}
.style-grid .k{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--gold)}
.style-grid h3{font-size:1.9rem;color:var(--ink);margin:6px 0 10px}
.style-grid p{color:var(--muted);font-size:.92rem;margin:0}

/* Placeholder pages */
.soon{background:var(--paper);padding:130px 0}
.soon .note{max-width:760px;margin:0 auto;text-align:center}
.soon .badge{display:inline-block;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;padding:10px 18px;border:1px solid var(--gold);color:var(--gold-lo);margin-bottom:26px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .soon .badge{color:var(--gold-hi)}}
.soon h2{font-size:clamp(2.6rem,4.6vw,4.2rem);color:var(--ink)}
.soon .note p{color:var(--muted);font-size:1.05rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:70px}
.card{border:1px solid var(--line);background:var(--surface-card,transparent);padding:40px 34px;position:relative;transition:border-color .4s,transform .5s}
.card:hover{border-color:var(--gold);transform:translateY(-4px)}
.card svg{width:40px;height:40px;stroke:var(--gold);stroke-width:1.1;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-bottom:20px}
.card h3{font-size:1.85rem;color:var(--ink);margin-bottom:8px}
.card p{color:var(--muted);font-size:.92rem;margin:0}
.card .tag{position:absolute;top:22px;right:22px;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}

@media (max-width:1240px){
  .nav{position:fixed;top:calc(env(safe-area-inset-top,0px) + 68px);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(22,17,13,.97);padding:10px 6vw 30px;border-bottom:1px solid rgba(201,164,92,.25);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;max-height:calc(100vh - 68px);overflow-y:auto}
  .nav.open{opacity:1;transform:none;pointer-events:auto}
  .nav a{padding:16px 0;border-bottom:1px solid rgba(245,237,225,.08)}
  .nav .btn{margin-top:22px;border:0}
  .burger{display:block}
  .site-header .wrap{height:68px}
}
@media (max-width:1080px){
  .tiles{grid-template-columns:1fr 1fr}
  .style-grid,.cards{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .tiles,.style-grid,.cards{grid-template-columns:1fr}
  .tile{aspect-ratio:5/4}
  .services,.styles,.soon{padding:96px 0}
  .cta-strip{padding:90px 0}
  .page-hero .wrap{padding:150px 0 64px}
  .ent.first,.contact.first{padding-top:140px}
}

/* ============ REVEAL ============ */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(34px);transition:opacity 1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .hero .script,.hero h1,.hero .sub,.hero .ctas{animation:up 1.3s cubic-bezier(.2,.7,.2,1) both}
  .hero h1{animation-delay:.2s}.hero .sub{animation-delay:.45s}.hero .ctas{animation-delay:.6s}
  @keyframes up{from{opacity:0;transform:translateY(30px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
  .scroll-cue::after{content:"";position:absolute;left:0;top:-30px;width:1px;height:30px;background:var(--gold-hi);animation:cue 2.2s ease-in-out infinite}
  @keyframes cue{to{top:60px}}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .slides img.on{transform:none}
}

/* ============ RESPONSIVE ============ */
@media (max-width:1080px){
  .intro .wrap,.contact .wrap{grid-template-columns:1fr;gap:90px}
  .intro-media{max-width:560px;margin-right:60px}
  .inc{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:repeat(2,1fr);gap:64px 32px}
  .timeline::before{display:none}
}
@media (max-width:1100px){
  .nav{position:fixed;top:calc(env(safe-area-inset-top,0px) + 68px);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(22,17,13,.97);padding:10px 6vw 30px;border-bottom:1px solid rgba(201,164,92,.25);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
  .nav.open{opacity:1;transform:none;pointer-events:auto}
  .nav a{padding:18px 0;border-bottom:1px solid rgba(245,237,225,.08)}
  .nav .btn{margin-top:22px;border:0}
  .burger{display:block}
  .site-header .wrap{height:68px}
}
@media (max-width:880px){
  .panels{flex-direction:column;height:auto}
  .panel{flex:none;height:110px;transition:height .8s cubic-bezier(.3,.8,.2,1)}
  .panel.open{height:480px;flex:none}
  .panel .vt{writing-mode:horizontal-tb;transform:none;left:28px;bottom:50%;translate:0 50%;font-size:2rem}
  .panel .num{left:auto;right:24px;transform:none;top:50%;translate:0 -50%}
  .panel.open .num{top:24px;translate:none;left:28px;right:auto}
  .panel .body{left:28px;right:28px;bottom:28px}
  .mosaic{grid-template-columns:repeat(4,1fr)}
  .mosaic button,.mosaic button.w{grid-column:span 2}
  .mosaic button.b{grid-column:span 4}
  .dots{display:none}
}
@media (max-width:620px){
  .intro,.occasions,.experience,.menu,.included,.gallery{padding:96px 0}
  .band{padding:110px 0}
  .contact{padding:100px 0}
  .intro-media{margin-right:34px}
  .intro-media .inset{right:-34px;bottom:-40px}
  .pillars{grid-template-columns:1fr}
  .pillars div,.pillars div + div{padding:22px 0;border-left:0;border-bottom:1px solid var(--line)}
  .inc{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .hero .sub i{display:block;height:6px;overflow:hidden;color:transparent}
  .form-card{padding:36px 24px}
  form{grid-template-columns:1fr}
  .sec-head{margin-bottom:44px}
  .lb-stage{padding-inline:12px}
  .lb-prev,.lb-next{top:auto;transform:none;bottom:calc(env(safe-area-inset-bottom,0px) + 14px)}
  .lb-count{bottom:calc(env(safe-area-inset-bottom,0px) + 32px)}
}

/* ---- Elevated.Catering family strip (footer) ---- */
.family{text-align:center;margin:-10px auto 56px;max-width:1000px}
.family-k{font-family:var(--script);color:var(--gold);font-size:clamp(1.8rem,3vw,2.4rem);line-height:1;margin-bottom:22px}
.family ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(245,237,225,.1);border-bottom:1px solid rgba(245,237,225,.1)}
.family li{padding:22px 12px;display:grid;gap:4px}
.family li + li{border-left:1px solid rgba(245,237,225,.1)}
.family a{font-family:var(--serif);font-size:1.5rem;color:var(--cream-text);text-decoration:none;line-height:1.1}
.family a em{font-style:italic;color:var(--gold)}
.family a:hover{color:var(--gold-hi)}
.family span{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,237,225,.5)}
.family-by{margin:30px 0 14px;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(245,237,225,.45)}
.fam-aff a{font-size:1.25rem}
@media (max-width:760px){.family ul{grid-template-columns:1fr}.family li + li{border-left:0;border-top:1px solid rgba(245,237,225,.08)}}
.nav a{white-space:nowrap}@media (min-width:1241px) and (max-width:1480px){.nav{gap:20px}.nav a{letter-spacing:.14em;font-size:.68rem}}

/* ---- team ---- */
.people{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:70px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.person{padding:48px 44px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.mono{width:108px;height:108px;margin:0 auto 26px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:2.6rem;color:var(--gold-lo);border:1px solid var(--gold);box-shadow:inset 0 0 0 6px var(--paper),inset 0 0 0 7px rgba(201,164,92,.45)}
.person h3{font-size:2.3rem;color:var(--ink)}
.person .role{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lo);margin:12px 0 14px}
.person .line{font-family:var(--serif);font-size:1.3rem;font-style:italic;color:var(--ink);margin-bottom:6px}
.person .chips-lt{justify-content:center;margin-top:22px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mono,:root:not([data-theme="light"]) .person .role{color:var(--gold-hi)}}
@media (max-width:820px){.people{grid-template-columns:1fr}.person{padding:40px 24px}}
