/* ============================================================
   HOME SHOW — shared design system
   Black + gold, Poppins display / Mulish body
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  --black:#0e0d0b;
  --black-2:#161410;
  --charcoal:#1e1b16;
  --charcoal-2:#272219;
  --gold:#e8b84e;
  --gold-2:#f0c560;
  --gold-dark:#a87c1a;
  --gold-soft:#f3dca0;
  /* themeable surfaces (light defaults) */
  --page:#ffffff;
  --surface:#ffffff;
  --cream:#f5f2ea;
  --cream-2:#efe9dc;
  --paper:#ffffff;
  --ink:#26241f;
  --ink-soft:#46423b;
  --muted:#7b766d;
  --muted-light:#b8b2a6;
  --line:rgba(20,18,14,.12);
  --line-dark:rgba(255,255,255,.14);
  --logo-color:#161310;
  /* themeable header chrome (light defaults) */
  --header-bg:#ffffff;
  --header-text:#2a2720;
  --header-muted:#6f6a60;
  --header-border:rgba(20,18,14,.1);
  --header-dropdown-bg:#ffffff;
  --header-toggle-border:rgba(20,18,14,.2);
  --shadow-card:0 18px 40px -22px rgba(20,16,8,.45);
  --maxw:1240px;
  --pad:clamp(20px,5vw,64px);
  --font-display:'Poppins',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-body:'Mulish',-apple-system,BlinkMacSystemFont,sans-serif;
}

/* ---------- Dark theme ---------- */
html[data-theme="dark"]{
  --page:#13110d;
  --surface:#201c16;
  --cream:#1a1712;
  --cream-2:#16130f;
  --paper:#201c16;
  --ink:#ece7dd;
  --ink-soft:#bdb6aa;
  --muted:#948e82;
  --gold-dark:#eabf57;
  --line:rgba(255,255,255,.13);
  --logo-color:#f4efe4;
  --header-bg:#0e0d0b;
  --header-text:#e9e3d6;
  --header-muted:#cfc9bd;
  --header-border:rgba(255,255,255,.08);
  --header-dropdown-bg:#161410;
  --header-toggle-border:rgba(255,255,255,.22);
  --shadow-card:0 26px 50px -26px rgba(0,0,0,.7);
}
html[data-theme="dark"] body{background:var(--page);}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--page);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  transition:background .3s ease,color .3s ease;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:600;line-height:1.08;margin:0;letter-spacing:-.01em;}
p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}

/* ---------- Layout helpers ---------- */
.container{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad);width:100%;}
.container-wide{max-width:1480px;margin:0 auto;padding-inline:var(--pad);width:100%;}
.section{padding-block:clamp(56px,7vw,104px);}
.section-sm{padding-block:clamp(40px,5vw,68px);}
.bg-cream{background:var(--cream);}
.bg-cream-2{background:var(--cream-2);}
.bg-dark{background:var(--charcoal);color:#efe9dd;}
.bg-black{background:var(--black);color:#efe9dd;}
.center{text-align:center;}

/* ---------- Brand decorative motifs (blueprint house + gold swoop) ----------
   Auto-applied to every solid dark band so the roofline swoop + sketched house
   recur sitewide (matches the live homeshows.com footer band). Each band makes
   its own stacking context (isolation:isolate) so the motifs paint over the dark
   fill but behind the content — no per-child z-index needed. Add .no-motif to a
   band to opt it out (e.g. a dark band that already carries a background photo). */
.section.bg-dark,.section.bg-black{position:relative;overflow:hidden;isolation:isolate;}
.section.bg-dark:not(.no-motif)::before,
.section.bg-black:not(.no-motif)::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  left:0;top:50%;transform:translateY(-50%);
  width:min(36vw,380px);aspect-ratio:860/806;opacity:.5;
  background:url('../images/hs-house-sketch.webp') left center/contain no-repeat;
}
.section.bg-dark:not(.no-motif)::after,
.section.bg-black:not(.no-motif)::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  right:0;bottom:0;
  width:min(46vw,560px);aspect-ratio:1200/637;opacity:.6;
  background:url('../images/hs-stripes.webp') right bottom/contain no-repeat;
}
@media(max-width:760px){
  .section.bg-dark:not(.no-motif)::before,
  .section.bg-black:not(.no-motif)::before{width:min(46vw,240px);opacity:.3;}
  .section.bg-dark:not(.no-motif)::after,
  .section.bg-black:not(.no-motif)::after{width:min(62vw,320px);opacity:.42;}
}
.eyebrow{
  font-family:var(--font-display);
  font-weight:600;
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 1.1rem;
  display:block;
}
.eyebrow.ink{color:var(--ink-soft);}
.lead{font-size:1.08rem;color:var(--ink-soft);}
.gold-text{color:var(--gold-dark);}
/* bright brand gold reads on dark surfaces; deeper --gold-dark keeps it legible on light */
.bg-dark .gold-text,.bg-black .gold-text,.hero .gold-text,.page-banner .gold-text,.feat-card .gold-text{color:var(--gold);}

h1.display{font-size:clamp(2.5rem,6vw,4.6rem);text-wrap:balance;}
h2.display{font-size:clamp(1.95rem,4.2vw,3.15rem);text-wrap:balance;}
h3.display{font-size:clamp(1.35rem,2.4vw,1.85rem);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--font-display);font-weight:600;
  font-size:.82rem;letter-spacing:.13em;text-transform:uppercase;
  padding:.95em 2em;border:1.5px solid transparent;cursor:pointer;
  transition:.22s ease;line-height:1;white-space:nowrap;
}
.btn-gold{background:var(--gold);color:#1a160d;border-color:var(--gold);}
.btn-gold:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:#fff;}
.btn-outline{background:transparent;border-color:currentColor;color:inherit;}
.btn-outline:hover{background:var(--gold);border-color:var(--gold);color:#1a160d;}
.btn-outline-dark{background:transparent;border-color:rgba(20,18,14,.4);color:var(--ink);}
.btn-outline-dark:hover{background:var(--ink);border-color:var(--ink);color:#fff;}
.btn-lg{padding:1.15em 2.6em;font-size:.9rem;}
.btn-block{display:flex;width:100%;}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:200;background:var(--header-bg);color:var(--header-text);transition:background .3s ease,color .3s ease,box-shadow .3s ease;}
/* elevation once the page scrolls under the header */
.site-header.scrolled{box-shadow:0 8px 28px -16px rgba(20,16,8,.5);}
html[data-theme="dark"] .site-header.scrolled{box-shadow:0 10px 30px -14px rgba(0,0,0,.75);}
.utility-bar{border-bottom:1px solid var(--header-border);}
.utility-inner{display:flex;align-items:center;gap:1.4rem;min-height:56px;}
.utility-inner .logo{margin-right:auto;}
.utility-links{display:flex;align-items:center;gap:1.6rem;font-size:.82rem;color:var(--header-muted);}
.utility-links a{display:inline-flex;align-items:center;gap:.45rem;transition:color .2s;}
.utility-links a:hover{color:var(--gold);}
.utility-links svg{width:14px;height:14px;}
.utility-bar .btn{padding:.7em 1.3em;font-size:.7rem;}
.search-btn{background:none;border:none;color:var(--header-muted);cursor:pointer;padding:6px;display:inline-flex;}
.search-btn:hover{color:var(--gold);}
/* control group is transparent by default (header variants 0-4); the sidebar rail turns it into a row */
.util-controls{display:contents;}
.theme-toggle{background:none;border:1px solid var(--header-toggle-border);color:var(--header-muted);cursor:pointer;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:.22s;flex:none;}
.theme-toggle:hover{color:var(--gold);border-color:var(--gold);}
.theme-toggle svg{width:17px;height:17px;}

/* logo */
.logo{display:inline-flex;align-items:center;gap:.6rem;color:#fff;}
.logo-svg{display:block;width:auto;height:40px;color:var(--logo-color);flex:none;}
.footer-logo .logo-svg{height:62px;}
.mm-head .logo-svg{height:38px;color:#f4efe4;}

/* nav row */
.nav-bar{border-bottom:1px solid var(--header-border);}
.nav-inner{display:flex;align-items:center;gap:1.5rem;min-height:52px;}
.main-nav{display:flex;align-items:stretch;gap:.2rem;height:52px;}
.nav-item{position:relative;display:flex;align-items:center;}
.nav-item>a{
  display:flex;align-items:center;gap:.4rem;height:100%;padding:0 1.05rem;
  font-family:var(--font-display);font-weight:600;font-size:.74rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--header-text);transition:color .2s;cursor:pointer;white-space:nowrap;
}
.nav-item>a .caret{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7;transition:.2s;}
.nav-item:hover>a{color:var(--gold);}
.nav-item:hover>a .caret{transform:rotate(225deg) translateY(0);opacity:1;}
.dropdown{
  position:absolute;top:100%;left:0;min-width:248px;background:var(--header-dropdown-bg);
  border:1px solid var(--header-border);border-top:2px solid var(--gold);
  padding:.5rem 0;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:.2s ease;box-shadow:0 24px 48px -18px rgba(0,0,0,.7);z-index:50;
}
.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{
  display:block;padding:.6rem 1.4rem;font-size:.82rem;color:var(--header-muted);
  letter-spacing:.02em;transition:.18s;border-left:2px solid transparent;
}
.dropdown a:hover{background:rgba(232,184,78,.12);color:var(--ink);border-left-color:var(--gold);}
.nav-meta{margin-left:auto;font-family:var(--font-display);font-weight:600;font-size:.74rem;letter-spacing:.12em;color:var(--gold-dark);text-transform:uppercase;white-space:nowrap;}
.nav-meta span{color:var(--header-muted);opacity:.5;margin:0 .55rem;}

/* hamburger */
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:10px;margin-left:auto;-webkit-tap-highlight-color:transparent;}
.hamburger span{display:block;width:24px;height:2px;background:var(--header-text);margin:5px 0;transition:.25s;}
.mobile-only{display:none;}

/* countdown bar */
.countdown-bar{background:var(--gold);color:#1c160a;max-height:120px;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .25s ease;}
/* condensed: countdown tucks away on scroll-down, returns on scroll-up / at top (JS toggles on mobile) */
.site-header.condensed .countdown-bar{max-height:0;opacity:0;}
.countdown-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35rem 1.1rem;min-height:48px;padding-block:8px;font-family:var(--font-display);font-weight:600;}
.cd-label{font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;}
.cd-clock{display:flex;gap:.9rem;font-size:.8rem;letter-spacing:.04em;}
.cd-clock b{font-weight:700;}
.cd-clock .u{font-weight:600;opacity:.7;font-size:.7rem;}
.cd-cta{display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;border-bottom:1.5px solid #1c160a;padding-bottom:2px;transition:.2s;}
.cd-cta:hover{opacity:.6;}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:clamp(440px,56vw,620px);display:flex;align-items:center;color:#fff;overflow:hidden;padding-block:clamp(48px,8vw,80px);}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,8,.46),rgba(8,8,8,.62));z-index:1;}
.hero .container{position:relative;z-index:2;text-align:center;width:100%;}
.hero .eyebrow{color:var(--gold-soft);letter-spacing:.22em;opacity:1;text-shadow:0 1px 10px rgba(0,0,0,.5);}
.hero h1{font-size:clamp(2.5rem,6vw,4.8rem);line-height:1.05;text-shadow:0 2px 24px rgba(0,0,0,.4);text-wrap:balance;}
.hero p.lead{color:rgba(255,255,255,.94);max-width:600px;margin:1.2rem auto 0;font-size:clamp(1.02rem,1.6vw,1.22rem);text-shadow:0 1px 12px rgba(0,0,0,.55);text-wrap:pretty;}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.2rem;}
.hero-chevrons{position:absolute;right:-40px;bottom:-30px;z-index:2;opacity:.85;pointer-events:none;}

/* gold chevron motif */
.chevrons{display:block;}
.chevrons path{fill:none;stroke:var(--gold);stroke-width:14;}

/* page banner (interior pages) */
.page-banner{position:relative;background:var(--charcoal);color:#fff;padding-block:clamp(54px,8vw,96px);overflow:hidden;}
.page-banner::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;opacity:.28;z-index:0;}
.page-banner .container{position:relative;z-index:2;}
.page-banner h1{font-size:clamp(2.1rem,4.6vw,3.4rem);text-wrap:balance;}
.page-banner .crumbs{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;font-family:var(--font-display);font-weight:600;}
.page-banner .crumbs a{opacity:.8;}
.page-banner .crumbs a:hover{opacity:1;}
.page-banner .crumbs span{opacity:.5;margin:0 .5rem;}
.page-banner p{color:rgba(255,255,255,.85);max-width:640px;margin-top:1rem;}
.page-banner .chevrons{position:absolute;right:0;bottom:-20px;z-index:1;opacity:.5;}

/* ---------- Grids ---------- */
.grid{display:grid;gap:clamp(20px,2.4vw,34px);}
.cols-2{grid-template-columns:repeat(2,1fr);}
.cols-3{grid-template-columns:repeat(3,1fr);}
.cols-4{grid-template-columns:repeat(4,1fr);}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,68px);align-items:center;}
.split.media-left{grid-template-columns:.95fr 1.05fr;}

