/* ============================================================
 * Event pages — /weddings, /corporate-events, /private-events
 * (SEO brief, 2026-09-21). Chrome rules (nav, dropdown, footer, page
 * title, CTA button) are copied from services.html so these pages are
 * indistinguishable from the rest of the site; theme.css (loaded first)
 * supplies the dark palette. Pages are generated by
 * _internal/build-event-pages.js — edit content there, not in the HTML.
 * ============================================================ */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --bone:#F4EFE6; --parchment:#E8E0D0; --ink:#0E0C0A; --ink-mid:#1E1C18; --ink-soft:#4A4540;
  --gold:#8C5E1C; --gold-lt:#A8752A; --rule:#A89880; --rule-lt:#C4B8A4;
}
html { scroll-behavior: smooth; }
body { background: var(--bone); color: var(--ink); font-family: 'Jost', sans-serif; font-weight: 400; overflow-x: hidden; cursor: none; }

.cursor { position:fixed; width:6px; height:6px; background:var(--gold); border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); }
.cursor-ring { position:fixed; width:32px; height:32px; border:1px solid var(--gold); border-radius:50%; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); transition:all 0.2s ease; opacity:0.4; }
.cursor-ring.hover { transform:translate(-50%,-50%) scale(1.7); opacity:0.7; }

nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:28px 64px; border-bottom:1px solid transparent; transition:background 0.4s, border-color 0.4s; }
nav.scrolled { background:rgba(244,239,230,0.95); backdrop-filter:blur(12px); border-color:var(--rule-lt); }
.nav-logo { font-family:'Cormorant Garamond',serif; font-size:13px; font-weight:500; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink); text-decoration:none; }
.nav-links { display:flex; gap:44px; list-style:none; }
.nav-links a { font-size:10px; letter-spacing:0.3em; text-transform:uppercase; color:var(--ink-soft); text-decoration:none; transition:color 0.25s; }
.nav-links a:hover { color:var(--gold); }
.hamburger { background:none; border:none; cursor:none; width:32px; height:24px; display:flex; flex-direction:column; justify-content:space-between; padding:0; position:fixed; top:32px; right:64px; z-index:300; }
.hamburger span { display:block; width:100%; height:1px; background:var(--ink); transition:transform 0.35s ease, opacity 0.25s ease; transform-origin:center; }
.hamburger.open span:nth-child(1) { transform:translateY(11.5px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.open span:nth-child(3) { transform:translateY(-11.5px) rotate(-45deg); }
.nav-dropdown { position:fixed; top:0; right:0; width:320px; height:100vh; background:var(--bone); border-left:1px solid var(--rule-lt); z-index:150; display:flex; flex-direction:column; justify-content:center; padding:80px 56px; transform:translateX(100%); transition:transform 0.45s cubic-bezier(0.76,0,0.24,1); }
.nav-dropdown.open { transform:translateX(0); }
.nav-dropdown ul { list-style:none; display:flex; flex-direction:column; gap:0; }
.nav-dropdown ul li { border-bottom:1px solid var(--rule-lt); }
.nav-dropdown ul li:first-child { border-top:1px solid var(--rule-lt); }
.nav-dropdown ul li a { display:block; font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:300; color:var(--ink); text-decoration:none; padding:20px 0; transition:color 0.25s, padding-left 0.25s; }
.nav-dropdown ul li a:hover { color:var(--gold); padding-left:8px; }
.nav-dropdown-label { font-size:9px; letter-spacing:0.5em; text-transform:uppercase; color:var(--gold); margin-bottom:32px; }
.nav-book-btn { display:inline-flex; align-items:center; background:var(--ink); color:var(--paper, var(--bone)) !important; padding:12px 26px; font-family:'Jost',sans-serif; font-size:10px; font-weight:500; letter-spacing:0.32em; text-transform:uppercase; text-decoration:none; border:1px solid var(--ink); transition:background 0.3s ease, color 0.3s ease, border-color 0.3s ease; white-space:nowrap; cursor:pointer !important; }
.nav-book-btn:hover { background:var(--gold); border-color:var(--gold); color:var(--paper, var(--bone)) !important; }
nav { padding-right:130px !important; }
@media (max-width:768px){ .nav-book-btn { display:none; } nav { padding-right:24px !important; } }
.nav-overlay { position:fixed; inset:0; background:rgba(14,12,10,0.25); z-index:140; opacity:0; pointer-events:none; transition:opacity 0.4s ease; }
.nav-overlay.open { opacity:1; pointer-events:all; }

footer { background:var(--parchment); border-top:1px solid var(--rule); padding:44px 64px; display:flex; align-items:center; justify-content:space-between; }
.footer-logo { font-family:'Cormorant Garamond',serif; font-size:13px; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink); }
.footer-copy { font-size:10px; letter-spacing:0.15em; color:var(--ink-soft); }
.footer-links { display:flex; gap:24px; list-style:none; flex-wrap:wrap; justify-content:center; }
.footer-links a { font-size:10px; letter-spacing:0.26em; text-transform:uppercase; color:var(--ink-soft); text-decoration:none; transition:color 0.25s; }
.footer-links a:hover { color:var(--gold); }
.footer-social { display:flex; gap:20px; align-items:center; }
.social-link { color:var(--ink-soft); text-decoration:none; display:flex; align-items:center; transition:color 0.25s; }
.social-link:hover { color:var(--gold); }
.dropdown-social { display:flex; gap:20px; align-items:center; margin-top:40px; padding-top:32px; border-top:1px solid var(--rule-lt); }

/* Page title — identical to services.html */
.page-title { padding:140px 64px 44px; background:var(--bone); border-bottom:1px solid var(--rule-lt); }
.page-title h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(32px,4.6vw,58px); font-weight:300; line-height:1; color:var(--ink); letter-spacing:-0.02em; margin-bottom:0; max-width:900px; }
.page-title .intro { max-width:680px; margin-top:22px; font-size:16px; line-height:2; color:var(--ink-mid); font-weight:400; }
.ev-eyebrow { font-size:10px; letter-spacing:0.5em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
.crumbs { font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:22px; }
.crumbs a { color:var(--ink-soft); text-decoration:none; border-bottom:1px solid var(--rule-lt); padding-bottom:2px; transition:color .25s, border-color .25s; }
.crumbs a:hover { color:var(--gold); border-color:var(--gold); }
.crumbs span[aria-hidden] { margin:0 10px; color:var(--gold); }
.g-review-badge { display:flex; align-items:center; gap:12px; margin-top:20px; }
.grb-stars { color:var(--gold); font-size:13px; letter-spacing:3px; }
.grb-text { display:inline-flex; align-items:center; gap:8px; font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color:var(--ink-soft); text-decoration:none; transition:color 0.25s; }
.grb-text:hover { color:var(--gold); }
.grb-g { width:12px; height:12px; flex-shrink:0; }
.title-cta { display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }

/* Buttons — the site's CTA button + a quiet text link */
.book-cta-btn { display:inline-block; background:var(--ink,#0E0C0A); color:var(--paper,#FBF8F2)!important; padding:15px 40px; font-family:'Jost',sans-serif; font-size:11px; font-weight:500; letter-spacing:0.3em; text-transform:uppercase; text-decoration:none; border:1px solid var(--ink,#0E0C0A); transition:background .3s, border-color .3s, color .3s; cursor:pointer !important; }
.book-cta-btn:hover { background:var(--gold,#8C5E1C); border-color:var(--gold,#8C5E1C); color:#FBF8F2!important; }
html[data-theme="dark"] .book-cta-btn { background:#C9A55F; color:#050B1C!important; border-color:#C9A55F; }
html[data-theme="dark"] .book-cta-btn:hover { background:#E4C77E; border-color:#E4C77E; color:#050B1C!important; }
.ghost-btn { display:inline-block; padding:15px 32px; font-size:11px; font-weight:500; letter-spacing:0.3em; text-transform:uppercase; text-decoration:none; color:var(--ink); border:1px solid var(--rule-lt); transition:border-color .3s, color .3s; }
.ghost-btn:hover { border-color:var(--gold); color:var(--gold); }
.text-link { font-size:10px; letter-spacing:0.3em; text-transform:uppercase; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:3px; transition:color .25s; }
.text-link:hover { color:var(--gold); }

/* Sections — heads stack: eyebrow → title → explanation (left column), as on the homepage */
.ev-section { padding:88px 64px; background:var(--bone); border-bottom:1px solid var(--rule-lt); }
.ev-section.tight { padding-top:64px; padding-bottom:64px; }
.ev-head { max-width:760px; margin-bottom:40px; }
.ev-head h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(28px,3.6vw,46px); font-weight:300; line-height:1.05; color:var(--ink); letter-spacing:-0.01em; }
.ev-head p { font-size:15px; line-height:1.95; color:var(--ink-mid); margin-top:18px; }
.ev-body p { font-size:15px; line-height:1.95; color:var(--ink-mid); margin-bottom:18px; max-width:680px; }
.ev-body p:last-child { margin-bottom:0; }
.ev-body a, .ev-head a, .faq-a a, .ev-list a { color:var(--ink); text-decoration:none; border-bottom:1px solid var(--gold); transition:color .25s; }
.ev-body a:hover, .ev-head a:hover, .faq-a a:hover, .ev-list a:hover { color:var(--gold); }

.hero-photo { position:relative; margin:0; border:1px solid var(--rule-lt); overflow:hidden; }
.hero-photo img { display:block; width:100%; height:clamp(260px,46vw,560px); object-fit:cover; }
.photo-credit { position:absolute; right:12px; bottom:10px; font-size:9px; letter-spacing:0.22em; text-transform:uppercase; color:rgba(244,239,230,0.85); background:rgba(5,11,28,0.55); padding:5px 9px; }

.split { display:grid; grid-template-columns:1.15fr 1fr; gap:56px; align-items:center; }
.split.flip { grid-template-columns:1fr 1.15fr; }
.split.flip .split-media { order:-1; }
.split-media { position:relative; border:1px solid var(--rule-lt); overflow:hidden; }
.split-media img { display:block; width:100%; height:100%; max-height:520px; object-fit:cover; }
/* Portrait photos where the whole frame matters (the special serving tray): never crop. */
.split-media.tall { position:relative; max-width:460px; margin:0 auto; }
.split-media.tall img { max-height:none; height:auto; object-fit:contain; }
/* Cart + cup personalization, stacked */
.split-media.stack { display:grid; gap:10px; border:none; overflow:visible; }
.split-media.stack img { border:1px solid var(--rule-lt); max-height:none; height:auto; object-fit:cover; }

.ev-list { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; max-width:900px; }
.ev-list li { padding:16px 0 16px 26px; border-bottom:1px solid var(--rule-lt); font-size:14.5px; line-height:1.75; color:var(--ink-mid); position:relative; }
.ev-list li::before { content:''; position:absolute; left:0; top:25px; width:12px; height:1px; background:var(--gold); }
.ev-list li strong { color:var(--ink); font-weight:500; }

.pkg-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.pkg-card { border:1px solid var(--rule-lt); padding:26px 22px 24px; display:flex; flex-direction:column; transition:border-color .25s; }
.pkg-card:hover { border-color:var(--gold); }
.pkg-card.featured { border-color:var(--gold); }
.pkg-card h3 { font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:400; color:var(--ink); line-height:1.15; }
.pkg-from { font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold); margin-top:8px; }
.pkg-card p { font-size:13.5px; line-height:1.8; color:var(--ink-soft); margin-top:14px; }
.pkg-card p.fit { color:var(--ink-mid); margin-top:12px; padding-top:12px; border-top:1px solid var(--rule-lt); }
.pkg-foot { margin-top:26px; display:flex; gap:22px; flex-wrap:wrap; align-items:center; }
.pkg-note { font-size:13.5px; line-height:1.85; color:var(--ink-soft); max-width:760px; margin-top:22px; }

.steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; counter-reset:step; }
.step-card { border-top:2px solid var(--ink); padding-top:20px; counter-increment:step; }
.step-card::before { content:'0' counter(step); font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:300; color:var(--gold); letter-spacing:0.1em; display:block; margin-bottom:10px; }
.step-card h3 { font-size:12px; letter-spacing:0.3em; text-transform:uppercase; color:var(--ink); font-weight:500; font-family:'Jost',sans-serif; }
.step-card p { font-size:13.5px; line-height:1.85; color:var(--ink-soft); margin-top:10px; }

.quote-block { max-width:780px; border-left:2px solid var(--gold); padding:6px 0 6px 28px; }
.quote-block + .quote-block { margin-top:34px; }
.quote-block .stars { color:var(--gold); letter-spacing:0.16em; font-size:13px; margin-bottom:12px; }
.quote-block blockquote { font-family:'Cormorant Garamond',serif; font-size:clamp(19px,2vw,24px); line-height:1.5; color:var(--ink); font-style:italic; }
.quote-block cite { display:block; margin-top:14px; font-style:normal; font-size:10px; letter-spacing:0.24em; text-transform:uppercase; color:var(--ink-soft); }
.quote-block cite b { color:var(--ink); font-weight:500; }

.photo-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.photo-strip a { position:relative; display:block; aspect-ratio:4/5; overflow:hidden; border:1px solid var(--rule-lt); }
.photo-strip img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.photo-strip a:hover img { transform:scale(1.04); }

.faq { max-width:860px; border-top:1px solid var(--rule-lt); }
.faq details { border-bottom:1px solid var(--rule-lt); }
.faq summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 0; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary h3 { font-family:'Cormorant Garamond',serif; font-size:clamp(19px,2vw,23px); font-weight:400; color:var(--ink); line-height:1.3; }
.faq summary::after { content:'+'; font-family:'Cormorant Garamond',serif; font-size:26px; color:var(--gold); flex-shrink:0; line-height:1; transition:transform .3s; }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq-a { padding:0 40px 24px 0; font-size:14.5px; line-height:1.95; color:var(--ink-mid); }
.faq-a p + p { margin-top:12px; }

.final-cta { text-align:center; padding:96px 24px; background:var(--bone); border-bottom:1px solid var(--rule-lt); }
.final-cta h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(30px,4vw,52px); font-weight:300; line-height:1.05; color:var(--ink); max-width:760px; margin:0 auto; }
.final-cta p { font-size:15px; line-height:1.9; color:var(--ink-mid); max-width:560px; margin:20px auto 30px; }
.final-cta .row { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

.also { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.also a { display:block; border:1px solid var(--rule-lt); padding:24px 22px; text-decoration:none; transition:border-color .25s; }
.also a:hover { border-color:var(--gold); }
.also .k { font-size:10px; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); }
.also .t { font-family:'Cormorant Garamond',serif; font-size:23px; font-weight:400; color:var(--ink); margin-top:8px; line-height:1.2; }
.also .d { font-size:13px; line-height:1.75; color:var(--ink-soft); margin-top:8px; }

@media (max-width:1000px){
  .pkg-grid, .steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .photo-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px){
  nav { padding:20px 24px; }
  .nav-links { display:none; }
  .hamburger { top:22px; right:24px; }
  footer { flex-direction:column; gap:20px; padding:32px 20px; text-align:center; }
  .footer-links { justify-content:center; gap:16px 20px; }
  .footer-links a { font-size:9px; letter-spacing:0.2em; }
  .page-title { padding:120px 24px 44px; }
  .ev-section { padding:64px 24px; }
  .ev-section.tight { padding-top:48px; padding-bottom:48px; }
  .split, .split.flip { grid-template-columns:1fr; gap:30px; }
  .split.flip .split-media { order:0; }
  .ev-list { grid-template-columns:1fr; }
  .also { grid-template-columns:1fr; }
  .faq-a { padding-right:0; }
  .final-cta { padding:72px 24px; }
}
@media (max-width:560px){
  .pkg-grid, .steps { grid-template-columns:1fr; }
  .title-cta .book-cta-btn, .title-cta .ghost-btn, .final-cta .book-cta-btn, .final-cta .ghost-btn { width:100%; text-align:center; }
}
@media (hover:none) and (pointer:coarse){
  body { cursor:auto; }
  .cursor, .cursor-ring { display:none; }
  *, button, a { cursor:auto !important; }
}
