/* News cards and news sections: gradient frames, curved corners, flashlight sweep, layered waves, textured panels. Pure CSS. */
.nc{--a:#1b4db3;--b:#2f7bff;--c:#f2c200;position:relative;height:100%;border-radius:26px 26px 26px 8px;padding:2px;background:linear-gradient(135deg,var(--c),var(--a) 45%,var(--b));box-shadow:0 10px 28px rgba(11,42,111,.14);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;isolation:isolate}
.nc:nth-child(even),.row>div:nth-child(even) .nc{border-radius:26px 26px 8px 26px}
.nc-t1{--a:#0f7a3a;--b:#35c06a;--c:#f2c200}.nc-t2{--a:#8a5a00;--b:#f2c200;--c:#ffd84a}.nc-t3{--a:#6a2bb8;--b:#d52b1e;--c:#f2c200}
.nc:hover{transform:translateY(-7px);box-shadow:0 26px 50px rgba(11,42,111,.26),0 0 0 4px rgba(242,194,0,.18)}
.nc-frame{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:24px 24px 24px 6px;background:var(--card);color:var(--card)}
.nc:nth-child(even) .nc-frame,.row>div:nth-child(even) .nc .nc-frame{border-radius:24px 24px 6px 24px}
.nc-media{color:var(--card);position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,var(--a),var(--b))}
.nc-media>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}
.nc:hover .nc-media>img{transform:scale(1.09) rotate(.4deg)}
.nc-ph{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.3),transparent 50%),linear-gradient(135deg,var(--a),var(--b))}
.nc-ph img{width:72px;height:72px;border-radius:50%;border:3px solid #fff;object-fit:cover;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.nc-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,26,74,.35) 0%,transparent 35%,rgba(7,26,74,.55) 100%);mix-blend-mode:multiply;pointer-events:none}
.nc-beam{position:absolute;top:-40%;left:-60%;width:40%;height:190%;background:linear-gradient(90deg,transparent,rgba(255,244,190,.55),transparent);transform:rotate(18deg);transition:left .9s ease;pointer-events:none;filter:blur(3px)}
.nc:hover .nc-beam{left:130%}
.nc-cat{position:absolute;z-index:2;left:.8rem;top:.8rem;display:inline-flex;align-items:center;gap:.35rem;background:linear-gradient(90deg,var(--c),#ffe27a);color:#1a1a1a;font-weight:800;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;padding:.3rem .75rem;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.28)}
.nc-wave{position:absolute;left:0;bottom:-1px;width:100%;height:34px;display:block;z-index:1}
.nc-wave .a{fill:rgba(255,255,255,.35)}.nc-wave .b{fill:currentColor}
.nc-body{position:relative;display:flex;flex-direction:column;flex:1;gap:.55rem;padding:.7rem 1.25rem 1.25rem;color:var(--ink);background:radial-gradient(180px 140px at 100% 100%,rgba(27,77,179,.08),transparent 70%),var(--card)}
.nc-body::after{content:"";position:absolute;right:-26px;bottom:-26px;width:120px;height:120px;border-radius:50%;background:repeating-radial-gradient(circle,rgba(242,194,0,.32) 0 2px,transparent 2px 12px);pointer-events:none;opacity:.7}
.nc-meta{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.76rem;font-weight:600;color:var(--muted)}
.nc-meta i{color:var(--a);margin-right:.25rem}
.nc-body h3{margin:0;font-family:var(--ff-display);font-style:italic;text-transform:uppercase;font-size:1.45rem;line-height:1.08;letter-spacing:.01em}
.nc-body h3 a{color:var(--ink);background:linear-gradient(var(--c),var(--c)) 0 100%/0 3px no-repeat;transition:background-size .4s;padding-bottom:2px}
.nc:hover .nc-body h3 a{background-size:100% 3px}
.nc-body p{margin:0;flex:1;color:var(--muted);font-size:.92rem;line-height:1.55}
.nc-more{position:relative;z-index:1;align-self:flex-start;display:inline-flex;align-items:center;gap:.6rem;font-weight:800;font-size:.85rem;color:var(--a);margin-top:.3rem}
.nc-more i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--a),var(--b));color:#fff;font-size:.78rem;transition:transform .3s,box-shadow .3s}
.nc:hover .nc-more i{transform:translateX(5px);box-shadow:0 6px 16px rgba(27,77,179,.4)}
/* featured: wide, dark, with spotlights */
.nc-feat{border-radius:34px 34px 34px 10px;box-shadow:0 22px 50px rgba(7,26,74,.3)}
.nc-feat .nc-frame{flex-direction:row;border-radius:32px 32px 32px 8px;background:#0b2a6f}
.nc-feat .nc-media{flex:0 0 52%;aspect-ratio:auto;min-height:360px}
.nc-feat .nc-wave{display:none}
.nc-feat .nc-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#0b2a6f 100%);z-index:1;pointer-events:none}
.nc-feat .nc-body{justify-content:center;gap:.8rem;padding:2rem 2.2rem;color:#fff;background:radial-gradient(420px 260px at 90% 0,rgba(242,194,0,.28),transparent 65%),radial-gradient(360px 300px at 0 110%,rgba(46,155,74,.22),transparent 65%),linear-gradient(135deg,#071a4a,#0b2a6f 60%,#1b4db3)}
.nc-feat .nc-body::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1.2px,transparent 1.4px);background-size:20px 20px;-webkit-mask-image:linear-gradient(110deg,transparent 30%,#000);mask-image:linear-gradient(110deg,transparent 30%,#000);pointer-events:none}
.nc-feat .nc-body::after{width:220px;height:220px;right:-70px;bottom:-70px;background:none;border:2px solid rgba(255,255,255,.14);box-shadow:0 0 0 22px rgba(255,255,255,.05),0 0 0 48px rgba(255,255,255,.04)}
.nc-feat .nc-meta{color:#aac2f5}.nc-feat .nc-meta i{color:var(--c)}
.nc-feat h3{font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1}
.nc-feat h3 a{color:#fff}.nc-feat p{color:#dbe6ff;flex:none;font-size:1rem}
.nc-feat .nc-more{color:var(--c);padding:.55rem 1.1rem .55rem .6rem;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25)}
.nc-feat .nc-more i{background:var(--c);color:#1a1a1a}
.nc-feat .nc-cat{font-size:.76rem}
@media (max-width:820px){.nc-feat .nc-frame{flex-direction:column}.nc-feat .nc-media{flex:none;min-height:240px;aspect-ratio:16/10}.nc-feat .nc-media::after{background:linear-gradient(180deg,transparent 55%,#0b2a6f)}.nc-feat .nc-body{padding:1.4rem 1.3rem 1.6rem}}
[data-theme="dark"] .nc{box-shadow:0 10px 28px rgba(0,0,0,.45)}
[data-theme="dark"] .nc-body{background:radial-gradient(180px 140px at 100% 100%,rgba(47,123,255,.12),transparent 70%),var(--card)}
[data-theme="dark"] .nc-more{color:#ffd84a}
[data-theme="dark"] .nc-meta i{color:#ffd84a}
@media (hover:none){.nc:hover{transform:none}}
@media (prefers-reduced-motion:reduce){.nc,.nc-media>img,.nc-beam,.nc-more i{transition:none}.nc:hover{transform:none}.nc:hover .nc-media>img{transform:none}}
@media print{.nc{box-shadow:none;background:#ccc}.nc-beam{display:none}}

/* ---- section wrapper used by the home page and the news front page: textured panel, wave rules, ornamented heading */
.nsec{position:relative;isolation:isolate}
.nsec::before{content:"";position:absolute;inset:-1.5rem -.5rem;z-index:-1;border-radius:36px;background:radial-gradient(520px 260px at 0 0,rgba(242,194,0,.14),transparent 65%),radial-gradient(520px 300px at 100% 100%,rgba(27,77,179,.10),transparent 65%),repeating-linear-gradient(135deg,rgba(27,77,179,.035) 0 2px,transparent 2px 14px)}
.nsec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.6rem 1rem;margin-bottom:1.3rem}
.nsec-head .eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.nsec-head .eyebrow::before{content:"";width:34px;height:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 8'%3E%3Cpath d='M0 4 Q4.25 0 8.5 4 T17 4 T25.5 4 T34 4' fill='none' stroke='%23f2c200' stroke-width='2.4'/%3E%3C/svg%3E") center/contain no-repeat}
.nsec-head h2{margin:.2rem 0 0;font-family:var(--ff-display);font-style:italic;text-transform:uppercase;font-size:clamp(2rem,4vw,3rem);line-height:1;background:linear-gradient(90deg,var(--navy),var(--blue) 60%,var(--green));-webkit-background-clip:text;background-clip:text;color:transparent}
[data-theme="dark"] .nsec-head h2{background:linear-gradient(90deg,#fff,#9ec0ff 60%,#7fe3a0);-webkit-background-clip:text;background-clip:text}
[data-theme="dark"] .nsec-head .eyebrow{color:#9ec0ff}
.nsec-rule{height:14px;margin:0 0 1.4rem;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}
.nsec .btn-line{border-radius:999px;font-weight:800}