/* ---------- Cards ---------- */
.card{background:var(--surface);}
.media{position:relative;overflow:hidden;background:#ddd;}
.media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.media-cap{aspect-ratio:16/10;}
a.card:hover .media img,.hover-zoom:hover img{transform:scale(1.05);}

/* category cards (show page) */
.cat-card .media{aspect-ratio:16/10;}
.cat-card h3{font-size:1.18rem;color:var(--gold-dark);margin:1.1rem 0 .5rem;}
.cat-card p{color:var(--ink-soft);font-size:.97rem;}

/* feature cards (dark) */
.feat-card{position:relative;display:block;background:#000;overflow:hidden;min-height:300px;}
.feat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9;}
.feat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1) 30%,rgba(0,0,0,.92));}
.feat-card .tag{position:absolute;top:14px;left:14px;z-index:3;background:rgba(255,255,255,.92);color:#1a160d;font-family:var(--font-display);font-weight:600;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:.4em .7em;}
.feat-card .feat-body{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:18px;}
.feat-card h4{color:#fff;font-size:1.02rem;line-height:1.25;margin-bottom:.5rem;}
.feat-card .more{color:var(--gold);font-family:var(--font-display);font-weight:600;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;}
.feat-card:hover img{transform:scale(1.06);transition:transform .6s;}

/* info box (location / dates) */
.info-box{border:1px solid var(--line);padding:clamp(24px,3vw,38px);display:grid;grid-template-columns:1fr 1fr;gap:2rem;}
.info-box h4{font-family:var(--font-display);font-size:1.05rem;margin-bottom:.7rem;}
.info-box .rows{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1.4rem;font-size:.96rem;}
.info-box a.linkgold{color:var(--gold-dark);font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;}

/* quick links grid (dark) */
.qlink{display:flex;flex-direction:column;gap:.6rem;background:var(--surface);color:var(--ink);padding:1.5rem 1.4rem;min-height:148px;transition:.22s;border:1px solid transparent;}
.qlink:hover{transform:translateY(-4px);box-shadow:0 18px 30px -18px rgba(0,0,0,.5);}
.qlink .ql-eyebrow{font-family:var(--font-display);font-weight:600;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark);}
.qlink b{font-family:var(--font-display);font-weight:600;font-size:1.04rem;line-height:1.3;color:var(--ink);}
.qlink .arrow{margin-top:auto;font-size:1.2rem;color:var(--gold-dark);}

/* pro-lane cards (icon + copy, on dark bands) */
.pro-grid{max-width:940px;margin:0 auto;}
.pro-card{display:flex;gap:1.05rem;align-items:flex-start;background:rgba(255,255,255,.04);border:1px solid var(--line-dark);padding:clamp(20px,2.3vw,28px);transition:transform .22s ease,border-color .22s ease,background .22s ease;}
.pro-card:hover{transform:translateY(-3px);border-color:rgba(232,184,78,.55);background:rgba(255,255,255,.06);}
.pro-card .ico{flex:none;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(232,184,78,.16);color:var(--gold);}
.pro-card .ico svg{width:25px;height:25px;}
.pro-card h3{font-family:var(--font-display);font-weight:600;font-size:1.12rem;line-height:1.2;color:#fff;margin:.1rem 0 .35rem;letter-spacing:-.01em;}
.pro-card p{color:#cfc9bd;font-size:.95rem;line-height:1.5;margin:0;}

/* audience cards (icon header + benefit list, on light bands) */
.aud-card{position:relative;background:var(--surface);border:1px solid var(--line);padding:clamp(26px,3vw,40px);box-shadow:var(--shadow-card);overflow:hidden;}
.aud-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--gold-dark),var(--gold),var(--gold-2));}
.aud-head{display:flex;align-items:center;gap:.85rem;padding-bottom:1.15rem;margin-bottom:1.3rem;border-bottom:1px solid var(--line);}
.aud-head .ico{flex:none;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:rgba(232,184,78,.14);color:var(--gold-dark);}
.aud-head .ico svg{width:25px;height:25px;}
.aud-head h3{font-family:var(--font-display);font-weight:600;font-size:1.16rem;color:var(--ink);margin:0;letter-spacing:-.01em;}
.aud-card .benefit-list{gap:.85rem;}
.aud-card .benefit-list li{font-size:.96rem;}

/* stats */
.stat b{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(2.2rem,4vw,3rem);color:var(--gold);line-height:1;}
.stat span{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;margin-top:.5rem;display:block;}

/* ---------- FAQ accordion ---------- */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-display);font-weight:600;font-size:1.02rem;color:var(--ink);padding:1.25rem 2.5rem 1.25rem 0;position:relative;display:block;}
.faq-q .pm{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--gold-dark);font-weight:400;transition:.2s;}
.faq-item.open .pm{transform:translateY(-50%) rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-a-inner{padding:0 0 1.4rem;color:var(--ink-soft);font-size:.98rem;}

/* sidebar info card */
.side-card{border:1px solid var(--line);padding:1.8rem;}
.side-card h5{font-family:var(--font-display);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:1.4rem 0 .5rem;}
.side-card h5:first-child{margin-top:0;}
.side-card .social{display:flex;gap:.9rem;margin:.4rem 0 1.4rem;}
.side-card .social a{color:var(--ink-soft);display:inline-flex;}
.side-card .social a:hover{color:var(--gold-dark);}
.side-card .social svg{width:20px;height:20px;}

/* ---------- Carousel ---------- */
.carousel{position:relative;}
.carousel-track{display:flex;transition:transform .5s ease;}
.carousel-slide{min-width:100%;display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,52px);align-items:center;}
.carousel-slide blockquote{margin:0;font-size:clamp(1.1rem,2vw,1.45rem);font-style:italic;line-height:1.5;color:var(--ink);}
.carousel-slide .who{margin-top:1.3rem;font-family:var(--font-display);font-weight:600;}
.carousel-slide .who small{display:block;color:var(--gold-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;margin-top:.2rem;}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;font-size:2rem;color:var(--muted);cursor:pointer;padding:10px;line-height:1;transition:.2s;z-index:5;}
.carousel-arrow:hover{color:var(--gold-dark);}
.carousel-arrow.prev{left:-10px;}
.carousel-arrow.next{right:-10px;}
.carousel-dots{display:flex;gap:.6rem;justify-content:center;margin-top:2rem;}
.carousel-dots button{width:10px;height:10px;border-radius:50%;border:none;background:rgba(20,18,14,.2);cursor:pointer;padding:0;transition:.2s;}
.carousel-dots button.active{background:var(--gold);}
/* verified review card (testimonials) */
.tbadge{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem;width:190px;margin:0 auto;}
.tavatar{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.65rem;color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,var(--gold),var(--gold-dark));box-shadow:0 12px 28px -10px rgba(20,16,8,.5);}
.tstars{color:var(--gold);letter-spacing:.18em;font-size:1.05rem;line-height:1;}
.tsrc{display:inline-flex;align-items:center;gap:.42rem;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;}
.tsrc svg{width:15px;height:15px;flex:none;color:var(--gold-dark);}
.carousel-slide .tlink{display:inline-block;margin-top:1.15rem;font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--gold-dark);text-decoration:none;}
.carousel-slide .tlink:hover{color:var(--ink);text-decoration:underline;}

/* ---------- Instagram strip ---------- */
.ig-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;}
.ig-grid a{position:relative;aspect-ratio:1;overflow:hidden;display:block;background:#222;}
.ig-grid img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.ig-grid a:hover img{transform:scale(1.07);opacity:.85;}

/* ---------- Forms ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.4rem;}
.field{display:flex;flex-direction:column;gap:.4rem;}
.field.full{grid-column:1/-1;}
.field label{font-family:var(--font-display);font-weight:600;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);}
.field input,.field select,.field textarea{
  font-family:var(--font-body);font-size:1rem;padding:.85rem 1rem;border:1px solid var(--line);
  background:var(--surface);color:var(--ink);width:100%;border-radius:0;
}
.field input:focus,.field select,.field textarea:focus{outline:none;border-color:var(--gold);}
.field textarea{min-height:130px;resize:vertical;}
.newsletter-inline{display:flex;gap:0;max-width:480px;}
.newsletter-inline input{flex:1;border:1px solid var(--line-dark);background:rgba(255,255,255,.06);color:#fff;padding:.9rem 1rem;}
.newsletter-inline input::placeholder{color:rgba(255,255,255,.5);}

/* ---------- Inquiry / lead form ---------- */
.form-shell{position:relative;background:var(--surface);border:1px solid var(--line);padding:clamp(24px,3.4vw,46px);box-shadow:var(--shadow-card);}
.form-shell::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--gold-dark),var(--gold),var(--gold-2));}
.field label .req{color:var(--gold-dark);font-weight:700;margin-left:.15em;}
.form-hint{font-size:.82rem;color:var(--muted);line-height:1.55;}
.form-reassure{display:flex;align-items:center;gap:.55rem;margin-top:1rem;font-size:.84rem;color:var(--muted);}
.form-reassure svg{width:16px;height:16px;flex:none;color:var(--gold-dark);}
.form-ok{display:none;align-items:center;gap:.6rem;margin-top:1.2rem;padding:.9rem 1.1rem;background:rgba(232,184,78,.12);border:1px solid var(--gold);color:var(--gold-dark);font-weight:700;font-size:.95rem;}
.form-ok svg{width:20px;height:20px;flex:none;}
.benefit-list{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin:.2rem 0 0;padding:0;}
.benefit-list li{position:relative;padding-left:1.9rem;font-size:.94rem;color:var(--ink-soft);line-height:1.5;}
.benefit-list li::before{content:"\2713";position:absolute;left:0;top:.05em;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;
  background:rgba(232,184,78,.18);color:var(--gold-dark);font-size:.72rem;font-weight:700;border-radius:50%;}
.quote-mini{border-left:3px solid var(--gold);padding:.2rem 0 .2rem 1.1rem;margin:0;}
.quote-mini p{font-style:italic;color:var(--ink);font-size:.96rem;line-height:1.55;margin:0 0 .6rem;}
.quote-mini cite{font-style:normal;font-family:var(--font-display);font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);}
.steps{display:grid;gap:1.6rem;}
.step{display:flex;gap:1.1rem;align-items:flex-start;}
.step .n{flex:none;width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--gold-dark);background:rgba(232,184,78,.14);}
.step h4{font-family:var(--font-display);font-size:1.05rem;margin-bottom:.25rem;}
.step p{color:var(--ink-soft);font-size:.94rem;line-height:1.55;}

/* ---------- Bright image-led lead hero ---------- */
.show-hero{background:var(--cream);overflow:hidden;}
.show-hero-grid{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.06fr);gap:clamp(28px,4vw,60px);align-items:center;padding-block:clamp(34px,5vw,70px);}
.show-hero-copy .crumbs{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:1.1rem;font-family:var(--font-display);font-weight:600;}
.show-hero-copy .crumbs a{color:var(--gold-dark);}
.show-hero-copy .crumbs span{margin:0 .5rem;opacity:.5;}
.show-hero-title{font-size:clamp(2.2rem,4.4vw,3.8rem);line-height:1.04;letter-spacing:-.01em;margin:.5rem 0 0;text-wrap:balance;}
.show-hero-copy .lead{margin:1.1rem 0 0;max-width:46ch;}
.show-hero .hero-actions{margin-top:1.7rem;}
.show-hero-stats{list-style:none;display:flex;gap:clamp(1.4rem,3vw,2.6rem);margin:1.9rem 0 0;padding:1.4rem 0 0;border-top:1px solid var(--line);flex-wrap:wrap;}
.show-hero-stats b{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(1.7rem,3vw,2.3rem);color:var(--gold-dark);line-height:1;}
.show-hero-stats span{display:block;margin-top:.35rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:var(--font-display);font-weight:600;}
.show-hero-mosaic{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:10px;height:clamp(360px,42vw,520px);}
.show-hero-mosaic img{width:100%;height:100%;object-fit:cover;display:block;background:var(--cream-2);}
.show-hero-mosaic .m1{grid-column:1/3;grid-row:1/2;}
.show-hero-mosaic .m2{grid-column:3/4;grid-row:1/3;}
.show-hero-mosaic .m3{grid-column:1/2;grid-row:2/3;}
.show-hero-mosaic .m4{grid-column:2/3;grid-row:2/3;}
.mosaic-badge{position:absolute;left:0;bottom:0;display:flex;align-items:baseline;gap:.45rem;background:var(--gold);color:#1a160d;
  padding:.65rem 1.05rem;font-family:var(--font-display);font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 14px 34px -14px rgba(0,0,0,.55);}
.mosaic-badge b{font-size:1.15rem;}
.mosaic-badge span{font-size:.66rem;letter-spacing:.12em;}

/* form-first inquiry hero (form card beside the copy/visuals) */
.inquiry-hero-grid{align-items:start;}
.inquiry-hero-grid .show-hero-copy{padding-top:clamp(4px,1.5vw,16px);}
.inquiry-hero-grid .show-hero-title{font-size:clamp(2rem,3.4vw,3rem);}
.inquiry-photos{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:1.6rem 0 0;}
.inquiry-photos img{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:var(--cream-2);}
.inquiry-hero-grid .show-hero-stats{margin-top:1.6rem;}
/* lighter, tighter form card in the hero */
.inquiry-hero-grid .form-shell{padding:clamp(22px,2.3vw,34px);box-shadow:0 12px 32px -22px rgba(20,16,8,.4);}
.inquiry-hero-grid .form-grid{gap:.85rem 1rem;}
.inquiry-hero-grid .form-shell textarea{min-height:90px;}
.inquiry-hero-grid .field label{font-size:.7rem;}
@media(max-width:560px){.inquiry-photos{display:none;}}

/* === Exhibitor inquiry: living hero + balanced full-height columns === */
.inquiry-hero{position:relative;isolation:isolate;}
.inquiry-hero .inquiry-hero-bg{opacity:.68;background-position:center 32%;}
/* cream wash: solid behind the copy, clearing toward the right so the floor shows */
.inquiry-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,rgba(248,244,236,.95) 0%,rgba(248,244,236,.88) 28%,rgba(248,244,236,.58) 60%,rgba(248,244,236,.3) 100%);}
/* soft vignette to ground the section */
.inquiry-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(125% 95% at 72% 28%,transparent 52%,rgba(20,16,8,.12) 100%);}
.inquiry-hero .container-wide{position:relative;z-index:2;}
.inquiry-hero .show-hero-grid{padding-block:clamp(8px,0.5vw,10px);align-items:stretch;}

/* left column = full-height editorial panel that matches the form card */
.inquiry-hero .show-hero-copy{display:flex;flex-direction:column;height:100%;padding-top:clamp(2px,0.7vw,6px);}
.inquiry-hero .show-hero-copy .crumbs{margin-bottom:.6rem;}
.inquiry-hero .show-hero-title{font-size:clamp(1.9rem,3.1vw,2.85rem);margin-top:.25rem;}
.inquiry-hero .show-hero-copy .lead{margin-top:.7rem;line-height:1.55;max-width:44ch;}
/* photos grow to fill the middle as a framed triptych */
.inquiry-hero .inquiry-photos{margin-top:1.1rem;gap:8px;flex:1 1 auto;min-height:150px;}
.inquiry-hero .inquiry-photos img{aspect-ratio:auto;height:100%;border-radius:3px;box-shadow:0 10px 26px -18px rgba(20,16,8,.55);}
/* stats anchored to the bottom, aligned with the form's lower edge */
.inquiry-hero .show-hero-stats{margin-top:1.1rem;padding-top:1.1rem;}
.inquiry-hero .show-hero-stats b{font-size:clamp(1.5rem,2.5vw,2rem);}
.inquiry-hero .show-hero-stats span{margin-top:.25rem;}

