/* ══════════════════════════════════════════════════════════════════════════
   Piercing Word — site chrome. Header, mobile drawer, footer.
   ══════════════════════════════════════════════════════════════════════════ */
:root{ --pw-hd-h:76px; }
@media (max-width:900px){ :root{ --pw-hd-h:62px; } }

.pw-skip{position:fixed;left:-9999px;top:10px;z-index:1000;background:#F0603F;color:#fff;
  padding:12px 20px;border-radius:4px;font-family:var(--pw-label);font-weight:900;font-size:12px;
  text-transform:uppercase;letter-spacing:.14em;text-decoration:none}
.pw-skip:focus{left:14px}

/* ── header ─────────────────────────────────────────────────────────────── */
.pw-hd{position:fixed;inset-inline:0;inset-block-start:0;z-index:900;
  transition:background .3s ease,box-shadow .3s ease,height .25s ease;
  background:linear-gradient(180deg,rgba(11,12,42,.62),rgba(11,12,42,0));
  height:var(--pw-hd-h)}
.pw-hd.is-stuck{background:rgba(11,12,42,.86);-webkit-backdrop-filter:saturate(180%) blur(16px);
  backdrop-filter:saturate(180%) blur(16px);box-shadow:0 1px 0 rgba(255,255,255,.08),0 10px 30px rgba(0,0,0,.28)}
.pw-hd__in{height:100%;max-width:1320px;margin-inline:auto;padding-inline:24px;
  display:flex;align-items:center;gap:26px}
.pw-hd__logo{display:flex;align-items:center;flex:none;text-decoration:none;color:#fff}
.pw-hd__logo img{height:36px;width:auto;display:block;transition:height .25s ease}
.pw-hd.is-stuck .pw-hd__logo img{height:30px}

.pw-hd__nav{margin-inline-start:auto}
.pw-nav{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.pw-nav > li{position:relative}
.pw-nav > li > a{display:block;padding:10px 14px;color:rgba(255,255,255,.88);text-decoration:none;
  font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;text-transform:uppercase;
  letter-spacing:.14em;font-size:11.5px;line-height:1;position:relative;border-radius:6px}
.pw-nav > li > a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1.5px;
  background:#F0603F;transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.2,.7,.3,1)}
.pw-nav > li:hover > a::after,.pw-nav > li:focus-within > a::after{transform:scaleX(1)}
.pw-nav > li > a:hover,.pw-nav > li > a:focus-visible{color:#fff}

.pw-nav .sub-menu{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-start:0;min-width:262px;
  list-style:none;margin:0;padding:10px;border-radius:14px;background:rgba(18,20,78,.94);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  box-shadow:0 20px 46px rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.08);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .22s ease,transform .22s ease,visibility .22s}
.pw-nav > li:hover .sub-menu,.pw-nav > li:focus-within .sub-menu{opacity:1;visibility:visible;transform:none}
.pw-nav .sub-menu a{display:block;padding:10px 14px;border-radius:9px;color:rgba(233,233,248,.86);
  text-decoration:none;font-family:var(--pw-body,'Sora',sans-serif);font-weight:400;font-size:14px;line-height:1.25;
  transition:background .18s ease,color .18s ease}
.pw-nav .sub-menu a:hover,.pw-nav .sub-menu a:focus-visible{background:rgba(255,255,255,.09);color:#fff}

.pw-hd__cta{display:flex;align-items:center;gap:10px;flex:none}
.pw-hd__btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
  font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;text-transform:uppercase;
  letter-spacing:.13em;font-size:11px;line-height:1;padding:13px 20px;border-radius:999px;
  text-decoration:none;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.pw-hd__btn--coral{background:#F0603F;color:#fff}
.pw-hd__btn--ghost{border:1.5px solid rgba(255,255,255,.42);color:#fff}
.pw-hd__btn--ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7)}
.pw-hd__btn:hover{transform:translateY(-1px)}

.pw-hd__progress{position:absolute;inset-inline:0;inset-block-end:0;height:2px;background:rgba(255,255,255,.09)}
.pw-hd__progress i{display:block;height:100%;width:0;background:#F0603F;transform-origin:left}

.pw-burger{display:none;flex:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;
  align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:0;margin-inline-start:auto}
.pw-burger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),opacity .2s ease}
.pw-burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.pw-burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}

@media (max-width:1180px){ .pw-hd__btn--ghost{display:none} }
@media (max-width:1024px){
  .pw-hd__nav,.pw-hd__cta{display:none}
  .pw-burger{display:flex}
  .pw-hd__in{gap:12px;padding-inline:18px}
}

/* ── mobile drawer ──────────────────────────────────────────────────────── */
.pw-drawer{position:fixed;inset:0;z-index:890;background:radial-gradient(120% 80% at 50% 0%,#232993 0%,#12144E 42%,#0B0C2A 100%);
  opacity:0;visibility:hidden;transition:opacity .32s ease,visibility .32s;overscroll-behavior:contain}
.pw-drawer[hidden]{display:none}
.pw-drawer.is-open{opacity:1;visibility:visible}
.pw-drawer__scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:calc(var(--pw-hd-h) + 26px) 24px 44px;display:flex;flex-direction:column;gap:26px}
.pw-dnav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.pw-dnav > li{border-block-end:1px solid rgba(255,255,255,.1);padding-block:6px}
.pw-dnav > li > a{display:block;padding:12px 0;color:#fff;text-decoration:none;
  font-family:var(--pw-display,'Gloock',serif);font-weight:400;font-size:clamp(28px,7.6vw,40px);
  line-height:1.08;letter-spacing:-.015em}
.pw-dnav .sub-menu{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px 8px}
.pw-dnav .sub-menu a{display:inline-block;padding:8px 14px;border-radius:999px;
  background:rgba(255,255,255,.08);color:rgba(233,233,248,.9);text-decoration:none;
  font-family:var(--pw-body,'Sora',sans-serif);font-weight:400;font-size:13.5px;line-height:1.2}
.pw-dnav .sub-menu a:active{background:rgba(255,255,255,.18)}
.pw-drawer__cta{display:flex;flex-direction:column;gap:10px}
.pw-drawer__cta .pw-hd__btn{width:100%;padding-block:17px;font-size:12px}
.pw-drawer__social{display:flex;gap:14px;margin-block-start:2px}
.pw-drawer__social a,.pw-ft__social a{display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.22);color:#fff;
  transition:background .2s ease,border-color .2s ease}
