/* NHSBBQA® HOME (Wild Apricot user.css) */

/* --- tokens --- */
:root{
  --nhs-bg:#0c0c0e;
  --nhs-panel:#121216;
  --nhs-panel2:#17171d;
  --nhs-text:#f2f2f5;
  --nhs-muted:#c9c9d2;
  --nhs-line:#3f3f49;

  --nhs-red:#8c1423;
  --nhs-blue:#1658a5;
  --nhs-ember:#f2f2f5;
}

/* contain */
.nhs-wrap{ max-width:1200px; margin:0 auto; padding:0 20px; }
.nhs-main{ background:var(--nhs-bg); color:var(--nhs-text); }

/* top bar */
.nhs-topbar{ position:sticky; top:0; z-index:9999; }
.nhs-announcement{
  display:flex; gap:12px; align-items:center; justify-content:space-between;
  background:var(--nhs-red); color:#fff; padding:8px 16px; font-size:14px;
}
.nhs-announcement a{ color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.35); }
.nhs-announcement__right{ white-space:nowrap; }
.nhs-dot{ margin:0 8px; opacity:.85; }

/* nav */
.nhs-nav{
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(12,12,14,.92); backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:14px 16px;
}
.nhs-brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--nhs-text); min-width:240px; }
.nhs-brand__logo{ width:56px; height:56px; object-fit:contain; }
.nhs-brand__seal{ width:44px; height:44px; object-fit:contain; opacity:.95; }
.nhs-brand__name{ font-weight:800; letter-spacing:.2px; line-height:1.05; }
.nhs-brand__tag{ font-size:12px; color:var(--nhs-muted); margin-top:2px; }
.nhs-reg{ font-size:.75em; vertical-align:super; }

.nhs-menu{ display:flex; align-items:center; gap:18px; }
.nhs-menu a{ color:var(--nhs-text); text-decoration:none; font-weight:700; letter-spacing:.6px; text-transform:uppercase; font-size:13px; opacity:.92; }
.nhs-menu a:hover{ opacity:1; }

/* buttons */
.nhs-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:999px; border:1px solid transparent;
  text-decoration:none; font-weight:800; letter-spacing:.4px; text-transform:uppercase;
  font-size:13px; line-height:1;
}
.nhs-btn--primary{ background:var(--nhs-red); color:#fff; }
.nhs-btn--secondary{ background:var(--nhs-blue); color:#fff; }
.nhs-btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.22); }
.nhs-btn--ghost:hover{ border-color:rgba(255,255,255,.45); }

/* burger */
.nhs-burger{
  display:none; background:transparent; border:0; padding:10px; cursor:pointer;
}
.nhs-burger span{
  display:block; width:24px; height:2px; background:#fff; margin:5px 0; border-radius:2px;
}

/* hero */
.nhs-hero{ position:relative; overflow:hidden; }
.nhs-hero__bg{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 500px at 15% 35%, rgba(0,0,0,.7), transparent 65%),
    radial-gradient(900px 600px at 75% 40%, rgba(0,0,0,.65), transparent 70%),
    linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.75)),
    url("https://YOUR-CDN/embers-bg.jpg");
  background-size:cover;
  background-position:center;
  filter:saturate(1.05) contrast(1.05);
}
.nhs-hero__grid{
  position:relative;
  display:grid; grid-template-columns: 1.1fr .9fr;
  gap:28px;
  padding:64px 20px 40px;
}
.nhs-hero h1{ margin:0 0 12px; font-size:56px; line-height:1.02; }
.nhs-subhead{ margin:0 0 20px; color:var(--nhs-muted); font-size:18px; max-width:56ch; }
.nhs-cta{ display:flex; flex-wrap:wrap; gap:12px; margin:18px 0; }
.nhs-micro{ margin-top:10px; font-size:13px; color:rgba(255,255,255,.75); max-width:65ch; }

