:root{
  --nsra-pink:#FE41C4;--nsra-yellow:#FFE777;--nsra-blue:#029DD3;--nsra-lime:#5AF574;
  --nsra-soft-black:#1B1B1D;--nsra-border:#E4E4E6;--nsra-dark:#45454B;--nsra-muted:#65656C;
  --nsra-container:1180px;--nsra-radius:18px;
  --nsra-shadow-soft:0 12px 34px rgba(27,27,29,.07);
}
.nsra-page,.nsra-page *{box-sizing:border-box}
.nsra-page{background:#fff;color:var(--nsra-soft-black);line-height:1.58;padding-bottom:20px}
.nsra-page a{color:inherit;text-decoration:none}
.nsra-page img{display:block;max-width:100%}
.nsra-page button,.nsra-page input,.nsra-page select{font:inherit}
.nsra-container{width:min(var(--nsra-container),calc(100% - 40px));margin-inline:auto}
.nsra-card{background:#fff;border:1px solid var(--nsra-border);border-radius:var(--nsra-radius);box-shadow:var(--nsra-shadow-soft)}

.nsra-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 18px;border-radius:999px;border:1px solid transparent;cursor:pointer;font-size:14px;font-weight:900;line-height:1;text-align:center;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.nsra-btn:hover{transform:translateY(-2px)}
/* Written at .nsra-page a.x so the scoped a{color:inherit} reset (0,1,1) cannot
   beat the button colours (0,1,0). */
.nsra-page .nsra-btn--pink,.nsra-page a.nsra-btn--pink{background:var(--nsra-pink);color:#111;box-shadow:0 12px 26px rgba(254,65,196,.22)}
.nsra-page .nsra-btn--pink:hover,.nsra-page a.nsra-btn--pink:hover{background:#ff66d0}
.nsra-page .nsra-btn--outline,.nsra-page a.nsra-btn--outline{background:#fff;color:#111;border-color:var(--nsra-border)}
.nsra-page .nsra-btn--outline:hover,.nsra-page a.nsra-btn--outline:hover{border-color:var(--nsra-pink)}

.nsra-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:26px;padding:5px 10px;border-radius:999px;font-size:10px;font-weight:900;line-height:1;white-space:nowrap}
.nsra-badge--pink{background:#FFE3F6;color:#AA0A79}
.nsra-badge--yellow{background:var(--nsra-yellow);color:#111}
.nsra-badge--green{background:#DDF9EA;color:#006742}
.nsra-badge--blue{background:#DFF3FA;color:#005C7D}
.nsra-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;color:#FF9BDD;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.nsra-eyebrow::before{content:"";width:18px;height:3px;border-radius:999px;background:var(--nsra-pink)}

/* Hero */
.nsra-hero{position:relative;background:#000;color:#fff;isolation:isolate;overflow:hidden}
.nsra-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 8% 18%,rgba(2,157,211,.16),transparent 26%),radial-gradient(circle at 88% 12%,rgba(254,65,196,.17),transparent 27%),linear-gradient(135deg,#030303 0%,#000 56%,#0B0209 100%)}
.nsra-hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.18;background-image:radial-gradient(rgba(255,255,255,.45) .7px,transparent .7px);background-size:24px 24px;mask-image:linear-gradient(to bottom,black,transparent 74%);-webkit-mask-image:linear-gradient(to bottom,black,transparent 74%)}
.nsra-hero__inner{padding:52px 0 34px}
.nsra-breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;color:#B6B6BD;font-size:12px;font-weight:700;margin-bottom:16px}
.nsra-page .nsra-breadcrumbs a{color:#F5B5E1}
.nsra-trust-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07);color:#F7F7F7;font-size:11px;font-weight:800}
.nsra-trust-pill__dot{width:8px;height:8px;border-radius:50%;background:var(--nsra-lime);box-shadow:0 0 0 4px rgba(90,245,116,.14)}
.nsra-page .nsra-hero h1{max-width:760px;margin:16px 0 12px;font-size:clamp(34px,5vw,56px);line-height:1;letter-spacing:-.05em;color:#fff}
.nsra-hero__copy{max-width:700px;margin:0;color:#CFCFD2;font-size:16px}
.nsra-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.nsra-hero__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:rgba(255,255,255,.07);overflow:hidden}
.nsra-stat{position:relative;padding:16px 12px;text-align:center;min-width:0}
.nsra-stat:not(:last-child)::after{content:"";position:absolute;right:0;top:18%;bottom:18%;width:1px;background:rgba(255,255,255,.13)}
.nsra-stat strong{display:block;color:#fff;font-size:19px;line-height:1.1;overflow-wrap:break-word}
.nsra-stat span{display:block;margin-top:5px;color:#C4C4C9;font-size:10px}

/* Toolbar */
.nsra-main{padding:44px 0 72px}
.nsra-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:12px;align-items:center;padding:16px;margin-bottom:20px}
.nsra-toolbar>*{min-width:0}
.nsra-search{display:flex;gap:8px;padding:7px;border-radius:16px;background:#fff;border:1px solid var(--nsra-border);min-width:0}
.nsra-search input{min-width:0;flex:1;border:0;background:transparent;padding:0 12px;font-size:14px;color:#111;outline:0}
.nsra-search input::placeholder{color:#75757c}
.nsra-select{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--nsra-border);background:#fff;font-size:13px;font-weight:800;color:#111;outline:0;max-width:100%}

/* Card grid */
.nsra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.nsra-grid--wide{grid-template-columns:repeat(2,minmax(0,1fr))}
.nsra-item{display:grid;grid-template-rows:auto 1fr auto;border-radius:20px;background:#fff;border:1px solid var(--nsra-border);box-shadow:var(--nsra-shadow-soft);overflow:hidden;min-width:0}
.nsra-item__media{position:relative;aspect-ratio:16/9;background:#F4F4F5;overflow:hidden}
.nsra-item__media img{width:100%;height:100%;object-fit:cover}
.nsra-item__media--pad img{object-fit:contain;background:#fff;padding:16px}
.nsra-item__flag{position:absolute;top:10px;left:10px;z-index:1}
.nsra-item__body{padding:16px;display:grid;gap:9px;align-content:start;min-width:0}
.nsra-page .nsra-item__title{margin:0;font-size:18px;font-weight:900;color:#000;line-height:1.16;letter-spacing:-.02em;overflow-wrap:break-word}
.nsra-item__desc{margin:0;color:#47474E;font-size:14px}
.nsra-item__meta{display:flex;flex-wrap:wrap;gap:7px}
.nsra-item__foot{padding:0 16px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.nsra-page .nsra-item__more{color:#A80A76;font-size:13px;font-weight:900}
.nsra-item__stat{color:var(--nsra-muted);font-size:12px;font-weight:700}
.nsra-empty{padding:30px 18px;text-align:center;color:#55555d;font-weight:700}
.nsra-note{margin-top:22px;padding:16px 18px;border-radius:16px;background:#FFF6DC;border:1px solid #F0DEA0;color:#4A4230;font-size:13px;font-weight:700}

/* Glossary A-Z variant */
.nsra-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.nsra-term{padding:18px;min-width:0}
.nsra-page .nsra-term h3{margin:0 0 6px;font-size:18px;color:#000;line-height:1.16}
.nsra-term p{margin:0;color:#47474E;font-size:14px}

.nsra-pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:28px}
.nsra-page .nsra-pager a,.nsra-pager span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--nsra-border);background:#fff;font-size:14px;font-weight:900;color:#111}
.nsra-page .nsra-pager a:hover{border-color:var(--nsra-pink);color:#A80A76}
.nsra-pager .is-current{background:#111;color:#fff;border-color:#111}

@media (max-width:1040px){
  .nsra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .nsra-container{width:min(var(--nsra-container),calc(100% - 24px))}
  .nsra-hero__inner{padding:30px 0 24px}
  .nsra-main{padding:30px 0 54px}
  .nsra-page .nsra-hero h1{font-size:clamp(28px,8.5vw,42px)}
  .nsra-hero__copy{font-size:15px}
  .nsra-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nsra-stat:nth-child(2)::after,.nsra-stat:nth-child(4)::after{display:none}
  .nsra-stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}
  .nsra-hero__actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .nsra-grid,.nsra-grid--wide,.nsra-terms{grid-template-columns:minmax(0,1fr)}
  .nsra-toolbar{grid-template-columns:minmax(0,1fr);padding:14px}
  .nsra-select{width:100%}
}