.pw-drawer__social a:hover,.pw-ft__social a:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5)}
.pw-drawer__social svg,.pw-ft__social svg{width:19px;height:19px;fill:currentColor}

html.pw-drawer-open,html.pw-drawer-open body{overflow:hidden}

/* staggered reveal */
html.pw-motion .pw-drawer .pw-dnav > li,
html.pw-motion .pw-drawer .pw-drawer__cta,
html.pw-motion .pw-drawer .pw-drawer__social{opacity:0;transform:translateY(14px)}
html.pw-motion .pw-drawer.is-open .pw-dnav > li,
html.pw-motion .pw-drawer.is-open .pw-drawer__cta,
html.pw-motion .pw-drawer.is-open .pw-drawer__social,
.pw-drawer.is-open .pw-dnav > li,
.pw-drawer.is-open .pw-drawer__cta,
.pw-drawer.is-open .pw-drawer__social{opacity:1;transform:none;
  transition:opacity .42s ease var(--d,0ms),transform .42s cubic-bezier(.2,.7,.3,1) var(--d,0ms)}

/* ── footer ─────────────────────────────────────────────────────────────── */
.pw-ft{background:#0B0C2A;color:rgba(233,233,248,.78);
  font-family:var(--pw-body,'Sora',sans-serif);font-weight:300;font-size:14.5px;line-height:1.5}
