/* ============================================================
   Uncommon Christian Network — stylesheet module: home
   The new home page (hp-*) and the Prayer page's share widget.
   Load order (header.php): base, layout, home, live, support, pages.
   ============================================================ */
/* ===== Prayer / "share" widget ============================================ */
.prayer{padding:clamp(48px,7vw,84px) 0}
.prayer--page{padding-top:clamp(52px,8vw,96px)}
.prayer-card{position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--bg-2),var(--bg));
  border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(1.6rem,4vw,2.8rem);box-shadow:var(--shadow)}
.prayer-glow{position:absolute;top:-40%;right:-10%;width:60%;height:120%;z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgb(from var(--violet-200) r g b / .16),transparent 62%);filter:blur(30px)}
.prayer-head,.share,.share-done,.prayer-fine{position:relative;z-index:1}
.prayer-title{font-family:var(--display);font-weight:800;font-size:clamp(1.7rem,3.4vw,2.5rem);
  line-height:1.1;letter-spacing:-.02em;margin:.5rem 0 0}
.prayer-lead{color:var(--muted);font-size:1.02rem;line-height:1.7;max-width:60ch;margin:1rem 0 0}
/* Call-to-action cue: tells people the tags below are clickable. */
.prayer-cue{color:var(--accent-2);font-weight:600;font-size:1.02rem;margin:.9rem 0 0}
/* The cue sits under the intro copy on desktop, but below the whole phone widget
   (Ages 18+) on phones — two copies, swapped by breakpoint. */
.prayer-cue--m{display:none}
@media (max-width:720px){
  .prayer-cue--d{display:none}
  .prayer-cue--m{display:block;flex:1 1 100%;width:100%;text-align:center;margin:.6rem 0 0}
}

/* Share widget head — copy on the left, a compact call/text widget top-right. */
.prayer-head{display:flex;gap:clamp(1.2rem,3vw,2.4rem);align-items:stretch;
  justify-content:space-between;flex-wrap:wrap}
.prayer-head-copy{flex:1 1 340px;min-width:0}
.prayer-head-copy .prayer-lead{max-width:56ch}
/* Phone widget: one big pill = the call action, "or text" centered below it,
   and the availability/privacy lines centered under that. The pill FLASHES
   through the topic colours (see ppPillHue) with a gradient sheen + shadow. */
.prayer-phone{flex:0 0 clamp(300px,34%,380px);max-width:100%;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;justify-content:center}
/* The pill — white text stays readable on every colour it cycles through. */
.pp-pill{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;
  padding:.62rem 1.3rem .62rem .7rem;border-radius:999px;color:#fff;
  background-color:#e8890b;
  background-image:linear-gradient(180deg, rgba(255,255,255,.24), rgba(0,0,0,.2));
  box-shadow:0 12px 30px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.4), inset 0 -2px 6px rgba(0,0,0,.22);
  text-shadow:0 1px 3px rgba(0,0,0,.4);
  animation:ppPillHue 10.8s linear infinite;transition:transform .14s}