/* dense form card so the whole hero clears the fold */
.inquiry-hero .form-shell{padding:clamp(16px,1.6vw,24px);}
.inquiry-hero .form-grid{gap:.5rem .9rem;}
.inquiry-hero .field{gap:.22rem;}
.inquiry-hero .field input,.inquiry-hero .field select,.inquiry-hero .field textarea{padding:.55rem .8rem;font-size:.92rem;}
.inquiry-hero .form-shell textarea{min-height:52px;}

/* audience-snapshot hero (exhibitors page) */
.show-hero-copy .hero-trust{margin:1.7rem 0 0;font-size:.86rem;color:var(--muted);font-family:var(--font-display);font-weight:600;letter-spacing:.02em;}
.show-hero-copy .hero-trust b{color:var(--gold-dark);}
.audience-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card);overflow:hidden;}
.ac-media{position:relative;aspect-ratio:16/9;background:var(--cream-2);}
.ac-media img{width:100%;height:100%;object-fit:cover;display:block;}
.ac-badge{position:absolute;left:0;bottom:0;display:flex;align-items:baseline;gap:.4rem;background:var(--gold);color:#1a160d;
  padding:.55rem .95rem;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 12px 28px -14px rgba(0,0,0,.5);}
.ac-badge b{font-size:1.05rem;}
.ac-badge span{font-size:.62rem;letter-spacing:.12em;}
.ac-body{padding:clamp(20px,2.3vw,30px);}
.ac-body h3{font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,2.3vw,1.7rem);margin:.35rem 0 1.15rem;line-height:1.1;}
.ac-traits{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1rem;margin:0;padding:0;}
.ac-traits li{display:flex;gap:.75rem;align-items:flex-start;}
.ac-traits .ac-ico{width:42px;height:42px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:12px;
  background:linear-gradient(150deg,rgba(232,184,78,.24),rgba(232,184,78,.09));border:1px solid rgba(232,184,78,.32);
  color:var(--gold-dark);box-shadow:0 5px 14px -8px rgba(232,184,78,.55);}
.ac-traits .ac-ico svg{width:23px;height:23px;stroke-linecap:round;stroke-linejoin:round;}
.ac-traits b{display:block;font-family:var(--font-display);font-weight:600;font-size:.94rem;line-height:1.2;margin-bottom:.15rem;}
.ac-traits span{display:block;color:var(--ink-soft);font-size:.82rem;line-height:1.4;}
@media(max-width:420px){.ac-traits{grid-template-columns:1fr;}}

/* full-bleed photo band */
.filmstrip-band{background:var(--surface);padding-top:clamp(40px,5vw,66px);padding-bottom:clamp(40px,5vw,66px);}
.filmstrip{display:flex;gap:6px;margin-top:clamp(20px,3vw,34px);}
.filmstrip a{flex:1 1 0;min-width:0;overflow:hidden;display:block;}
.filmstrip a img{width:100%;height:clamp(160px,17vw,228px);object-fit:cover;display:block;background:var(--cream-2);transition:transform .45s ease;}
.filmstrip a:hover img{transform:scale(1.05);}

@media(max-width:900px){
  .show-hero-grid{grid-template-columns:1fr;gap:clamp(24px,4vw,40px);}
  .show-hero-mosaic{height:clamp(320px,58vw,440px);}
}
@media(max-width:760px){
  .filmstrip{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .filmstrip a{flex:0 0 74%;scroll-snap-align:start;}
  .filmstrip a img{height:210px;}
}

/* ---------- Tabbed feature section ---------- */
.tablist{display:flex;flex-wrap:wrap;gap:.2rem;border-bottom:1px solid var(--line);margin-bottom:clamp(26px,3.4vw,44px);}
.tab-btn{appearance:none;background:none;border:none;cursor:pointer;font-family:var(--font-display);font-weight:600;
  font-size:clamp(.82rem,1.4vw,.96rem);letter-spacing:.01em;color:var(--muted);padding:.95rem 1.25rem;position:relative;white-space:nowrap;transition:color .2s ease;display:inline-flex;align-items:center;gap:.55rem;}
.tab-btn .ti{width:18px;height:18px;flex:none;opacity:.8;}
.tab-btn:hover{color:var(--ink);}
.tab-btn[aria-selected="true"]{color:var(--gold-dark);}
.tab-btn[aria-selected="true"]::after{content:"";position:absolute;left:.4rem;right:.4rem;bottom:-1px;height:3px;background:var(--gold);}
.tab-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:hsReveal .5s cubic-bezier(.2,.75,.25,1) both;}
.tab-feat-list{list-style:none;display:grid;gap:.7rem;margin:1.3rem 0 0;padding:0;}
.tab-feat-list li{position:relative;padding-left:1.9rem;color:var(--ink-soft);line-height:1.55;}
.tab-feat-list li::before{content:"\2713";position:absolute;left:0;top:.02em;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;
  background:rgba(232,184,78,.18);color:var(--gold-dark);font-size:.72rem;font-weight:700;border-radius:50%;}
@media(max-width:560px){
  .tablist{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .tab-btn{padding:.85rem .9rem;}
}

/* ---------- Show-floor photo gallery ---------- */
.show-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.show-gallery figure{position:relative;margin:0;overflow:hidden;aspect-ratio:4/3;background:var(--cream-2);}
.show-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease;}
.show-gallery figure:hover img{transform:scale(1.06);}
.show-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .95rem .8rem;color:#fff;
  font-family:var(--font-display);font-weight:600;font-size:.82rem;letter-spacing:.01em;
  background:linear-gradient(transparent,rgba(8,7,5,.85));opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease;}
.show-gallery figure:hover figcaption,.show-gallery figure:focus-within figcaption{opacity:1;transform:none;}
@media(max-width:760px){.show-gallery{grid-template-columns:1fr 1fr;gap:8px;}}
@media(max-width:460px){.show-gallery{grid-template-columns:1fr;}}

