:root{
  --plum:#3a2147;
  --plum-700:#2e1938;
  --gold:#cdaa5a;
  --ivory:#f6f3ee;
  --ink:#0e0e12;
  --muted:#7b7382;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--ivory);
  background:var(--ink);
  line-height:1.6;
}

.container{max-width:1200px;margin-inline:auto;padding-inline:1rem}
.container-eb{max-width: 1200;}
.section{padding:clamp(3rem,6vw,6rem) 0}
.section-eb{ padding-top: 0%;}
.section-title{font-family:"Cormorant Garamond", Georgia, serif;font-size:clamp(1.8rem,3.8vw,3rem);margin:0 0 1rem;}
.gold{color:var(--gold)}
.muted{color:var(--muted)}

.rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 0 2rem}

.btn{display:inline-block;padding:.85rem 1.1rem;border-radius:999px;background:var(--gold);color:#111;
  font-weight:700;text-decoration:none;border:2px solid transparent;transition:.2s}
.btn:hover{filter:brightness(1.05)}
.btn-outline{background:transparent;color:var(--ivory);border-color:var(--gold)}
.btn-ghost{background:transparent;color:var(--gold);border:1px solid var(--gold)}

/* Header / Nav */
.site-header{position:sticky;top:0;z-index:40;background:linear-gradient(180deg, rgba(14,14,18,.9), rgba(14,14,18,.6) 60%, transparent);backdrop-filter:saturate(140%) blur(8px)}
.nav{display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:.75rem 1rem}
.brand{font-family:"Cormorant Garamond", Georgia, serif;font-weight:700;font-size:1.4rem;color:var(--ivory);text-decoration:none}
.nav-links{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.nav-links a{color:var(--ivory);text-decoration:none}
.nav-toggle{display:none;background:none;border:1px solid var(--gold);color:var(--gold);padding:.4rem .6rem;border-radius:.5rem}
@media (max-width: 860px){
  .nav-toggle{display:block}
  .nav-links{display:none;position:absolute;top:56px;left:0;right:0;background:#16131b;padding:1rem;border-bottom:1px solid #2b2231}
  .nav-links.open{display:flex;flex-direction:column}
}

/* Hero */
.hero{position:relative;min-height:82svh;display:grid;place-items:center;overflow:hidden}
.hero-media{
  position:absolute;inset:0;
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(205,170,90,.25), transparent 60%),
    url('../assets/img/hero/hero.jpg') center/cover no-repeat,
    linear-gradient(180deg, #1b1422, #0e0e12);
  filter:saturate(105%) contrast(105%);
  transform:scale(1.02);
}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(14,14,18,.25), rgba(14,14,18,.75));}
.hero-inner{position:relative;text-align:center;padding:3rem 0}
.hero h1{font-family:"Cormorant Garamond", Georgia, serif;font-size:clamp(2rem,4.8vw,4rem);line-height:1.15;margin:0 0 .75rem}
.hero .sub{color:#ddd;margin:0 0 1.25rem}
.hero .hero-ctas{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
.hero .hero-meta{display:flex;gap:1rem;justify-content:center;margin-top:1rem;color:#ddd;flex-wrap:wrap}

/* Sections */
.section-soft{background:#181420}
.section-accent{background:linear-gradient(180deg, #261a31, #1b1523)}

.about-quote{max-width:900px;margin:1rem auto 0;color:#eae6df;border-left:4px solid var(--gold);padding:1rem 1rem 1rem 1.2rem;background:rgba(205,170,90,.06);}

.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;list-style:none;padding:0;margin:1rem 0 0}
.why-grid li{border:1px solid #382b44;border-radius:1rem;padding:1.25rem;background:#141019;transition:.2s}
.why-grid li:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.why-grid h3{margin:.5rem 0}
.why-icon{font-size:1.8rem}
@media (max-width: 900px){.why-grid{grid-template-columns:1fr}}

.expect-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.card{background:#141019;border:1px solid #382b44;border-radius:1rem;padding:1.25rem}
@media (max-width: 1000px){.expect-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 560px){.expect-cards{grid-template-columns:1fr;overflow-x:auto;scroll-snap-type:x mandatory}
 .card{scroll-snap-align:start;min-width:78vw}}
.details {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 1.5rem;
  align-items: center;
}

/* MOBILE-FIRST: force a visible square with explicit dimensions */
.details-visual {
  display: block;                  /* prevent inline quirks */
  width: clamp(280px, 90vw, 500px);
  height: clamp(280px, 90vw, 500px);  /* same as width → true square */
  max-width: 500px;

  border-radius: 0.5rem;
  border: 1px solid #382b44;
  background-color: #141019;
  background-image: url("../assets/img/LEW%2025%20-%20Leading%20Executive%20Awards%20Tickets.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;        /* show full flyer without cropping */

  box-shadow: 0 6px 20px rgba(0,0,0,0.35);
  transform: translateY(0) scale(0.98);
  opacity: 1;
  animation: flyerFadeIn 600ms ease-out both;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover nicety only for devices that hover */
@media (hover: hover) {
  .details-visual:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 12px 32px rgba(0,0,0,0.45), 0 0 0 2px rgba(205,170,90,0.4);
  }
}

/* Stack and center on mobile */
@media (max-width: 900px) {
  .details {
    grid-template-columns: 1fr;
  }
  .details-visual {
    margin-inline: auto;
  }
}

/* DESKTOP: keep your original 500x500 visual inside the split grid */
@media (min-width: 901px) {
  .details-visual {
    width: 500px;
    height: 500px;
  }
}

.details-list {
  margin: 0 0 1rem;
  padding-left: 1rem;
}

/* Reduced motion safety */
@media (prefers-reduced-motion: reduce) {
  .details-visual {
    animation: none;
    transform: none;
  }
}

@keyframes flyerFadeIn {
  from { transform: translateY(12px) scale(0.96); }
  to   { transform: translateY(0)    scale(0.98); }
}

.tagline{background:linear-gradient(180deg, var(--plum), var(--plum-700));border-block:1px solid rgba(205,170,90,.4);text-align:center}
.tagline h2{margin:0 0 .5rem}

/* Eventbrite */
.eb-container{min-height:800px;border:1px solid #382b44;border-radius:1rem;padding:1rem;background:#141019}

/* Sponsors */
.sponsor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.sponsor-logo{display:grid;place-items:center;height:88px;border-radius:.8rem;border:1px solid #3a2b47;background:#130f17;color:#666;filter:grayscale(100%);transition:.25s}
.sponsor-logo:hover{filter:none;box-shadow:0 6px 16px rgba(0,0,0,.25)}

.site-footer{padding:2rem 0;background:#120e15;border-top:1px solid #2b2231;color:#cfcad9}
.footer-inner{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.footer-nav,.social{display:flex;gap:.75rem;list-style:none;margin:0;padding:0}
.footer-nav a,.social a{color:#cfcad9;text-decoration:none}
.footer-nav a:hover,.social a:hover{color:var(--gold)}

/* Sticky mobile pill */
.sticky-pill{position:fixed;right:1rem;bottom:1rem;background:var(--gold);color:#111;
  padding:.85rem 1.1rem;border-radius:999px;text-decoration:none;font-weight:700;
  box-shadow:0 8px 24px rgba(0,0,0,.35);transform:translateY(120%);transition:.25s;z-index:50}
.sticky-pill.show{transform:translateY(0)}

/* Scroll progress */
#progress{position:fixed;inset:0 0 auto; height:3px;background:linear-gradient(90deg,var(--gold),#fff);
  transform-origin:left center; transform:scaleX(0); z-index:60}

/* Focus states */
a:focus-visible, button:focus-visible{outline:2px dashed var(--gold);outline-offset:3px}

/* Confetti canvas */
#confetti{position:fixed;inset:0;pointer-events:none;z-index:70}

/* Reveal animation */
.section.reveal, .card.reveal, .why-grid li.reveal{animation:fadeUp .6s ease both}
@keyframes fadeUp{
  from{opacity:0; transform: translateY(14px);}
  to{opacity:1; transform: none;}
}