/* media card */
.nhs-mediaCard{
  background:rgba(18,18,22,.92);
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  padding:16px;
}
.nhs-mediaCard__label{ font-size:12px; color:rgba(255,255,255,.75); text-transform:uppercase; letter-spacing:.7px; margin-bottom:10px; }
.nhs-mediaCard__frame{
  position:relative; display:block; border-radius:18px; overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
}
.nhs-mediaCard__frame img{ width:100%; height:320px; object-fit:cover; display:block; }
.nhs-play{
  position:absolute; inset:0; margin:auto;
  width:72px; height:72px; border-radius:50%;
  border:2px solid rgba(255,255,255,.9);
  display:grid; place-items:center;
  backdrop-filter: blur(6px);
}
.nhs-play:before{
  content:"";
  width:0; height:0;
  border-left:18px solid rgba(255,255,255,.95);
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  margin-left:4px;
}
.nhs-mediaCard__meta{ font-size:13px; color:rgba(255,255,255,.7); margin-top:10px; }

/* sections */
.nhs-section{ padding:34px 0; }
.nhs-cards{
  display:grid; grid-template-columns: repeat(3, 1fr);
  gap:16px;
}
.nhs-card{
  background:var(--nhs-panel);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:18px;
}
.nhs-card h3{ margin:0 0 8px; font-size:18px; }
.nhs-card p{ margin:0 0 10px; color:var(--nhs-muted); }
.nhs-link{ color:var(--nhs-ember); text-decoration:none; font-weight:800; }
.nhs-link:hover{ text-decoration:underline; }

.nhs-sectionHead h2{ margin:0 0 6px; font-size:26px; }
.nhs-sectionHead p{ margin:0 0 14px; color:var(--nhs-muted); }

/* carousel */
.nhs-carousel{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  overflow:hidden;
  padding:16px 0;
}
.nhs-carousel__track{
  display:flex; align-items:center; gap:16px;
  animation: nhsScroll 22s linear infinite;
  will-change: transform;
}
.nhs-logo{
  flex:0 0 auto;
  width:180px; height:72px;
  background:var(--nhs-panel2);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  display:grid; place-items:center;
  padding:10px;
}
.nhs-logo img{ max-width:100%; max-height:100%; object-fit:contain; }
@keyframes nhsScroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

/* tiles */
.nhs-tiles{
  display:grid; grid-template-columns: repeat(2, 1fr);
  gap:16px;
}
.nhs-tile{
  background:var(--nhs-panel);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:18px;
}
.nhs-tile h3{ margin:0 0 8px; font-size:22px; }
.nhs-tile p{ margin:0 0 14px; color:var(--nhs-muted); }

/* footer */
.nhs-footer{
  border-top:1px solid rgba(255,255,255,.10);
  background:#09090b;
  padding:24px 0;
}
.nhs-footer__grid{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.nhs-footer__brand{ font-weight:900; letter-spacing:.3px; margin-bottom:6px; }
.nhs-footer__meta, .nhs-footer__meta a{ color:rgba(255,255,255,.72); font-size:13px; text-decoration:none; }
.nhs-footer__meta a:hover{ text-decoration:underline; }
.nhs-footer__right{ text-align:right; }

/* responsive */
@media (max-width: 980px){
  .nhs-hero__grid{ grid-template-columns: 1fr; padding-top:46px; }
  .nhs-hero h1{ font-size:42px; }
  .nhs-mediaCard__frame img{ height:260px; }
  .nhs-cards{ grid-template-columns: 1fr; }
  .nhs-tiles{ grid-template-columns: 1fr; }
}

@media (max-width: 880px){
  .nhs-burger{ display:inline-block; }
  .nhs-menu{
    position:absolute;
    right:16px; top: calc(32px + 78px);
    background:rgba(12,12,14,.98);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:14px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    min-width: 240px;
    gap:10px;
  }
  .nhs-menu.is-open{ display:flex; }
  .nhs-menu a{ font-size:14px; text-transform:none; letter-spacing:.2px; }
  .nhs-footer__right{ text-align:left; }
  .nhs-announcement{ flex-direction:column; align-items:flex-start; gap:6px; }
}

