:root{--ink:#010b14;--ink-2:#07182a;--ink-3:#0d2236;--gold:#cd9526;--gold-2:#e8b955;--text:#e9e6df;--muted:#a7acb3;--line:rgba(205,149,38,.25);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1;margin:0 0 .5em;color:#fff}
h1{font-size:clamp(2.6rem,6vw,4.6rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:1.6rem}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font:600 .78rem/1.5 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.gold{color:var(--gold-2);font-style:italic}
.btn{display:inline-block;padding:.85em 1.6em;border-radius:999px;font:600 .9rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:.2s}
.btn-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:var(--ink)}
.btn-gold:hover{filter:brightness(1.1);transform:translateY(-1px)}
.btn-ghost{border:1px solid var(--line);color:#fff}.btn-ghost:hover{border-color:var(--gold);color:var(--gold-2)}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(1,11,20,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:84px}
.brand img{height:60px;width:auto}
.nav{display:flex;align-items:center;gap:28px}
.nav a{text-decoration:none;font-size:.92rem;font-weight:500;color:var(--text)}
.nav a:not(.btn):hover,.nav a[aria-current]{color:var(--gold-2)}
.nav-phone{color:var(--muted)!important}
.nav-toggle,.nav-burger{display:none}
/* hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url(/img/hero.jpg) center/cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,11,20,.97) 0%,rgba(1,11,20,.85) 45%,rgba(1,11,20,.35) 100%)}
.hero .wrap{position:relative;z-index:1;width:100%}
.hero-copy{max-width:620px}
.hero-copy p{font-size:1.15rem;color:#cfd2d6;max-width:520px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:2rem}
.badges{display:flex;align-items:center;gap:28px;margin-top:3rem;color:var(--muted);font-size:.85rem}
.badges img{height:54px;width:auto;opacity:.9}
/* sections */
section{padding:110px 0}
.section-head{max-width:680px;margin-bottom:56px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head p{color:var(--muted);font-size:1.05rem}
.alt{background:var(--ink-2)}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feature{padding:36px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(205,149,38,.06),transparent)}
.feature .num{font-family:var(--serif);font-size:2.4rem;color:var(--gold);line-height:1;margin-bottom:.6rem}
.feature p{color:var(--muted);margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split img{border-radius:18px;width:100%;height:100%;object-fit:cover}
.split.flip .split-media{order:2}
.booths{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.booth{background:var(--ink-3);border-radius:18px;padding:30px;border:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column}
.booth h3{font-size:1.45rem}.booth p{color:var(--muted);font-size:.95rem;flex:1}
.booth a{color:var(--gold-2);font-weight:600;font-size:.88rem;text-decoration:none;letter-spacing:.05em;text-transform:uppercase}
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.event{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;display:flex;align-items:flex-end;text-decoration:none}
.event img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.event:hover img{transform:scale(1.05)}
.event::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(1,11,20,.95))}
.event div{position:relative;z-index:1;padding:28px}.event h3{margin:0}.event span{color:var(--gold-2);font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.quote-band{text-align:center}
.quote-band blockquote{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.3rem);font-style:italic;color:#fff;max-width:820px;margin:0 auto 1.5rem;line-height:1.3}
.review-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:2rem}
/* page hero */
.page-hero{padding:120px 0 70px;background:radial-gradient(ellipse at top,rgba(205,149,38,.12),transparent 60%)}
.page-hero p{color:var(--muted);font-size:1.15rem;max-width:640px}
/* list */
.checks{list-style:none;padding:0;margin:0}
.checks li{padding:.55em 0 .55em 1.8em;position:relative;border-bottom:1px solid rgba(255,255,255,.06);font-size:.95rem}
.checks li::before{content:"✦";position:absolute;left:0;color:var(--gold);font-size:.8em;top:.75em}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--ink-3);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:32px}
.card p{color:var(--muted);font-size:.95rem;margin:0}
.card h3{font-size:1.35rem}
/* packages */
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.tabs a{padding:.6em 1.3em;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.9rem}
.tabs a:hover{border-color:var(--gold);color:var(--gold-2)}
.packages{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.package{border:1px solid var(--line);border-radius:22px;padding:40px;background:var(--ink-2);display:flex;flex-direction:column}
.package.featured{border-color:var(--gold);background:linear-gradient(180deg,rgba(205,149,38,.12),var(--ink-2) 40%);position:relative}
.package.featured::before{content:"Most complete";position:absolute;top:-13px;left:40px;background:var(--gold);color:var(--ink);font:600 .72rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:999px}
.package .hours{color:var(--gold-2);font-weight:600;margin-bottom:1.2rem}
.package .checks{flex:1;margin-bottom:28px}
.package .btn{align-self:flex-start}
.addons{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;margin-top:20px}
.addon{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.addon span:last-child{color:var(--gold-2);text-align:right;font-weight:500;white-space:nowrap}
.note{color:var(--muted);font-size:.92rem;margin-top:28px}
.pkg-section{scroll-margin-top:110px}
.btn-xl{font-size:1.05rem;padding:1.15em 2.1em;box-shadow:0 10px 30px rgba(205,149,38,.3)}
.cta-big{flex-basis:100%;display:flex;justify-content:center;margin-bottom:10px}
.new-tag{display:inline-block;background:var(--gold);color:var(--ink);font:700 .7rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:999px;margin-bottom:.9rem}
.packages{grid-template-columns:repeat(3,1fr)}
.more-options{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.more-options p:last-child{margin:0}
.addon span{display:block}.addon small{color:var(--muted)}
/* cta + footer */
.cta{padding:100px 0;text-align:center;background:linear-gradient(180deg,var(--ink),var(--ink-2));border-top:1px solid var(--line)}
.cta-inner{max-width:760px}.cta p{color:var(--muted)}
.cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:2rem}
.site-footer{background:#000610;padding:70px 0 30px;font-size:.92rem}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.footer-brand img{height:70px;width:auto;margin-bottom:1rem}.footer-brand p{color:var(--muted);max-width:360px}
.site-footer h3{font:600 .78rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.site-footer a{display:block;text-decoration:none;color:var(--text);margin-bottom:.6rem}.site-footer a:hover{color:var(--gold-2)}
.footer-base{margin-top:50px;padding-top:24px;border-top:1px solid rgba(255,255,255,.06);color:var(--muted);font-size:.82rem}
@media (max-width:1100px){.booths{grid-template-columns:repeat(3,1fr)}.packages{grid-template-columns:1fr 1fr}}
@media (max-width:980px){
  .booths{grid-template-columns:1fr 1fr}.features,.events,.grid-3{grid-template-columns:1fr 1fr}.addons{grid-template-columns:1fr 1fr}
  .nav-burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:10px}
  .nav-burger span{width:24px;height:2px;background:#fff}
  .nav{display:none;position:absolute;top:84px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:18px;padding:24px;background:var(--ink);border-bottom:1px solid var(--line)}
  .nav-toggle:checked~.nav{display:flex}
}
@media (max-width:700px){
  section{padding:76px 0}.more-options{flex-direction:column;align-items:flex-start}.btn-xl{white-space:normal;text-align:center}.split,.packages,.grid-2,.features,.events,.booths,.grid-3,.addons,.footer-inner{grid-template-columns:1fr}
  .split{gap:32px}.split.flip .split-media{order:0}.hero{min-height:auto;padding:90px 0}
  .hero::after{background:linear-gradient(180deg,rgba(1,11,20,.75),rgba(1,11,20,.95))}.package{padding:30px}
}
/* request info form */
.quote-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:2rem;padding:26px 30px;border:1px solid var(--gold);border-radius:18px;background:linear-gradient(135deg,rgba(205,149,38,.16),rgba(205,149,38,.04))}
.quote-callout strong{display:block;font-family:var(--serif);font-size:1.6rem;color:#fff;line-height:1.2}
.quote-callout span{color:var(--muted)}
.quote-callout.bottom{margin-top:40px}
.form-wrap{max-width:920px}
.info-form fieldset{border:0;margin:0 0 30px;padding:0}
.info-form legend{font:600 .78rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;padding:0}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.fields.one{grid-template-columns:1fr}
.info-form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--text)}
.info-form input:not([type=checkbox]),.info-form select,.info-form textarea{font:inherit;color:#fff;background:var(--ink);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:.75em .9em;color-scheme:dark}
.info-form input:focus,.info-form select:focus,.info-form textarea:focus{outline:none;border-color:var(--gold)}
.checks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.info-form label.check{flex-direction:row;align-items:center;gap:10px;padding:.7em .9em;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer}
.check input{accent-color:var(--gold);width:18px;height:18px}
.form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.form-actions button{border:0;cursor:pointer;font-size:1rem;padding:1em 2em}
.muted{color:var(--muted);font-size:.9rem}
.form-status{border-radius:18px;padding:28px 30px;margin-bottom:28px}
.form-status.sent{border:1px solid var(--gold);background:var(--ink-2)}
.form-status.invalid{border:1px solid #c9544a;color:#f2b8b2;padding:16px 20px}
@media (max-width:800px){.quote-callout{flex-direction:column;align-items:flex-start}.fields,.checks-grid{grid-template-columns:1fr}}
.btn-xl{display:inline-flex;flex-direction:column;align-items:center;text-align:center;gap:.45em;line-height:1.15}
.btn-xl .btn-line1{font-size:1.25em;letter-spacing:.1em}
.btn-xl .btn-line2{font-size:.95em}
.hero-actions.stacked{display:inline-flex;flex-direction:column;align-items:center;gap:14px}
.feature-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.feature-list li{color:var(--muted)}.feature-list strong{display:block;color:var(--gold-2);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px}
.booth-img{background:#fff;border-radius:12px;margin:-8px -8px 20px;height:260px;display:flex;align-items:center;justify-content:center;overflow:hidden}.booth-img img{max-width:100%;max-height:100%;object-fit:contain}
.btn-standout{font-size:1.05rem;padding:16px 30px;box-shadow:0 0 0 3px rgba(212,175,55,.35),0 10px 30px rgba(212,175,55,.3)}

/* gallery + reviews */
.hero .tagline{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.2vw,1.7rem);color:var(--gold-2);margin:-.4rem 0 1rem}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery-item{display:block;border-radius:14px;overflow:hidden;aspect-ratio:4/5;background:var(--ink-2)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.04)}
.rating{color:var(--muted)}.rating strong{color:#fff}.stars{color:var(--gold);letter-spacing:.12em}
.reviews{columns:3 320px;column-gap:24px}
.review{break-inside:avoid;margin:0 0 24px;padding:30px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(205,149,38,.06),transparent)}
.review blockquote{margin:.8rem 0 1.2rem;color:var(--text);font-size:.98rem;line-height:1.65}
.review figcaption strong{display:block;color:#fff}.review figcaption span{color:var(--muted);font-size:.85rem}
.review-more{text-align:center;margin-top:16px}
@media (max-width:820px){.gallery{grid-template-columns:1fr 1fr}}

.video-media{display:flex;justify-content:center}.video-media video{max-height:620px;width:auto;max-width:100%;aspect-ratio:9/16;border-radius:18px;background:#000}
.setup-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.setup-pair figure{margin:0}.setup-pair img{aspect-ratio:1/1;object-fit:cover;width:100%;height:auto}.setup-pair figcaption{margin-top:.6rem;font-size:.9rem;text-align:center;opacity:.8}


/* services hero video */
.hero-video-split{display:grid;grid-template-columns:1fr minmax(0,480px);gap:56px;align-items:center}
.hero-reel{width:100%;aspect-ratio:720/404;object-fit:cover;border-radius:18px;border:1px solid var(--line);box-shadow:0 20px 50px rgba(0,0,0,.45);background:#000;display:block}
@media (max-width:980px){.hero-video-split{grid-template-columns:1fr;gap:32px}}