.pw-ft a{color:inherit;text-decoration:none;transition:color .18s ease}
.pw-ft a:hover{color:#fff}
.pw-ft__in{max-width:1200px;margin-inline:auto;padding:74px 24px 44px;
  display:grid;grid-template-columns:minmax(220px,1fr) 2.2fr minmax(200px,.9fr);gap:44px}
.pw-ft__brand img{height:56px;width:auto;display:block;margin-block-end:16px}
.pw-ft__tag{font-family:var(--pw-display,'Gloock',serif);font-size:19px;line-height:1.24;
  color:#fff;margin:0 0 20px;max-width:16ch}
.pw-ft__social{display:flex;gap:10px}

.pw-fnav{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:28px}
.pw-fnav > li > a{font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;
  text-transform:uppercase;letter-spacing:.16em;font-size:10.5px;color:#F0603F;
  display:block;margin-block-end:12px;line-height:1.1}
.pw-fnav .sub-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}

.pw-ft__lbl{font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;text-transform:uppercase;
  letter-spacing:.16em;font-size:10.5px;color:#F0603F;margin:0 0 12px;line-height:1.1}
.pw-ft__contact p{margin:0 0 10px}
.pw-ft__note{font-size:12px;color:rgba(233,233,248,.5)}

.pw-ft__bar{border-block-start:1px solid rgba(255,255,255,.1)}
.pw-ft__bar > *{max-width:1200px;margin-inline:auto}
.pw-ft__bar{padding:20px 24px;display:flex;flex-wrap:wrap;gap:10px 24px;
  align-items:center;justify-content:space-between;font-size:12.5px;color:rgba(233,233,248,.56)}
.pw-ft__bar p{margin:0}
.pw-ft__legal{display:flex;flex-wrap:wrap;gap:8px 20px}

@media (max-width:900px){
  .pw-ft__in{grid-template-columns:1fr;gap:34px;padding:56px 22px 32px}
  .pw-fnav{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .pw-ft__bar{flex-direction:column;align-items:flex-start;padding:18px 22px 28px}
}

@media (prefers-reduced-motion:reduce){
  .pw-hd,.pw-hd__logo img,.pw-nav .sub-menu,.pw-burger span,.pw-drawer,
  .pw-drawer.is-open .pw-dnav > li,.pw-hd__btn{transition:none!important}
  html.pw-motion .pw-drawer .pw-dnav > li,
  html.pw-motion .pw-drawer .pw-drawer__cta,
  html.pw-motion .pw-drawer .pw-drawer__social{opacity:1;transform:none}
}

/* header clearance for the event templates, whose heroes were sized before the chrome existed */
.pw-ev-hero{padding-block-start:calc(var(--pw-hd-h) + 54px)}

/* ── ROUND-6 ─────────────────────────────────────────────────────────────
   Footer columns were sizing to the tallest row, which opened gaps between
   Resources / Get in touch and Get Equipped / Join. */
.pw-fnav{align-items:start;align-content:start}
.pw-fnav > li{align-self:start}
.pw-ft__in{align-items:start}


/* ---------- footer newsletter CTA (Sep 15 2026) ----------
   Deliberately a CTA, not an inline email field: Neon has no query-param
   prefill (tested - ?email1= is ignored), so an inline field would make
   people type their address twice. Revisit once the Neon API/webhook path
   is wired and we can capture the address ourselves. */
.pw-ft__nl{ margin-top:26px; }
.pw-ft__nl-copy{
  font-family:var(--pw-body,'Sora',system-ui,sans-serif);
  font-weight:300; font-size:13.5px; line-height:1.6;
  color:rgba(255,255,255,.72); margin:0 0 14px; max-width:34ch;
}
.pw-ft__nl-btn{
  display:inline-flex; align-items:center;
  font-family:var(--pw-body,'Sora',system-ui,sans-serif);
  font-weight:600; text-transform:uppercase; letter-spacing:.14em; font-size:11px;
  background:var(--pw-coral,#F0603F); color:#fff; text-decoration:none;
  padding:13px 26px; border-radius:4px;
  transition:background-color .2s ease, transform .2s ease;
}
.pw-ft__nl-btn:hover{ background:#D44A2B; color:#fff; transform:translateY(-1px); }
@media (max-width:640px){ .pw-ft__nl-btn{ width:100%; justify-content:center; } }

/* == R22 - header wordmark 1.3x, shrinking on scroll (Nick 09-17) == */
.pw-hd__logo img{height:47px}
.pw-hd.is-stuck .pw-hd__logo img{height:34px}
@media (max-width:900px){
 .pw-hd__logo img{height:42px}
 .pw-hd.is-stuck .pw-hd__logo img{height:32px}
}
