/* /merch/ page. Builds on styles.css (homepage header, footer and hp-* sections). */
.mh-sr,.mq-label{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Announcement marquee: two identical groups, the track moves by exactly one group (-50%) so the loop is seamless. */
.mq{position:relative;background:#0f1113;color:#1dc7a5;border-bottom:1px solid #22282a;overflow:hidden;height:36px;display:flex;align-items:center}
.mq-track{display:flex;flex:none;width:max-content;white-space:nowrap;animation:mq-scroll 60s linear infinite;will-change:transform}
.mq-group{flex:none;font:700 12.5px/36px Inter,sans-serif;letter-spacing:.16em;padding-right:.5em;word-spacing:.12em}
.mq:hover .mq-track{animation-play-state:paused}
@keyframes mq-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){.mq-track{animation:none;transform:none}}

.desktop-nav a[aria-current="page"]{color:var(--accent-text);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.site-menu nav a[aria-current="page"]{color:#0a7562}

/* Hero */
.mh-hero{padding:64px 0 72px}
.mh-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:end;margin-bottom:44px}
.mh-hero h1{margin:0}
.mh-intro .hp-lede{margin:0 0 4px}
.mh-intro .hp-small{margin-top:14px}
.mh-photo{margin:0}
.mh-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px;background:#1b2022}

/* Products */
.mh-products{background:#121617;color:#e8ecea;padding:72px 0 76px;border-top:1px solid #22282a}
.mh-products h2{font:700 30px/1.15 'Space Grotesk',Inter,sans-serif;margin:0 0 26px;color:#fff}
.mh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.mh-card{background:#0f1113;border:1px solid #2b3335;border-radius:8px;padding:28px 30px 26px}
.mh-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}
.mh-num{margin:0;font:700 15px/1 'Space Grotesk',Inter,sans-serif;color:#1dc7a5;letter-spacing:.02em}
.mh-badge{display:inline-block;border:1px solid #1dc7a5;color:#1dc7a5;border-radius:999px;padding:6px 11px;font:700 12px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.mh-card h3{margin:0 0 6px;font:700 clamp(26px,3vw,34px)/1.1 'Space Grotesk',Inter,sans-serif;color:#fff;letter-spacing:-.015em}
.mh-price{margin:0 0 22px;font:700 56px/1 'Space Grotesk',Inter,sans-serif;color:#fff;letter-spacing:-.03em}
.mh-card .hp-bullets{margin:0}

/* Gold */
.mh-kicker{margin:0 0 10px;font:800 12px/1.3 Inter,sans-serif!important;letter-spacing:.14em;text-transform:uppercase;color:#0a7562!important}
.mh-gold p.mh-fine{font-size:15px;color:#4a5654}
.mh-sum{width:100%;border-collapse:collapse;margin:22px 0 0;font-size:16px;color:#14211f}
.mh-sum th{text-align:left;font-weight:500;padding:11px 0;border-top:1px solid #e6e3da}
.mh-sum td{text-align:right;font-weight:700;padding:11px 0;border-top:1px solid #e6e3da;font-variant-numeric:tabular-nums}
.mh-sum tr.mh-sum-total th,.mh-sum tr.mh-sum-total td{border-top:2px solid #14211f;font-weight:700}
.mh-sum tr:last-child th,.mh-sum tr:last-child td{border-bottom:1px solid #e6e3da}
.hp-price-card p.mh-save{margin:16px 0 0;font-size:16px;font-weight:700;color:#0a7562}

/* Join */
.mh-join{background:#0f1113;color:#e8ecea;padding:72px 0;border-top:1px solid #22282a}
.mh-join-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.mh-join h2{font:700 clamp(30px,3.6vw,44px)/1.08 'Space Grotesk',Inter,sans-serif;margin:0 0 14px;color:#fff;letter-spacing:-.02em}
.mh-join-grid p{margin:0;font-size:17px;line-height:1.6;color:#cfd6d3;max-width:34em}
.mh-join-act .btn{text-decoration:none}.mh-join-act .btn-accent{box-shadow:none}
.mh-join-act .hp-small{font-size:14px;color:#a9b4b1;margin-top:16px}
.mh-inline{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.mh-inline:hover{color:#1dc7a5}

@media (max-width:900px){
  .mh-hero{padding:40px 0 48px}
  .mh-head,.mh-join-grid{grid-template-columns:1fr;gap:20px}
  .mh-head{margin-bottom:28px}
  .mh-grid{grid-template-columns:1fr;gap:16px}
  .mh-products,.mh-join{padding:56px 0}
}
@media (max-width:420px){
  .mh-card{padding:22px 20px}
  .mh-price{font-size:48px}
  .mq-group{font-size:12px;letter-spacing:.14em}
}
/* Batch 2: no prices yet, so Gold is a single column and the card shows a short 'available soon' line */
.mh-gold .hp-pricing-grid{grid-template-columns:1fr;max-width:760px}
.mh-price.mh-price-soon{font-size:18px;line-height:1.35;font-weight:700;letter-spacing:0}
