/* Self-hosted fonts (SIL Open Font License — see /fonts/) — no Google Fonts round-trip */
@font-face { font-family: 'Anton'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('/fonts/anton-latin-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Anton'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('/fonts/anton-latin-ext-400.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url('/fonts/manrope-latin-var.woff2') format('woff2-variations'), url('/fonts/manrope-latin-var.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url('/fonts/manrope-latin-ext-var.woff2') format('woff2-variations'), url('/fonts/manrope-latin-ext-var.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* 1 Purple Nation — brand layer (loaded last on every page)
   Fonts: Anton (display, uppercase statements) + Manrope (UI & body)
   Palette: deep aubergine base with purple + gold light, so the site
   glows instead of sitting on flat black. */

:root {
  --pn-display: 'Anton', 'Impact', 'Arial Narrow', sans-serif;
  --pn-body: 'Manrope', -apple-system, 'Segoe UI', sans-serif;
  --pn-base: #0F0A1C;
  --pn-surface: #1A1230;
  --pn-surface-2: #221840;
  --pn-line: rgba(167,139,250,.16);
  --pn-purple: #8B5CF6;
  --pn-violet: #A78BFA;
  --pn-gold: #F5C518;
  --font: var(--pn-body);
}

html body {
  font-family: var(--pn-body);
  background-color: var(--pn-base);
  background-image:
    radial-gradient(900px 620px at 8% 0%, rgba(124,58,237,.28), transparent 62%),
    radial-gradient(760px 560px at 100% 18%, rgba(192,38,211,.14), transparent 60%),
    radial-gradient(820px 600px at 50% 100%, rgba(245,197,24,.07), transparent 65%);
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── Display type ── */
h1, h2,
.section-head h2, .page-header h1, .collection-card h3, .pnq-title {
  font-family: var(--pn-display);
  font-weight: 400;
  letter-spacing: .012em;
  text-transform: uppercase;
  line-height: 1.02;
}
.hero-pro .hp-title { font-family: var(--pn-display); font-weight: 400; letter-spacing: .005em; line-height: .9; text-transform: uppercase; }
.section-head h2 { font-size: clamp(38px, 6vw, 64px); }
.section-head span, .hp-eyebrow, .pnq-cat, .fp-cat { font-family: var(--pn-body); }
/* Keep form/receipt headings readable */
.checkout-section h2, .order-summary h2, .cart-summary h2, #featuredTitle, .pnq h3:not(.pnq-title), .contact-form h3 {
  font-family: var(--pn-body); text-transform: none; letter-spacing: -.01em; font-weight: 800; line-height: 1.25;
}
.pnq-title { font-size: 34px; letter-spacing: .01em; }
@media (max-width: 768px) { .pnq-title { font-size: 28px; } }
.hp-card-body h3, .fp-name, .mini-card h4 { font-family: var(--pn-body); letter-spacing: -.01em; }
.hp-btn, .pnq-btn, .pnq-trigger, .btn { font-family: var(--pn-body); letter-spacing: .01em; }

/* ── Vibrant sections (homepage) ── */
.merch, .collections, .bestsellers, .support, .contact { background: transparent; }
.cause, .books, .videos, .testimonials {
  background:
    radial-gradient(700px 300px at 50% 0%, rgba(139,92,246,.16), transparent 70%),
    linear-gradient(180deg, rgba(34,24,64,.55), rgba(26,18,48,.25));
  border-top: 1px solid var(--pn-line);
  border-bottom: 1px solid var(--pn-line);
}
.about { background: radial-gradient(800px 420px at 20% 50%, rgba(139,92,246,.22), transparent 70%), linear-gradient(135deg, #24124A 0%, var(--pn-base) 100%); }

/* Cards pick up the purple glass look */
.fp-card, .mini-card, .cause-card, .support-card, .video-card, .book-card, .review-card, .testimonial-card {
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  border-color: var(--pn-line);
}
.fp-card:hover, .mini-card:hover, .cause-card:hover, .support-card:hover, .video-card:hover {
  border-color: rgba(167,139,250,.5);
  box-shadow: 0 18px 40px rgba(76,29,149,.35);
}
.fp-img, .mini-card .mini-img { background: #fff; }

/* ── Reveal: live content fades up in sequence as it arrives ── */
@keyframes pnReveal {
  from { opacity: 0; transform: translateY(18px) scale(.985); }
  to   { opacity: 1; transform: none; }
}
.pn-reveal { opacity: 0; animation: pnReveal .7s cubic-bezier(.22,.9,.3,1) forwards; animation-delay: calc(var(--i, 0) * 80ms); }
/* Engine-rendered /shop/ cards */
.ep-card { animation: pnReveal .6s cubic-bezier(.22,.9,.3,1) both; }
.ep-card:nth-child(2) { animation-delay: .06s; } .ep-card:nth-child(3) { animation-delay: .12s; }
.ep-card:nth-child(4) { animation-delay: .18s; } .ep-card:nth-child(5) { animation-delay: .24s; }
.ep-card:nth-child(6) { animation-delay: .3s; }  .ep-card:nth-child(7) { animation-delay: .36s; }
.ep-card:nth-child(8) { animation-delay: .42s; } .ep-card:nth-child(n+9) { animation-delay: .48s; }

@media (prefers-reduced-motion: reduce) {
  .pn-reveal, .ep-card { animation: none !important; opacity: 1 !important; transform: none !important; }
  html body { background-attachment: scroll; }
}
section[hidden] { display: none !important; }