/* ---------- Marketing / campaign saturation section ---------- */
.mkt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px);}
.mkt-card{background:rgba(255,255,255,.04);border:1px solid var(--line-dark);padding:clamp(22px,2.4vw,32px);transition:border-color .25s ease,transform .25s ease;}
.mkt-card:hover{border-color:rgba(232,184,78,.55);transform:translateY(-4px);}
.mkt-ico{width:54px;height:54px;display:flex;align-items:center;justify-content:center;background:rgba(232,184,78,.16);color:var(--gold);margin-bottom:1.15rem;}
.mkt-ico svg{width:26px;height:26px;}
.mkt-card h3{font-family:var(--font-display);font-weight:600;font-size:1.12rem;color:#fff;margin-bottom:.5rem;}
.mkt-card p{color:#cfc9bd;font-size:.93rem;line-height:1.6;}
.mkt-tag{display:inline-block;margin-top:1rem;font-family:var(--font-display);font-weight:600;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.mkt-stats{list-style:none;display:flex;flex-wrap:wrap;gap:clamp(1.6rem,4vw,3.4rem);justify-content:center;margin:clamp(30px,4vw,52px) 0 0;padding:clamp(26px,3vw,40px) 0 0;border-top:1px solid var(--line-dark);}
.mkt-stats b{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--gold);line-height:1;text-align:center;}
.mkt-stats span{display:block;margin-top:.4rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);font-family:var(--font-display);font-weight:600;text-align:center;}
@media(max-width:900px){.mkt-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.mkt-grid{grid-template-columns:1fr;}}

/* ---------- Footer ---------- */
.site-footer{background:var(--black);color:#cfc9bd;position:relative;overflow:hidden;}
.site-footer .chevrons{position:absolute;right:0;bottom:0;width:clamp(340px,44vw,640px);height:auto;opacity:.72;z-index:0;}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:clamp(28px,4vw,56px);padding-block:clamp(48px,6vw,76px);position:relative;z-index:2;}
.footer-logo .wm{font-size:1.5rem;}
.footer-logo .wm small{font-size:.42rem;}
.footer-col h6{font-family:var(--font-display);font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 1.1rem;}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;}
.footer-col a{font-size:.9rem;color:#b8b2a6;transition:.2s;}
.footer-col a:hover{color:var(--gold);}
.footer-contact{font-size:.88rem;line-height:1.8;color:#b8b2a6;}
.footer-contact a:hover{color:var(--gold);}
.footer-logo .logo-svg{color:#f4efe4;}
.footer-social{display:flex;gap:1rem;margin-top:1rem;}
.footer-social a{color:#cfc9bd;transition:.2s;display:inline-flex;}
.footer-social svg{width:20px;height:20px;}
.footer-social a:hover{color:var(--gold);}
.footer-col .btn-gold{color:#1a160d;}
.footer-col .btn-gold:hover{color:#fff;}
.footer-cta{display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem;}
.footer-phone{font-family:var(--font-display);font-weight:700;font-size:1.6rem;color:var(--gold);letter-spacing:.02em;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-block:20px;font-size:.78rem;color:#8b8579;position:relative;z-index:2;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;}
.footer-legal{display:flex;gap:1.1rem;flex-wrap:wrap;}
.footer-legal a{color:#8b8579;transition:.2s;}
.footer-legal a:hover{color:var(--gold);}
.footer-icon-stack svg{width:14px;height:14px;}
/* keep the decorative corner chevron from sitting under the footer legal text on narrow viewports */
@media(max-width:900px){.site-footer .chevrons{width:clamp(220px,46vw,320px);height:auto;opacity:.42;}}
@media(max-width:560px){.site-footer .chevrons{display:none;}}

/* sponsors */
.sponsors{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(20px,3vw,46px);}
.sponsors img{filter:grayscale(1);opacity:.6;transition:.25s;max-height:46px;width:auto;}
.sponsors img:hover{filter:grayscale(0);opacity:1;}

/* misc */
.divider{height:1px;background:var(--line);border:0;margin:0;}
.pill{display:inline-block;font-family:var(--font-display);font-weight:600;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark);background:rgba(232,184,78,.14);padding:.45em .9em;}
.tag-date{font-family:var(--font-display);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;color:var(--gold-dark);}
.blog-card .media{aspect-ratio:16/11;}
.blog-card h3{font-size:1.15rem;margin:1rem 0 .5rem;line-height:1.25;}
.blog-card .meta{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:var(--font-display);font-weight:600;}
.icon-tile{width:54px;height:54px;display:flex;align-items:center;justify-content:center;background:rgba(232,184,78,.14);color:var(--gold-dark);margin-bottom:1.1rem;}
.icon-tile.on-dark{background:rgba(232,184,78,.18);color:var(--gold);}
.prose p{margin-bottom:1.1em;color:var(--ink-soft);}
.prose h2{margin:1.8em 0 .6em;font-size:1.6rem;}
.prose h3{margin:1.4em 0 .5em;font-size:1.2rem;}
.prose ul{color:var(--ink-soft);padding-left:1.2em;}
.prose li{margin-bottom:.5em;}

/* ---------- Responsive ---------- */
@media(max-width:1180px){
  .nav-meta{display:none;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .footer-cta{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;}
}
@media(max-width:1024px){
  .main-nav,.utility-links{display:none;}
  /* nav-bar holds only the desktop nav + meta (both hidden here) — drop the empty strip */
  .nav-bar{display:none;}
  .hamburger{display:block;margin-left:0;}
  /* logo's margin-right:auto already pushes the controls right; group toggle + hamburger together */
  .utility-inner{gap:.5rem;}
  .mobile-only{display:block;}
  .desktop-only{display:none;}
  .split,.split.media-left,.carousel-slide{grid-template-columns:1fr;}
  .split.media-left .media{order:-1;}
  .ig-grid{grid-template-columns:repeat(3,1fr);}
  .ig-grid a:nth-child(n+4){display:none;}
  .carousel-arrow.prev{left:-4px;}
  .carousel-arrow.next{right:-4px;}
}
@media(max-width:860px){
  .faq-layout{grid-template-columns:1fr !important;}
}
@media(max-width:760px){
  body{font-size:16px;}
  .cols-3,.cols-4{grid-template-columns:1fr 1fr;}
  .info-box{grid-template-columns:1fr;gap:1.4rem;}
  .form-grid{grid-template-columns:1fr;}
  .carousel-slide{text-align:center;}
  .carousel-slide .media{max-width:280px;margin:0 auto;}
  /* immersive, better-paced heroes on phones */
  .hero{min-height:min(78svh,600px);padding-block:clamp(40px,9vh,72px);}
  .hero .eyebrow{margin-bottom:.85rem;font-size:.7rem;}
  .hero h1{font-size:clamp(2.4rem,9.5vw,3.1rem);line-height:1.08;}
  .hero p.lead{margin-top:1.1rem;max-width:36ch;}
  .hero-actions{margin-top:2rem;gap:.75rem;}
  /* keep the decorative chevron from crowding the CTAs */
  .hero-chevrons{width:300px;height:auto;right:-70px;bottom:-50px;opacity:.5;}
}
@media(max-width:640px){
  .press-row{grid-template-columns:1fr !important;gap:.4rem !important;}
  .press-row span:last-child{display:none;}
  /* bright show photos crop in tighter on phones — darken further so copy stays legible */
  .hero::after{background:linear-gradient(180deg,rgba(8,8,8,.56),rgba(8,8,8,.72));}
  /* long CTA labels must wrap instead of forcing horizontal overflow on phones */
  .btn{white-space:normal;text-align:center;}
  .btn-lg{padding:1em 1.6em;}
}
@media(max-width:540px){
  .cols-2,.cols-3,.cols-4{grid-template-columns:1fr;}
  .ig-grid{grid-template-columns:repeat(2,1fr);}
  .ig-grid a:nth-child(4){display:block;}
  .ig-grid a:nth-child(n+5){display:none;}
  .hero-actions .btn{width:100%;}
  .footer-top{grid-template-columns:1fr;}
  .utility-inner{min-height:52px;}
}

/* ============================================================
   Show-page components — countdown, map, guest, gallery
   ============================================================ */

/* big on-page countdown */
.cd-tiles{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(10px,1.8vw,18px);margin:2.2rem 0;}
.cd-cell{background:var(--surface);border:1px solid var(--line);min-width:clamp(74px,17vw,128px);padding:1.15rem .6rem;text-align:center;}
.cd-num{font-family:var(--font-display);font-weight:700;font-size:clamp(2.1rem,6vw,3.4rem);line-height:1;color:var(--gold-dark);letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.cd-unit{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.64rem;color:var(--muted);margin-top:.55rem;}
.bg-black .cd-cell,.bg-dark .cd-cell{background:rgba(255,255,255,.045);border-color:var(--line-dark);}
.bg-black .cd-unit,.bg-dark .cd-unit{color:#a59f93;}
/* big countdown numbers: bright on dark cells, deep on light cells */
.bg-black .cd-num,.bg-dark .cd-num,.bg-black .cd-live,.bg-dark .cd-live{color:var(--gold);}
.cd-live{font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--gold-dark);}

/* interactive map */
.map-wrap{position:relative;z-index:0;isolation:isolate;height:clamp(330px,44vw,470px);border:1px solid var(--line);overflow:hidden;background:#e8e4da;}
.map-wrap>div{height:100%;width:100%;}
.leaflet-container{font-family:var(--font-body);}
.map-dot{width:20px;height:20px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.4),0 0 0 rgba(232,184,78,.55);animation:mapPulse 2.1s infinite;cursor:pointer;}
@keyframes mapPulse{0%{box-shadow:0 1px 6px rgba(0,0,0,.4),0 0 0 0 rgba(232,184,78,.55);}70%{box-shadow:0 1px 6px rgba(0,0,0,.4),0 0 0 16px rgba(232,184,78,0);}100%{box-shadow:0 1px 6px rgba(0,0,0,.4),0 0 0 0 rgba(232,184,78,0);}}
.map-pop{text-align:center;font-family:var(--font-body);}
.map-pop b{font-family:var(--font-display);display:block;font-size:.96rem;color:#1a160d;margin-bottom:.15rem;}
.map-pop span{display:block;font-size:.82rem;color:#555;margin-bottom:.5rem;}
.map-pop a{color:var(--gold-dark);font-weight:700;text-transform:uppercase;font-size:.7rem;letter-spacing:.07em;}

/* placeholder tiles for media you'll add later */
.ph-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;
  background:var(--cream-2);border:1px dashed rgba(20,18,14,.2);text-align:center;padding:1.1rem;overflow:hidden;}
.ph-tile .ph-ico{width:34px;height:34px;color:var(--gold-dark);opacity:.85;}
.ph-tile .ph-cap{font-family:var(--font-display);font-weight:600;font-size:.78rem;letter-spacing:.03em;color:var(--ink-soft);}
.ph-tile .ph-file{font-size:.68rem;color:var(--muted-light);letter-spacing:.02em;}
.ph-tile.on-dark{background:rgba(255,255,255,.04);border-color:var(--line-dark);}
.ph-tile.on-dark .ph-ico{color:var(--gold);}
.ph-tile.on-dark .ph-cap{color:#e2dccf;}
.ph-tile.on-dark .ph-file{color:#857f73;}

/* gallery grid (square tiles, swap ph-tile -> img when media lands) */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.3vw,14px);}
.gallery-grid>*{aspect-ratio:1;width:100%;}
.gallery-grid img{object-fit:cover;}

/* YouTube facade (click-to-play, nothing loads until clicked) */
.yt{position:relative;aspect-ratio:16/9;background:#0a0a0a;overflow:hidden;cursor:pointer;border:1px solid var(--line-dark);}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .3s ease,transform .6s ease;}
.yt:hover img{opacity:.62;transform:scale(1.03);}
.yt .yt-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2;}
.yt .yt-play span{width:74px;height:74px;border-radius:50%;background:var(--gold);color:#1a160d;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(0,0,0,.45);transition:transform .2s ease;}
.yt:hover .yt-play span{transform:scale(1.08);}
.yt .yt-play svg{width:26px;height:26px;margin-left:4px;}
.yt .yt-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px 16px;color:#fff;font-family:var(--font-display);font-weight:600;font-size:.92rem;line-height:1.3;background:linear-gradient(transparent,rgba(0,0,0,.82));pointer-events:none;}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3;}
.yt:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.yt-v{aspect-ratio:9/16;}
.yt-v .yt-play span{width:58px;height:58px;}
.yt-v .yt-cap{font-size:.8rem;padding:11px 12px;}
.shorts-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:900px;margin:0 auto;}
@media(max-width:760px){.shorts-row{grid-template-columns:repeat(2,1fr);}}

/* video placeholder / embed */
.video-ph{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#211d16,#000);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;
  color:#cfc9bd;overflow:hidden;border:1px solid var(--line-dark);}
.video-ph .play{width:74px;height:74px;border-radius:50%;background:var(--gold);color:#1a160d;display:flex;align-items:center;justify-content:center;transition:.2s;}
.video-ph:hover .play{transform:scale(1.06);}
.video-ph .play svg{width:26px;height:26px;margin-left:4px;}
.video-ph .vcap{font-family:var(--font-display);font-weight:600;letter-spacing:.03em;font-size:.86rem;}
.video-ph .vfile{font-size:.72rem;color:#857f73;}

/* guest headliner feature */
.guest-photo{aspect-ratio:3/4;}
.guest .tag-date{margin:.5rem 0 1.3rem;}
.placeholder-note{display:inline-block;margin-top:1rem;font-size:.82rem;line-height:1.55;color:var(--gold-dark);background:rgba(232,184,78,.1);border:1px dashed var(--gold);padding:.7em 1em;}

@media(max-width:760px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .guest-photo{aspect-ratio:4/5;max-width:380px;}
}

/* ---------- Mobile menu drawer ---------- */
.mobile-menu{position:fixed;inset:0 0 0 auto;width:min(360px,86vw);background:var(--black-2);z-index:300;transform:translateX(100%);transition:transform .34s cubic-bezier(.33,1,.68,1);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.5rem 0 calc(3rem + env(safe-area-inset-bottom));box-shadow:-20px 0 60px rgba(0,0,0,.5);}
.mobile-menu.open{transform:translateX(0);}
/* staggered entrance — items ease in after the panel slides open */
.mobile-menu .mm-group,.mobile-menu .mm-utility{opacity:0;transform:translateX(20px);transition:opacity .45s ease,transform .45s cubic-bezier(.33,1,.68,1);}
.mobile-menu.open .mm-group,.mobile-menu.open .mm-utility{opacity:1;transform:translateX(0);}
.mobile-menu.open .mm-group:nth-child(2){transition-delay:.05s;}
.mobile-menu.open .mm-group:nth-child(3){transition-delay:.10s;}
.mobile-menu.open .mm-group:nth-child(4){transition-delay:.15s;}
.mobile-menu.open .mm-group:nth-child(5){transition-delay:.20s;}
.mobile-menu.open .mm-group:nth-child(6){transition-delay:.25s;}
.mobile-menu.open .mm-group:nth-child(7){transition-delay:.30s;}
.mobile-menu.open .mm-utility{transition-delay:.34s;}
.mm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:299;opacity:0;visibility:hidden;transition:opacity .34s ease,visibility .34s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);}
.mm-overlay.open{opacity:1;visibility:visible;}
@media(prefers-reduced-motion:reduce){
  .mobile-menu,.mobile-menu .mm-group,.mobile-menu .mm-utility,.mm-overlay,.countdown-bar,.site-header{transition-duration:.001s!important;}
  .hv1-cta,.hv2-cta,.hv3-cta{animation:none!important;box-shadow:0 12px 34px -10px rgba(232,184,78,.55);}
}
.mm-head{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:.5rem;}
.mm-close{background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;line-height:1;}
.mm-group{border-bottom:1px solid rgba(255,255,255,.07);}
.mm-toggle{width:100%;background:none;border:none;color:#e9e3d6;font-family:var(--font-display);font-weight:600;font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;}
.mm-toggle .pm{color:var(--gold);font-size:1.2rem;transition:.2s;}
.mm-group.open .mm-toggle .pm{transform:rotate(45deg);}
.mm-sub{max-height:0;overflow:hidden;transition:max-height .3s ease;background:rgba(0,0,0,.25);}
.mm-sub a{display:block;padding:.7rem 1.5rem .7rem 2.2rem;color:#bdb7ab;font-size:.9rem;}
.mm-sub a:hover{color:var(--gold);}
.mm-utility{padding:1.4rem 1.5rem;display:grid;gap:1rem;}
.mm-utility .btn{width:100%;}
.mm-utility .btn-outline{color:#e9e3d6;border-color:rgba(255,255,255,.35);}
.mm-utility .btn-outline:hover{color:#1a160d;border-color:var(--gold);}
.mm-utility .u-row{font-size:.9rem;color:#bdb7ab;display:flex;gap:.6rem;align-items:center;}
.mm-utility .u-row svg{width:17px;height:17px;flex:none;color:var(--gold);}
body.menu-open{overflow:hidden;}

/* ============================================================
   ALL SHOWS  (shows.html) — upcoming-show row cards
   ============================================================ */
.show-list{display:flex;flex-direction:column;gap:clamp(22px,3vw,40px);}
.show-row{
  display:grid;grid-template-columns:1.02fr 1fr;
  background:var(--surface);border:1px solid var(--line);
  box-shadow:var(--shadow-card);overflow:hidden;
  transition:transform .35s ease,box-shadow .35s ease;
}
.show-row:hover{transform:translateY(-5px);box-shadow:0 34px 64px -32px rgba(20,16,8,.55);}
.show-row.is-featured{border-color:var(--gold);}
.show-row__media{position:relative;min-height:360px;overflow:hidden;background:#ddd;}
.show-row__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.show-row:hover .show-row__media img{transform:scale(1.05);}
.show-row__media::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(14,13,11,0) 45%,rgba(14,13,11,.62));}
/* status badge over the image (top-left) */
.show-badge{position:absolute;top:16px;left:16px;z-index:3;display:inline-flex;align-items:center;gap:.5em;
  background:rgba(255,255,255,.94);color:#1a160d;font-family:var(--font-display);font-weight:700;
  font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:.5em .9em;}
.show-badge.next{background:var(--gold);}
.show-badge .dot{width:7px;height:7px;border-radius:50%;background:#1a160d;animation:pulse 1.8s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
/* days-away counter (bottom-left of image) */
.show-countdown{position:absolute;left:18px;bottom:16px;z-index:3;color:#fff;font-family:var(--font-display);line-height:1;}
.show-countdown b{display:block;font-size:2.1rem;font-weight:700;color:var(--gold);text-shadow:0 2px 12px rgba(0,0,0,.5);}
.show-countdown span{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;opacity:.92;}
.show-row__body{padding:clamp(26px,3vw,46px);display:flex;flex-direction:column;}
.show-row__city{font-family:var(--font-display);font-weight:600;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:.55rem;}
.show-row__title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.5rem,2.6vw,2.15rem);color:var(--ink);line-height:1.06;margin-bottom:1.1rem;}
.show-meta{display:grid;grid-template-columns:20px 1fr;gap:.5rem .8rem;font-size:.95rem;color:var(--ink-soft);margin-bottom:1.25rem;}
.show-meta svg{width:18px;height:18px;color:var(--gold-dark);margin-top:3px;}
.show-meta b{color:var(--ink);font-weight:600;}
.show-row__guest{display:inline-flex;align-items:center;gap:.8rem;margin-bottom:1.3rem;}
.show-row__guest img{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);flex:none;}
.show-row__guest .g-label{display:block;font-family:var(--font-display);font-weight:600;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);}
.show-row__guest .g-name{font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:1rem;}
.show-row__actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:.7rem;}
.show-row__actions .btn{font-size:.74rem;padding:.85em 1.5em;}
/* Even 2x2 grid of equal action boxes (homepage next-show card) */
.show-row__actions--grid{display:grid;grid-template-columns:1fr 1fr;}
.show-row__actions--grid .btn{width:100%;}

/* ============================================================
   SHOW ARCHIVE  (show-archive.html) — past-show recap cards
   ============================================================ */
.archive-list{display:flex;flex-direction:column;gap:clamp(28px,4vw,56px);}
.archive-card{
  display:grid;grid-template-columns:1fr 1.08fr;
  background:var(--black-2);color:#efe9dd;overflow:hidden;
  border:1px solid rgba(255,255,255,.09);position:relative;
}
.archive-card__media{position:relative;min-height:330px;overflow:hidden;background:#000;}
.archive-card__media>img{width:100%;height:100%;object-fit:cover;opacity:.92;transition:transform .7s ease;}
.archive-card:hover .archive-card__media>img{transform:scale(1.05);}
.archive-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 40%,rgba(0,0,0,.6));}
/* year ribbon */
.archive-year{position:absolute;top:0;left:0;z-index:3;background:var(--gold);color:#1a160d;
  font-family:var(--font-display);font-weight:700;font-size:.92rem;letter-spacing:.1em;
  padding:.6em 1.1em .6em .9em;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);}
.archive-body{padding:clamp(26px,3vw,46px);display:flex;flex-direction:column;}
.archive-body .eyebrow{margin-bottom:.7rem;}
.archive-title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.45rem,2.4vw,2rem);color:#fff;line-height:1.08;margin-bottom:.5rem;}
.archive-venue{font-size:.9rem;color:#a9a399;margin-bottom:1.1rem;}
.archive-body p{color:#cfc9bd;font-size:.96rem;}
/* celebrity medallion strip */
.archive-guest{display:flex;align-items:center;gap:.85rem;background:rgba(232,184,78,.1);
  border:1px solid rgba(232,184,78,.3);padding:.7rem .9rem;margin:.4rem 0 1.3rem;}
.archive-guest img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);flex:none;}
.archive-guest .ag-ico{width:54px;height:54px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:rgba(232,184,78,.18);color:var(--gold);}
.archive-guest .ag-ico svg{width:26px;height:26px;}
.archive-guest .ag-label{display:block;font-family:var(--font-display);font-weight:600;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.archive-guest .ag-name{font-family:var(--font-display);font-weight:600;color:#fff;font-size:1.05rem;}
.archive-guest .ag-sub{font-size:.78rem;color:#a9a399;}
/* thumbnail strip */
.archive-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:.2rem 0 1.4rem;}
.archive-thumbs a{position:relative;aspect-ratio:1;overflow:hidden;display:block;}
.archive-thumbs img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,opacity .3s;}
.archive-thumbs a:hover img{transform:scale(1.08);opacity:.85;}
.archive-thumbs .more-count{display:flex;align-items:center;justify-content:center;background:rgba(232,184,78,.15);
  color:var(--gold);font-family:var(--font-display);font-weight:700;font-size:.82rem;border:1px solid rgba(232,184,78,.3);}
.archive-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:.7rem;}
.archive-actions .btn{font-size:.74rem;padding:.85em 1.5em;}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.4);color:#fff;}
.btn-outline-light:hover{background:var(--gold);border-color:var(--gold);color:#1a160d;}

/* responsive: stack media over body on tablet/phone */
@media(max-width:860px){
  .show-row,.archive-card{grid-template-columns:1fr;}
  .show-row__media,.archive-card__media{min-height:230px;}
  .archive-thumbs{grid-template-columns:repeat(6,1fr);}
}
@media(max-width:480px){
  .archive-thumbs{grid-template-columns:repeat(4,1fr);}
}

/* ============================================================
   DEVTOOLS  +  HOMEPAGE HERO/HEADER VARIANTS  (homepage only)
   All scoped under body[data-hero-variant] / body[data-header-variant]
   so other pages are completely unaffected.
   ============================================================ */

/* ---- variant switching ---- */
.hero-variant{display:none;}
body[data-hero-variant="0"] .hero-variant[data-hv="0"]{display:flex;}
body[data-hero-variant="1"] .hero-variant[data-hv="1"]{display:flex;}
body[data-hero-variant="2"] .hero-variant[data-hv="2"]{display:block;}
body[data-hero-variant="3"] .hero-variant[data-hv="3"]{display:flex;}
body[data-hero-variant="4"] .hero-variant[data-hv="4"]{display:flex;}

/* ---- shared reveal entrance (replays each time a variant is shown) ---- */
@keyframes hsReveal{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero-variant .reveal{opacity:0;animation:hsReveal .8s cubic-bezier(.2,.75,.25,1) forwards;}
.hero-variant .reveal:nth-child(1){animation-delay:.10s}
.hero-variant .reveal:nth-child(2){animation-delay:.20s}
.hero-variant .reveal:nth-child(3){animation-delay:.32s}
.hero-variant .reveal:nth-child(4){animation-delay:.44s}
.hero-variant .reveal:nth-child(5){animation-delay:.56s}
.hero-variant .reveal:nth-child(6){animation-delay:.68s}

/* slow cinematic background zoom */
@keyframes hsKenBurns{from{transform:scale(1.001)}to{transform:scale(1.12)}}
.hero-kenburns{animation:hsKenBurns 22s ease-out both;transform-origin:60% 40%;}

/* ============================================================
   HERO V1 — BIG BOLD COUNTDOWN / FOMO
   ============================================================ */
.hero-v1{min-height:max(480px,calc(100svh - var(--hs-header-h,108px)));text-align:left;padding-block:clamp(14px,2.4vh,38px);}
.hero-v1::after{background:
  radial-gradient(120% 90% at 18% 30%,rgba(8,7,5,.35),rgba(8,7,5,.78) 70%),
  linear-gradient(180deg,rgba(8,7,5,.5),rgba(8,7,5,.72));}
.hero-v1-grain{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:overlay;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:3px 3px;}
.hv1-inner{position:relative;z-index:3;max-width:780px;text-align:left;margin:0;}
.hv1-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:600;
  font-size:clamp(.66rem,1.4vw,.8rem);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);
  background:rgba(189,158,95,.14);border:1px solid rgba(232,184,78,.34);padding:.55em 1em;backdrop-filter:blur(4px);}
.hv1-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:#5fd07a;box-shadow:0 0 0 0 rgba(95,208,122,.6);animation:hsPulse 2s infinite;}
@keyframes hsPulse{0%{box-shadow:0 0 0 0 rgba(95,208,122,.55)}70%{box-shadow:0 0 0 10px rgba(95,208,122,0)}100%{box-shadow:0 0 0 0 rgba(95,208,122,0)}}
.hv1-title{font-family:var(--font-display);font-weight:700;line-height:.98;letter-spacing:-.02em;
  font-size:clamp(2.3rem,5.4vw,4.3rem);margin:clamp(.5rem,1.2vh,1rem) 0 0;text-shadow:0 4px 40px rgba(0,0,0,.5);text-wrap:balance;}
.hv1-title em{font-style:italic;color:var(--gold);position:relative;}
.hv1-sub{color:rgba(255,255,255,.92);max-width:54ch;margin:clamp(.55rem,1.3vh,1.1rem) 0 0;font-size:clamp(1rem,1.5vw,1.18rem);
  line-height:1.5;text-shadow:0 1px 12px rgba(0,0,0,.6);}
.hv1-countdown{display:flex;gap:.6rem;margin:clamp(1rem,2vh,1.7rem) 0 0;flex-wrap:wrap;}
.hv1-cell{min-width:74px;padding:.7rem .5rem;text-align:center;background:rgba(30,24,13,.58);
  border:1px solid rgba(232,184,78,.55);backdrop-filter:blur(6px);
  box-shadow:0 0 26px -6px rgba(232,184,78,.45),inset 0 0 0 1px rgba(255,220,140,.12);}
.hv1-cell b{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(1.7rem,4vw,2.5rem);
  line-height:1;color:#ffe09a;font-variant-numeric:tabular-nums;
  text-shadow:0 0 18px rgba(255,200,90,.7),0 0 4px rgba(255,225,150,.6);}
.hv1-cell span{display:block;margin-top:.35rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);}
.hero-v1 .hero-actions{justify-content:flex-start;margin-top:clamp(1rem,2vh,1.9rem);}
/* slow, subtle "breathing" glow shared by every hero ticket CTA */
.hv1-cta,.hv2-cta,.hv3-cta{will-change:box-shadow;animation:hsCtaGlow 3.8s ease-in-out infinite;}
@keyframes hsCtaGlow{
  0%,100%{box-shadow:0 10px 30px -12px rgba(232,184,78,.45),0 0 0 0 rgba(232,184,78,0);}
  50%{box-shadow:0 14px 40px -8px rgba(232,184,78,.7),0 0 24px 2px rgba(232,184,78,.35);}
}
.hv1-stats{list-style:none;display:flex;gap:clamp(1.3rem,4vw,3rem);margin:clamp(1rem,2vh,1.9rem) 0 0;padding:clamp(.8rem,1.5vh,1.4rem) 0 0;border-top:1px solid rgba(255,255,255,.16);flex-wrap:wrap;}
.hv1-stats b{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,3.4vw,2.2rem);color:var(--gold);line-height:1;}
.hv1-stats span{display:block;margin-top:.3rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.8);}

/* ============================================================
   HERO V2 — EDITORIAL SPLIT / MAGAZINE
   ============================================================ */
.hero-v2{position:relative;background:var(--charcoal);color:#fff;overflow:hidden;}
html[data-theme="light"] .hero-v2{background:var(--cream);color:var(--ink);}
.hv2-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:clamp(520px,76svh,760px);}
.hv2-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;
  padding:clamp(40px,6vw,84px) clamp(24px,5vw,72px);max-width:760px;margin-left:auto;width:100%;}
.hv2-copy .eyebrow{color:var(--gold-dark);}
.hv2-title{font-family:var(--font-display);font-weight:700;line-height:.98;letter-spacing:-.02em;
  font-size:clamp(2.6rem,5.6vw,4.6rem);margin:1rem 0 0;text-wrap:balance;}
.hv2-date{font-family:var(--font-display);font-weight:600;color:var(--gold-dark);margin:1.1rem 0 0;
  font-size:clamp(.86rem,1.5vw,1rem);letter-spacing:.04em;}
.hv2-lead{margin:1.1rem 0 0;max-width:48ch;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.6;opacity:.9;}
.hero-v2 .hero-actions{margin-top:2rem;}
.hv2-marquee{margin-top:2.4rem;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.hv2-track{display:inline-flex;align-items:center;gap:1rem;white-space:nowrap;animation:hsMarquee 26s linear infinite;
  font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--gold-dark);}
.hv2-track i{color:currentColor;opacity:.4;font-style:normal;}
@keyframes hsMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hv2-media{position:relative;}
.hv2-img{position:absolute;inset:0;background-size:cover;background-position:center;}
.hv2-img-a{clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);}
.hv2-img-b{clip-path:polygon(0 0,40% 0,18% 100%,0 100%);filter:saturate(1.05);}
.hv2-media::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,var(--charcoal) 0%,rgba(30,27,22,0) 26%);}
html[data-theme="light"] .hv2-media::after{background:linear-gradient(105deg,var(--cream) 0%,rgba(245,242,234,0) 26%);}
.hv2-chevrons{position:absolute;right:24px;bottom:18px;z-index:2;opacity:.9;}

/* ============================================================
   HERO V3 — CINEMATIC IMMERSIVE
   ============================================================ */
.hero-v3{min-height:max(520px,calc(100svh - var(--hs-header-h,108px)));text-align:center;justify-content:center;}
.hero-v3::after{background:linear-gradient(180deg,rgba(6,6,8,.5),rgba(6,6,8,.4) 40%,rgba(6,6,8,.82));}
/* slideshow layers (cross-fade + ken burns on the active slide) */
.hv3-slides{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hv3-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.2s ease;}
.hv3-slide.active{opacity:1;animation:hsKenBurns 8s ease-out both;}
/* messages overlay-stacked via grid so the tallest defines the height */
.hv3-messages{display:grid;width:100%;}
.hv3-msg{grid-area:1/1;display:flex;flex-direction:column;align-items:center;opacity:0;transform:translateY(16px);
  transition:opacity .8s ease,transform .8s ease;pointer-events:none;}
.hv3-msg.active{opacity:1;transform:none;pointer-events:auto;}
/* slide navigation dots */
.hv3-dots{display:flex;gap:.55rem;justify-content:center;margin-top:1.6rem;}
.hv3-dots button{width:30px;height:4px;border:none;padding:0;background:rgba(255,255,255,.35);cursor:pointer;transition:.25s;}
.hv3-dots button:hover{background:rgba(255,255,255,.65);}
.hv3-dots button.active{background:var(--gold);width:46px;}
.hv3-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 120% at 50% 38%,transparent 45%,rgba(0,0,0,.6) 100%);}
.hv3-inner{position:relative;z-index:3;text-align:center;display:flex;flex-direction:column;align-items:center;}
.hv3-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:600;
  font-size:clamp(.68rem,1.5vw,.84rem);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-soft);}
