:root{
  --black:#0A0A0A; --ink:#F4EFE3; --ink-2:#D6CFBE; --ink-3:#BDB6A6; --ink-4:#9E9784;
  --gold:#CFB53B; --gold-hi:#E6CF63; --panel:#13110B; --line:#2A2618; --line-2:#3A3420; --num:#2E2918;
  --display:'Big Shoulders Display', Impact, 'Arial Narrow', sans-serif;
  --body:'Libre Franklin', Georgia, 'Times New Roman', serif;
  --pad:clamp(20px, 5.5vw, 80px);
  color-scheme: dark;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --black:#0A0A0A; --ink:#F4EFE3; --panel:#13110B; } }
:root[data-theme="dark"]{ --black:#0A0A0A; --ink:#F4EFE3; --panel:#13110B; }
:root{ box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px); }
html{ scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px); scroll-behavior:smooth; }
*,*::before,*::after{ box-sizing:border-box; }
body{ margin:0; background:var(--black); color:var(--ink); font-family:var(--body); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img{ max-width:100%; display:block; }
a{ color:var(--gold); text-decoration:none; } a:hover{ color:var(--gold-hi); }
a:focus-visible, button:focus-visible, input:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; }
.eyebrow{ font-size:13px; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); }
.h2{ margin:0; font-family:var(--display); font-weight:900; font-size:clamp(44px, 6vw, 76px); line-height:.94; text-transform:uppercase; }
.btn{ display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:0 30px; font-weight:700; font-size:15px; letter-spacing:.06em; text-transform:uppercase; border:2px solid var(--gold); transition:background .15s, color .15s; }
.btn-solid{ background:var(--gold); color:var(--black); } .btn-solid:hover{ background:var(--gold-hi); border-color:var(--gold-hi); color:var(--black); }
.btn-line{ color:var(--gold); } .btn-line:hover{ background:var(--gold); color:var(--black); }