.pp-pill:hover{transform:translateY(-1px)}
.pp-pill:focus-visible{outline:3px solid var(--violet-400);outline-offset:2px}
.pp-pill-ico{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  border:2px solid rgba(255,255,255,.7);color:#fff}
.pp-pill-ico svg{width:19px;height:19px}
.pp-pill-copy{display:flex;flex-direction:column;line-height:1.1;text-align:left}
.pp-number{font-family:var(--display);font-weight:800;font-size:1.3rem;letter-spacing:-.01em;color:#fff}
.pp-sub{font-size:.72rem;font-weight:600;color:rgba(255,255,255,.9);margin-top:.16rem;
  font-variant-numeric:tabular-nums}
.pp-text{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;
  color:var(--muted);font-weight:600;font-size:.92rem;transition:color .16s}
.pp-text:hover{color:var(--text)}
.pp-text svg{width:16px;height:16px}
/* The flash: the pill cycles the six topic colours (deep enough for white text). */
/* Matches the 5-tile chase exactly: same colours, same hold-then-snap timing,
   and no animation-delay so the pill's rose lands with tile #1 (rose) at t=0. */
@keyframes ppPillHue{
  0%,18%   {background-color:#f43f5e}   /* rose   — Prayer Request */
  20%,38%  {background-color:#f59e0b}   /* amber  — Testimony */
  40%,58%  {background-color:#38bdf8}   /* sky    — Comment */
  60%,78%  {background-color:var(--violet-600)}   /* violet — Question (matches the Question tile) */
  80%,98%  {background-color:#2dd4bf}   /* teal   — Skeptic */
  100%     {background-color:#f43f5e}
}
.pp-avail{display:inline-flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.82rem;margin-top:.2rem}
/* Green "available" dot inside the pp-avail line. */
.pl-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex:none;
  box-shadow:0 0 0 3px rgba(67,197,158,.18)}
.pp-fine{color:var(--muted);font-size:.78rem}
.pp-age{color:var(--muted);font-size:.78rem}
@media (prefers-reduced-motion:reduce){.pp-pill{animation:none}}
@media (max-width:640px){.prayer-phone{flex:1 1 100%;width:100%}}

/* topic tiles */
.share{margin:1.8rem 0 0}
.share-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.share-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(172px,1fr));gap:.7rem}
/* Compact horizontal tile: icon on the left, label to its right; height is just
   enough for that one row. */
.topic{display:flex;flex-direction:row;align-items:center;gap:.7rem;color:var(--text);
  background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:.62rem .8rem;cursor:pointer;text-align:left;
  transition:border-color .16s,background .16s,transform .12s}
.topic:hover{border-color:rgb(from var(--violet-200) r g b / .5);background:rgb(from var(--violet-200) r g b / .08);transform:translateY(-1px)}
.topic:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.topic.is-active{border-color:var(--accent);background:rgb(from var(--violet-200) r g b / .16);
  box-shadow:0 0 0 1px var(--accent) inset}
.topic-ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
  background:rgb(from var(--violet-200) r g b / .16);color:var(--accent-2)}
.topic-ico svg{width:21px;height:21px}
.topic.is-active .topic-ico{background:var(--accent-2);color:var(--violet-900)}
.topic-name{font-weight:700;font-size:.98rem;line-height:1.2}
@media (max-width:560px){.share-topics{grid-template-columns:1fr 1fr}}

/* Each topic tile carries its own colour (--tc as R,G,B). The tiles run a
   "chase": each lights up in its own colour for 1/6 of a shared 10.8s cycle,
   one at a time, in order. --chase is each tile's slot offset into that cycle.
   Hover/selected styles are !important so they beat the running animation
   without pausing it (pausing would drift the tiles out of step). */
.share-topics .topic{--tc:var(--violet-600-rgb);
  background:rgba(255,255,255,.03);
  border:1px solid var(--line);
  animation:topicChase 10.8s linear infinite;animation-delay:var(--chase,0s)}
.share-topics .topic:nth-child(1){--tc:244,63,94;--chase:-10.8s}  /* Prayer Request - rose  */
.share-topics .topic:nth-child(2){--tc:245,158,11;--chase:-8.64s} /* Testimony - amber  */
.share-topics .topic:nth-child(3){--tc:56,189,248;--chase:-6.48s} /* Comment   - sky    */
.share-topics .topic:nth-child(4){--tc:var(--violet-600-rgb);--chase:-4.32s}/* Question  - violet */
.share-topics .topic:nth-child(5){--tc:45,212,191;--chase:-2.16s} /* Skeptic   - teal   */
.share-topics .topic .topic-ico{background:rgba(255,255,255,.07);color:#c3cad4;
  animation:topicIcoChase 10.8s linear infinite;animation-delay:var(--chase,0s)}
/* Five tiles: each lit for one 1/5 slot — hold to 18%, crossfade out by 20%. */
@keyframes topicChase{
  0%,18%   {background-color:rgba(var(--tc),.5);border-color:rgb(var(--tc))}
  20%,100% {background-color:rgba(255,255,255,.03);border-color:var(--line)}
}
@keyframes topicIcoChase{
  0%,18%   {background-color:rgb(var(--tc));color:#0d0f16}
  20%,100% {background-color:rgba(255,255,255,.07);color:#c3cad4}
}
.share-topics .topic:hover{
  background:rgba(var(--tc),.42)!important;border-color:rgb(var(--tc))!important;
  transform:translateY(-1px)}
.share-topics .topic:hover .topic-ico{background:rgb(var(--tc))!important;color:#0d0f16!important}
.share-topics .topic.is-active{border-color:rgb(var(--tc))!important;
  background:rgb(var(--tc))!important;
  box-shadow:0 0 0 1px rgb(var(--tc)) inset,0 8px 22px rgba(var(--tc),.4)}
.share-topics .topic.is-active .topic-name{color:#fff}
.share-topics .topic.is-active .topic-ico{background:rgba(255,255,255,.9)!important;color:#0d0f16!important}
@media (prefers-reduced-motion:reduce){
  .share-topics .topic,.share-topics .topic .topic-ico{animation:none}}
/* Once a tag is chosen, stop the colour-chase (the phone pill keeps its own). */
.share-topics.picked .topic,
.share-topics.picked .topic .topic-ico{animation:none}

/* Message head: label + "Public" toggle */
.share-msg-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.45rem}
.share-toggle{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;user-select:none}
.share-toggle-txt{font-size:.82rem;font-weight:800;color:var(--muted);letter-spacing:.02em;transition:color .18s}
.share-toggle:has(input:checked) .share-toggle-txt{color:var(--ok)}
.share-toggle input{position:absolute;opacity:0;width:0;height:0}
.share-toggle-track{position:relative;width:42px;height:24px;border-radius:999px;background:#2a2d3a;
  border:1px solid var(--line);transition:background .18s,border-color .18s;flex:none}
.share-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#c3cad4;transition:transform .18s,background .18s}
.share-toggle input:checked + .share-toggle-track{background:var(--ok);border-color:var(--ok)}
.share-toggle input:checked + .share-toggle-track .share-toggle-knob{transform:translateX(18px);background:#0d1117}
.share-toggle input:focus-visible + .share-toggle-track{outline:2px solid var(--accent);outline-offset:2px}

/* Consent banner (immutable) under the message */
.share-consent{margin:.15rem 0 1rem;font-family:var(--display);font-weight:800;font-size:.8rem;letter-spacing:.03em;
  text-align:center;padding:.6rem .8rem;border-radius:10px;border:1px dashed var(--line);line-height:1.4}
.share-consent--private{color:var(--muted);border-color:var(--line);background:rgba(255,255,255,.02)}
.share-consent--public{color:var(--ok);border-color:rgb(from var(--ok) r g b / .55);background:rgb(from var(--ok) r g b / .09)}

/* Examples slideshow (prayer page) */
.pr-examples{padding:clamp(24px,4vw,44px) 0 clamp(40px,6vw,72px)}
.pr-ex-eyebrow{text-align:center;margin:0 0 1.1rem;color:var(--violet-400);font-size:.72rem;font-weight:850;letter-spacing:.2em;text-transform:uppercase}
.pr-ex-stage{position:relative;max-width:760px;margin:0 auto;min-height:clamp(150px,20vw,172px)}
.pr-ex{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.95rem;
  text-align:center;opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .7s ease,transform .7s ease,visibility .7s}
.pr-ex.is-on{opacity:1;visibility:visible;transform:none}
.pr-ex-tag{display:inline-block;padding:.32rem .85rem;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pr-ex blockquote{margin:0;font-family:var(--display);font-size:clamp(1.15rem,2.4vw,1.6rem);line-height:1.42;color:#eaedf2;max-width:42rem}
.pr-ex-tag--prayer{background:rgba(244,63,94,.16);color:#fb7185}
.pr-ex-tag--testimony{background:rgba(245,158,11,.16);color:#fbbf24}
.pr-ex-tag--comment{background:rgba(56,189,248,.16);color:#7dd3fc}
.pr-ex-tag--question{background:rgb(from var(--violet-400) r g b / .18);color:var(--violet-400)}
.pr-ex-tag--skeptic{background:rgba(45,212,191,.16);color:#5eead4}
.pr-ex-note{text-align:center;margin:1.3rem 0 0;color:var(--muted);font-size:.76rem}
@media (prefers-reduced-motion:reduce){.pr-ex{transition:opacity .25s}}

/* composer */
.share-compose{margin:1.4rem 0 0}
.share-compose[hidden]{display:none}
.share-label{display:block;font-weight:600;font-size:.9rem;margin:0 0 .5rem;color:var(--text)}
.share textarea,.share-in{width:100%;background:var(--bg);color:var(--text);
  border:1px solid var(--line);border-radius:var(--radius-sm);
  font-family:var(--font);font-size:1rem;padding:.85rem 1rem;transition:border-color .16s}
.share textarea{resize:vertical;min-height:120px;line-height:1.55}
.share textarea:focus,.share-in:focus{outline:none;border-color:var(--accent)}
.share textarea::placeholder,.share-in::placeholder{color:#6b7686}
.share-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:.7rem 0 0}
@media (max-width:560px){.share-row{grid-template-columns:1fr}}
.share-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1.1rem 0 0}
.share-send{display:inline-flex;align-items:center;gap:.5rem}
.share-send svg{width:16px;height:16px}
.share-send:disabled{opacity:.6;cursor:default;transform:none;animation:none}
/* Once a tag is picked it's "time to send" — the button fills solid, goes 3D, and
   gently pulses to draw the eye. */
.share-send.is-ready{color:#fff;background-color:var(--violet-600);
  background-image:linear-gradient(180deg, rgba(255,255,255,.22), rgba(0,0,0,.2));
  border-color:rgb(from var(--violet-200) r g b / .8);text-shadow:0 1px 2px rgba(0,0,0,.35);
  animation:sendPop 1.7s ease-in-out infinite}
@keyframes sendPop{
  0%,100%{transform:translateY(0) scale(1);
    box-shadow:0 9px 22px rgb(from var(--violet-400) r g b / .48), inset 0 1px 0 rgba(255,255,255,.4)}
  50%    {transform:translateY(-1px) scale(1.04);
    box-shadow:0 14px 30px rgb(from var(--violet-400) r g b / .66), 0 0 0 4px rgb(from var(--violet-200) r g b / .2), inset 0 1px 0 rgba(255,255,255,.4)}
}
@media (prefers-reduced-motion:reduce){.share-send.is-ready{animation:none}}
.share-status{font-size:.9rem;color:var(--muted)}
.share-status.is-err{color:var(--danger)}

/* thank-you panel */
.share-done{margin:1.4rem 0 0;text-align:center;padding:1.4rem 1rem}
.share-done[hidden]{display:none}
.share form[hidden],#shareForm[hidden]{display:none}
.share-done-ico{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;
  background:rgba(67,197,158,.16);color:var(--ok);margin:0 auto .6rem}
.share-done-ico svg{width:28px;height:28px}
.share-done h3{font-family:var(--display);font-size:1.4rem;margin:0}
.share-done-msg{color:var(--muted);max-width:44ch;margin:.5rem auto 1.1rem}

.prayer-fine{color:var(--muted);font-size:.8rem;margin:.9rem 0 0;opacity:.85}


/* Message Us tab — subject field (shown only for that tab) + section anchor */
.share-subject{margin:0 0 1.1rem}
.share-subject[hidden]{display:none}

/* ===== Home page (clean redesign) =========================================
   Namespaced with hp- so it never collides with the shared/site styles. */
.hp-hero{position:relative;overflow:hidden;height:calc(100svh - 74px);min-height:620px;
  border-bottom:1px solid var(--line);background:#08090b}
.hp-radio-hero{display:block;width:100%;height:100%;border:0;background:#08090b}
.hp-eyebrow{display:flex;align-items:center;gap:.75rem;margin:0 0 1.2rem;color:var(--violet-400);
  font-size:.78rem;font-weight:850;letter-spacing:.21em;text-transform:uppercase}
.hp-eyebrow::before{content:"";width:38px;height:1px;background:currentColor}
.hp-h1{max-width:660px;margin:0 0 1.4rem;font-family:var(--display);font-weight:800;
  font-size:clamp(4rem,7.4vw,7.2rem);line-height:.88;letter-spacing:-.06em;color:var(--white)}
.hp-h1 span{color:var(--violet-500);text-shadow:0 0 44px rgb(from var(--violet-500) r g b / .24)}
.hp-tagline{margin:0 0 .9rem;color:#fff;font-family:var(--display);font-weight:700;
  font-size:clamp(1.25rem,2vw,1.75rem);letter-spacing:-.02em}
.hp-summary{max-width:590px;margin:0 0 1.9rem;color:#b4b8c5;font-size:1.02rem}
.hp-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.hp-btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:.6rem;
  border:1px solid transparent;border-radius:999px;padding:.7rem 1.25rem;
  font-family:var(--display);font-size:.9rem;font-weight:800;color:#fff;
  transition:transform .2s ease,border-color .2s ease,background .2s ease}
.hp-btn:hover{transform:translateY(-2px);color:#fff}
.hp-btn--primary{background:var(--violet-600);border-color:var(--violet-500);box-shadow:0 14px 38px rgb(from var(--violet-600) r g b / .34)}
.hp-btn--primary:hover{background:var(--violet-500)}
.hp-btn--secondary{border-color:rgba(255,255,255,.22);background:rgba(9,9,15,.58);backdrop-filter:blur(10px)}
.hp-play{display:inline-grid;width:25px;aspect-ratio:1;place-items:center;border-radius:50%;
  background:rgba(255,255,255,.16)}
.hp-play svg{width:12px;height:12px;margin-left:1px}
.hp-note{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:2rem;color:#8f94a4;font-size:.78rem;font-weight:700}
.hp-note span{display:inline-flex;align-items:center;gap:.45rem}
.hp-note span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok);
  box-shadow:0 0 12px rgba(86,214,177,.7)}

/* Sections */
.hp-section{padding:clamp(46px,5.5vw,74px) 0}
.hp-shell{width:min(calc(100% - 40px),1220px);margin:0 auto}
.hp-intro{max-width:760px;margin-bottom:clamp(38px,5vw,58px)}
.hp-label{margin:0 0 1rem;color:var(--violet-400);font-size:.75rem;font-weight:850;letter-spacing:.2em;text-transform:uppercase}
.hp-h2{margin:0 0 1.2rem;font-family:var(--display);font-weight:800;
  font-size:clamp(2.4rem,5vw,4.8rem);line-height:1;letter-spacing:-.05em}
.hp-lead{margin:0;color:var(--muted);font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.55}
.hp-lead strong{color:#fff}
.hp-about{background:radial-gradient(circle at 12% 12%,rgb(from var(--violet-400) r g b / .1),transparent 28%),var(--surface,#0e1018)}

/* Pillars */
.hp-pillars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.hp-pillar{--pc:var(--violet-500-rgb);position:relative;isolation:isolate;min-height:235px;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(1.35rem,2.2vw,1.7rem);
  border:1px solid rgba(var(--pc),.23);border-radius:24px;
  background:linear-gradient(160deg,rgba(var(--pc),.13),rgba(12,13,21,.85) 60%);
  box-shadow:0 22px 60px rgba(0,0,0,.2);transition:transform .22s ease,border-color .22s ease}
.hp-pillar::after{content:"";position:absolute;z-index:-2;left:50%;top:5%;transform:translateX(-50%);
  width:150px;aspect-ratio:1;border-radius:50%;background:rgba(var(--pc),.16);filter:blur(42px)}
.hp-pillar:hover{transform:translateY(-4px);border-color:rgba(var(--pc),.48)}
/* Neon illustration band — black background drops out via screen blend + edge mask */
.hp-pillar-art{height:clamp(116px,11vw,146px);margin:0 0 1rem;display:flex;align-items:center;justify-content:center}
.hp-pillar-art img{max-width:80%;max-height:100%;object-fit:contain;mix-blend-mode:screen;
  -webkit-mask-image:radial-gradient(72% 72% at 50% 47%,#000 58%,transparent 100%);
  mask-image:radial-gradient(72% 72% at 50% 47%,#000 58%,transparent 100%)}
.hp-pillar--prayer{--pc:var(--violet-500-rgb)}
.hp-pillar--radio{--pc:255,102,112}
.hp-pillar--shortwave{--pc:70,205,183}
.hp-pillar--podcasts{--pc:74,156,255}
.hp-pillar--apps{--pc:181,128,255}
.hp-pillars--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hp-pillar--soon{cursor:default}
.hp-pillar-soon{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;
  padding:.34rem .74rem;border:1px solid rgba(var(--pc),.45);border-radius:999px;
  color:rgb(var(--pc));font-weight:800;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}
.hp-pillar-kicker{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:rgb(var(--pc));
  font-size:.68rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.hp-pillar-kicker::before{content:"";width:19px;height:2px;border-radius:2px;background:currentColor}
.hp-pillar h3{font-family:var(--display);margin:0 0 .45rem;font-size:clamp(1.22rem,1.8vw,1.55rem);
  letter-spacing:-.035em}
.hp-pillar p{max-width:34ch;margin:0;color:var(--muted);font-size:.94rem;line-height:1.55}

/* Who we are — mission block + value cards */
/* Near-black at the top so the hero melts cleanly into this section; the violet
   glow is pushed down out of the seam. */
.hp-who{background:
  linear-gradient(180deg,#050609 0,#0a0b11 260px),
  radial-gradient(circle at 90% 58%,rgb(from var(--violet-400) r g b / .08),transparent 32%),
  #0a0b11}
.hp-intro--center{max-width:840px;margin-left:auto;margin-right:auto;text-align:center}
/* Who-we-are: intro on the left, value cards on the right */
.hp-who-grid{display:grid;grid-template-columns:minmax(280px,1.02fr) 2fr;gap:clamp(28px,4vw,54px);align-items:center}
.hp-who-grid .hp-h2{font-size:clamp(1.95rem,2.7vw,2.8rem);line-height:1.06;margin-bottom:1rem}
.hp-intro--flush{max-width:none;margin-bottom:0}
.hp-lead--em{margin-top:1rem}
/* Support: heading on the left, copy on the right */
.hp-support-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,52px);align-items:center;margin-bottom:clamp(28px,3.6vw,46px)}
.hp-support-head .hp-h2{margin-bottom:0}
.hp-accent{color:var(--violet-400)}
.hp-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.hp-value{padding:1.7rem 1.4rem;border:1px solid var(--line);border-radius:18px;
  background:rgba(255,255,255,.02);transition:transform .2s,border-color .2s}
.hp-value:hover{transform:translateY(-4px);border-color:rgb(from var(--violet-400) r g b / .5)}
.hp-value-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;margin-bottom:1.05rem;
  background:rgb(from var(--violet-500) r g b / .15);color:var(--violet-400)}
.hp-value-ico svg{width:24px;height:24px}
.hp-value-ico--glyph{font-size:1.7rem;line-height:1;font-weight:700}
.hp-value h3{font-family:var(--display);margin:0 0 .5rem;font-size:1.2rem;color:#fff}
.hp-value p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.55}
.hp-value em{font-style:italic;color:#d9d3ff}
.hp-value--link{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.hp-value-go{margin-top:auto;padding-top:1rem;color:var(--violet-400);font-weight:800;font-size:.88rem}
.hp-value--link:hover .hp-value-go{color:var(--violet-200)}
.hp-values--3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Who-we-are image cards (premium: artwork top, glowing icon badge, title) */
.hp-vcard{position:relative;display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--line);border-radius:20px;background:#0d0e15;
  transition:transform .2s,border-color .2s,box-shadow .2s}
.hp-vcard:hover{transform:translateY(-5px);border-color:rgb(from var(--violet-400) r g b / .5);
  box-shadow:0 18px 40px -18px rgb(from var(--violet-500) r g b / .55)}
.hp-vcard-img{position:relative;height:clamp(168px,17vw,206px)}
.hp-vcard-img img{width:104%;height:100%;object-fit:cover;object-position:center;margin-left:-2%;display:block}
.hp-vcard-img::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to bottom,transparent 38%,rgb(from #0d0e15 r g b / .55) 74%,#0d0e15 99%)}
.hp-vcard-ico{position:absolute;left:50%;top:calc(clamp(168px,17vw,206px) - 30px);bottom:auto;transform:translateX(-50%);z-index:3;
  width:60px;height:60px;border-radius:50%;display:grid;place-items:center;color:#c3a8ff;
  background:radial-gradient(circle at 50% 30%,#2a1f4d,#15111f);
  border:1px solid rgb(from var(--violet-400) r g b / .55);
  box-shadow:0 0 0 6px #0d0e15,0 8px 24px rgba(124,77,255,.45),inset 0 1px 10px rgba(160,120,255,.35)}
.hp-vcard-ico svg{width:26px;height:26px}
.hp-vcard-body{flex:1;display:flex;flex-direction:column;text-align:center;padding:2.7rem 1.35rem 1.75rem}
.hp-vcard-title{margin:0;font-family:var(--display);display:flex;flex-direction:column;
  font-weight:800;font-size:1.15rem;line-height:1.14;letter-spacing:.02em;text-transform:uppercase;color:#fff}
.hp-vcard-title .a{color:var(--violet-400)}
.hp-vcard-rule{width:34px;height:3px;border-radius:2px;background:var(--violet-400);margin:.75rem auto .95rem}
.hp-vcard-body p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.6}
.hp-vcard-body em{font-style:italic;color:#d9d3ff}
.hp-support-cta{text-align:center;margin-top:clamp(30px,4vw,46px)}

/* Pillars are now links */
.hp-pillar{display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer}
.hp-pillar-go{margin-top:auto;padding-top:1rem;color:rgb(var(--pc));font-weight:800;font-size:.85rem}
.hp-pillar:hover .hp-pillar-go{filter:brightness(1.15)}

/* Story rows (copy + visual), alternating layout + background by position */
.hp-story{background:#0a0b11}
.hp-story:nth-of-type(even){background:var(--surface,#0e1018)}
.hp-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;
  gap:clamp(48px,7vw,100px)}
.hp-story:nth-of-type(odd) .hp-copy{order:2}
.hp-story:nth-of-type(odd) .hp-visual{order:1}
.hp-copy .hp-h2{font-size:clamp(2.35rem,4.5vw,4.25rem)}
.hp-textlink{display:inline-flex;align-items:center;gap:.6rem;margin-top:1rem;color:var(--violet-400);font-weight:800}
.hp-textlink:hover{color:var(--violet-200)}
.hp-textlink::after{content:"→";transition:transform .2s ease}
.hp-textlink:hover::after{transform:translateX(4px)}
.hp-visual{position:relative;min-height:430px;display:grid;place-items:center;overflow:hidden;
  border:1px solid var(--line);border-radius:28px;
  background:radial-gradient(circle at 50% 30%,rgb(from var(--violet-200) r g b / .19),transparent 40%),#0b0d15;
  box-shadow:0 28px 80px rgba(0,0,0,.34)}

/* Prayer illustration */
.hp-prayer-visual{overflow:visible;border-color:transparent;background:transparent;box-shadow:none}
.hp-prayer-render{position:absolute;inset:0}
.hp-prayer-render img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}

/* Radio mini-player (genuinely plays the stream) */
.hp-radio-visual{overflow:visible;border-color:transparent;background:transparent;box-shadow:none}
.hp-radio-art{display:block;width:112%;filter:drop-shadow(0 30px 38px rgba(0,0,0,.38))}
.hp-radio-art img{display:block;width:100%;height:auto}
.hp-radio{width:min(86%,500px);border:1px solid rgb(from var(--violet-200) r g b / .34);border-radius:24px;padding:1.75rem;
  background:linear-gradient(145deg,rgb(from var(--violet-900) r g b / .92),rgba(10,11,18,.94))}
.hp-onair{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:2rem;color:var(--beacon-500);
  font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.hp-onair::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--beacon-500);
  box-shadow:0 0 15px rgb(from var(--beacon-500) r g b / .75)}
.hp-radio-now{display:flex;align-items:center;gap:1.1rem}
.hp-radio-play{flex:0 0 auto;width:68px;aspect-ratio:1;border:1px solid var(--violet-500);border-radius:50%;cursor:pointer;
  display:grid;place-items:center;color:#fff;background:var(--violet-600);
  box-shadow:0 15px 40px rgb(from var(--violet-600) r g b / .38);transition:transform .14s}
.hp-radio-play:hover{transform:translateY(-1px) scale(1.03)}
.hp-radio-play svg{width:24px;height:24px}
.hp-radio-play .hp-play-i{margin-left:3px}
.hp-radio-play .hp-pause-i{display:none}
.hp-radio-play.is-playing .hp-play-i{display:none}
.hp-radio-play.is-playing .hp-pause-i{display:block}
.hp-radio-meta span{display:block;margin-bottom:.25rem;color:var(--violet-200);font-size:.72rem;font-weight:850;
  letter-spacing:.12em;text-transform:uppercase}
.hp-radio-meta strong{display:block;font-family:var(--display);font-size:1.18rem}
.hp-radio-meta small{color:var(--muted);font-size:.82rem}
.hp-wave{height:74px;display:flex;align-items:center;gap:5px;margin-top:1.75rem;padding-top:1.4rem;
  border-top:1px solid var(--line)}
.hp-wave i{width:100%;height:var(--h);min-height:5px;border-radius:4px;
  background:linear-gradient(var(--violet-200),var(--violet-400));opacity:.9;transform-origin:center;transform:scaleY(.68)}
.hp-radio.playing .hp-wave i{animation:hpWave .8s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -70ms)}
@keyframes hpWave{to{transform:scaleY(.35);opacity:.55}}
@media (prefers-reduced-motion:reduce){.hp-radio.playing .hp-wave i{animation:none}}

/* Shortwave scene */
.hp-sw-visual{overflow:visible;border-color:transparent;background:transparent;box-shadow:none}
.hp-sw-render{position:absolute;inset:-5%}
.hp-sw-render img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}

/* Podcast cards */
.hp-podcast-visual{overflow:visible;border-color:transparent;background:transparent;box-shadow:none}
.hp-podstack{width:100%;display:flex;align-items:center;justify-content:center;gap:clamp(18px,3vw,32px)}
.hp-podcard{width:min(47%,310px);aspect-ratio:1;overflow:hidden;border:0;
  border-radius:26px;box-shadow:0 28px 60px rgba(0,0,0,.42);background:#10111a}
.hp-podcard img{width:100%;height:100%;display:block;object-fit:cover}
.hp-podcard--cqa{box-shadow:0 34px 72px rgba(0,0,0,.52)}

/* Support band */
.hp-support{position:relative;overflow:hidden;
  background:radial-gradient(circle at 82% 50%,rgb(from var(--violet-200) r g b / .18),transparent 28%),#0d0d16}
.hp-support-box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:clamp(28px,5vw,50px);
  border:1px solid rgb(from var(--violet-200) r g b / .25);border-radius:30px;padding:clamp(34px,6vw,74px);
  background:linear-gradient(130deg,rgb(from var(--violet-900) r g b / .6),rgba(14,15,24,.92));box-shadow:0 28px 80px rgba(0,0,0,.34)}
.hp-support-copy{max-width:760px}
.hp-support-copy .hp-h2{margin-bottom:1rem;font-size:clamp(2.35rem,5vw,4.5rem)}
.hp-support-copy p{margin:0;color:var(--muted);font-size:1.08rem}
.hp-support-action{min-width:190px}

/* Responsive */
@media (max-width:1080px){
  .hp-hero{min-height:620px}
  .hp-pillars{grid-template-columns:repeat(3,1fr)}
  .hp-values{grid-template-columns:repeat(2,1fr)}
  .hp-who-grid{grid-template-columns:1fr;gap:34px;align-items:start}
  .hp-support-head{grid-template-columns:1fr;gap:16px}
  .hp-grid{grid-template-columns:1fr;gap:48px}
  .hp-story:nth-of-type(odd) .hp-copy,.hp-story:nth-of-type(odd) .hp-visual{order:initial}
  .hp-copy{max-width:760px}
}
@media (max-width:700px){
  .hp-hero{height:calc(100svh - 66px);min-height:640px}
  .hp-h1{font-size:clamp(3.2rem,15vw,4.6rem)}
  .hp-actions .hp-btn{flex:1 1 150px}
  .hp-pillars{grid-template-columns:1fr}
  .hp-values{grid-template-columns:1fr}
  .hp-pillar{min-height:190px}
  .hp-visual{min-height:360px;border-radius:22px}
  .hp-radio{width:calc(100% - 32px)}
  .hp-podstack{gap:14px}
  .hp-podcard{width:min(47%,230px);border-radius:20px}
  .hp-support-box{grid-template-columns:1fr;gap:1.75rem}
  .hp-support-action{min-width:0;width:100%}
}

/* ===== Home visual-system refresh ========================================
   One cinematic rhythm, one content rail, and one card language. */
.hp-hero{border-bottom:0}
.hp-signal-bridge{
  position:relative;height:clamp(74px,8vw,112px);margin-top:-1px;overflow:hidden;
  border-bottom:1px solid rgba(188,151,248,.14);
  background:
    radial-gradient(ellipse 58% 76% at 50% 100%,rgba(107,60,196,.18),transparent 72%),
    linear-gradient(180deg,#050609 0%,#080910 100%)
}
.hp-signal-bridge::before{
  content:"";position:absolute;inset:-34% -5% 0;opacity:.5;
  background-image:
    radial-gradient(ellipse at center,transparent 61%,rgba(155,107,242,.22) 61.3%,transparent 61.8%),
    radial-gradient(ellipse at center,transparent 70%,rgba(155,107,242,.13) 70.3%,transparent 70.8%);
  transform:scaleX(1.35)
}
.hp-signal-line{
  position:absolute;left:-5%;width:110%;height:28px;border-top:1px solid rgba(155,107,242,.25);
  border-radius:50%;filter:drop-shadow(0 0 8px rgba(155,107,242,.22));
  animation:hpSignalDrift 9s ease-in-out infinite alternate
}
.hp-signal-line--1{top:43%;transform:rotate(1deg) scaleY(.45)}
.hp-signal-line--2{top:57%;transform:rotate(-1.4deg) scaleY(.7);animation-delay:-3s}
.hp-signal-line--3{top:69%;transform:rotate(.7deg) scaleY(.35);animation-delay:-6s}
.hp-signal-cue{
  position:absolute;z-index:2;left:50%;top:50%;display:grid;width:48px;height:48px;place-items:center;
  transform:translate(-50%,-50%);border:1px solid rgba(188,151,248,.35);border-radius:50%;
  color:#d5baff;background:rgba(9,8,17,.86);box-shadow:0 0 32px rgba(107,60,196,.2);
  font:400 25px/1 var(--font)
}
@keyframes hpSignalDrift{to{translate:1.5% 3px}}

.hp-section{padding:clamp(96px,9vw,132px) 0}
.hp-shell{width:min(calc(100% - 64px),1220px)}
.hp-label{margin:0 0 20px;font-size:.72rem;letter-spacing:.21em}
.hp-h2{max-width:840px;margin:0 0 24px;font-size:clamp(2.75rem,4.75vw,4.6rem);line-height:1.02}
.hp-lead{max-width:780px;font-size:clamp(.98rem,1.2vw,1.1rem);line-height:1.7}
.hp-intro{max-width:780px;margin-bottom:56px}
.hp-accent{color:#b86cff;text-shadow:0 0 30px rgba(155,107,242,.12)}

.hp-who{
  background:
    radial-gradient(circle at 88% 25%,rgba(107,60,196,.1),transparent 28%),
    linear-gradient(180deg,#080910,#090a12)
}
.hp-who-grid{grid-template-columns:minmax(300px,.92fr) minmax(0,1.92fr);gap:56px;align-items:start}
.hp-who-grid .hp-h2{font-size:clamp(2.35rem,3.5vw,3.45rem);line-height:1.04;margin-bottom:24px}
.hp-lead--em{margin-top:18px}

.hp-values,.hp-pillars{gap:14px}
.hp-vcard,.hp-pillar{
  border-radius:18px;border:1px solid rgba(188,151,248,.22);
  background:linear-gradient(155deg,rgba(29,22,47,.58),rgba(10,11,18,.96) 62%);
  box-shadow:0 22px 56px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.025);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease
}
.hp-vcard:hover,.hp-pillar:hover{
  transform:translateY(-5px);border-color:rgba(188,151,248,.48);
  box-shadow:0 28px 64px rgba(0,0,0,.32),0 0 34px rgba(107,60,196,.12)
}
.hp-vcard-img{height:150px}
.hp-vcard-img img{filter:saturate(.82) contrast(1.03)}
.hp-vcard-ico{top:122px;width:54px;height:54px}
.hp-vcard-body{padding:2.45rem 1.1rem 1.45rem}
.hp-vcard-title{font-size:1rem}
.hp-vcard-body p{font-size:.82rem;line-height:1.62}

.hp-about{
  border-top:1px solid rgba(188,151,248,.12);
  background:
    radial-gradient(circle at 12% 0%,rgba(107,60,196,.13),transparent 30%),
    linear-gradient(180deg,#0b0c15,#090a12)
}
.hp-pillars{grid-template-columns:repeat(5,minmax(0,1fr))}
.hp-pillar{min-height:370px;padding:22px 20px}
.hp-pillar-art{
  position:relative;height:168px;margin:-12px -10px 18px;overflow:hidden;
  -webkit-mask-image:radial-gradient(ellipse 82% 75% at 50% 50%,#000 50%,rgba(0,0,0,.92) 67%,transparent 100%);
  mask-image:radial-gradient(ellipse 82% 75% at 50% 50%,#000 50%,rgba(0,0,0,.92) 67%,transparent 100%)
}
.hp-pillar-art picture{display:block;width:100%;height:100%}
.hp-pillar-art img{
  width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center;
  mix-blend-mode:screen;filter:saturate(.92) contrast(1.08)
}
.hp-pillar-kicker{margin-bottom:10px;font-size:.62rem}
.hp-pillar h3{font-size:1.18rem;margin-bottom:8px}
.hp-pillar p{font-size:.84rem;line-height:1.58}
.hp-pillar-go{font-size:.79rem;padding-top:18px}

.hp-support{
  border-top:1px solid rgba(188,151,248,.13);
  background:
    radial-gradient(circle at 14% 4%,rgba(107,60,196,.14),transparent 30%),
    radial-gradient(circle at 90% 70%,rgba(155,107,242,.07),transparent 28%),
    #090a12
}
.hp-support-head{grid-template-columns:minmax(300px,.8fr) minmax(0,1.25fr);align-items:end;margin-bottom:56px}
.hp-support-head .hp-h2{font-size:clamp(2.7rem,4.6vw,4.4rem)}
.hp-pillars--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hp-pillars--3 .hp-pillar{min-height:310px;padding:24px 28px}
.hp-pillars--3 .hp-pillar-art{height:150px;margin:-12px -14px 18px}
.hp-pillars--3 .hp-pillar h3{font-size:1.25rem}
.hp-pillars--3 .hp-pillar p{font-size:.9rem}
.hp-support-cta{margin-top:42px}
.hp-support-cta .hp-btn{min-width:300px;min-height:52px}

@media (max-width:1080px){
  .hp-shell{width:min(calc(100% - 48px),1220px)}
  .hp-who-grid{grid-template-columns:1fr;gap:52px}
  .hp-who-grid .hp-intro{max-width:780px}
  .hp-pillars{grid-template-columns:repeat(3,1fr)}
  .hp-support-head{grid-template-columns:1fr;align-items:start}
}
@media (max-width:760px){
  .hp-signal-bridge{height:72px}
  .hp-signal-cue{width:42px;height:42px}
  .hp-section{padding:82px 0}
  .hp-shell{width:min(calc(100% - 34px),1220px)}
  .hp-h2,.hp-who-grid .hp-h2{font-size:clamp(2.35rem,11vw,3.2rem)}
  .hp-intro{margin-bottom:42px}
  .hp-values{grid-template-columns:1fr 1fr}
  .hp-pillars,.hp-pillars--3{grid-template-columns:1fr}
  .hp-pillar,.hp-pillars--3 .hp-pillar{min-height:0;padding:22px}
  .hp-pillar-art,.hp-pillars--3 .hp-pillar-art{height:190px;margin:-10px -8px 16px}
  .hp-support-head{margin-bottom:42px}
  .hp-support-cta .hp-btn{width:100%;min-width:0}
}
@media (max-width:500px){
  .hp-values{grid-template-columns:1fr}
  .hp-vcard-img{height:180px}
  .hp-vcard-ico{top:152px}
}
@media (prefers-reduced-motion:reduce){
  .hp-signal-line{animation:none}
}

/* ===== Prayer page hero =================================================== */
.pr-hero{position:relative;isolation:isolate;overflow:hidden;min-height:520px;
  display:grid;align-items:center;border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 77% 46%,rgb(from var(--violet-400) r g b / .17),transparent 26%),
             radial-gradient(circle at 58% 110%,rgb(from var(--violet-500) r g b / .1),transparent 33%),
             linear-gradient(150deg,#0b0c13,#090a10 70%)}
/* Starfield wash, fading in from the left. */
.pr-hero::before{content:"";position:absolute;inset:0;z-index:-2;opacity:.4;
  background-image:radial-gradient(circle,rgba(255,255,255,.7) 0 1px,transparent 1.4px),
                   radial-gradient(circle,rgb(from var(--violet-200) r g b / .75) 0 1px,transparent 1.5px);
  background-position:0 0,32px 19px;background-size:108px 108px,163px 163px;
  -webkit-mask-image:linear-gradient(90deg,transparent 8%,rgba(0,0,0,.22) 55%,#000);
          mask-image:linear-gradient(90deg,transparent 8%,rgba(0,0,0,.22) 55%,#000)}
.pr-hero-inner{width:min(calc(100% - 44px),var(--maxw));margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;
  gap:clamp(48px,7vw,110px);padding:clamp(64px,8vw,90px) 0 clamp(70px,9vw,104px)}
.pr-hero-copy{min-width:0}
.pr-eyebrow{display:flex;align-items:center;gap:.75rem;margin:0 0 1.2rem;color:var(--accent-2);
  font-size:.76rem;font-weight:850;letter-spacing:.2em;text-transform:uppercase}
.pr-eyebrow::before{content:"";width:38px;height:1px;background:currentColor}
.pr-h1{max-width:760px;margin:0 0 1.4rem;font-family:var(--display);font-weight:800;
  font-size:clamp(3.2rem,6.5vw,6rem);line-height:.92;letter-spacing:-.06em;color:#fbfaff}
.pr-h1 .accent{color:var(--violet-500);text-shadow:0 0 42px rgb(from var(--violet-500) r g b / .2)}
.pr-lead{max-width:655px;margin:0 0 1.7rem;color:var(--muted);font-size:clamp(1.04rem,1.55vw,1.18rem);line-height:1.6}
.pr-lead strong{color:#fff;font-weight:700}
.pr-action{display:inline-flex;min-height:50px;align-items:center;gap:.6rem;
  border:1px solid var(--violet-500);border-radius:999px;padding:.7rem 1.4rem;color:#fff;
  font-family:var(--display);font-weight:800;font-size:.9rem;
  background:var(--violet-600);
  box-shadow:0 15px 42px rgb(from var(--violet-600) r g b / .28);transition:transform .2s ease,box-shadow .2s ease}
.pr-action:hover{transform:translateY(-2px);color:#fff;background:var(--violet-500);box-shadow:0 19px 50px rgb(from var(--violet-500) r g b / .4)}
/* The heart mark with concentric rings + trust row. */
.pr-mark{position:relative;width:min(460px,38vw);aspect-ratio:4/3;display:grid;place-items:center;justify-self:end}
.pr-ring{position:absolute;inset:var(--inset);border:1px solid rgb(from var(--violet-500) r g b / var(--opacity));
  border-radius:50%;box-shadow:0 0 26px rgb(from var(--violet-400) r g b / .05)}
.pr-heart{position:relative;display:grid;width:132px;aspect-ratio:1;place-items:center;
  border:1px solid rgb(from var(--violet-200) r g b / .34);border-radius:38px;color:var(--violet-200);transform:rotate(45deg);
  background:linear-gradient(145deg,rgb(from var(--violet-900) r g b / .92),rgba(15,16,25,.94));
  box-shadow:0 28px 80px rgba(0,0,0,.4),0 0 48px rgb(from var(--violet-400) r g b / .14)}
.pr-heart span{display:grid;place-items:center;transform:rotate(-45deg)}
.pr-heart svg{width:52px;height:52px}
.pr-hero-art{position:relative;z-index:1;display:block;width:108%;overflow:hidden;
  -webkit-mask-image:radial-gradient(ellipse 68% 70% at 50% 50%,#000 38%,rgba(0,0,0,.92) 54%,transparent 86%);
  mask-image:radial-gradient(ellipse 68% 70% at 50% 50%,#000 38%,rgba(0,0,0,.92) 54%,transparent 86%);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.pr-hero-art img{display:block;width:100%;height:auto}
.pr-trust{position:absolute;left:50%;bottom:14px;width:max-content;display:flex;gap:1.1rem;transform:translateX(-50%)}
.pr-trust span{display:inline-flex;align-items:center;gap:.45rem;color:#c3c6d1;font-size:.74rem;font-weight:700;white-space:nowrap}
.pr-trust span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok);
  box-shadow:0 0 11px rgba(89,213,178,.7);flex:none}
@media (max-width:900px){
  .pr-hero-inner{grid-template-columns:1fr;gap:2.6rem}
  .pr-mark{width:min(460px,82vw);justify-self:center}
}
@media (max-width:560px){
  .pr-hero{min-height:0}
  .pr-hero-inner{width:min(calc(100% - 34px),var(--maxw));gap:2.2rem;padding:62px 0 56px}
  .pr-h1{font-size:clamp(3rem,16vw,4.4rem)}
  .pr-mark{width:80vw}
  .pr-heart{width:104px;border-radius:30px}.pr-heart svg{width:42px;height:42px}
  .pr-trust{bottom:2px;flex-wrap:wrap;justify-content:center;gap:.5rem .9rem}
}

/* ============================================================
   Concept sections: App feature · Shortwave story · cinematic Support
   ============================================================ */
.hp-num{color:var(--violet-400);font-size:11px;font-weight:800;letter-spacing:.2em}

/* UCN in your pocket (app feature) */
.hp-app{background:linear-gradient(160deg,#0a0a14,#070810 70%)}
.hp-app-grid{display:grid;grid-template-columns:.84fr 1.22fr;gap:clamp(30px,4vw,64px);align-items:center}
.hp-app-copy{max-width:none;margin-bottom:0}
.hp-app-copy .hp-lead{margin-bottom:.85rem}
.hp-soon-pill{display:inline-flex;align-items:center;margin-top:1.15rem;padding:.4rem .85rem;border-radius:999px;
  border:1px solid rgb(from var(--violet-400) r g b / .45);color:var(--violet-200);
  font-weight:800;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.hp-app-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hp-appcard,.hp-swcard{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;
  padding:16px 18px 20px;box-shadow:0 24px 60px rgba(0,0,0,.26);
  background:linear-gradient(145deg,rgba(22,18,36,.85),rgba(10,10,18,.95))}
.hp-appcard:nth-child(even){transform:translateY(34px)}
.hp-appcard-art{height:clamp(158px,16vw,206px);margin-bottom:15px;overflow:hidden;border-radius:15px;background:#0b0b14}
.hp-appcard-art img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;filter:saturate(.9) brightness(.9)}
.hp-appcard h3,.hp-swcard h3{font-family:var(--display);margin:.5rem 0 .4rem;font-size:1.16rem;letter-spacing:-.02em;color:#fff}
.hp-appcard p,.hp-swcard p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.58}

/* Shortwave story */
.hp-sw{position:relative;overflow:hidden;background:#080910;padding-bottom:clamp(46px,5.5vw,74px)}
.hp-sw-head{position:relative;min-height:clamp(360px,42vw,520px);display:flex;align-items:center}
.hp-sw-bg{position:absolute;inset:0;z-index:0}
.hp-sw-bg img{width:100%;height:100%;object-fit:cover;object-position:center right;display:block}
.hp-sw-head::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,#080910 0%,rgba(8,9,16,.94) 30%,rgba(8,9,16,.35) 58%,transparent 80%),
             linear-gradient(0deg,#080910 0%,transparent 26%)}
.hp-sw-head .hp-shell{position:relative;z-index:2}
.hp-sw-intro{max-width:520px;margin-bottom:0}
.hp-sw-cards{position:relative;z-index:2;margin-top:clamp(-58px,-4vw,-42px);
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hp-swcard{padding-bottom:22px}
.hp-swcard-art{height:clamp(150px,15vw,198px);margin-bottom:15px;overflow:hidden;border-radius:15px;background:#090a12}
.hp-swcard-art img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) brightness(.85)}
.hp-swcard h3{font-size:1.2rem}
.hp-sw-cta{margin-top:clamp(24px,3vw,38px);text-align:center}

/* Support — cinematic full-bleed scene, copy in the dark negative space */
.hp-mission{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;
  min-height:clamp(440px,52vw,640px);padding:clamp(66px,9vw,120px) 0;background:#0a0912}
.hp-mission-art{position:absolute;inset:0;z-index:-3}
.hp-mission-art img{width:100%;height:100%;object-fit:cover;object-position:center right;display:block}
.hp-mission::before{content:"";position:absolute;z-index:-2;inset:0;
  background:linear-gradient(90deg,#0a0912 0%,rgba(10,9,18,.95) 24%,rgba(10,9,18,.55) 47%,rgba(10,9,18,.1) 72%,rgba(10,9,18,.2) 100%),
             linear-gradient(0deg,#0a0912 0%,transparent 22%,transparent 82%,#0a0912 100%)}
.hp-mission-inner{position:relative;z-index:1}
.hp-mission-copy{max-width:520px}
.hp-mission-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.8rem}

@media (max-width:1080px){
  .hp-app-grid{grid-template-columns:1fr;gap:38px}
  .hp-appcard:nth-child(even){transform:none}
}
@media (max-width:760px){
  .hp-app-cards{grid-template-columns:1fr}
  .hp-sw-cards{grid-template-columns:1fr;margin-top:26px}
  .hp-sw-head{min-height:clamp(300px,70vw,420px)}
  .hp-mission{min-height:0;padding:64px 0}
  .hp-mission::before{background:linear-gradient(0deg,#0a0912 6%,rgba(10,9,18,.72) 55%,rgba(10,9,18,.5) 100%)}
}

/* ==== BEGIN concept (#ucnx) ==== */
#ucnx { --ink: #070810;
  --ink-2: #0b0b17;
  --panel: #10101d;
  --paper: #f4f3f8;
  --muted: #aaa7b7;
  --dim: #747181;
  --violet: #a96cff;
  --violet-light: #c7a2ff;
  --line: rgba(184, 141, 255, .2);
  --line-soft: rgba(255, 255, 255, .08);
  --shell: 1260px; }
#ucnx * { box-sizing: border-box; }
#ucnx { scroll-behavior: smooth; background: var(--ink); }
#ucnx { margin: 0;
  color: var(--paper);
  background: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
#ucnx a { color: inherit; }
#ucnx .skip { position: fixed; z-index: 50; top: 10px; left: 10px; padding: 10px 16px; color: #000; background: #fff; transform: translateY(-150%); }
#ucnx .skip:focus { transform: none; }
#ucnx .section-shell { width: min(calc(100% - 64px), var(--shell)); margin-inline: auto; }
#ucnx .existing-hero { position: relative; overflow: hidden; background: #030409; }
#ucnx .existing-hero img { display: block; width: 100%; height: auto; }
#ucnx .hero-message { position: absolute;
  inset: 17% 38% 11% 0;
  padding-left: max(3.1vw, 34px);
  display: flex;
  justify-content: center;
  flex-direction: column;
  background: linear-gradient(90deg, #030409 0%, #030409 78%, rgba(3,4,9,.97) 88%, transparent 100%); }
#ucnx .hero-message > p { display: flex; align-items: center; gap: 11px; margin: 0 0 24px; color: #9e99aa; font-size: clamp(7px, .64vw, 11px); font-weight: 800; letter-spacing: .25em; text-transform: uppercase; }
#ucnx .hero-message > p span { width: 27px; height: 1px; background: var(--violet-light); box-shadow: 0 0 8px var(--violet); }
#ucnx .hero-message h1 { margin: 0; white-space: nowrap; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: clamp(34px, 4.15vw, 64px); font-weight: 760; line-height: 1; letter-spacing: -.052em; }
#ucnx .hero-message h1 em { display: inline; color: var(--violet-light); font-family: inherit; font-style: normal; font-weight: inherit; letter-spacing: inherit; }
#ucnx .hero-tagline { display: grid; grid-template-columns: 1px auto; column-gap: 16px; margin-top: 31px; }
#ucnx .hero-tagline i { grid-row: 1 / 3; width: 1px; background: linear-gradient(var(--violet-light), rgba(199,162,255,.15)); }
#ucnx .hero-tagline span, #ucnx .hero-tagline strong { display: block; font-size: clamp(10px, 1vw, 16px); line-height: 1.5; }
#ucnx .hero-tagline span { color: #8e8999; }
#ucnx .hero-tagline strong { color: var(--violet-light); font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
#ucnx .signal-bridge { position: relative; height: 180px; overflow: hidden; background: linear-gradient(#030409, var(--ink)); }
#ucnx .signal-bridge i { position: absolute; left: 50%; bottom: -145px; width: 420px; height: 270px; transform: translateX(-50%); border: 1px solid rgba(169,108,255,.18); border-radius: 50% 50% 0 0; }
#ucnx .signal-bridge i:nth-child(2) { width: 650px; height: 390px; bottom: -230px; opacity: .65; }
#ucnx .signal-bridge i:nth-child(3) { width: 900px; height: 520px; bottom: -325px; opacity: .4; }
#ucnx .signal-bridge span { position: absolute; left: 50%; bottom: 42px; transform: translateX(-50%); color: var(--violet-light); font-size: 9px; font-weight: 800; letter-spacing: .25em; text-transform: uppercase; }
#ucnx .who { padding: 85px 0 155px; display: grid; grid-template-columns: .78fr 1.22fr; gap: 86px; align-items: start; }
#ucnx .who-copy { position: sticky; top: 45px; padding-top: 8px; }
#ucnx .eyebrow { margin: 0 0 22px; color: var(--violet-light); font-size: 11px; line-height: 1; font-weight: 900; letter-spacing: .24em; text-transform: uppercase; }
#ucnx .eyebrow::before { content: ""; display: inline-block; width: 26px; height: 1px; margin-right: 11px; vertical-align: middle; background: currentColor; box-shadow: 0 0 8px currentColor; }
#ucnx h1, #ucnx h2, #ucnx h3, #ucnx p { margin-top: 0; }
#ucnx h1, #ucnx .section-head h2, #ucnx .support h2, #ucnx .footer-statement h2 { margin-bottom: 28px;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.045em; }
#ucnx h1 { font-size: clamp(52px, 5.4vw, 78px); }
#ucnx h1 em, #ucnx .section-head h2 em, #ucnx .support h2 em { display: block; color: var(--violet-light); font-weight: inherit; }
#ucnx .lede { max-width: 520px; color: #cbc8d3; font-size: 19px; line-height: 1.7; }
#ucnx .body-copy { max-width: 500px; color: var(--muted); font-size: 15px; line-height: 1.78; }
#ucnx .free-statement { margin: 35px 0 0; padding-top: 22px; color: #fff; border-top: 1px solid var(--line-soft); font-size: 13px; font-weight: 800; }
#ucnx .free-statement span { margin-right: 9px; color: var(--violet-light); }
#ucnx .value-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
#ucnx .value-card { position: relative; min-height: 480px; padding: 22px 24px 28px; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(145deg, rgba(22,18,36,.88), rgba(10,10,18,.96)); box-shadow: 0 28px 70px rgba(0,0,0,.22); }
#ucnx .value-card:nth-child(even) { transform: translateY(42px); }
#ucnx .art-frame { height: 250px; display: grid; place-items: center; margin: -8px -10px 25px; overflow: hidden; border-radius: 17px; background: radial-gradient(circle, rgba(125,72,216,.18), transparent 66%); }
#ucnx .art-frame img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center; }
#ucnx .number { color: var(--violet-light); font-size: 9px; font-weight: 900; letter-spacing: .2em; }
#ucnx .value-card h2 { margin: 12px 0 12px; font-family: Georgia, serif; font-size: 27px; font-weight: 500; letter-spacing: -.025em; }
#ucnx .value-card p { color: var(--muted); font-size: 13px; line-height: 1.65; }
#ucnx .app-feature { overflow: hidden; border-block: 1px solid var(--line-soft); background: linear-gradient(150deg, #090914, #070810 68%); }
#ucnx .app-editorial { padding: 85px 0 155px; display: grid; grid-template-columns: 1.22fr .78fr; gap: 86px; align-items: start; }
#ucnx .app-editorial-copy { position: sticky; top: 45px; order: 2; padding-top: 8px; }
#ucnx .app-editorial-copy h2 { margin-bottom: 28px; font-family: Georgia, serif; font-size: clamp(52px, 5.4vw, 78px); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
#ucnx .app-editorial-copy h2 em { color: var(--violet-light); font-weight: inherit; }
#ucnx .app-editorial-copy .download-row { margin-top: 34px; }
#ucnx .app-free { margin: 24px 0 0; padding-top: 20px; color: #fff; border-top: 1px solid var(--line-soft); font-size: 12px; font-weight: 800; }
#ucnx .app-free span { margin-right: 8px; color: var(--violet-light); }
#ucnx .app-mini-library { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line-soft); }
#ucnx .mini-label { display: block; margin-bottom: 13px; color: #827d8c; font-size: 8px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
#ucnx .mini-stations { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
#ucnx .mini-stations > span { min-width: 0; min-height: 78px; padding: 14px; display: flex; justify-content: flex-end; flex-direction: column; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; }
#ucnx .mini-stations b, #ucnx .mini-stations small { display: block; }
#ucnx .mini-stations b { font-size: 14px; line-height: 1; }
#ucnx .mini-stations small { margin-top: 6px; overflow: hidden; color: rgba(255,255,255,.66); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
#ucnx .mini-ucn { background: radial-gradient(circle at 75% 10%, #9255e7, transparent 48%), #191025; border-color: rgba(199,162,255,.48) !important; }
#ucnx .mini-espn { background: linear-gradient(145deg, #d91835, #580811); }
#ucnx .mini-espn b { font-style: italic; }
#ucnx .mini-bbc { background: linear-gradient(145deg, #a91722, #270609); }
#ucnx .mini-podcasts { margin-top: 9px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
#ucnx .mini-podcasts > span { min-width: 0; display: grid; grid-template-columns: 48px 1fr; gap: 10px; align-items: center; padding: 9px; border: 1px solid var(--line-soft); border-radius: 12px; background: rgba(255,255,255,.025); }
#ucnx .mini-podcasts img { width: 48px; height: 48px; display: block; object-fit: cover; border-radius: 8px; }
#ucnx .mini-podcasts small { overflow: hidden; color: #c7c2cf; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
#ucnx .app-card-grid { display: grid; grid-template-columns: 1fr 1fr; order: 1; gap: 18px; }
#ucnx .app-card { position: relative; min-height: 480px; padding: 22px 24px 28px; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(145deg, rgba(22,18,36,.88), rgba(10,10,18,.96)); box-shadow: 0 28px 70px rgba(0,0,0,.22); }
#ucnx .app-card:nth-child(even) { transform: translateY(42px); }
#ucnx .app-art-frame { height: 250px; display: grid; place-items: center; margin: -8px -10px 25px; overflow: hidden; border-radius: 17px; background: radial-gradient(circle, rgba(125,72,216,.18), transparent 66%); }
#ucnx .app-art-frame img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 42%; filter: saturate(.86) contrast(.96) brightness(.84); }
#ucnx .app-card h3 { margin: 12px 0; font-family: Georgia, serif; font-size: 27px; font-weight: 500; line-height: 1.02; letter-spacing: -.025em; }
#ucnx .app-card p { color: var(--muted); font-size: 13px; line-height: 1.65; }
#ucnx .download-row { display: flex; align-items: center; gap: 12px; }
#ucnx .download-row a { height: 50px; display: block; transition: transform .2s, filter .2s; }
#ucnx .download-row a:last-child { height: 66px; margin: -8px 0; }
#ucnx .download-row a:hover { transform: translateY(-2px); filter: brightness(1.08); }
#ucnx .download-row img { width: auto; height: 100%; display: block; object-fit: contain; }
#ucnx .discovery-shelves { padding: 115px max(32px, calc((100vw - var(--shell)) / 2)) 130px; border-top: 1px solid var(--line-soft); background: linear-gradient(180deg, #080910, rgba(15,11,25,.96) 55%, #080910); }
#ucnx .discovery-intro { max-width: none; margin: 0 0 55px; display: grid; grid-template-columns: 1fr .72fr; gap: 80px; align-items: end; }
#ucnx .discovery-intro h3 { margin-bottom: 15px; font-family: Georgia, serif; font-size: clamp(43px, 5vw, 68px); font-weight: 500; letter-spacing: -.04em; }
#ucnx .discovery-intro > p:last-child { margin-bottom: 18px; color: var(--muted); font-size: 16px; line-height: 1.7; }
#ucnx .shelf { display: grid; grid-template-columns: 155px 1fr; gap: 25px; padding: 28px 0; border-top: 1px solid var(--line-soft); }
#ucnx .shelf-label span, #ucnx .shelf-label small { display: block; }
#ucnx .shelf-label span { color: #f0edf4; font-family: Georgia, serif; font-size: 18px; }
#ucnx .shelf-label small { margin-top: 4px; color: #777180; font-size: 9px; }
#ucnx .station-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
#ucnx .station-tile { min-height: 145px; padding: 17px; display: flex; align-items: flex-start; justify-content: flex-end; flex-direction: column; overflow: hidden; position: relative; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; box-shadow: 0 16px 34px rgba(0,0,0,.25); }
#ucnx .station-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent, rgba(0,0,0,.52)); pointer-events: none; }
#ucnx .station-tile > * { position: relative; z-index: 1; }
#ucnx .station-tile > span { font-size: 20px; font-weight: 950; line-height: .9; letter-spacing: -.04em; }
#ucnx .station-tile > b { margin-top: 5px; font-size: 8px; letter-spacing: .16em; }
#ucnx .station-tile > small { margin-top: 13px; color: rgba(255,255,255,.68); font-size: 8px; }
#ucnx .station-tile.ucn { background:
    radial-gradient(circle at 70% 10%, #9a5af0, transparent 45%),
    linear-gradient(145deg, #24113d, #100c19);
  border-color: rgba(205, 170, 255, .74);
  box-shadow:
    0 0 0 1px rgba(184, 125, 255, .15),
    0 20px 52px rgba(76, 30, 136, .34); }
#ucnx .station-tile.ucn > b { margin: 0 0 11px;
  color: #e0c7ff;
  font-size: 8px;
  letter-spacing: .18em;
  text-transform: uppercase; }
#ucnx .station-tile.espn { background: linear-gradient(145deg, #e31837, #660915); }
#ucnx .station-tile.espn > span { font-style: italic; }
#ucnx .station-tile.bbc { background: linear-gradient(145deg, #b61824, #35060a); }
#ucnx .station-tile.bbc > span { padding: 4px; color: #111; background: white; letter-spacing: .04em; }
#ucnx .station-tile.npr { background: #f2f2f2; color: #111; }
#ucnx .station-tile.npr i { padding: 3px 5px; color: white; background: #d62021; font-style: normal; font-size: 14px; }
#ucnx .station-tile.npr i:nth-child(2) { background: #111; }
#ucnx .station-tile.npr i:nth-child(3) { background: #237bbd; }
#ucnx .station-tile.npr > small { color: #555; }
#ucnx .station-tile.bloomberg { background: linear-gradient(145deg, #211b37, #0a0910); }
#ucnx .station-tile.bloomberg > span { font-size: 13px; letter-spacing: .02em; }
#ucnx .station-tile.bloomberg > b { color: #f47820; }
#ucnx .station-tile.kexp { background: linear-gradient(145deg, #f05a22, #421209); }
#ucnx .station-tile.kexp > span { font-size: 25px; }
#ucnx .podcast-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
#ucnx .podcast-row article { min-width: 0; }
#ucnx .podcast-row img { width: 100%; aspect-ratio: 1; display: block; object-fit: cover; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; box-shadow: 0 17px 38px rgba(0,0,0,.28); }
#ucnx .podcast-row b, #ucnx .podcast-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#ucnx .podcast-row b { margin-top: 11px; font-size: 11px; }
#ucnx .podcast-row small { margin-top: 3px; color: #777180; font-size: 8px; }
#ucnx .shortwave-story { padding: 0 0 78px; overflow: hidden; position: relative; border-bottom: 1px solid var(--line-soft); background: #080910; }
#ucnx .shortwave-head { min-height: 540px; display: flex; align-items: center; position: relative; }
#ucnx .shortwave-intro { max-width: 520px; position: relative; z-index: 2; text-align: left; }
#ucnx .shortwave-intro h2 { margin-bottom: 26px; font-family: Georgia, serif; font-size: clamp(52px, 6vw, 86px); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
#ucnx .shortwave-intro h2 em { color: var(--violet-light); font-weight: inherit; }
#ucnx .shortwave-intro > p:not(.eyebrow) { max-width: 520px; color: var(--muted); font-size: 17px; line-height: 1.75; }
#ucnx .shortwave-feature-art { width: 100vw; height: 650px; position: absolute; top: 0; left: 50%; overflow: hidden; transform: translateX(-50%); }
#ucnx .shortwave-feature-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #080910 0%, rgba(8,9,16,.96) 31%, rgba(8,9,16,.3) 58%, transparent 78%), linear-gradient(0deg, #080910 0%, transparent 30%); pointer-events: none; }
#ucnx .shortwave-feature-art img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; filter: saturate(.82) brightness(.8); }
#ucnx .shortwave-card-grid { margin-top: -70px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; position: relative; z-index: 2; text-align: left; }
#ucnx .shortwave-card { min-height: 475px; padding: 22px 24px 28px; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(145deg, rgba(22,18,36,.88), rgba(10,10,18,.96)); box-shadow: 0 28px 70px rgba(0,0,0,.22); }
#ucnx .shortwave-art { height: 270px; margin: -8px -10px 25px; overflow: hidden; border-radius: 17px; background: #090a12; }
#ucnx .shortwave-art img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.8) brightness(.78); }
#ucnx .shortwave-card h3 { margin: 12px 0; font-family: Georgia, serif; font-size: 25px; font-weight: 500; letter-spacing: -.025em; }
#ucnx .shortwave-card p { color: var(--muted); font-size: 13px; line-height: 1.65; }
#ucnx .shortwave-cta { margin-top: 34px; display: flex; justify-content: flex-end; }
#ucnx .shortwave-link { min-height: 52px; padding: 0 22px; display: inline-flex; align-items: center; gap: 32px; border: 1px solid var(--line); border-radius: 999px; background: rgba(169,108,255,.08); text-decoration: none; font-size: 12px; font-weight: 800; transition: transform .2s, background .2s; }
#ucnx .shortwave-link:hover { transform: translateY(-2px); background: rgba(169,108,255,.14); }
#ucnx .shortwave-link span { color: var(--violet-light); }
#ucnx .mission-close { position: relative; isolation: isolate; overflow: hidden; min-height: 720px; padding: 130px 0; display: flex; align-items: center; background: #0a0912; }
#ucnx .mission-art { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 1; filter: saturate(.98) contrast(1.06); }
#ucnx .mission-close::before { content: ""; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, #0a0912 0%, rgba(10,9,18,.96) 24%, rgba(10,9,18,.58) 43%, rgba(10,9,18,.12) 66%, rgba(10,9,18,.2) 100%), linear-gradient(0deg, #0a0912 0%, transparent 20%, transparent 80%, #0a0912 100%); }
#ucnx .mission-close::after { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(circle at 72% 47%, rgba(152,86,255,.12), transparent 30rem); }
#ucnx .mission-close-inner { position: relative; z-index: 1; display: block; }
#ucnx .mission-copy { max-width: 520px; }
#ucnx .mission-close h2 { margin-bottom: 28px; font-family: Georgia, serif; font-size: clamp(52px, 6vw, 82px); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
#ucnx .mission-close h2 em { color: var(--violet-light); font-weight: inherit; }
#ucnx .mission-copy > p:not(.eyebrow) { max-width: 520px; color: var(--muted); font-size: 17px; line-height: 1.75; }
#ucnx .mission-actions { margin-top: 38px; display: flex; align-items: center; gap: 24px; }
#ucnx .mission-impact { overflow: hidden; border: 1px solid rgba(175,121,255,.28); border-radius: 26px; background: linear-gradient(145deg, rgba(25,20,41,.76), rgba(9,10,18,.86)); box-shadow: 0 32px 100px rgba(0,0,0,.52), 0 0 72px rgba(139,77,239,.13), inset 0 1px rgba(255,255,255,.05); backdrop-filter: blur(18px) saturate(1.18); -webkit-backdrop-filter: blur(18px) saturate(1.18); }
#ucnx .impact-label { margin: 0; padding: 24px 28px; color: var(--violet-light); border-bottom: 1px solid var(--line-soft); font-size: 9px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
#ucnx .mission-impact article { min-height: 128px; padding: 25px 28px; display: grid; grid-template-columns: 42px 1fr; gap: 18px; border-bottom: 1px solid var(--line-soft); transition: background .25s ease, transform .25s ease; }
#ucnx .mission-impact article:hover { background: rgba(137,79,230,.09); transform: translateX(4px); }
#ucnx .mission-impact article:last-child { border-bottom: 0; }
#ucnx .mission-impact article > span { color: var(--violet-light); font-size: 9px; font-weight: 900; letter-spacing: .16em; }
#ucnx .mission-impact b { display: block; margin-bottom: 7px; font-family: Georgia, serif; font-size: 21px; font-weight: 500; }
#ucnx .mission-impact article p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
#ucnx .primary-button { width: 300px; min-height: 58px; padding: 0 25px; display: flex; align-items: center; justify-content: space-between; color: #fff; border-radius: 999px; background: linear-gradient(135deg, #8050d8, #aa6cff); box-shadow: 0 15px 45px rgba(132,75,221,.25); text-decoration: none; font-size: 13px; font-weight: 850; }
#ucnx .primary-button span { font-size: 22px; }
#ucnx .secondary-link { padding-bottom: 7px; color: #c7c2cf; border-bottom: 1px solid var(--line); text-decoration: none; font-size: 12px; font-weight: 750; }
#ucnx .secondary-link span { margin-left: 16px; color: var(--violet-light); }
#ucnx .footer { position: relative; overflow: hidden; border-top: 1px solid var(--line); background: #06070d; }
#ucnx .footer-nav { padding: 85px 0 70px; display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; position: relative; }
#ucnx .footer-brand p { margin: 25px 0 0; color: #aaa6b4; font-family: Georgia, serif; font-size: 15px; line-height: 1.6; }
#ucnx .footer-brand p em { color: var(--violet-light); font-style: normal; }
#ucnx .wordmark { display: flex; align-items: center; gap: 15px; text-decoration: none; }
#ucnx .wordmark > span { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(135deg, #8050d8, #a96cff); font-weight: 900; }
#ucnx .wordmark b { font-family: Georgia, serif; font-size: 17px; line-height: 1.2; }
#ucnx .footer-nav nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 38px; }
#ucnx .footer-nav nav div { display: flex; flex-direction: column; gap: 12px; }
#ucnx .footer-nav nav strong { margin-bottom: 5px; color: var(--violet-light); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }
#ucnx .footer-nav nav a { color: #9c98a7; text-decoration: none; font-size: 12px; }
#ucnx .footer-nav nav a:hover { color: #fff; }
#ucnx .footer-bottom { min-height: 82px; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; border-top: 1px solid var(--line-soft); color: #6e6a79; font-size: 10px; }
#ucnx .footer-bottom p { margin: 0; }
#ucnx .footer-bottom p:nth-child(2) { text-align: center; color: #9d83c4; text-transform: uppercase; letter-spacing: .13em; }
#ucnx .footer-bottom p:last-child { display: flex; justify-content: flex-end; gap: 18px; }
@media (max-width: 980px) {
  #ucnx .who { grid-template-columns: 1fr; }
  #ucnx .who-copy { position: static; }
  #ucnx .app-editorial { grid-template-columns: 1fr; }
  #ucnx .app-editorial-copy { position: static; order: 1; }
  #ucnx .app-card-grid { order: 2; }
  #ucnx .discovery-intro { grid-template-columns: 1fr; gap: 10px; }
  #ucnx .shelf { grid-template-columns: 1fr; }
  #ucnx .station-row { grid-template-columns: repeat(3, 1fr); }
  #ucnx .podcast-row { grid-template-columns: repeat(5, minmax(150px, 1fr)); overflow-x: auto; padding-bottom: 15px; }
  #ucnx .shortwave-head { min-height: 540px; }
  #ucnx .shortwave-feature-art { height: 620px; }
  #ucnx .shortwave-card-grid { grid-template-columns: 1fr; max-width: 700px; margin-top: -40px; }
  #ucnx .mission-close-inner { grid-template-columns: 1fr; gap: 55px; }
}
@media (max-width: 680px) {
  #ucnx .section-shell { width: min(calc(100% - 32px), var(--shell)); }
  #ucnx .hero-message { inset: 10% 26% 12% 0; padding-left: 18px; background: linear-gradient(90deg, #030409 0%, #030409 60%, rgba(3,4,9,.94) 76%, transparent); }
  #ucnx .hero-message > p { margin-bottom: 12px; letter-spacing: .16em; }
  #ucnx .hero-message h1 { white-space: normal; font-size: clamp(27px, 8vw, 44px); }
  #ucnx .hero-tagline { margin-top: 15px; column-gap: 10px; }
  #ucnx .hero-tagline span, #ucnx .hero-tagline strong { font-size: clamp(8px, 2.4vw, 12px); }
  #ucnx .signal-bridge { height: 110px; }
  #ucnx .who { padding: 55px 0 100px; gap: 50px; }
  #ucnx h1 { font-size: 52px; }
  #ucnx .value-grid { grid-template-columns: 1fr; }
  #ucnx .value-card:nth-child(even) { transform: none; }
  #ucnx .value-card { min-height: auto; }
  #ucnx .art-frame { height: 225px; }
  #ucnx .app-editorial { padding: 90px 0 110px; gap: 55px; }
  #ucnx .app-editorial-copy h2 { font-size: 52px; }
  #ucnx .app-card-grid { grid-template-columns: 1fr; }
  #ucnx .app-card:nth-child(even) { transform: none; }
  #ucnx .app-card { min-height: auto; }
  #ucnx .app-art-frame { height: 225px; }
  #ucnx .discovery-shelves { padding-inline: 16px; }
  #ucnx .shortwave-intro h2, #ucnx .mission-close h2 { font-size: 50px; }
  #ucnx .download-row { align-items: flex-start; flex-direction: column; }
  #ucnx .discovery-shelves { padding: 80px 16px 95px; }
  #ucnx .station-row { grid-template-columns: 1fr 1fr; }
  #ucnx .station-tile { min-height: 130px; }
  #ucnx .shortwave-story { padding-bottom: 60px; }
  #ucnx .shortwave-head { min-height: 520px; align-items: flex-end; padding-bottom: 50px; }
  #ucnx .shortwave-feature-art { height: 600px; }
  #ucnx .shortwave-feature-art img { object-position: 68% center; }
  #ucnx .shortwave-feature-art::after { background: linear-gradient(0deg, #080910 0%, rgba(8,9,16,.83) 56%, rgba(8,9,16,.28)); }
  #ucnx .shortwave-card-grid { margin-top: -20px; }
  #ucnx .shortwave-card { min-height: auto; }
  #ucnx .shortwave-art { height: 230px; }
  #ucnx .shortwave-cta { justify-content: flex-start; }
  #ucnx .mission-close { padding: 90px 0; }
  #ucnx .mission-art { object-position: 72% center; opacity: .58; }
  #ucnx .mission-close::before { background: linear-gradient(180deg, rgba(10,9,18,.96) 0%, rgba(10,9,18,.68) 44%, rgba(10,9,18,.86) 100%), linear-gradient(90deg, #0a0912 0%, rgba(10,9,18,.42) 70%, #0a0912 100%); }
  #ucnx .mission-actions { align-items: stretch; flex-direction: column; }
  #ucnx .primary-button { width: 100%; }
  #ucnx .footer-nav { grid-template-columns: 1fr; gap: 50px; }
  #ucnx .footer-nav nav { grid-template-columns: 1fr 1fr; }
  #ucnx .footer-bottom { padding: 28px 0; grid-template-columns: 1fr; gap: 16px; }
  #ucnx .footer-bottom p:nth-child(2), #ucnx .footer-bottom p:last-child { text-align: left; justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  #ucnx { scroll-behavior: auto; }
  #ucnx *, #ucnx *::before, #ucnx *::after { transition: none !important; }
}
/* ==== END concept (#ucnx) ==== */

/* Shortwave globe: fill the full section width (never crop left/right); the
   section height clips top/bottom only. Image is vertically centered. */
@media (min-width:981px){
  #ucnx .shortwave-feature-art{display:flex;align-items:center;justify-content:center}
  #ucnx .shortwave-feature-art img{width:100%;height:auto;object-fit:fill;object-position:center;margin:0}
}