.hv3-eyebrow .pulse{width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(232,184,78,.6);animation:hsPulse 2.2s infinite;}
.hv3-title{font-family:var(--font-display);font-weight:700;line-height:.96;letter-spacing:-.025em;
  font-size:clamp(2.7rem,7.6vw,6rem);margin:clamp(.7rem,1.6vh,1.2rem) 0 0;text-shadow:0 6px 50px rgba(0,0,0,.55);text-wrap:balance;}
.hv3-sub{color:rgba(255,255,255,.92);max-width:46ch;margin:clamp(.8rem,1.6vh,1.5rem) auto 0;font-size:clamp(1.02rem,1.6vw,1.26rem);
  line-height:1.5;text-shadow:0 1px 14px rgba(0,0,0,.6);}
.hero-v3 .hero-actions{justify-content:center;margin-top:clamp(1.2rem,2.4vh,2.4rem);}
.hv3-dots{margin-top:clamp(.9rem,1.6vh,1.6rem);}
.hv3-scroll{margin-top:clamp(1rem,2.2vh,2.6rem);display:inline-flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,.78);
  font-family:var(--font-display);font-weight:600;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;transition:color .2s;}
.hv3-scroll:hover{color:var(--gold);}
.hv3-scroll svg{animation:hsBob 1.8s ease-in-out infinite;}
@keyframes hsBob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
.hv3-ticker{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:.8rem 0;overflow:hidden;
  background:linear-gradient(180deg,transparent,rgba(8,7,5,.55));border-top:1px solid rgba(232,184,78,.25);}
.hv3-ticker-track{display:inline-flex;align-items:center;gap:1.4rem;white-space:nowrap;animation:hsMarquee 30s linear infinite;
  font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:.82rem;color:rgba(255,255,255,.9);}
.hv3-ticker-track i{color:var(--gold);font-style:normal;}

/* ============================================================
   FORT LAUDERDALE PAGE — ALT HERO VARIANTS (dev previewer)
   5 distinct heroes toggled by body[data-hero-variant].
   Variant 0 = the original hero (.ftl-original), always on by
   default; hidden only when an alternate (1–5) is selected.
   ============================================================ */
.ftl-hero{display:none;position:relative;overflow:hidden;color:#fff;}
body[data-hero-variant="1"] .ftl-hero[data-hv="1"]{display:flex;}
body[data-hero-variant="2"] .ftl-hero[data-hv="2"]{display:flex;}
body[data-hero-variant="3"] .ftl-hero[data-hv="3"]{display:block;}
body[data-hero-variant="4"] .ftl-hero[data-hv="4"]{display:flex;}
body[data-hero-variant="5"] .ftl-hero[data-hv="5"]{display:flex;align-items:center;}
body[data-hero-variant="1"] .ftl-original,
body[data-hero-variant="2"] .ftl-original,
body[data-hero-variant="3"] .ftl-original,
body[data-hero-variant="4"] .ftl-original,
body[data-hero-variant="5"] .ftl-original{display:none;}
/* staggered entrance (reuses the homepage hsReveal keyframes) */
.ftl-hero .reveal{opacity:0;animation:hsReveal .8s cubic-bezier(.2,.75,.25,1) var(--d,.1s) forwards;}

/* ---- V1 — CINEMATIC VIDEO (also reused as homepage hero variant 4) ---- */
.fh1{position:relative;overflow:hidden;color:#fff;
  min-height:max(540px,calc(100svh - var(--hs-header-h,108px)));align-items:center;text-align:left;
  padding-block:clamp(40px,7vh,90px);}
.fh1-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.fh1-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:
  linear-gradient(180deg,rgba(6,6,8,.18),rgba(6,6,8,.34) 45%,rgba(6,6,8,.9)),
  radial-gradient(110% 80% at 15% 90%,rgba(6,6,8,.7),transparent 60%);}
.fh1-inner{position:relative;z-index:3;max-width:820px;}
.fh1-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:600;
  font-size:clamp(.66rem,1.4vw,.8rem);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);}
.fh1-eyebrow .pulse{width:9px;height:9px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 0 rgba(232,184,78,.6);animation:hsPulse 2.2s infinite;}
.fh1-title{font-family:var(--font-display);font-weight:700;line-height:.96;letter-spacing:-.025em;
  font-size:clamp(2.5rem,6.4vw,5.2rem);margin:clamp(.7rem,1.6vh,1.1rem) 0 0;text-shadow:0 6px 44px rgba(0,0,0,.55);text-wrap:balance;}
.fh1-title em{font-style:italic;color:var(--gold);}
.fh1-sub{color:rgba(255,255,255,.92);max-width:50ch;margin:clamp(.7rem,1.4vh,1.1rem) 0 0;
  font-size:clamp(1.02rem,1.5vw,1.22rem);line-height:1.5;text-shadow:0 1px 12px rgba(0,0,0,.6);}