/* header */
.site-header{ position:fixed; top:0; left:0; right:0; z-index:50; padding-top:env(safe-area-inset-top,0px); background:rgba(10,10,10,.92); border-bottom:1px solid var(--line); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.header-inner{ height:76px; padding:0 var(--pad); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand{ display:flex; align-items:center; gap:14px; color:var(--ink); }
.badge{ width:46px; height:46px; border:2px solid var(--gold); display:grid; place-items:center; font-family:var(--display); font-weight:900; font-size:19px; color:var(--gold); flex-shrink:0; }
.brand-name{ display:flex; flex-direction:column; gap:2px; }
.brand-name b{ font-family:var(--display); font-weight:800; font-size:20px; letter-spacing:.08em; text-transform:uppercase; }
.brand-name span{ font-size:11px; letter-spacing:.25em; text-transform:uppercase; color:var(--gold); }
.nav{ display:flex; align-items:center; gap:30px; font-size:14px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.nav a:not(.btn){ color:var(--ink); } .nav a:not(.btn):hover{ color:var(--gold); }
.nav .btn{ min-height:46px; padding:0 22px; font-size:13px; }
@media (max-width: 900px){ .nav a:not(.btn){ display:none; } .brand-name span{ display:none; } }
@media (max-width: 480px){ .brand-name b{ font-size:16px; } .nav .btn{ padding:0 14px; } }


.logo-badge{ width:52px; height:52px; border-radius:50%; background:#F4EFE3; border:2px solid var(--gold); display:grid; place-items:center; flex-shrink:0; overflow:hidden; }
.logo-badge img{ width:78%; height:78%; object-fit:contain; }
.logo-badge.lg{ width:88px; height:88px; }
.foot-brand{ display:flex; align-items:center; gap:16px; }
.foot-title{ line-height:1.05; }
@media (max-width: 900px){ .brand-name span{ display:block !important; } }
@media (max-width: 480px){ .logo-badge{ width:44px; height:44px; } .brand-name b{ font-size:14px !important; letter-spacing:.04em; } .brand-name span{ font-size:10px; } .nav .btn{ font-size:12px; } }

.nav .short{ display:none; }
@media (max-width: 560px){ .nav .long{ display:none; } .nav .short{ display:inline; } }
/* scroll-scrub hero */
.scrub{ position:relative; height:520vh; }
.scrub-stage{ position:sticky; top:0; height:100vh; height:100svh; overflow:hidden; background:var(--black); }
.scrub canvas{ position:absolute; inset:0; width:100%; height:100%; }
.yardlines{ position:absolute; inset:0; display:flex; justify-content:space-between; padding:0 4vw; pointer-events:none; opacity:.08; }
.yardlines i{ width:2px; background:var(--gold); }
.loader{ position:absolute; inset:0; display:grid; place-items:center; z-index:1; background:var(--black); transition:opacity .5s; }
.loader.done{ opacity:0; pointer-events:none; }
.loader-box{ width:min(320px,70vw); display:flex; flex-direction:column; gap:14px; align-items:center; }
.loader-bar{ width:100%; height:4px; background:var(--line-2); } .loader-bar i{ display:block; height:100%; width:0; background:var(--gold); }
.panel{ position:absolute; z-index:2; left:var(--pad); bottom:calc(9vh + env(safe-area-inset-bottom,0px)); width:min(620px, calc(100% - 2*var(--pad))); padding:clamp(24px,3.2vw,44px); background:var(--black); border-top:6px solid var(--gold); display:flex; flex-direction:column; gap:16px; opacity:0; transform:translateY(24px); transition:opacity .45s ease, transform .45s ease; pointer-events:none; }
.panel.on{ opacity:1; transform:none; pointer-events:auto; }
.panel h1, .panel h2{ margin:0; font-family:var(--display); font-weight:900; text-transform:uppercase; line-height:.9; }
.panel h1{ font-size:clamp(46px, 7.6vw, 112px); }
.panel h2{ font-size:clamp(40px, 5.6vw, 84px); }
.panel p{ margin:0; font-size:clamp(16px,1.4vw,19px); line-height:1.55; color:var(--ink-2); }
.panel .gold{ color:var(--gold); }
.panel .ctas{ display:flex; gap:12px; flex-wrap:wrap; margin-top:6px; }
.panel-right{ left:auto; right:var(--pad); }
.scroll-cue{ display:flex; align-items:center; gap:10px; font-size:13px; font-weight:700; letter-spacing:.25em; text-transform:uppercase; color:var(--gold); }
.scroll-cue svg{ animation:bob 1.6s ease-in-out infinite; }
@keyframes bob{ 50%{ transform:translateY(5px); } }
.meter{ position:absolute; z-index:2; top:calc(76px + env(safe-area-inset-top,0px) + 22px); right:var(--pad); display:flex; align-items:center; gap:12px; font-family:var(--display); font-weight:800; font-size:20px; letter-spacing:.12em; text-transform:uppercase; background:var(--black); padding:10px 16px; border:1px solid var(--line-2); }
.meter b{ color:var(--gold); min-width:2ch; text-align:right; font-size:26px; }
.progress{ position:absolute; z-index:2; left:0; right:0; bottom:0; height:6px; background:rgba(207,181,59,.18); } .progress i{ display:block; height:100%; width:0; background:var(--gold); }
@media (max-aspect-ratio: 1/1){
  .panel{ left:var(--pad); right:var(--pad); width:auto; bottom:calc(5vh + env(safe-area-inset-bottom,0px)); }
  .panel-right{ left:var(--pad); }
}
@media (prefers-reduced-motion: reduce){ .panel{ transition:none; } .scroll-cue svg{ animation:none; } html{ scroll-behavior:auto; } }

/* strip */
.strip{ background:var(--gold); color:var(--black); display:flex; flex-wrap:wrap; justify-content:space-around; gap:8px 24px; padding:22px var(--pad); font-family:var(--display); font-weight:800; font-size:clamp(20px,2vw,26px); letter-spacing:.12em; text-transform:uppercase; }

/* about */
.about{ padding:clamp(72px,9vw,120px) var(--pad); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(40px,6vw,96px); align-items:start; }
.about-copy{ display:flex; flex-direction:column; gap:22px; font-size:clamp(17px,1.4vw,19px); line-height:1.65; color:var(--ink-2); }
.about-copy p{ margin:0; }
.photo{ position:relative; border:2px solid var(--gold); background:var(--panel); }
.photo img{ width:100%; height:100%; object-fit:cover; }
.photo .tag{ position:absolute; left:-2px; bottom:-2px; padding:10px 16px; background:var(--black); border:2px solid var(--gold); color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.25em; text-transform:uppercase; }
.about .photo{ aspect-ratio:3/2; margin-top:12px; }
.link-arrow{ display:inline-flex; align-items:center; gap:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:15px; }
@media (max-width: 860px){ .about{ grid-template-columns:minmax(0,1fr); } }

/* support */
.support{ padding:clamp(72px,9vw,110px) var(--pad); background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:48px; }
.sec-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; }
.sec-head > div{ display:flex; flex-direction:column; gap:14px; }
.sec-head p{ margin:0; max-width:420px; font-size:18px; line-height:1.6; color:var(--ink-3); }
.cards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.card{ background:var(--black); border:1px solid var(--line-2); padding:clamp(28px,3vw,44px); display:flex; flex-direction:column; gap:18px; }
.card .ico{ width:60px; height:60px; background:var(--gold); color:var(--black); display:grid; place-items:center; }
.card .num{ font-family:var(--display); font-weight:900; font-size:60px; line-height:1; color:var(--num); }
.card h3{ margin:0; font-family:var(--display); font-weight:800; font-size:36px; text-transform:uppercase; }
.card p{ margin:0; font-size:17px; line-height:1.6; color:var(--ink-3); }
.card .btn{ margin-top:auto; }
@media (max-width: 960px){ .cards{ grid-template-columns:minmax(0,1fr); } }

/* events */
.events{ padding:clamp(72px,9vw,110px) var(--pad); display:flex; flex-direction:column; gap:44px; }
.event-list{ border-top:2px solid var(--gold); }
.event{ display:flex; align-items:center; gap:clamp(20px,4vw,48px); padding:28px 0; border-bottom:1px solid var(--line); }
.date{ width:110px; flex-shrink:0; display:flex; flex-direction:column; align-items:center; font-family:var(--display); text-transform:uppercase; }
.date span{ font-size:19px; font-weight:800; color:var(--gold); letter-spacing:.15em; }
.date b{ font-size:68px; font-weight:900; line-height:.9; }
.event-info{ flex-grow:1; display:flex; flex-direction:column; gap:6px; }
.event-info b{ font-family:var(--display); font-weight:800; font-size:clamp(24px,2.4vw,34px); text-transform:uppercase; }
.event-info span{ font-size:17px; color:var(--ink-3); }
.event .btn{ min-height:48px; font-size:13px; padding:0 22px; }
@media (max-width: 640px){ .event{ flex-wrap:wrap; } .date{ width:auto; align-items:flex-start; } .event .btn{ width:100%; } }


/* gallery */
.gallery{ padding:0 var(--pad) clamp(72px,9vw,110px); display:flex; flex-direction:column; gap:40px; }
.mosaic{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-rows:clamp(200px,20vw,300px); gap:18px; }
.mosaic .photo{ overflow:hidden; grid-column:span 2; }
.mosaic .big{ grid-column:span 4; grid-row:span 2; }
.mosaic .half{ grid-column:span 3; grid-row:span 1; }
.mosaic .tall{ grid-row:span 2; }
.mosaic .photo img{ transition:transform .6s ease; }
.mosaic .photo:hover img{ transform:scale(1.04); }
@media (max-width: 760px){ .mosaic{ grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; } .mosaic .photo, .mosaic .half, .mosaic .tall{ grid-column:span 1; grid-row:auto; aspect-ratio:4/3; } .mosaic .big, .mosaic .wide-m{ grid-column:span 2; grid-row:auto; aspect-ratio:3/2; } }
@media (prefers-reduced-motion: reduce){ .mosaic .photo img{ transition:none; } }

/* events v2 */
.filters{ display:flex; flex-wrap:wrap; gap:10px; }
.chip{ min-height:46px; padding:0 20px; border:2px solid var(--line-2); background:transparent; color:var(--ink); font:600 14px var(--body); letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.chip:hover{ border-color:var(--gold); }
.chip[aria-pressed="true"]{ background:var(--gold); border-color:var(--gold); color:var(--black); }
.month{ margin:28px 0 0; font-family:var(--display); font-weight:900; font-size:clamp(34px,3.6vw,48px); text-transform:uppercase; color:var(--gold); letter-spacing:.02em; border-bottom:2px solid var(--gold); padding-bottom:8px; }
.event{ align-items:flex-start; }
.event.next{ background:var(--panel); border:1px solid var(--gold); padding:28px clamp(16px,2vw,28px); margin-top:14px; }
.event-info .loc{ font-size:16px; color:var(--ink-3); line-height:1.5; }
.event-info .time{ color:var(--gold); font-weight:600; }
.tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.tag-pill{ font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:5px 10px; border:1px solid var(--line-2); color:var(--ink-3); }
.tag-pill.band{ border-color:var(--gold); color:var(--gold); }
.tag-pill.next{ background:var(--gold); border-color:var(--gold); color:var(--black); }
.date small{ font-family:var(--body); font-size:12px; font-weight:600; letter-spacing:.12em; color:var(--ink-3); margin-top:4px; }
.events-foot{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; font-size:14px; color:var(--ink-4); }
.empty{ padding:28px 0; color:var(--ink-3); font-size:17px; }

.credit{ position:absolute; right:10px; bottom:10px; padding:4px 10px; border-radius:999px; font-size:11px; font-weight:600; letter-spacing:.04em; color:#F1ECDF; background:rgba(8,8,8,.64); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); border:1px solid rgba(255,255,255,.14); text-shadow:0 1px 2px rgba(0,0,0,.8); }
.mosaic .pair{ grid-column:span 3; grid-row:span 2; }
@media (max-width: 760px){ .mosaic .pair{ grid-column:span 2; grid-row:auto; aspect-ratio:3/2; } }
.action-card{ grid-column:span 3; grid-row:span 2; background:var(--panel); border:1px solid var(--line-2); border-top:3px solid var(--gold); padding:clamp(28px,3.4vw,52px); display:flex; flex-direction:column; justify-content:center; gap:18px; }
.action-card h3{ margin:0; font-family:var(--display); font-weight:900; font-size:clamp(36px,3.8vw,56px); line-height:.95; text-transform:uppercase; }
.action-card p{ margin:0; font-size:18px; line-height:1.6; color:var(--ink-2); }
.action-card .ctas{ display:flex; gap:12px; flex-wrap:wrap; }
@media (max-width: 760px){ .action-card{ grid-column:span 2; grid-row:auto; } }
.mosaic .stack{ grid-column:span 3; grid-row:span 1; }
@media (max-width: 760px){ .mosaic .stack{ grid-column:span 2; grid-row:auto; aspect-ratio:16/9; } }
.mosaic .pano{ grid-column:span 4; grid-row:span 1; }
.mosaic .tubas{ grid-column:span 2; grid-row:span 1; }
@media (max-width: 760px){ .mosaic .pano{ grid-column:span 2; grid-row:auto; aspect-ratio:16/9; } }
@media (max-width: 760px){ .mosaic .tubas{ grid-column:span 2; grid-row:auto; aspect-ratio:3/2; } }
.mosaic .g-dm{ grid-column:span 2; grid-row:span 2; }
.action-card.g-card{ grid-column:span 2; grid-row:span 2; }
.mosaic .g-sm{ grid-column:span 2; grid-row:span 1; }
.mosaic .g-half{ grid-column:span 3; grid-row:span 1; }
.mosaic .g-third{ grid-column:span 2; grid-row:span 1; }
.mosaic .g-wide{ grid-column:span 4; grid-row:span 1; }
.mosaic .g-sm, .mosaic .g-dm{ }
@media (max-width: 760px){
  .mosaic .g-dm{ grid-column:span 2; grid-row:auto; aspect-ratio:4/5; }
  .action-card.g-card{ grid-column:span 2; grid-row:auto; }
  .mosaic .g-sm, .mosaic .g-half, .mosaic .g-third, .mosaic .g-wide{ grid-column:span 2; grid-row:auto; aspect-ratio:16/10; }
}
/* night banner */
.night{ position:relative; min-height:clamp(480px,48vw,680px); border-top:2px solid var(--gold); border-bottom:2px solid var(--gold); overflow:hidden; display:flex; align-items:flex-end; padding:clamp(32px,5vw,64px) var(--pad); margin-bottom:clamp(72px,9vw,110px); }
.night img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.night .box{ position:relative; width:min(560px,100%); padding:clamp(28px,3vw,44px) clamp(24px,3.4vw,48px); background:var(--black); border-top:6px solid var(--gold); display:flex; flex-direction:column; gap:16px; }
.night h2{ margin:0; font-family:var(--display); font-weight:900; font-size:clamp(40px,4.4vw,60px); line-height:.95; text-transform:uppercase; }
.night p{ margin:0; font-size:18px; line-height:1.6; color:var(--ink-2); }

/* join */
.join{ margin:0 var(--pad); padding:clamp(40px,5.5vw,80px); background:var(--gold); color:var(--black); display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.join h2{ margin:0 0 14px; font-family:var(--display); font-weight:900; font-size:clamp(44px,5.4vw,76px); line-height:.92; text-transform:uppercase; max-width:640px; }
.join p{ margin:0; font-size:19px; line-height:1.55; font-weight:500; max-width:560px; }
.join form{ display:flex; flex-direction:column; gap:10px; width:min(460px,100%); }
.join label{ font-size:13px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.join .row{ display:flex; }
.join input{ flex:1; min-width:0; min-height:58px; padding:0 18px; border:2px solid var(--black); background:#F4EFE3; color:#0A0A0A; font:500 17px var(--body); border-radius:0; }
.join button{ min-height:58px; padding:0 26px; border:0; background:var(--black); color:var(--ink); font:700 15px var(--body); letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.join .note{ font-size:14px; font-weight:600; min-height:1.2em; }

/* footer */
footer{ padding:clamp(72px,9vw,110px) var(--pad) 40px; display:flex; flex-direction:column; gap:56px; }
.foot-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; }
.foot-grid > div{ display:flex; flex-direction:column; gap:12px; font-size:16px; }
.foot-grid .eyebrow{ font-size:12px; margin-bottom:4px; }
.foot-grid a{ color:var(--ink); } .foot-grid a:hover{ color:var(--gold); }
.foot-title{ font-family:var(--display); font-weight:800; font-size:28px; letter-spacing:.08em; text-transform:uppercase; }
.foot-grid p, .foot-grid .muted{ margin:0; color:var(--ink-3); line-height:1.6; }
.legal{ padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:14px; color:var(--ink-4); }
@media (max-width: 860px){ .foot-grid{ grid-template-columns:minmax(0,1fr); } }

/* ===== liquid black glass ===== */
.panel, .night .box, .meter, .photo .tag{
  background: rgba(8,8,8,.64);
  -webkit-backdrop-filter: blur(7px) saturate(150%) brightness(.85);
  backdrop-filter: blur(7px) saturate(150%) brightness(.85);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(0,0,0,.5),
    inset 0 0 32px rgba(207,181,59,.06),
    0 24px 60px rgba(0,0,0,.45);
  isolation: isolate;
  overflow: hidden;
}
.panel, .night .box{ border-radius: 28px; border-top: 1px solid rgba(255,255,255,.22); }
.panel::before, .night .box::before, .meter::before, .photo .tag::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; border-radius:inherit;
  background:
    radial-gradient(120% 60% at 12% -10%, rgba(255,255,255,.16), transparent 55%),
    radial-gradient(80% 50% at 100% 110%, rgba(207,181,59,.14), transparent 60%);
}
.panel::after, .night .box::after{
  content:""; position:absolute; left:28px; right:28px; top:0; height:3px; border-radius:0 0 3px 3px;
  background: var(--gold); box-shadow: 0 0 18px rgba(207,181,59,.7);
}
.panel h1, .panel h2, .night h2{ text-shadow: 0 2px 4px rgba(0,0,0,.6), 0 4px 22px rgba(0,0,0,.6); }
.panel p, .night p{ color:#F1ECDF; text-shadow: 0 1px 2px rgba(0,0,0,.8), 0 2px 12px rgba(0,0,0,.7); }
.panel .eyebrow, .photo .tag{ text-shadow: 0 1px 2px rgba(0,0,0,.8); }
.meter{ border-radius: 999px; padding: 10px 20px; }
.photo .tag{ border-radius: 999px; left: 14px; bottom: 14px; border: 1px solid rgba(255,255,255,.18); color: var(--gold-hi); }
.panel .btn{ border-radius: 999px; }
.panel .btn-line{ background: rgba(255,255,255,.04); }
.panel{ transition: opacity .5s ease, transform .5s cubic-bezier(.2,.8,.2,1); transform: translateY(28px) scale(.98); }
.panel.on{ transform: none; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .panel, .night .box, .meter, .photo .tag{ background: rgba(10,10,10,.9); }
}
.night{ align-items:flex-start; justify-content:flex-end; }
.night .box{ width:min(420px,100%); padding:clamp(22px,2.4vw,32px) clamp(20px,2.6vw,34px); gap:12px; }
.night h2{ font-size:clamp(32px,3.2vw,44px); }
.night p{ font-size:16px; }
@media (max-width: 760px){ .night{ justify-content:center; } }

/* mobile menu */
.menu-btn{ display:none; }
@media (max-width: 1240px){
  .header-inner{ gap:12px; }
  .brand{ margin-right:auto; }
  .menu-btn{ order:3; display:flex; flex-direction:column; justify-content:center; gap:5px; width:46px; height:46px; padding:0 11px; background:transparent; border:2px solid var(--line-2); cursor:pointer; }
  .menu-btn span{ display:block; height:2px; background:var(--ink); transition:transform .2s, opacity .2s; }
  .menu-btn[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .menu-btn[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .menu-btn[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .nav a:not(.btn){ display:block; }
  .nav{ position:fixed; top:calc(76px + env(safe-area-inset-top,0px)); left:0; right:0; flex-direction:column; align-items:stretch; gap:0; padding:8px var(--pad) 24px; background:rgba(10,10,10,.97); border-bottom:2px solid var(--gold); visibility:hidden; opacity:0; transform:translateY(-8px); transition:opacity .2s, transform .2s, visibility .2s; }
  .nav.open{ visibility:visible; opacity:1; transform:none; }
  .nav a:not(.btn){ padding:18px 0; border-bottom:1px solid var(--line); font-size:16px; }
  .nav .btn{ margin-top:16px; min-height:54px; }
  .nav .long{ display:inline !important; } .nav .short{ display:none !important; }
}
@media (prefers-reduced-motion: reduce){ .nav, .menu-btn span{ transition:none; } }

/* hero panels: drop the glass card, keep only the lettering */
.panel{
  background:none !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important;
  padding:0; overflow:visible;
}
.panel::before, .panel::after{ display:none !important; content:none !important; }
/* stronger shadow so bare text stays readable over the footage */
.panel h1, .panel h2{ text-shadow:0 2px 6px rgba(0,0,0,.85), 0 6px 30px rgba(0,0,0,.85); }
.panel p{ text-shadow:0 1px 3px rgba(0,0,0,.9), 0 3px 16px rgba(0,0,0,.85); }
.panel .eyebrow{ text-shadow:0 1px 4px rgba(0,0,0,.9); }

/* hero: small glass chips behind the smaller lines; big headlines stay bare */
.panel .eyebrow, .panel p, .panel .scroll-cue{
  align-self:flex-start; width:auto; max-width:100%;
  background:rgba(8,8,8,.66);
  -webkit-backdrop-filter:blur(4px) saturate(130%);
  backdrop-filter:blur(4px) saturate(130%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 10px 26px rgba(0,0,0,.4);
  border-radius:14px;
}
.panel .eyebrow, .panel .scroll-cue{ padding:8px 14px; }
.panel p{ padding:14px 18px; text-shadow:0 1px 3px rgba(0,0,0,.9); }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .panel .eyebrow, .panel p, .panel .scroll-cue{ background:rgba(10,10,10,.8); }
}

/* button hover: invert to black with gold lettering, site-wide */
.btn:hover{ background:var(--black); color:var(--gold); border-color:var(--gold); }
.panel .ctas .btn:hover{ background:var(--black); color:var(--gold); border-color:var(--gold); }
.join button:hover{ background:var(--black); color:var(--gold); }
.chip:hover{ background:var(--black); color:var(--gold); border-color:var(--gold); }
.chip[aria-pressed="true"]:hover{ background:var(--gold); color:var(--black); border-color:var(--gold); }

/* why join */
.why{ padding:0 var(--pad) clamp(72px,9vw,110px); display:flex; flex-direction:column; gap:44px; }
.why-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.why-item{ display:flex; gap:18px; align-items:flex-start; padding:clamp(22px,2.4vw,32px); background:var(--panel); border:1px solid var(--line-2); border-top:3px solid var(--gold); }
.why-ico{ flex-shrink:0; width:52px; height:52px; display:grid; place-items:center; background:var(--gold); color:var(--black); }
.why-item h3{ margin:0 0 8px; font-family:var(--display); font-weight:800; font-size:clamp(24px,2vw,28px); line-height:1; text-transform:uppercase; }
.why-item p{ margin:0; font-size:16px; line-height:1.55; color:var(--ink-3); }
.why-cta{ display:flex; gap:12px; flex-wrap:wrap; }
@media (max-width: 960px){ .why-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px){ .why-grid{ grid-template-columns:minmax(0,1fr); } }

/* about: objectives list */
.objectives{ display:flex; flex-direction:column; gap:14px; padding:22px clamp(18px,2vw,28px); background:var(--panel); border:1px solid var(--line-2); border-left:3px solid var(--gold); }
.objectives ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.objectives li{ position:relative; padding-left:28px; font-size:clamp(16px,1.3vw,18px); line-height:1.5; color:var(--ink); }
.objectives li::before{ content:""; position:absolute; left:0; top:.5em; width:12px; height:12px; background:var(--gold); clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }

/* by-laws accordion */
.bylaws{ padding:clamp(72px,9vw,110px) var(--pad) 0; display:flex; flex-direction:column; gap:40px; }
.bl-list{ border-top:2px solid var(--gold); max-width:980px; }
.bl{ border-bottom:1px solid var(--line-2); }
.bl summary{ display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:64px; padding:16px 4px; cursor:pointer; list-style:none; font-family:var(--display); font-weight:800; font-size:clamp(24px,2.4vw,32px); text-transform:uppercase; letter-spacing:.02em; }
.bl summary::-webkit-details-marker{ display:none; }
.bl summary::after{ content:"+"; flex-shrink:0; width:36px; height:36px; display:grid; place-items:center; border:2px solid var(--gold); color:var(--gold); font-family:var(--body); font-weight:700; font-size:22px; line-height:1; transition:background .15s, color .15s; }
.bl[open] summary::after{ content:"\2212"; background:var(--gold); color:var(--black); }
.bl summary:hover{ color:var(--gold); }
.bl summary:focus-visible{ outline:3px solid var(--gold); outline-offset:2px; }
.bl-body{ padding:0 4px 26px; display:flex; flex-direction:column; gap:14px; font-size:clamp(16px,1.3vw,18px); line-height:1.65; color:var(--ink-2); max-width:860px; }
.bl-body p{ margin:0; }
.bl-body ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px; }
.bl-body li{ position:relative; padding-left:26px; }
.bl-body li::before{ content:""; position:absolute; left:0; top:.55em; width:10px; height:10px; background:var(--gold); clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.bl-body b{ color:var(--ink); }

/* keep nav labels on one line */
.nav a{ white-space:nowrap; }

/* by-laws page */
.bylaws.page{ padding-top:calc(76px + env(safe-area-inset-top,0px) + clamp(48px,7vw,90px)); padding-bottom:clamp(40px,6vw,80px); min-height:70vh; }
.nav a[aria-current="page"]:not(.btn){ color:var(--gold); }

/* by-laws: dues tiers */
.bl-body ul.dues{ gap:0; max-width:520px; border:1px solid var(--line-2); border-top:3px solid var(--gold); background:var(--panel); }
.bl-body ul.dues li{ display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:14px 18px; border-bottom:1px solid var(--line-2); }
.bl-body ul.dues li:last-child{ border-bottom:0; }
.bl-body ul.dues li::before{ display:none; }
.bl-body ul.dues .tier{ color:var(--ink); font-weight:600; }
.bl-body ul.dues .amt{ font-family:var(--display); font-weight:900; font-size:30px; line-height:1; color:var(--gold); }
