/* News story page: curved hero with spotlight beams, layered waves, textured article, pledge cards and a photo mosaic. Pure CSS. */
.ns-hero{position:relative;overflow:hidden;color:#fff;padding:2.2rem 0 6.5rem;
  background:radial-gradient(900px 420px at 85% -10%,rgba(242,194,0,.28),transparent 60%),radial-gradient(700px 500px at 0% 110%,rgba(46,155,74,.22),transparent 60%),linear-gradient(135deg,#071a4a 0%,#0b2a6f 55%,#1b4db3 100%)}
.ns-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1.2px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:linear-gradient(100deg,#000 0%,transparent 60%);mask-image:linear-gradient(100deg,#000 0%,transparent 60%);pointer-events:none}
.ns-beam{position:absolute;top:-30%;width:34%;height:170%;background:linear-gradient(180deg,rgba(255,244,190,.5),rgba(255,244,190,0) 70%);filter:blur(14px);transform-origin:50% 0;pointer-events:none;mix-blend-mode:screen;animation:ns-sway 9s ease-in-out infinite alternate}
.ns-beam-a{right:18%;transform:rotate(18deg)}
.ns-beam-b{right:2%;width:24%;transform:rotate(-12deg);opacity:.7;animation-duration:12s;animation-direction:alternate-reverse}
@keyframes ns-sway{from{transform:rotate(14deg)}to{transform:rotate(24deg)}}
.ns-beam-b{animation-name:ns-sway2}@keyframes ns-sway2{from{transform:rotate(-16deg)}to{transform:rotate(-6deg)}}
.ns-hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:2.2rem;align-items:center}
.ns-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.82rem;margin-bottom:.9rem}
.ns-crumbs a,.ns-crumbs a:hover{color:#cfe0ff}.ns-crumbs i{font-size:.6rem;opacity:.6}
.ns-kicker{display:inline-flex;align-items:center;gap:.45rem;background:linear-gradient(90deg,var(--gold),#ffdf5e);color:#1a1a1a;font-weight:800;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .85rem;border-radius:999px;box-shadow:0 6px 18px rgba(242,194,0,.35)}
.ns-title{color:#fff;font-family:var(--ff-display);font-style:italic;text-transform:uppercase;font-size:clamp(2rem,4.6vw,3.7rem);line-height:1;margin:.9rem 0 .8rem;text-shadow:0 4px 24px rgba(0,0,0,.35)}
.ns-sum{font-size:1.08rem;color:#dbe6ff;max-width:60ch;margin:0 0 1.2rem}
.ns-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.7rem}
.ns-facts li{display:flex;align-items:center;gap:.65rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);padding:.55rem .95rem .55rem .7rem;border-radius:16px 16px 16px 4px;font-weight:700;font-size:.9rem}
.ns-facts i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#1a1a1a;font-size:.9rem;flex:none}
.ns-facts small{display:block;font-weight:600;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#aac2f5}
.ns-facts span{line-height:1.2}
.ns-photo{position:relative;margin:0;justify-self:center;width:100%;max-width:470px}
.ns-photo img{position:relative;width:100%;aspect-ratio:4/4.3;object-fit:cover;display:block;border-radius:28px 120px 28px 120px;border:5px solid #fff;box-shadow:0 30px 60px rgba(0,0,0,.45),0 0 0 8px rgba(242,194,0,.25)}
.ns-ring{position:absolute;inset:-22px -22px auto auto;width:62%;aspect-ratio:1;border-radius:50%;border:2px dashed rgba(242,194,0,.7);animation:ns-spin 40s linear infinite}
@keyframes ns-spin{to{transform:rotate(360deg)}}
.ns-chip{position:absolute;left:-12px;bottom:22px;background:#fff;color:var(--blue-d);font-weight:800;padding:.5rem .95rem;border-radius:999px;box-shadow:var(--shadow);font-size:.85rem}
.ns-chip i{color:var(--gold-d);margin-right:.35rem}
.ns-wave{position:absolute;left:0;bottom:-1px;width:100%;height:96px;display:block}
.ns-wave .w1{fill:rgba(255,255,255,.18)}.ns-wave .w2{fill:rgba(242,194,0,.35)}.ns-wave .w3{fill:var(--bg)}
.ns-wave .w1,.ns-wave .w2{animation:ns-drift 11s ease-in-out infinite alternate}.ns-wave .w2{animation-duration:14s;animation-direction:alternate-reverse}
@keyframes ns-drift{from{transform:translateX(-2%)}to{transform:translateX(2%)}}

/* article card */
.ns-article{position:relative;overflow:hidden;margin-top:-3.2rem;z-index:2;border-radius:28px 28px 28px 80px;background:radial-gradient(520px 260px at 100% 0,rgba(27,77,179,.07),transparent 70%),var(--card)}
.ns-article::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:repeating-radial-gradient(circle,rgba(242,194,0,.28) 0 2px,transparent 2px 14px);pointer-events:none}
.ns-article .art-body{position:relative;font-size:1.06rem;line-height:1.8}
.ns-article .art-body>p:first-child::first-letter{float:left;font-family:var(--ff-display);font-style:italic;font-weight:800;font-size:4.2rem;line-height:.8;padding:.3rem .6rem 0 0;color:var(--blue)}
.ns-article .art-body h2{position:relative;display:inline-block;margin:1.8rem 0 .7rem;font-family:var(--ff-display);font-style:italic;text-transform:uppercase;font-size:1.7rem;padding-bottom:.35rem}
.ns-article .art-body h2::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 8' preserveAspectRatio='none'%3E%3Cpath d='M0 4 Q7.5 0 15 4 T30 4 T45 4 T60 4' fill='none' stroke='%23f2c200' stroke-width='2.4'/%3E%3C/svg%3E") repeat-x left center/40px 8px}
.ns-article .art-body ul{list-style:none;padding:0;margin:1.2rem 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;counter-reset:ns}
.ns-article .art-body ul li{counter-increment:ns;position:relative;padding:1.3rem 1.1rem 1.1rem;border-radius:22px 22px 22px 6px;color:#fff;overflow:hidden;box-shadow:var(--shadow-s);background:linear-gradient(145deg,#1b4db3,#0b2a6f)}
.ns-article .art-body ul li:nth-child(2){background:linear-gradient(145deg,#2e9b4a,#0f5a2a)}
.ns-article .art-body ul li:nth-child(3){background:linear-gradient(145deg,#e0a800,#a86f00)}
.ns-article .art-body ul li::before{content:"0" counter(ns);position:absolute;right:.7rem;top:.2rem;font-family:var(--ff-display);font-style:italic;font-weight:800;font-size:3rem;opacity:.22}
.ns-article .art-body ul li::after{content:"";position:absolute;left:-30%;bottom:-55%;width:160%;height:100%;border-radius:50%;border:2px solid rgba(255,255,255,.25);box-shadow:0 0 0 12px rgba(255,255,255,.07)}
.ns-article .art-body ul li strong{display:block;font-size:1.05rem;margin-bottom:.25rem;color:#fff}
.ns-article .art-body blockquote{position:relative;margin:1.8rem 0;padding:1.6rem 1.6rem 1.4rem 4rem;border:0;border-radius:24px;font-size:1.12rem;font-weight:700;line-height:1.55;color:#fff;background:radial-gradient(400px 200px at 100% 0,rgba(242,194,0,.35),transparent 70%),linear-gradient(135deg,#0b2a6f,#1b4db3);box-shadow:var(--shadow)}
.ns-article .art-body blockquote::before{content:"\201C";position:absolute;left:1rem;top:-.1rem;font-family:Georgia,serif;font-size:5rem;color:var(--gold);line-height:1}

/* photo mosaic */
.ns-gallery{margin-top:2rem}
.ns-gal-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;margin-bottom:.9rem}
.ns-gal-head h2{margin:0;font-family:var(--ff-display);font-style:italic;text-transform:uppercase;font-size:1.7rem}
.ns-gal-head h2 i{color:var(--gold-d);margin-right:.4rem}.ns-gal-head span{color:var(--muted);font-size:.85rem}
.ns-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;grid-auto-flow:dense;gap:.7rem}
.ns-ph{position:relative;display:block;overflow:hidden;border-radius:22px 6px 22px 6px;background:var(--sky);box-shadow:var(--shadow-s);isolation:isolate}
.ns-ph:nth-child(even){border-radius:6px 22px 6px 22px}
.ns-ph-0{grid-column:span 2;grid-row:span 2}.ns-ph-5{grid-column:span 2}
.ns-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ns-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,26,74,.75),transparent 55%);opacity:.0;transition:opacity .3s}
.ns-ph:hover img,.ns-ph:focus-visible img{transform:scale(1.07)}
.ns-ph:hover::after,.ns-ph:focus-visible::after{opacity:1}
.ns-cap{position:absolute;left:.7rem;right:.7rem;bottom:.55rem;z-index:2;color:#fff;font-size:.78rem;font-weight:600;line-height:1.3;opacity:0;transform:translateY(6px);transition:.3s}
.ns-ph:hover .ns-cap,.ns-ph:focus-visible .ns-cap{opacity:1;transform:none}

@media (max-width:900px){
  .ns-hero{padding-bottom:5.5rem}
  .ns-hero-in{grid-template-columns:1fr}
  .ns-photo{max-width:380px}
  .ns-mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:130px}
  .ns-ph-5,.ns-ph-6,.ns-ph-7{grid-column:span 2}
}
@media (max-width:560px){
  .ns-article{border-radius:22px 22px 22px 48px}
  .ns-article .art-body blockquote{padding:1.6rem 1.1rem 1.1rem 1.1rem;padding-top:3.2rem}
  .ns-article .art-body blockquote::before{top:.1rem}
  .ns-facts li{width:100%}
}
@media (hover:none){.ns-cap{opacity:1;transform:none}.ns-ph::after{opacity:1}}
@media (prefers-reduced-motion:reduce){.ns-beam,.ns-ring,.ns-wave .w1,.ns-wave .w2{animation:none}.ns-ph img{transition:none}}
@media print{.ns-beam,.ns-dots,.ns-wave,.ns-ring{display:none}.ns-hero{background:#fff;color:#000;padding:1rem 0}.ns-title,.ns-sum{color:#000;text-shadow:none}}
.ns-figcap{margin-top:.9rem;font-size:.82rem;line-height:1.45;color:#dbe6ff;background:rgba(255,255,255,.1);border-left:3px solid var(--gold);padding:.5rem .8rem;border-radius:4px 14px 14px 4px}

/* ---- momentum story extras: chairperson address + FHNS profile */
.mx-badge{display:inline-flex;align-items:center;gap:.45rem;font-size:.74rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:.35rem .8rem;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.3)}
.mx-badge.gold{background:linear-gradient(90deg,var(--gold),#ffdf5e);color:#1a1a1a;border:0}
.mx-chair{position:relative;overflow:hidden;margin-top:1.6rem;padding:2rem 1.6rem;color:#fff;border-radius:80px 28px 28px 28px;background:radial-gradient(500px 260px at 0 0,rgba(242,194,0,.3),transparent 65%),linear-gradient(135deg,#071a4a,#0b2a6f 60%,#1b4db3);box-shadow:var(--shadow)}
.mx-chair::after{content:"";position:absolute;right:-90px;bottom:-90px;width:300px;height:300px;border-radius:50%;border:2px solid rgba(255,255,255,.15);box-shadow:0 0 0 24px rgba(255,255,255,.05),0 0 0 54px rgba(255,255,255,.04);pointer-events:none}
.mx-spot{position:absolute;left:8%;top:-40%;width:30%;height:150%;background:linear-gradient(180deg,rgba(255,244,190,.4),transparent 70%);filter:blur(14px);transform:rotate(-16deg);pointer-events:none}
.mx-head,.mx-points{position:relative;z-index:1}
.mx-chair h2{color:#fff;font-family:var(--ff-display);font-style:italic;text-transform:uppercase;font-size:clamp(1.7rem,3.4vw,2.4rem);margin:.8rem 0 .4rem}
.mx-by{margin:0 0 1.4rem}.mx-by strong{display:block;color:var(--gold);font-size:1.05rem}.mx-by span{font-size:.88rem;color:#cfe0ff}
.mx-points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem}
.mx-points li{display:flex;gap:.8rem;padding:1rem;border-radius:20px 20px 20px 4px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.mx-points li>i{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#1a1a1a}
.mx-points h3{margin:0 0 .2rem;font-size:1rem;color:#fff}.mx-points p{margin:0;font-size:.9rem;color:#dbe6ff;line-height:1.5}
.mx-fhns{position:relative;margin-top:1.6rem;border-radius:28px 28px 80px 28px;overflow:hidden;background:linear-gradient(160deg,#fff7d6 0%,#fff 38%);border:1px solid var(--line);box-shadow:var(--shadow-s)}
[data-theme="dark"] .mx-fhns{background:linear-gradient(160deg,#1a2a58,var(--card) 45%)}
.mx-wave{position:absolute;left:0;top:0;width:100%;height:46px;fill:rgba(242,194,0,.35)}
.mx-fhns-in{position:relative;display:grid;grid-template-columns:230px 1fr;gap:1.6rem;align-items:center;padding:3.2rem 1.6rem 1rem}
.mx-person{margin:0;text-align:center}
.mx-frame{position:relative;width:200px;height:200px;margin:0 auto .8rem;border-radius:50%;padding:6px;background:conic-gradient(from 200deg,var(--gold),#d52b1e,#1b4db3,var(--gold));box-shadow:0 14px 30px rgba(11,42,111,.25)}
.mx-frame::after{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px dashed rgba(27,77,179,.35)}
.mx-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;border-radius:50%;border:4px solid #fff;display:block}
.mx-person strong{display:block;font-size:1.05rem}.mx-person span{font-size:.84rem;color:var(--muted);font-weight:600}
.mx-about h2{font-family:var(--ff-display);font-style:italic;text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.1rem);margin:.7rem 0 .5rem}
.mx-about p{color:var(--muted);margin:0 0 .9rem}
.mx-focus{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem}
.mx-focus li{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border-radius:14px;background:var(--sky);font-weight:700;font-size:.88rem}
.mx-focus i{color:var(--blue);font-size:1.1rem;width:1.3rem;text-align:center}
[data-theme="dark"] .mx-focus i{color:var(--gold)}
.mx-help{padding:1.2rem 1.6rem 2rem}
.mx-help h3{font-family:var(--ff-display);font-style:italic;text-transform:uppercase;font-size:1.6rem;margin:0 0 .3rem}
.mx-help-sub{color:var(--muted);margin:0 0 1rem}
.mx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem}
.mx-card{position:relative;overflow:hidden;color:#fff;padding:1.2rem 1.1rem;border-radius:22px 22px 22px 6px;box-shadow:var(--shadow-s)}
.mx-card::after{content:"";position:absolute;right:-40px;bottom:-40px;width:130px;height:130px;border-radius:50%;box-shadow:0 0 0 14px rgba(255,255,255,.1),0 0 0 30px rgba(255,255,255,.06)}
.mx-card i{font-size:1.5rem;color:#fff;opacity:.95}.mx-card h4{color:#fff;margin:.6rem 0 .25rem;font-size:1.05rem}.mx-card p{margin:0;font-size:.88rem;color:rgba(255,255,255,.92);line-height:1.5;position:relative;z-index:1}
.mx-card.c1{background:linear-gradient(145deg,#d52b1e,#8f1409)}.mx-card.c2{background:linear-gradient(145deg,#2e9b4a,#0f5a2a)}.mx-card.c3{background:linear-gradient(145deg,#1b4db3,#0b2a6f)}.mx-card.c4{background:linear-gradient(145deg,#e0a800,#a86f00)}
@media (max-width:700px){.mx-fhns-in{grid-template-columns:1fr;padding-top:3rem}.mx-chair{border-radius:48px 22px 22px 22px;padding:1.6rem 1.1rem}.mx-fhns{border-radius:22px 22px 48px 22px}}
@media print{.mx-spot,.mx-wave{display:none}}
.mx-grid,.mx-focus{grid-template-columns:repeat(2,1fr)}
@media (max-width:480px){.mx-grid,.mx-focus{grid-template-columns:1fr}}

/* football committee feature */
.mx-foot{position:relative;overflow:hidden;margin-top:1.6rem;display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;align-items:center;padding:2rem 1.6rem;color:#fff;border-radius:28px 80px 28px 28px;background:radial-gradient(420px 220px at 100% 0,rgba(255,244,190,.25),transparent 65%),repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 60px,transparent 60px 120px),linear-gradient(150deg,#0f5a2a,#1f8a40 60%,#2e9b4a);box-shadow:var(--shadow)}
.mx-pitch{position:absolute;inset:0;pointer-events:none;opacity:.35}
.mx-circle{position:absolute;left:-70px;top:50%;width:240px;height:240px;margin-top:-120px;border-radius:50%;border:3px solid #fff}
.mx-line{position:absolute;left:50px;top:0;bottom:0;border-left:3px solid #fff}
.mx-foot-copy,.mx-foot-pics{position:relative;z-index:1}
.mx-foot h2{color:#fff;font-family:var(--ff-display);font-style:italic;text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.2rem);margin:.8rem 0 .6rem}
.mx-foot p{color:#e6f6ea;line-height:1.65}
.mx-dates{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.mx-dates li{display:flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:14px 14px 14px 4px;padding:.5rem .8rem;font-weight:700;font-size:.88rem}
.mx-dates i{color:var(--gold);font-size:1.1rem}.mx-dates small{display:block;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#bfe6c9;font-weight:600}
.mx-foot-pics{position:relative;min-height:330px}
.mx-foot-pics figure{margin:0;position:absolute;border:4px solid #fff;box-shadow:0 18px 40px rgba(0,0,0,.35);overflow:hidden;background:#0b2a6f}
.mx-foot-pics img{width:100%;height:100%;object-fit:cover;display:block}
.mx-p1{left:0;top:0;width:82%;height:62%;border-radius:24px 80px 24px 24px}
.mx-p2{right:0;bottom:0;width:66%;height:58%;border-radius:80px 24px 24px 24px}
.mx-ball{position:absolute;right:6%;top:4%;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0b2a6f;font-size:1.7rem;box-shadow:0 8px 20px rgba(0,0,0,.3);animation:ns-spin 14s linear infinite}
@media (max-width:760px){.mx-foot{grid-template-columns:1fr;border-radius:22px 48px 22px 22px;padding:1.5rem 1.1rem}.mx-foot-pics{min-height:300px}}
@media (prefers-reduced-motion:reduce){.mx-ball{animation:none}}
@media print{.mx-pitch{display:none}}
.mx-foot-pics{min-height:440px;align-self:stretch}.mx-p1{height:56%}.mx-p2{height:52%}
@media (max-width:760px){.mx-foot-pics{min-height:380px}}

/* kho kho + netball feature */
.mx-kn{position:relative;overflow:hidden;margin-top:1.6rem;display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;align-items:center;padding:2rem 1.6rem;color:#fff;border-radius:80px 28px 28px 28px;background:radial-gradient(380px 240px at 0 100%,rgba(242,194,0,.35),transparent 65%),radial-gradient(300px 200px at 100% 0,rgba(255,255,255,.14),transparent 65%),linear-gradient(135deg,#4a1d8f,#7b2cbf 55%,#e0671a);box-shadow:var(--shadow)}
.mx-kn::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1.3px,transparent 1.5px);background-size:20px 20px;pointer-events:none}
.mx-kn-wave{position:absolute;left:0;right:0;bottom:0;width:100%;height:70px;pointer-events:none}
.mx-kn-pic,.mx-kn-copy{position:relative;z-index:1}
.mx-kn-pic{margin:0}
.mx-kn-pic img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border:4px solid #fff;border-radius:24px 90px 24px 24px;box-shadow:0 20px 44px rgba(0,0,0,.4)}
.mx-kn-pic figcaption{margin-top:.6rem;font-size:.8rem;color:#f0e6ff;text-align:center}
.mx-kn h2{color:#fff;font-family:var(--ff-display);font-style:italic;text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.2rem);margin:.8rem 0 .6rem}
.mx-kn p{color:#f4ecff;line-height:1.65}
.mx-sports{list-style:none;margin:1rem 0 .6rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.mx-sports li{display:flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.4rem .85rem;font-weight:700;font-size:.85rem}
.mx-sports i{color:var(--gold)}
.mx-kn-note{font-weight:800;color:var(--gold)!important;margin:.4rem 0 1.4rem}
@media (max-width:760px){.mx-kn{grid-template-columns:1fr;border-radius:48px 22px 22px 22px;padding:1.5rem 1.1rem}}
@media print{.mx-kn-wave{display:none}}

/* ---- news index (channel front page) */
.ni-hero{padding:2rem 0 6rem}.ni-hero .ns-title{font-size:clamp(2.2rem,5vw,4rem);max-width:18ch}
.ni-hero-in{position:relative}
.news-index .filters{background:var(--card);border:1px solid var(--line);border-radius:22px 22px 22px 6px;padding:1rem;box-shadow:var(--shadow-s);margin-top:-3rem;position:relative;z-index:2}
.news-index .chip-row .chip{border-radius:999px;font-weight:700;transition:transform .2s,box-shadow .2s}
.news-index .chip-row .chip:hover{transform:translateY(-2px);box-shadow:var(--shadow-s)}
.news-index .chip-row .chip.active{background:linear-gradient(90deg,var(--blue),#2f7bff);color:#fff;border-color:transparent}


/* ---- story typography polish */
.ns-article .art-body>p:first-of-type{font-size:1.16rem;line-height:1.75;color:var(--ink);font-weight:500}
.ns-article .art-body p{margin:0 0 1.15rem}
.ns-article .art-body h3{font-family:var(--ff-display);font-style:italic;text-transform:uppercase;font-size:1.35rem;margin:1.6rem 0 .5rem;padding-left:.8rem;border-left:5px solid var(--gold)}
.ns-article .art-body a{color:var(--blue);font-weight:700;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:3px}
.ns-article .art-body hr{border:0;height:14px;margin:2rem 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 14' preserveAspectRatio='none'%3E%3Cpath d='M0 7 Q15 0 30 7 T60 7 T90 7 T120 7' fill='none' stroke='%231b4db3' stroke-opacity='.35' stroke-width='1.6'/%3E%3Cpath d='M0 10 Q15 3 30 10 T60 10 T90 10 T120 10' fill='none' stroke='%23f2c200' stroke-width='1.6'/%3E%3C/svg%3E") 0 0/120px 14px repeat-x}
.ns-article .art-body ol{counter-reset:o;list-style:none;padding:0}
.ns-article .art-body ol li{counter-increment:o;position:relative;padding:.2rem 0 .6rem 2.6rem}
.ns-article .art-body ol li::before{content:counter(o);position:absolute;left:0;top:.1rem;width:1.9rem;height:1.9rem;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),#2f7bff);color:#fff;font-weight:800;font-size:.85rem}
.ns-article .art-body img{max-width:100%;height:auto;border-radius:20px 6px 20px 6px;border:4px solid #fff;box-shadow:0 0 0 2px var(--gold),var(--shadow)}
.art-nav a{border-radius:20px 6px 20px 6px;border:1px solid var(--line);background:var(--card);transition:transform .25s,box-shadow .25s,border-color .25s}
.art-nav a:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--gold)}
.ns-more-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.5rem}
/* index sections */
.news-index{position:relative}
.news-index::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 320px at 100% 0,rgba(242,194,0,.10),transparent 65%),radial-gradient(700px 360px at 0 60%,rgba(27,77,179,.07),transparent 65%);pointer-events:none}
.news-index>.container{position:relative}
.ni-hero .ns-wave{height:110px}


/* contrast and dark-theme fixes */
.ns-article .art-body ul li:nth-child(3){background:linear-gradient(145deg,#f2c200,#d99a00);color:#1a1a1a}
.ns-article .art-body ul li:nth-child(3) strong{color:#1a1a1a}
.ns-article .art-body ul li:nth-child(n+4){background:linear-gradient(145deg,#6a2bb8,#3d1580)}
.ns-article .art-body ul li::before{content:counter(ns,decimal-leading-zero)}
[data-theme="dark"] .ns-article .art-body a{color:#9ec0ff}
[data-theme="dark"] .ns-article .art-body>p:first-child::first-letter{color:#ffd84a}