.fh1-cta-row{display:flex;align-items:center;gap:clamp(1rem,3vw,2rem);margin-top:clamp(1.2rem,2.4vh,2rem);flex-wrap:wrap;}
.fh1-cta{animation:hsCtaGlow 3.8s ease-in-out infinite;}
.fh1-play{display:inline-flex;align-items:center;gap:.85rem;color:#fff;}
.fh1-play-ic{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;flex:none;
  border:1.5px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08);backdrop-filter:blur(4px);transition:.25s;}
.fh1-play:hover .fh1-play-ic{background:var(--gold);border-color:var(--gold);color:#1a160d;transform:scale(1.06);}
.fh1-play-ic svg{width:18px;height:18px;margin-left:3px;}
.fh1-play-tx b{display:block;font-family:var(--font-display);font-weight:600;font-size:.96rem;letter-spacing:.01em;}
.fh1-play-tx i{display:block;font-style:normal;font-size:.74rem;color:rgba(255,255,255,.7);margin-top:.15rem;}
.fh1-micro{margin-top:clamp(.9rem,1.8vh,1.4rem);font-size:.8rem;letter-spacing:.06em;color:rgba(255,255,255,.72);}
/* category ticker pinned to the bottom (reused from variant 3 / hv3-ticker) */
.fh1-ticker{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:.8rem 0;overflow:hidden;
  background:linear-gradient(180deg,transparent,rgba(8,7,5,.55));border-top:1px solid rgba(232,184,78,.25);}
.fh1-ticker-track{display:inline-flex;align-items:center;gap:1.4rem;white-space:nowrap;animation:hsMarquee 30s linear infinite;
  font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:.82rem;color:rgba(255,255,255,.9);}
.fh1-ticker-track i{color:var(--gold);font-style:normal;}
/* homepage variant 4 only (FTL page's .fh1 has no ticker): reserve room so the
   vertically-centered copy clears the pinned ticker on short/mobile viewports */
.hero-variant.fh1{padding-bottom:calc(clamp(40px,7vh,90px) + 3.4rem);}

/* ---- V2 — CINEMATIC SLIDESHOW (cross-fade + ken burns) ---- */
.fh2{min-height:max(540px,calc(100svh - var(--hs-header-h,108px)));align-items:flex-end;}
.fh2-slides{position:absolute;inset:0;z-index:0;overflow:hidden;}
.fh2-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.2s ease;}
.fh2-slide.active{opacity:1;animation:hsKenBurns 8s ease-out both;}
.fh2-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,6,8,.15),rgba(6,6,8,.2) 50%,rgba(6,6,8,.86));}
.fh2-inner{position:relative;z-index:3;width:100%;display:flex;flex-direction:column;align-items:flex-start;
  padding-bottom:clamp(28px,5vh,60px);}
.fh2-lower{max-width:760px;}
.fh2-kicker{font-family:var(--font-display);font-weight:600;font-size:clamp(.66rem,1.4vw,.8rem);
  letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft);}
.fh2-title{font-family:var(--font-display);font-weight:700;line-height:.98;letter-spacing:-.02em;
  font-size:clamp(2.4rem,6vw,5rem);margin:.7rem 0 0;text-shadow:0 6px 44px rgba(0,0,0,.55);text-wrap:balance;}
.fh2-sub{color:rgba(255,255,255,.9);max-width:52ch;margin:1rem 0 0;font-size:clamp(1rem,1.5vw,1.18rem);
  line-height:1.5;text-shadow:0 1px 12px rgba(0,0,0,.6);}
.fh2-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:clamp(1.2rem,2.4vh,2rem);}
.fh2-actions .btn-gold{animation:hsCtaGlow 3.8s ease-in-out infinite;}
.fh2-dots{display:flex;gap:.55rem;margin-top:clamp(1.2rem,2.4vh,2rem);}
.fh2-dots button{width:30px;height:4px;border:none;padding:0;background:rgba(255,255,255,.35);cursor:pointer;transition:.25s;}
.fh2-dots button:hover{background:rgba(255,255,255,.65);}
.fh2-dots button.active{background:var(--gold);width:46px;}

/* ---- V3 — EDITORIAL SPLIT / MAGAZINE ---- */
.fh3{background:var(--cream);color:var(--ink);}
.fh3-grid{display:grid;grid-template-columns:1fr 1fr;min-height:clamp(540px,82svh,820px);}
.fh3-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(40px,6vw,88px) clamp(24px,5vw,76px);max-width:720px;margin-left:auto;width:100%;}
.fh3-issue{font-family:var(--font-display);font-weight:600;font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold-dark);padding-bottom:.9rem;border-bottom:1px solid rgba(168,124,26,.4);}
.fh3-title{font-family:var(--font-display);font-weight:700;line-height:.95;letter-spacing:-.025em;
  font-size:clamp(2.6rem,5.6vw,4.8rem);margin:1.4rem 0 0;text-wrap:balance;}
.fh3-deck{margin:1.2rem 0 0;max-width:46ch;font-size:clamp(1.02rem,1.4vw,1.16rem);line-height:1.6;color:var(--ink-soft);}
.fh3-cta{display:flex;align-items:center;gap:1.6rem;margin-top:2rem;flex-wrap:wrap;}
.fh3-link{font-family:var(--font-display);font-weight:600;font-size:.92rem;color:var(--ink);
  border-bottom:2px solid var(--gold);padding-bottom:2px;transition:.2s;}
.fh3-link:hover{color:var(--gold-dark);border-color:var(--gold-dark);}
.fh3-foot{margin-top:1.6rem;font-size:.86rem;color:var(--ink-soft);}
.fh3-foot a{color:var(--gold-dark);font-weight:600;}
.fh3-gallery{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:0;}
.fh3-fig{background-size:cover;background-position:center;margin:0;}
.fh3-fig-a{grid-row:1/3;}
.fh3-fig-b{grid-column:2;grid-row:1;}
.fh3-fig-c{grid-column:2;grid-row:2;}

/* ---- V4 — URGENCY / FOMO COUNTDOWN ---- */
.fh4{min-height:max(540px,calc(100svh - var(--hs-header-h,108px)));align-items:center;text-align:center;
  justify-content:center;padding-block:clamp(40px,7vh,90px);}
.fh4-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:
  radial-gradient(120% 100% at 50% 30%,rgba(8,7,5,.42),rgba(8,7,5,.84) 75%),
  linear-gradient(180deg,rgba(8,7,5,.5),rgba(8,7,5,.74));}
.fh4-inner{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;max-width:840px;margin:0 auto;}
.fh4-flag{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:700;
  font-size:clamp(.7rem,1.5vw,.86rem);letter-spacing:.18em;text-transform:uppercase;color:#fff;
  background:rgba(214,73,53,.92);padding:.6em 1.15em;box-shadow:0 8px 26px -10px rgba(214,73,53,.8);}
.fh4-blink{width:9px;height:9px;border-radius:50%;background:#fff;animation:fhBlink 1.1s steps(1) infinite;}
@keyframes fhBlink{0%,49%{opacity:1}50%,100%{opacity:.2}}
.fh4-title{font-family:var(--font-display);font-weight:700;line-height:.96;letter-spacing:-.02em;
  font-size:clamp(2.7rem,7vw,5.6rem);margin:clamp(.8rem,1.8vh,1.3rem) 0 0;text-shadow:0 6px 44px rgba(0,0,0,.55);text-wrap:balance;}
.fh4-countdown{display:flex;gap:.7rem;margin:clamp(1.1rem,2.4vh,1.9rem) 0 0;flex-wrap:wrap;justify-content:center;}
.fh4-cell{min-width:84px;padding:.85rem .6rem;text-align:center;background:rgba(30,24,13,.55);
  border:1px solid rgba(232,184,78,.55);backdrop-filter:blur(6px);
  box-shadow:0 0 28px -8px rgba(232,184,78,.5),inset 0 0 0 1px rgba(255,220,140,.12);}
.fh4-cell b{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(1.9rem,4.4vw,2.8rem);
  line-height:1;color:#ffe09a;font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(255,200,90,.7);}
.fh4-cell span{display:block;margin-top:.4rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);}
.fh4-bar{width:min(420px,82vw);height:9px;margin:clamp(1.1rem,2.2vh,1.7rem) 0 0;border-radius:99px;overflow:hidden;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);}
.fh4-bar span{display:block;height:100%;width:84%;border-radius:99px;
  background:linear-gradient(90deg,var(--gold-dark),var(--gold) 60%,var(--gold-2));
  box-shadow:0 0 16px rgba(232,184,78,.6);}
.fh4-scarcity{margin:.9rem 0 0;font-size:.86rem;letter-spacing:.04em;color:rgba(255,255,255,.82);}
.fh4-cta{display:flex;flex-direction:column;align-items:center;gap:.7rem;margin-top:clamp(1.2rem,2.4vh,1.9rem);}
.fh4-buy{padding:1.25em 3.2em;font-size:1rem;animation:hsCtaGlow 2.6s ease-in-out infinite;}
.fh4-cal{font-family:var(--font-display);font-weight:600;font-size:.82rem;letter-spacing:.04em;color:rgba(255,255,255,.78);transition:.2s;}
.fh4-cal:hover{color:var(--gold);}

/* ---- V5 — GLASS MOSAIC (photo grid + frosted CTA card) ---- */
.fh5{min-height:max(560px,calc(100svh - var(--hs-header-h,108px)));}
.fh5-mosaic{position:absolute;inset:0;z-index:0;display:grid;
  grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);}
.fh5-mosaic span{background-size:cover;background-position:center;}
.fh5-tint{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,7,5,.55),rgba(8,7,5,.66));}
.fh5-inner{position:relative;z-index:3;width:100%;display:flex;justify-content:center;
  padding-block:clamp(40px,7vh,80px);}
.fh5-card{width:min(640px,100%);text-align:center;padding:clamp(28px,4vw,52px);
  background:rgba(20,17,12,.55);border:1px solid rgba(232,184,78,.28);
  backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.8);}
.fh5-eyebrow{font-family:var(--font-display);font-weight:600;font-size:.7rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold-soft);}
.fh5-title{font-family:var(--font-display);font-weight:700;line-height:.98;letter-spacing:-.02em;
  font-size:clamp(2.1rem,4.6vw,3.4rem);margin:.8rem 0 0;text-wrap:balance;}
.fh5-date{margin:.9rem 0 0;font-family:var(--font-display);font-weight:600;color:var(--gold-soft);
  font-size:.92rem;letter-spacing:.03em;}
.fh5-actions{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-top:1.6rem;}
.fh5-actions .btn-outline-dark{border-color:rgba(255,255,255,.5);color:#fff;}
.fh5-actions .btn-outline-dark:hover{background:#fff;color:#1a160d;border-color:#fff;}
.fh5-trust{list-style:none;display:flex;justify-content:center;gap:clamp(1.4rem,5vw,3rem);
  margin:1.8rem 0 0;padding:1.4rem 0 0;border-top:1px solid rgba(255,255,255,.16);}
.fh5-trust b{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,3vw,1.9rem);color:var(--gold);line-height:1;}
.fh5-trust span{display:block;margin-top:.3rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78);}
.fh5-group{margin:1.5rem 0 0;font-size:.84rem;color:rgba(255,255,255,.74);}
.fh5-group a{color:var(--gold);font-weight:600;}

/* ---- responsive: collapse the split / mosaic on small screens ---- */
@media (max-width:760px){
  .fh3-grid{grid-template-columns:1fr;}
  .fh3-gallery{grid-template-rows:repeat(2,minmax(140px,30vh));order:-1;}
  .fh3-copy{margin-left:0;padding-block:clamp(36px,8vw,56px);}
  .fh1,.fh2,.fh4,.fh5{min-height:max(520px,calc(100svh - var(--hs-header-h,84px)));}
  .fh1-cta-row{gap:1.1rem;}
  .fh1-cta,.fh2-actions .btn,.fh4-buy,.fh5-actions .btn{width:100%;}
  .fh1-play{width:100%;}
  .fh5-mosaic{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,1fr);}
}
@media (prefers-reduced-motion:reduce){
  .ftl-hero .reveal{animation-duration:.001s;}
  .fh2-slide.active{animation:none;}
  .fh1-cta,.fh2-actions .btn-gold,.fh4-buy{animation:none;}
}

/* ============================================================
   HEADER VARIANTS  (homepage only, via body[data-header-variant])
   Each is a structural redesign, not just a recolor.
   ============================================================ */

/* ---- V1 — FLOATING GLASS OVERLAY (transparent over hero → glass on scroll) ---- */
body[data-header-variant="1"]{--header-text:#ffffff;--header-muted:#ece3cf;--logo-color:#ffffff;
  --header-toggle-border:rgba(255,255,255,.45);--header-dropdown-bg:#15120d;--header-border:rgba(255,255,255,.16);}
body[data-header-variant="1"] .site-header{position:fixed;top:0;left:0;right:0;width:100%;
  background:linear-gradient(180deg,rgba(8,7,5,.62),rgba(8,7,5,.12) 70%,transparent);
  transition:background .35s ease,backdrop-filter .35s ease,box-shadow .35s ease;}
body[data-header-variant="1"] .utility-bar,
body[data-header-variant="1"] .nav-bar{border-bottom:none;background:transparent;}
body[data-header-variant="1"] .utility-inner{min-height:64px;}
body[data-header-variant="1"] .countdown-bar{display:none;}
body[data-header-variant="1"] .nav-meta{color:var(--gold-soft);}
body[data-header-variant="1"] .nav-meta span{color:rgba(255,255,255,.55);}
/* condense + solid glass once the page scrolls under it */
body[data-header-variant="1"] .site-header.scrolled{
  background:rgba(13,12,10,.74);backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35);
  box-shadow:0 14px 34px -18px rgba(0,0,0,.8);border-bottom:1px solid rgba(232,184,78,.28);}
body[data-header-variant="1"] .site-header.scrolled .nav-bar{border-top:1px solid rgba(255,255,255,.08);}

/* ---- V2 — GRAND CENTERED MASTHEAD (big centered logo, split utilities, centered nav) ---- */
body[data-header-variant="2"] .utility-inner{justify-content:flex-end;position:relative;gap:.85rem;min-height:90px;}
body[data-header-variant="2"] .utility-inner .logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;}
body[data-header-variant="2"] .utility-inner .logo-svg{height:58px;}
body[data-header-variant="2"] .utility-links{position:absolute;left:0;top:50%;transform:translateY(-50%);margin:0;}
body[data-header-variant="2"] .nav-bar{border-top:1px solid var(--header-border);}
body[data-header-variant="2"] .nav-inner{justify-content:center;min-height:60px;}
body[data-header-variant="2"] .main-nav{gap:.1rem;height:60px;}
body[data-header-variant="2"] .nav-meta{display:none;}
body[data-header-variant="2"] .nav-item>a{font-size:.82rem;letter-spacing:.18em;padding:0 1.35rem;position:relative;}
body[data-header-variant="2"] .nav-item>a::after{content:"";position:absolute;left:50%;bottom:14px;width:0;height:2px;
  background:var(--gold);transform:translateX(-50%);transition:width .25s ease;}
