/* Fullerton Uncorked 2026 — vendor marketing kit
   Brand system matched to the Deep Wine & Gold graphics: wine dominant,
   gold accents, warm cream field, Playfair serif headings + Archivo/Mulish body.
   Fonts self-hosted as local WOFF2 (no CDN). build-site.mjs copies
   mockups/assets/fonts → site/assets/fonts so these @font-face src resolve. */
/* Self-hosted WOFF2 — no CDN dependency (render must work offline). */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/playfair-display-600.woff2') format('woff2');}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/playfair-display-700.woff2') format('woff2');}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/playfair-display-800.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/cormorant-garamond-500.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-600.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/cormorant-garamond-700.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/archivo-500.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/archivo-600.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/archivo-700.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/archivo-800.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-style:normal;font-weight:900;font-display:swap;src:url('fonts/archivo-900.woff2') format('woff2');}
@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/mulish-400.woff2') format('woff2');}
@font-face{font-family:'Mulish';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/mulish-500.woff2') format('woff2');}
@font-face{font-family:'Mulish';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/mulish-600.woff2') format('woff2');}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/mulish-700.woff2') format('woff2');}
@font-face{font-family:'Mulish';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/mulish-800.woff2') format('woff2');}

:root{
  /* Deep Wine & Gold — matches the downloadable graphics; light body, wine hero/footer. */
  --primary:#4E121C; --primary-d:#3F0E17; --wine:#4E121C;
  --cream:#F7EFE0; --cream-2:#F1E6D2; --tan:#E2D3B8; --tan-deep:#C2AE8A;
  --gold:#C99A3C; --gold-l:#E8B644; --gold-text:#8A651F; --ink:#33271C; --ink-soft:#5F4636; --white:#FCFCFC; --charcoal:#17120F;
  --shadow-card:0 10px 24px rgba(78,18,28,.05);
  --shadow-lift:0 20px 44px rgba(78,18,28,.13);
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Mulish',system-ui,sans-serif;color:var(--ink);
  background:var(--cream);
  /* faint warm wash + a whisper of wine/gold at the edges for atmosphere, not noise */
  background-image:
    radial-gradient(120% 80% at 50% -10%, rgba(78,18,28,.05), transparent 60%),
    radial-gradient(90% 60% at 100% 100%, rgba(201,154,60,.06), transparent 55%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;}
img{display:block;}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px;}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:30;background:rgba(252,252,252,.92);backdrop-filter:saturate(150%) blur(8px);
  border-bottom:1px solid var(--tan);display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding:13px clamp(18px,4vw,40px);}
.nav .l{display:flex;align-items:center;gap:14px;min-width:0;}
.nav .l img{height:40px;width:auto;}
.nav .l b{font-family:'Archivo';font-weight:800;color:var(--primary);font-size:18px;letter-spacing:.01em;white-space:nowrap;}
.nav .r{display:flex;align-items:center;gap:clamp(10px,2vw,26px);}
.navlink{font-family:'Archivo';font-weight:700;font-size:14px;color:var(--primary-d);letter-spacing:.01em;
  position:relative;padding:4px 0;transition:color .18s ease;white-space:nowrap;}
.navlink::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--gold);transition:right .22s ease;}
.navlink:hover{color:var(--primary);}
.navlink:hover::after{right:0;}
.navlink.back{color:var(--primary);}
.btn-ticket{background:var(--primary);color:var(--cream);font-family:'Archivo';font-weight:700;font-size:14px;
  text-transform:uppercase;letter-spacing:.05em;padding:11px 20px;border-radius:8px;white-space:nowrap;
  box-shadow:0 8px 18px rgba(78,18,28,.24);transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
.btn-ticket:hover{background:var(--primary-d);transform:translateY(-1px);box-shadow:0 12px 24px rgba(78,18,28,.30);}
/* Mobile: keep the most important links reachable in the sticky nav (back + tickets);
   the secondary out-links live in the footer. Never hide everything. */
@media(max-width:600px){.nav .navlink:not(.back){display:none;}.nav .l b{display:none;}.nav{padding:11px 16px;gap:10px;}}

/* ---------- shared bits ---------- */
.kick{font-family:'Archivo';font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--wine);font-size:14px;}
.rule{display:flex;align-items:center;justify-content:center;gap:12px;}
.rule .ln{width:78px;height:3px;background:var(--gold);border-radius:2px;}
.rule .dot{width:9px;height:9px;background:var(--gold);transform:rotate(45deg);}
.sec-h{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(23px,3vw,32px);color:var(--primary);line-height:1.12;letter-spacing:-.005em;}
.sec-s{color:var(--ink-soft);font-size:16px;line-height:1.55;margin-top:6px;}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:var(--cream);font-family:'Archivo';font-weight:700;
  font-size:14px;text-transform:uppercase;letter-spacing:.04em;padding:11px 20px;border-radius:8px;border:1px solid var(--primary);cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
.btn:hover{background:var(--primary-d);border-color:var(--primary-d);transform:translateY(-1px);box-shadow:var(--shadow-card);}
.btn.ghost{background:var(--white);color:var(--primary);border:1px solid var(--gold);}
.btn.ghost:hover{background:var(--primary);color:var(--cream);border-color:var(--primary);}
.btn[disabled]{cursor:default;opacity:1;}

/* grape-vine line-art motif, used as a faint margin decoration */
.vine{position:absolute;color:var(--gold);opacity:.10;pointer-events:none;z-index:0;}

/* ---------- footer ---------- */
.foot{position:relative;background:var(--primary);color:#fff;margin-top:46px;overflow:hidden;}
.foot::before{content:"";position:absolute;inset:0;background:
   radial-gradient(80% 120% at 0% 0%, rgba(255,198,87,.10), transparent 55%);}
.foot .inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:34px clamp(18px,4vw,40px);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;}
.foot .ev{font-family:'Mulish';font-weight:600;font-size:15.5px;line-height:1.5;max-width:560px;}
.foot .ev b{color:var(--gold-l);font-weight:800;}
.foot .links{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;}
.foot .links a{font-family:'Archivo';font-weight:700;font-size:14px;color:#fff;opacity:.92;transition:opacity .15s ease;}
.foot .links a:hover{opacity:1;text-decoration:underline;text-decoration-color:var(--gold-l);text-underline-offset:4px;}
.foot .links a.tix{color:var(--gold-l);}

/* ---------- staggered entrance (page load) ---------- */
@keyframes riseIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:no-preference){
  .reveal{opacity:0;animation:riseIn .6s cubic-bezier(.22,.61,.36,1) forwards;}
}