body[data-header-variant="2"] .nav-item:hover>a::after{width:calc(100% - 2.7rem);}
body[data-header-variant="2"] .utility-bar .btn{padding:.9em 1.7em;font-size:.74rem;letter-spacing:.14em;}

/* ---- V3 — MINIMAL MENU (no visible nav on desktop; icon opens the slide-in panel) ---- */
body[data-header-variant="3"] .site-header{border-top:4px solid var(--gold);}
body[data-header-variant="3"] .nav-bar{display:none;}
body[data-header-variant="3"] .utility-links,
body[data-header-variant="3"] .search-btn{display:none;}
body[data-header-variant="3"] .utility-inner{min-height:78px;gap:1.1rem;}
body[data-header-variant="3"] .utility-inner .logo-svg{height:46px;}
body[data-header-variant="3"] .utility-bar .btn{font-size:.74rem;letter-spacing:.14em;padding:.9em 1.7em;}
@media(min-width:1025px){
  body[data-header-variant="3"] .hamburger{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-left:0;
    width:50px;height:46px;padding:0;border:1px solid var(--header-border);transition:border-color .2s,background .2s;}
  body[data-header-variant="3"] .hamburger:hover{border-color:var(--gold);background:rgba(189,158,95,.08);}
  body[data-header-variant="3"] .hamburger span{width:22px;}
}

/* ---- V4 — SINGLE ROW (everything in one bar; phone removed; inquiry = side tab) ---- */
/* flatten the two stacked bars into one flex row via display:contents */
body[data-header-variant="4"] .site-header{display:flex;align-items:center;gap:1rem;
  padding-inline:clamp(16px,3vw,44px);min-height:78px;border-bottom:1px solid var(--header-border);}
body[data-header-variant="4"] .nav-item>a{padding:0 .82rem;font-size:.72rem;letter-spacing:.08em;}
body[data-header-variant="4"] .nav-meta{font-size:.7rem;}
body[data-header-variant="4"] .utility-bar,
body[data-header-variant="4"] .nav-bar,
body[data-header-variant="4"] .utility-inner,
body[data-header-variant="4"] .nav-inner{display:contents;}
body[data-header-variant="4"] .countdown-bar,
body[data-header-variant="4"] .utility-links,
body[data-header-variant="4"] .search-btn{display:none;}
/* logo: left, a touch bigger */
body[data-header-variant="4"] .utility-inner .logo{margin:0;order:0;}
body[data-header-variant="4"] .logo-svg{height:48px;}
/* nav next to the logo */
body[data-header-variant="4"] .main-nav{order:1;height:78px;margin-left:.6rem;}
/* next-show info pushed to the right, then the controls */
body[data-header-variant="4"] .nav-meta{order:2;margin-left:auto;}
body[data-header-variant="4"] .theme-toggle{order:3;}
body[data-header-variant="4"] .dev-tool{order:4;}
body[data-header-variant="4"] .hamburger{order:5;margin-left:0;}
/* Exhibitor Inquiry → vertical tab peeking off the right edge */
body[data-header-variant="4"] .utility-bar .btn{display:inline-flex;align-items:center;justify-content:center;
  position:fixed;right:0;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;text-orientation:mixed;
  padding:1.15em .62em;font-size:.72rem;letter-spacing:.18em;line-height:1;z-index:190;
  box-shadow:-7px 0 22px -8px rgba(0,0,0,.55);transition:transform .25s ease,padding .25s ease,box-shadow .25s ease;}
body[data-header-variant="4"] .utility-bar .btn:hover{transform:translateY(-50%) translateX(-4px);padding-left:.9em;
  box-shadow:-12px 0 28px -8px rgba(0,0,0,.6);}
@media(max-width:1180px){body[data-header-variant="4"] .theme-toggle{margin-left:auto;}}
@media(max-width:1024px){
  body[data-header-variant="4"] .site-header{min-height:64px;gap:.6rem;}
  body[data-header-variant="4"] .logo-svg{height:40px;}
  body[data-header-variant="4"] .utility-bar .btn{font-size:.62rem;padding:.95em .5em;}
}

/* ---- V5 — LEFT SIDEBAR RAIL (vertical nav column; dropdowns fly out to the right) ---- */
@media(min-width:1025px){
  body[data-header-variant="5"]{--hs-sidebar-w:290px;padding-left:var(--hs-sidebar-w);}

  /* the rail follows the active theme; structure is theme-neutral, only the
     surface (background / border / shadow) flips between light + dark.
     Overflow stays visible so the nav fly-outs can escape the rail's right edge. */
  body[data-header-variant="5"] .site-header{position:fixed;top:0;left:0;bottom:0;width:var(--hs-sidebar-w);
    display:flex;flex-direction:column;align-items:stretch;overflow:visible;
    padding:1.25rem 0 .85rem;z-index:300;
    background:linear-gradient(168deg,#ffffff 0%,#f8f4ec 55%,#efe9db 100%);
    border-right:1px solid rgba(232,184,78,.5);box-shadow:14px 0 46px -30px rgba(40,32,12,.5);}
  html[data-theme="dark"] body[data-header-variant="5"] .site-header{
    background:linear-gradient(168deg,#1d1810 0%,#15110a 50%,#0e0c07 100%);
    border-right:1px solid rgba(232,184,78,.3);box-shadow:16px 0 50px -28px rgba(0,0,0,.9);}
  body[data-header-variant="5"] .site-header::after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;
    background:linear-gradient(180deg,transparent,rgba(232,184,78,.6) 45%,rgba(232,184,78,.15),transparent);pointer-events:none;}

  /* collapse the two stacked bars into one vertical column */
  body[data-header-variant="5"] .utility-bar,
  body[data-header-variant="5"] .nav-bar,
  body[data-header-variant="5"] .utility-inner,
  body[data-header-variant="5"] .nav-inner{display:contents;}
  body[data-header-variant="5"] .countdown-bar,
  body[data-header-variant="5"] .hamburger{display:none;}

  /* centered brand block at the top — logo + date share one axis */
  body[data-header-variant="5"] .utility-inner .logo{order:0;margin:0;padding:.35rem 1.6rem 0;justify-content:center;}
  body[data-header-variant="5"] .logo-svg{height:70px;}
  /* next-show meta: a centered two-line kicker (the | forces a clean line break) */
  body[data-header-variant="5"] .nav-meta{order:1;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;
    row-gap:.2rem;margin:.95rem 1.5rem 1rem;padding:0 0 1rem;text-align:center;line-height:1.3;
    font-size:.66rem;letter-spacing:.13em;border-bottom:1px solid var(--header-border);}
  body[data-header-variant="5"] .nav-meta span{flex-basis:100%;height:0;font-size:0;margin:0;}

  /* nav sits just under the logo block; the footer is pinned to the bottom,
     so the remaining slack falls as one clean gap between them (not scattered) */
  body[data-header-variant="5"] .main-nav{order:2;flex-direction:column;align-items:stretch;height:auto;width:100%;
    gap:.12rem;padding:0 .7rem;}
  body[data-header-variant="5"] .nav-item{display:block;}
  body[data-header-variant="5"] .nav-item>a{height:auto;justify-content:space-between;border-radius:9px;
    padding:.78em 1rem;font-size:.78rem;transition:background .18s,color .18s,padding-left .18s;}
  body[data-header-variant="5"] .nav-item>a .caret{transform:rotate(-45deg);opacity:.55;}
  body[data-header-variant="5"] .nav-item:hover>a{background:rgba(232,184,78,.12);color:var(--gold-dark);padding-left:1.25em;}
  body[data-header-variant="5"] .nav-item:hover>a .caret{transform:rotate(-45deg) translateX(2px);opacity:1;}
  /* dropdowns fly out to the right of the rail */
  body[data-header-variant="5"] .dropdown{top:-.45rem;left:calc(100% + .5rem);min-width:238px;
    border-top:1px solid var(--header-border);border-left:2px solid var(--gold);border-radius:7px;
    transform:translateX(-10px);box-shadow:26px 22px 54px -22px rgba(20,16,8,.4);}
  html[data-theme="dark"] body[data-header-variant="5"] .dropdown{box-shadow:26px 22px 54px -22px rgba(0,0,0,.8);}
  body[data-header-variant="5"] .nav-item:hover .dropdown{transform:translateX(0);}

  /* ---- footer cluster, pinned to the bottom of the rail (one tidy block) ---- */
  body[data-header-variant="5"] .utility-links{order:3;margin:auto 0 0;padding:.95rem 1.6rem 0;
    flex-direction:row;align-items:center;gap:.5rem;font-size:.82rem;border-top:1px solid var(--header-border);}
  body[data-header-variant="5"] .utility-links a{font-weight:600;letter-spacing:.03em;}
  body[data-header-variant="5"] .utility-links svg{width:15px;height:15px;}
  /* Exhibitor Inquiry → full-width gold CTA */
  body[data-header-variant="5"] .utility-bar .btn{order:4;display:flex;margin:.7rem 1.6rem .7rem;
    justify-content:center;text-align:center;font-size:.72rem;letter-spacing:.12em;padding:.95em 1.2em;}
  /* search · dev · theme → one tidy horizontal control row */
  body[data-header-variant="5"] .util-controls{order:5;display:flex;flex-direction:row;align-items:center;
    gap:.55rem;margin:0 1.6rem;}
  body[data-header-variant="5"] .util-controls .search-btn{order:0;}
  body[data-header-variant="5"] .util-controls .theme-toggle{order:1;}
  body[data-header-variant="5"] .util-controls .dev-tool{order:2;margin-left:auto;}
  body[data-header-variant="5"] .search-btn{width:38px;height:38px;border:1px solid var(--header-toggle-border);
    border-radius:50%;align-items:center;justify-content:center;color:var(--header-muted);flex:none;}
  body[data-header-variant="5"] .search-btn:hover{border-color:var(--gold);color:var(--gold-dark);}
  body[data-header-variant="5"] .theme-toggle{width:38px;height:38px;}
  /* dev panel opens upward + to the right so it isn't clipped at the rail's foot */
  body[data-header-variant="5"] .dev-panel{top:auto;bottom:0;left:calc(100% + 10px);right:auto;}
}

/* ============================================================
   DEV CONTROL  (button in header + dropdown panel)
   ============================================================ */
.dev-tool{position:relative;flex:none;}
.dev-btn{font-family:var(--font-display);font-weight:700;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);background:transparent;border:1px dashed var(--gold);border-radius:0;padding:.5em .85em;cursor:pointer;
  display:inline-flex;align-items:center;gap:.4rem;transition:.2s;line-height:1;}
.dev-btn::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);}
.dev-btn:hover{background:var(--gold);color:#1a160d;}
.dev-btn:hover::before{background:#1a160d;}
.dev-panel{position:absolute;top:calc(100% + 12px);right:0;width:min(310px,calc(100vw - 28px));z-index:500;
  background:#15120d;color:#f4efe4;border:1px solid var(--gold);border-top:3px solid var(--gold);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.8);padding:1rem 1rem 1.15rem;}
.dev-panel[hidden]{display:none;}
.dev-note{font-size:.66rem;line-height:1.5;color:#b3ab9a;letter-spacing:.02em;margin-bottom:.9rem;
  padding-bottom:.8rem;border-bottom:1px solid rgba(255,255,255,.12);}
.dev-group{margin-top:.95rem;}
.dev-group:first-of-type{margin-top:0;}
.dev-label{display:block;font-family:var(--font-display);font-weight:700;font-size:.62rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);margin-bottom:.55rem;}
.dev-opts{display:grid;gap:.4rem;}
.dev-opts button{text-align:left;font-family:var(--font-body);font-weight:600;font-size:.82rem;color:#e9e3d6;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.13);padding:.62em .8em;cursor:pointer;transition:.16s;
  display:flex;align-items:center;gap:.55rem;}
.dev-opts button::before{content:"";width:12px;height:12px;border:1.5px solid rgba(255,255,255,.4);border-radius:50%;flex:none;transition:.16s;}
.dev-opts button:hover{border-color:var(--gold);color:#fff;}
.dev-opts button.active{border-color:var(--gold);background:rgba(232,184,78,.14);color:#fff;}
.dev-opts button.active::before{border-color:var(--gold);background:var(--gold);box-shadow:inset 0 0 0 2.5px #15120d;}

/* ============================================================
   RESPONSIVE — variants at tablet/phone
   ============================================================ */
@media(max-width:1024px){
  .hv2-grid{grid-template-columns:1fr;}
  .hv2-media{min-height:300px;order:-1;}
  .hv2-img-a{clip-path:none;}
  .hv2-img-b{display:none;}
  .hv2-media::after{background:linear-gradient(180deg,rgba(30,27,22,0) 55%,var(--charcoal));}
  html[data-theme="light"] .hv2-media::after{background:linear-gradient(180deg,rgba(245,242,234,0) 55%,var(--cream));}
  .hv2-chevrons{display:none;}
  .hv2-copy{margin:0 auto;align-items:flex-start;}

  /* ---- header variants on tablet/phone ---- */
  /* V1 overlay: keep fixed + transparent; tighten height */
  body[data-header-variant="1"] .utility-inner{min-height:56px;}
  /* V2 grand: centered masthead is a desktop expression; on phones left-align
     the (slightly larger) logo so the dev/theme/menu cluster never collides */
  body[data-header-variant="2"] .utility-inner{min-height:64px;justify-content:flex-end;gap:.5rem;}
  body[data-header-variant="2"] .utility-inner .logo{position:static;transform:none;margin:0 auto 0 0;}
  body[data-header-variant="2"] .utility-inner .logo-svg{height:42px;}
  body[data-header-variant="2"] .utility-links{display:none;}
  body[data-header-variant="2"] .utility-bar{border-bottom:2px solid var(--gold);}
  /* V3 minimal: gold line + roomy bar; hamburger already shown by base mobile rule */
  body[data-header-variant="3"] .utility-inner{min-height:64px;}
}
@media(max-width:760px){
  /* hero-v1 / hero-v3 keep the calc(100svh - header) fit from their base rules */
  .hv1-inner{text-align:left;}
  .hv1-cell{min-width:64px;padding:.6rem .35rem;flex:1 1 64px;}
  .hero-v1 .hero-actions .btn,.hero-v3 .hero-actions .btn{width:100%;}
  .hv1-stats{gap:1.1rem 1.6rem;}
  .hv1-stats li{flex:1 1 40%;}
  .hv3-title{font-size:clamp(2.7rem,12vw,4.2rem);}
  .hv3-scroll{margin-top:2rem;}
  .hv2-title{font-size:clamp(2.3rem,10vw,3.4rem);}
  .dev-panel{position:fixed;top:auto;bottom:14px;right:14px;left:14px;width:auto;}
}
@media(max-width:420px){
  .hv1-countdown{gap:.4rem;}
  .hv1-cell{min-width:0;}
}

/* honor reduced motion */
@media(prefers-reduced-motion:reduce){
  .hero-variant .reveal{animation-duration:.001s;}
  .hero-kenburns,.hv3-slide.active,.hv1-cta,.hv1-eyebrow .dot,.hv3-eyebrow .pulse,.hv3-scroll svg{animation:none;}
  .hv3-slide.active{opacity:1;}
  .hv2-track,.hv3-ticker-track,.fh1-ticker-track{animation-duration:0s;}
}

/* ============================================================
   Magazine — editorial cover, contents, departments, features
   ============================================================ */

/* --- Newsstand cover --- */
.mag-cover{position:relative;min-height:clamp(560px,88vh,840px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#0c0b09;color:#fff;}
.mag-cover .cover-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.mag-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,5,.62) 0%,rgba(8,7,5,.16) 32%,rgba(8,7,5,.5) 66%,rgba(8,7,5,.94) 100%);}
.mag-cover>.container{position:relative;z-index:2;width:100%;}
.cover-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:clamp(20px,4vw,40px);}
.cover-brand{font-family:var(--font-display);font-weight:700;letter-spacing:.26em;text-transform:uppercase;font-size:clamp(.72rem,1.3vw,.9rem);}
.cover-brand span{display:block;height:2px;width:52px;background:var(--gold);margin-top:.7rem;}
.cover-issue{font-family:var(--font-display);font-weight:500;letter-spacing:.18em;text-transform:uppercase;font-size:.68rem;color:rgba(255,255,255,.82);text-align:right;line-height:2;}
.cover-issue b{color:var(--gold);font-weight:600;}
.cover-foot{padding-bottom:clamp(26px,4vw,50px);}
.cover-eyebrow{font-family:var(--font-display);font-weight:600;letter-spacing:.32em;text-transform:uppercase;font-size:clamp(.7rem,1.2vw,.82rem);color:var(--gold);margin-bottom:clamp(.7rem,1.4vw,1.1rem);}
.cover-mast{font-family:var(--font-display);font-weight:700;line-height:.84;letter-spacing:-.025em;text-transform:uppercase;font-size:clamp(2.9rem,11vw,8rem);margin:0;text-shadow:0 6px 44px rgba(0,0,0,.45);}
.cover-mast .thin{display:block;font-weight:500;letter-spacing:.005em;}
.cover-tagline{max-width:44ch;margin-top:clamp(1rem,2vw,1.5rem);color:rgba(255,255,255,.88);font-size:clamp(1rem,1.4vw,1.18rem);}
.cover-lines{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.6rem;margin-top:clamp(1.4rem,2.6vw,2rem);}
.cover-star{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(.8rem,1.2vw,.92rem);color:#fff;transition:.2s;}
.cover-star b{color:var(--gold);letter-spacing:.14em;font-size:.78rem;}
.cover-star .arr{color:var(--gold);transition:transform .2s;}
.cover-star:hover .arr{transform:translateX(5px);}
.cover-blurbs{display:flex;flex-wrap:wrap;gap:.45rem 1rem;color:rgba(255,255,255,.82);font-size:.86rem;}
.cover-blurbs span{display:inline-flex;align-items:center;gap:.65rem;}
.cover-blurbs span::before{content:"";width:5px;height:5px;background:var(--gold);transform:rotate(45deg);flex:none;}

/* --- In This Issue (table of contents) --- */
.contents-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem 1.4rem;flex-wrap:wrap;margin-bottom:clamp(1.6rem,3vw,2.6rem);}
.contents-head .note{max-width:42ch;color:var(--ink-soft);}
.toc{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(28px,4vw,64px);border-top:2px solid var(--ink);}
.toc-item{display:grid;grid-template-columns:auto 1fr auto;gap:1.1rem;align-items:center;padding:1.1rem .2rem;border-bottom:1px solid var(--line);transition:.2s ease;}
.toc-item:hover{padding-left:.7rem;background:var(--cream);}
.toc-num{font-family:var(--font-display);font-weight:700;font-size:1.45rem;color:var(--gold-dark);line-height:1;font-variant-numeric:tabular-nums;}
.toc-body h4{font-family:var(--font-display);font-weight:600;font-size:1.04rem;line-height:1.25;color:var(--ink);margin:0 0 .22rem;}
.toc-dept{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;color:var(--muted);}
.toc-arr{color:var(--gold-dark);font-size:1.05rem;opacity:0;transition:.2s;}
.toc-item:hover .toc-arr{opacity:1;transform:translateX(3px);}

/* --- Department header (label + hairline rule) --- */
.mag-dept{display:flex;align-items:center;gap:clamp(1rem,2vw,1.6rem);margin-bottom:clamp(1.5rem,3vw,2.4rem);}
.mag-dept .dept-no{font-family:var(--font-display);font-weight:700;font-size:.82rem;letter-spacing:.16em;color:var(--gold-dark);flex:none;}
.mag-dept h2{font-family:var(--font-display);font-weight:700;font-size:clamp(1.45rem,3vw,2.1rem);letter-spacing:-.01em;line-height:1;margin:0;flex:none;}
.mag-dept .dept-rule{flex:1;height:2px;background:var(--line);}
.mag-dept .dept-see{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--gold-dark);white-space:nowrap;flex:none;}

/* --- Cover-story spread --- */
.mag-feature{display:grid;grid-template-columns:1.12fr 1fr;border:1px solid var(--line);background:var(--surface);overflow:hidden;box-shadow:var(--shadow-card);}
.mag-feature .media{min-height:clamp(300px,44vw,520px);}
.mag-feature .feat-text{padding:clamp(26px,4vw,58px);display:flex;flex-direction:column;justify-content:center;}
.mag-feature .feat-kicker{display:flex;align-items:center;gap:.7rem;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:var(--gold-dark);margin-bottom:1rem;}
.mag-feature .feat-kicker::before{content:"";width:26px;height:2px;background:var(--gold);}
.mag-feature h2{font-size:clamp(1.65rem,2.8vw,2.5rem);line-height:1.1;letter-spacing:-.01em;margin:0 0 1.1rem;}
.mag-feature .byline{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--muted);margin-bottom:1rem;}
.mag-feature .dek{color:var(--ink-soft);}
.mag-feature .more{margin-top:1.5rem;}
.dropcap::first-letter{float:left;font-family:var(--font-display);font-weight:700;font-size:3.3em;line-height:.72;margin:.04em .14em 0 0;color:var(--gold-dark);}

/* --- Editorial pull-quote --- */
.mag-quote{max-width:22ch;margin:0 auto;text-align:center;}
.mag-quote .mark{display:block;font-family:var(--font-display);font-weight:700;font-size:3.4rem;line-height:.2;color:var(--gold);margin-bottom:1.6rem;}
.mag-quote blockquote{font-family:var(--font-display);font-weight:600;font-size:clamp(1.55rem,3.4vw,2.7rem);line-height:1.18;letter-spacing:-.01em;color:var(--gold);margin:0;}
.mag-quote cite{display:block;font-style:normal;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:#cfc9bd;margin-top:1.6rem;}

@media(max-width:860px){
  .toc{grid-template-columns:1fr;column-gap:0;}
  .mag-feature{grid-template-columns:1fr;}
  .mag-feature .media{min-height:240px;}
  .mag-dept h2{white-space:normal;}
  .mag-dept .dept-see{display:none;}
}
@media(max-width:760px){
  .cover-tagline{font-size:1rem;}
  .toc-item{grid-template-columns:auto 1fr;}
  .toc-arr{display:none;}
}

/* ============================================================
   ADMIN AWARENESS + PREVIEW WIZARD  (added for client preview)
   ============================================================ */
:root{ --hs-adminbar-h:0px; }

/* Dev design-switcher: hidden for the public, revealed for admins */
.dev-tool{ display:none; }
body.hs-admin .dev-tool{ display:block; }

/* ---- the gold admin bar (shown on every page when signed in) ---- */
.hs-adminbar{
  position:fixed; top:0; left:0; right:0; z-index:600;
  background:linear-gradient(90deg,#15120a 0%,#241d0f 55%,#15120a 100%);
  color:#f6e6b8; border-bottom:1px solid rgba(232,184,78,.4);
  box-shadow:0 6px 20px -12px rgba(0,0,0,.7);
  font-family:var(--font-display); font-size:.82rem;
}
.hs-adminbar-inner{ display:flex; align-items:center; justify-content:space-between; gap:.75rem 1rem; flex-wrap:wrap; padding:.34rem 0; min-height:38px; }
.hs-ab-badge{ display:inline-flex; align-items:center; gap:.4rem; letter-spacing:.01em; }
.hs-ab-badge b{ color:var(--gold-2); font-weight:700; }
.hs-ab-crown{ font-size:1rem; line-height:1; }
.hs-ab-name{ color:#cdbf9c; font-weight:500; }
.hs-ab-actions{ display:inline-flex; align-items:center; gap:.45rem; flex-wrap:wrap; }
.hs-ab-btn{
  font:inherit; font-size:.78rem; font-weight:700; letter-spacing:.01em;
  border-radius:999px; padding:.34rem .8rem; cursor:pointer; text-decoration:none;
  border:1px solid rgba(232,184,78,.45); background:transparent; color:#f6e6b8;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .12s ease;
  white-space:nowrap;
}
.hs-ab-btn:hover{ transform:translateY(-1px); }
.hs-ab-primary{ background:linear-gradient(180deg,var(--gold-2),var(--gold)); color:#1a160d; border-color:transparent; }
.hs-ab-primary:hover{ background:linear-gradient(180deg,#f6d27a,var(--gold-2)); }
.hs-ab-tour{ border-color:rgba(232,184,78,.5); }
.hs-ab-tour:hover{ background:rgba(232,184,78,.16); }
.hs-ab-ghost{ border-color:rgba(255,255,255,.18); color:#d7cdb6; }
.hs-ab-ghost:hover{ border-color:rgba(255,255,255,.4); color:#fff; }

/* push the page down so the fixed bar never covers content / sticky header */
body.hs-admin{ padding-top:var(--hs-adminbar-h); }
body.hs-admin .site-header{ top:var(--hs-adminbar-h); }
body.hs-admin[data-header-variant="1"] .site-header{ top:var(--hs-adminbar-h); }
@media(min-width:861px){
  body.hs-admin[data-header-variant="5"] .site-header{ top:var(--hs-adminbar-h); height:calc(100% - var(--hs-adminbar-h)); }
}

@media(max-width:600px){
  .hs-adminbar{ font-size:.74rem; }
  .hs-ab-name{ display:none; }
  .hs-ab-btn{ padding:.3rem .6rem; font-size:.72rem; }
}

/* ---- the guided tour (coach marks) ---- */
.hs-tour{ position:fixed; inset:0; z-index:9990; pointer-events:none; }
.hs-tour-spot{
  position:fixed; border-radius:12px; pointer-events:none; display:none;
  box-shadow:0 0 0 9999px rgba(8,7,4,.74); outline:2px solid var(--gold-2);
  outline-offset:0; transition:top .28s ease,left .28s ease,width .28s ease,height .28s ease;
  animation:hsTourPulse 1.8s ease-in-out infinite;
}
@keyframes hsTourPulse{
  0%,100%{ outline-color:var(--gold-2); }
  50%{ outline-color:rgba(246,210,122,.45); }
}
.hs-tour-bubble{
  position:fixed; z-index:9999; pointer-events:auto;
  width:min(340px,calc(100vw - 28px));
  background:var(--surface); color:var(--ink);
  border:1px solid rgba(232,184,78,.4); border-radius:16px;
  padding:1.15rem 1.2rem 1rem; box-shadow:0 30px 60px -24px rgba(0,0,0,.6),0 0 0 1px rgba(232,184,78,.12);
  transition:top .28s ease,left .28s ease; font-family:var(--font-body);
}
.hs-tour-bubble.center{ top:50%; left:50%; transform:translate(-50%,-50%); }
.hs-tour-x{ position:absolute; top:.55rem; right:.7rem; border:0; background:transparent; font-size:1.3rem; line-height:1; color:var(--ink-soft); cursor:pointer; padding:.1rem .25rem; border-radius:6px; }
.hs-tour-x:hover{ color:var(--ink); background:rgba(0,0,0,.06); }
.hs-tour-title{ font-family:var(--font-display); font-weight:700; font-size:1.06rem; line-height:1.25; margin:0 1.4rem .45rem 0; color:var(--ink); }
.hs-tour-body{ font-size:.92rem; line-height:1.5; margin:0 0 1rem; color:var(--ink-soft); }
.hs-tour-body b{ color:var(--ink); }
.hs-tour-foot{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.hs-tour-dots{ display:inline-flex; gap:.32rem; }
.hs-tour-dot{ width:7px; height:7px; border-radius:50%; background:rgba(120,110,90,.35); transition:background .2s,transform .2s; }
.hs-tour-dot.on{ background:var(--gold); transform:scale(1.25); }
.hs-tour-btns{ display:inline-flex; gap:.4rem; }
.hs-tour-btn{ font:inherit; font-weight:700; font-size:.84rem; border-radius:999px; padding:.4rem .85rem; cursor:pointer; border:1px solid rgba(120,110,90,.3); background:transparent; color:var(--ink-soft); transition:all .15s ease; }
.hs-tour-back:hover{ color:var(--ink); border-color:rgba(120,110,90,.55); }
.hs-tour-primary{ background:linear-gradient(180deg,var(--gold-2),var(--gold)); color:#1a160d; border-color:transparent; }
.hs-tour-primary:hover{ filter:brightness(1.05); transform:translateY(-1px); }
@media(prefers-reduced-motion:reduce){
  .hs-tour-spot{ animation:none; transition:none; }
  .hs-tour-bubble{ transition:none; }
}
