/* ================================================================
   NEETResult.in — Main CSS v2.0
   Design System: Navy + Saffron + Official Government Feel
   Unique, original design — NOT copied from any reference theme
   ================================================================ */

/* ── 1. DESIGN TOKENS ──────────────────────────────────────────── */
:root {
  --nr-navy:       #0C2D6B;
  --nr-navy-dark:  #071A42;
  --nr-navy-mid:   #1A4BA0;
  --nr-navy-light: #E8EEF8;
  --nr-orange:     #E65100;
  --nr-orange-bg:  #FFF3E0;
  --nr-green:      #0D6632;
  --nr-green-bg:   #E8F5E9;
  --nr-red:        #C62828;
  --nr-red-bg:     #FFEBEE;
  --nr-gold:       #F5A623;
  --nr-bg:         #F4F6FA;
  --nr-bg2:        #EEF1F8;
  --nr-white:      #ffffff;
  --nr-text:       #1A2340;
  --nr-muted:      #596380;
  --nr-border:     #D1D9EE;
  --nr-shadow-sm:  0 1px 3px rgba(12,45,107,.08);
  --nr-shadow:     0 2px 10px rgba(12,45,107,.10);
  --nr-shadow-md:  0 4px 20px rgba(12,45,107,.12);
  --nr-shadow-lg:  0 8px 32px rgba(12,45,107,.15);
  --nr-radius:     8px;
  --nr-radius-sm:  4px;
  --nr-radius-lg:  14px;
  --nr-pill:       999px;
  --nr-font:       'Inter', system-ui, -apple-system, sans-serif;
  --nr-display:    'Poppins', 'Inter', sans-serif;
  --nr-container:  1280px;
  --nr-trans:      160ms ease;
  /* Dark mode surface */
  --nr-dm-bg:      #0D1421;
  --nr-dm-surface: #151F32;
  --nr-dm-surf2:   #1C2A44;
  --nr-dm-text:    #D8E0F0;
  --nr-dm-border:  #243050;
}
html.dark-mode {
  --nr-white:     #151F32;
  --nr-bg:        #0D1421;
  --nr-bg2:       #1C2A44;
  --nr-text:      #D8E0F0;
  --nr-muted:     #8899BB;
  --nr-border:    #243050;
  --nr-navy-light:#1C2A44;
  background: #0D1421; color: #D8E0F0;
}

/* ── 2. RESET ───────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family: var(--nr-font); font-size: 16px; line-height: 1.65; color: var(--nr-text); background: var(--nr-white); margin: 0; }
img, video { max-width: 100%; height: auto; display: block; }
a { color: var(--nr-navy); text-decoration: none; transition: color var(--nr-trans); }
a:hover { color: var(--nr-orange); text-decoration: underline; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

/* ── 3. CONTAINER ──────────────────────────────────────────────── */
.nr-container { max-width: var(--nr-container); margin: 0 auto; padding: 0 20px; }
@media (min-width: 768px) { .nr-container { padding: 0 32px; } }

/* ── 4. STATUS BAR ─────────────────────────────────────────────── */
.nr-status-bar { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 9px 20px; color: #fff; font-size: 13px; font-weight: 500; text-align: center; flex-wrap: wrap; text-decoration: none; }
.nr-status-label { background: rgba(255,255,255,.22); border: 1px solid rgba(255,255,255,.35); border-radius: var(--nr-pill); padding: 2px 10px; font-size: 11px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; white-space: nowrap; }
.nr-status-cta { background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.35); border-radius: var(--nr-radius); padding: 3px 12px; font-weight: 700; font-size: 12px; white-space: nowrap; }
a.nr-status-bar:hover { filter: brightness(1.06); text-decoration: none; }
.nr-status-pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 14px; border-radius: var(--nr-pill); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }

/* ── 5. TOP BAR ────────────────────────────────────────────────── */
.nr-topbar { background: var(--nr-navy-dark); color: rgba(255,255,255,.85); font-size: 12.5px; padding: 6px 0; }
.nr-topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.nr-topbar-left, .nr-topbar-right { display: flex; align-items: center; gap: 6px; }
.nr-topbar-phone { color: rgba(255,255,255,.85); font-weight: 600; text-decoration: none; white-space: nowrap; }
.nr-topbar-phone:hover { color: var(--nr-gold); text-decoration: none; }
.nr-topbar-icon { font-size: 13px; }

/* ── 6. HEADER ─────────────────────────────────────────────────── */
.nr-header { position: sticky; top: 0; z-index: 1000; background: var(--nr-white); border-bottom: 3px solid var(--nr-navy); box-shadow: var(--nr-shadow); transition: background var(--nr-trans), box-shadow var(--nr-trans); }
html.dark-mode .nr-header { background: var(--nr-dm-surface); border-bottom-color: var(--nr-navy); }
.nr-header-inner { display: flex; align-items: center; justify-content: space-between; height: 68px; gap: 20px; }
.nr-logo-wrap img { max-height: 52px; width: auto; }
.nr-brand { display: flex; align-items: center; gap: 10px; text-decoration: none !important; }
.nr-brand-icon { font-size: 28px; }
.nr-brand-text { display: flex; flex-direction: column; line-height: 1.1; }
.nr-brand-name { font-family: var(--nr-display); font-size: 18px; font-weight: 800; color: var(--nr-navy); }
.nr-brand-dot { color: var(--nr-orange); }
.nr-brand-tagline { font-size: 10px; color: var(--nr-muted); font-weight: 500; letter-spacing: .3px; }
html.dark-mode .nr-brand-name { color: var(--nr-dm-text); }

/* Nav */
.nr-nav-menu { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; gap: 0; }
.nr-nav-menu li a { display: block; padding: 8px 12px; font-size: 13.5px; font-weight: 600; color: var(--nr-text); white-space: nowrap; border-radius: var(--nr-radius-sm); transition: all var(--nr-trans); }
.nr-nav-menu li a:hover, .nr-nav-menu li.current-menu-item a { color: var(--nr-navy); background: var(--nr-navy-light); text-decoration: none; }
html.dark-mode .nr-nav-menu li a { color: var(--nr-dm-text); }
html.dark-mode .nr-nav-menu li a:hover { background: var(--nr-dm-surf2); }

/* Header actions */
.nr-header-actions { display: flex; align-items: center; gap: 8px; }
.nr-search-trigger, .nr-dark-toggle, .nr-hamburger { background: none; border: 1.5px solid var(--nr-border); border-radius: var(--nr-radius); padding: 7px 10px; cursor: pointer; color: var(--nr-text); transition: all var(--nr-trans); display: flex; align-items: center; justify-content: center; gap: 4px; font-size: 14px; }
.nr-search-trigger:hover, .nr-dark-toggle:hover { background: var(--nr-navy-light); border-color: var(--nr-navy); color: var(--nr-navy); }
.nr-hamburger { display: none; flex-direction: column; gap: 4px; padding: 8px 10px; }
.nr-hamburger span { display: block; width: 20px; height: 2px; background: var(--nr-text); border-radius: 2px; transition: all var(--nr-trans); }
.nr-hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nr-hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nr-hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
html:not(.dark-mode) .nr-icon-sun { display: none; }
html.dark-mode .nr-icon-moon { display: none; }
@media (max-width: 900px) { .nr-nav { display: none; } .nr-hamburger { display: flex; } }

/* ── 7. TICKER ──────────────────────────────────────────────────── */
.nr-ticker { display: flex; align-items: stretch; background: var(--nr-navy); height: 38px; overflow: hidden; }
.nr-ticker-label { display: flex; align-items: center; gap: 6px; padding: 0 14px; background: var(--nr-red); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; white-space: nowrap; flex-shrink: 0; }
.nr-ticker-live { font-size: 9px; animation: nrBlink 1.1s step-end infinite; }
@keyframes nrBlink { 0%,100% { opacity:1 } 50% { opacity:0 } }
.nr-ticker-track { flex: 1; overflow: hidden; display: flex; align-items: center; }
.nr-ticker-items { display: flex; white-space: nowrap; animation: nrTickerScroll 65s linear infinite; will-change: transform; }
.nr-ticker-items:hover { animation-play-state: paused; }
.nr-ticker-item { color: rgba(255,255,255,.88); font-size: 13px; padding: 0 48px; display: inline-block; }
@keyframes nrTickerScroll { 0% { transform: translateX(100vw); } 100% { transform: translateX(-100%); } }

/* ── 8. READING PROGRESS ────────────────────────────────────────── */
.nr-progress { position: fixed; top: 0; left: 0; height: 3px; background: var(--nr-orange); width: 0; z-index: 9999; transition: width 60ms linear; border-radius: 0 2px 2px 0; }

/* ── 9. BREADCRUMB ──────────────────────────────────────────────── */
.nr-bc-wrap { padding: 10px 0; }
.nr-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; font-size: 13px; color: var(--nr-muted); }
.nr-bc-item a { color: var(--nr-navy); font-weight: 500; }
.nr-bc-item a:hover { color: var(--nr-orange); }
.nr-bc-sep { color: var(--nr-muted); }
.nr-bc-item:last-child span { color: var(--nr-text); font-weight: 600; }

/* ── 10. HERO ───────────────────────────────────────────────────── */
.nr-hero { background: linear-gradient(160deg, var(--nr-navy-dark) 0%, var(--nr-navy) 55%, var(--nr-navy-mid) 100%); padding: 52px 0 0; position: relative; overflow: hidden; }
.nr-hero::before { content: ''; position: absolute; top: -50%; right: -10%; width: 500px; height: 500px; border-radius: 50%; background: rgba(255,255,255,.04); pointer-events: none; }
.nr-hero-inner { display: grid; grid-template-columns: 1fr; gap: 36px; position: relative; z-index: 1; align-items: start; }
@media (min-width: 1024px) { .nr-hero-inner { grid-template-columns: 1fr 380px; } }
.nr-hero-main { color: #fff; }
.nr-hero-h1 { font-family: var(--nr-display); font-size: clamp(26px, 4.5vw, 42px); font-weight: 900; line-height: 1.15; margin: 16px 0 18px; color: #fff; letter-spacing: -.3px; }
.nr-hero-accent { color: var(--nr-gold); }
.nr-hero-sub { font-size: 16px; line-height: 1.7; opacity: .88; margin: 0 0 26px; max-width: 620px; }
.nr-hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.nr-hero-wave { position: relative; margin-top: 40px; line-height: 0; }
.nr-hero-wave svg { display: block; width: 100%; }

/* Live card (hero right) */
.nr-hero-side { display: flex; flex-direction: column; gap: 16px; }
.nr-live-card { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: var(--nr-radius-lg); overflow: hidden; backdrop-filter: blur(8px); }
.nr-live-card-head { background: rgba(255,255,255,.12); padding: 12px 18px; font-size: 13px; font-weight: 700; color: #fff; display: flex; align-items: center; gap: 7px; letter-spacing: .3px; text-transform: uppercase; }
.nr-live-dot { color: #FF4444; font-size: 10px; animation: nrBlink 1s step-end infinite; }
.nr-live-rows { padding: 4px 0; }
.nr-live-row { display: flex; align-items: center; justify-content: space-between; padding: 9px 18px; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 13px; }
.nr-live-row:last-child { border-bottom: none; }
.nr-live-key { color: rgba(255,255,255,.7); font-weight: 500; }
.nr-live-val { color: #fff; font-weight: 700; text-align: right; }
.nr-live-official { display: block; text-align: center; padding: 11px; background: rgba(255,255,255,.12); color: rgba(255,255,255,.9); font-size: 13px; font-weight: 600; text-decoration: none; transition: background var(--nr-trans); }
.nr-live-official:hover { background: rgba(255,255,255,.2); color: #fff; text-decoration: none; }

/* ── 11. STATS BAND ─────────────────────────────────────────────── */
.nr-stats-band { background: var(--nr-navy); padding: 20px 0; }
.nr-stats-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-around; gap: 16px; }
.nr-stat-item { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.nr-stat-num { font-family: var(--nr-display); font-size: clamp(20px, 3vw, 28px); font-weight: 800; color: var(--nr-gold); line-height: 1; }
.nr-stat-lbl { font-size: 11px; color: rgba(255,255,255,.75); text-transform: uppercase; letter-spacing: .4px; text-align: center; }

/* ── 12. SECTIONS ───────────────────────────────────────────────── */
.nr-section { padding: 52px 0; }
.nr-section-alt { background: var(--nr-bg); }
html.dark-mode .nr-section-alt { background: var(--nr-dm-bg); }
.nr-section-head { margin-bottom: 28px; }
.nr-section-badge { display: inline-block; padding: 3px 11px; background: var(--nr-orange-bg); color: var(--nr-orange); border-radius: var(--nr-pill); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 8px; }
.nr-section-title { font-family: var(--nr-display); font-size: clamp(20px, 3.5vw, 26px); font-weight: 800; color: var(--nr-navy); margin: 0 0 8px; border-left: 4px solid var(--nr-orange); padding-left: 14px; }
html.dark-mode .nr-section-title { color: var(--nr-dm-text); }
.nr-section-sub { font-size: 15px; color: var(--nr-muted); margin: 0; padding-left: 18px; }

/* ── 13. COUNTDOWN ──────────────────────────────────────────────── */
.nr-countdown { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: var(--nr-radius-lg); padding: 18px 22px; text-align: center; max-width: 400px; }
.nr-cd-title { font-size: 12px; text-transform: uppercase; letter-spacing: .5px; color: rgba(255,255,255,.7); margin: 0 0 12px; }
.nr-cd-display { display: flex; align-items: center; justify-content: center; gap: 4px; flex-wrap: wrap; }
.nr-cd-unit { display: flex; flex-direction: column; align-items: center; min-width: 60px; }
.nr-cd-val { font-family: var(--nr-display); font-size: clamp(28px, 5vw, 40px); font-weight: 900; color: var(--nr-gold); line-height: 1; }
.nr-cd-lbl { font-size: 10px; text-transform: uppercase; color: rgba(255,255,255,.65); margin-top: 3px; }
.nr-cd-sep { font-size: 28px; font-weight: 900; color: rgba(255,255,255,.5); padding-top: 4px; align-self: flex-start; }
.nr-cd-sub { font-size: 11px; color: rgba(255,255,255,.55); margin: 10px 0 0; }
/* Footer countdown (different styling) */
.nr-footer .nr-countdown { max-width: 100%; background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.15); }
.nr-footer .nr-cd-title { color: rgba(255,255,255,.6); }

/* ── 14. BUTTONS ────────────────────────────────────────────────── */
.nr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 22px; border-radius: var(--nr-radius); font-size: 14.5px; font-weight: 700; text-decoration: none; cursor: pointer; border: 2px solid transparent; transition: all var(--nr-trans); white-space: nowrap; font-family: var(--nr-font); line-height: 1; }
.nr-btn-primary { background: var(--nr-orange); color: #fff; border-color: var(--nr-orange); }
.nr-btn-primary:hover { background: #CC4700; border-color: #CC4700; color: #fff; text-decoration: none; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(230,81,0,.35); }
.nr-btn-secondary { background: #fff; color: var(--nr-navy); border-color: rgba(255,255,255,.5); }
.nr-btn-secondary:hover { background: var(--nr-navy-light); color: var(--nr-navy); text-decoration: none; }
.nr-btn-outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.nr-btn-outline:hover { background: rgba(255,255,255,.12); border-color: #fff; color: #fff; text-decoration: none; }
.nr-btn-navy { background: var(--nr-navy); color: #fff; border-color: var(--nr-navy); }
.nr-btn-navy:hover { background: var(--nr-navy-dark); color: #fff; text-decoration: none; }
.nr-btn-whatsapp { background: #25D366; color: #fff; border-color: #25D366; }
.nr-btn-whatsapp:hover { background: #1aac54; color: #fff; text-decoration: none; }
.nr-btn-lg { padding: 14px 28px; font-size: 16px; }

/* ── 15. QUICK LINKS GRID ───────────────────────────────────────── */
.nr-quick-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (min-width: 480px) { .nr-quick-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 768px) { .nr-quick-grid { gap: 16px; } }
.nr-quick-card { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 20px 14px; background: var(--nr-white); border: 1.5px solid var(--nr-border); border-radius: var(--nr-radius-lg); text-decoration: none; text-align: center; transition: all var(--nr-trans); position: relative; overflow: hidden; }
.nr-quick-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--card-color, var(--nr-navy)); }
.nr-quick-card:hover { border-color: var(--card-color, var(--nr-navy)); box-shadow: var(--nr-shadow-md); transform: translateY(-3px); text-decoration: none; }
.nr-quick-icon { font-size: 28px; line-height: 1; }
.nr-quick-label { font-size: 13px; font-weight: 700; color: var(--nr-text); line-height: 1.3; }
html.dark-mode .nr-quick-card { background: var(--nr-dm-surface); border-color: var(--nr-dm-border); }

/* ── 16. ARTICLE CARDS ──────────────────────────────────────────── */
.nr-cards-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 600px)  { .nr-cards-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .nr-cards-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; } }
.nr-card { background: var(--nr-white); border: 1px solid var(--nr-border); border-radius: var(--nr-radius-lg); overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--nr-shadow-sm); transition: all var(--nr-trans); }
.nr-card:hover { box-shadow: var(--nr-shadow-md); transform: translateY(-3px); }
.nr-card img { width: 100%; height: 185px; object-fit: cover; display: block; }
.nr-card-no-img { background: var(--nr-navy-light); height: 140px; display: flex; align-items: center; justify-content: center; font-size: 36px; }
.nr-card-body { padding: 16px; display: flex; flex-direction: column; flex: 1; }
.nr-card-cat { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: var(--nr-navy); background: var(--nr-navy-light); padding: 3px 9px; border-radius: var(--nr-pill); margin-bottom: 8px; text-decoration: none; }
.nr-card-title { font-size: 15.5px; font-weight: 700; line-height: 1.35; margin: 0 0 10px; color: var(--nr-text); }
.nr-card-title a { color: inherit; text-decoration: none; }
.nr-card-title a:hover { color: var(--nr-navy); }
.nr-card-excerpt { font-size: 14px; color: var(--nr-muted); margin: 0 0 12px; flex: 1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nr-card-meta { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--nr-muted); }
html.dark-mode .nr-card { background: var(--nr-dm-surface); border-color: var(--nr-dm-border); }

/* ── 17. TABLES ─────────────────────────────────────────────────── */
.nr-table-wrap { overflow-x: auto; margin: 20px 0; border-radius: var(--nr-radius); box-shadow: var(--nr-shadow); }
.nr-table { width: 100%; border-collapse: collapse; font-size: 14px; background: var(--nr-white); }
.nr-table caption { text-align: left; font-weight: 700; font-size: 14.5px; color: var(--nr-navy); padding: 12px 16px 10px; background: var(--nr-navy-light); border-bottom: 2px solid var(--nr-navy); }
.nr-table thead th { background: var(--nr-navy); color: #fff; padding: 11px 16px; text-align: left; font-weight: 600; font-size: 13px; letter-spacing: .2px; white-space: nowrap; }
.nr-table tbody tr:nth-child(even) { background: var(--nr-bg); }
.nr-table tbody tr:hover { background: var(--nr-navy-light); }
.nr-table tbody td, .nr-table tbody th[scope="row"] { padding: 10px 16px; border-bottom: 1px solid var(--nr-border); vertical-align: middle; font-size: 14px; }
.nr-table tbody th[scope="row"] { background: var(--nr-bg); font-weight: 600; color: var(--nr-navy); white-space: nowrap; font-size: 13px; }
.nr-table-total td, .nr-table-total th { background: var(--nr-navy-light) !important; font-weight: 700; border-top: 2px solid var(--nr-navy); }
.nr-table-kv tbody td:nth-child(2n) { color: var(--nr-text); }
.nr-table-note { font-size: 12.5px; color: var(--nr-muted); margin: 6px 0 0; padding: 0 4px; }
html.dark-mode .nr-table { background: var(--nr-dm-surface); }
html.dark-mode .nr-table caption { background: var(--nr-dm-surf2); color: var(--nr-dm-text); }
html.dark-mode .nr-table tbody tr:nth-child(even) { background: var(--nr-dm-surf2); }
html.dark-mode .nr-table tbody td, html.dark-mode .nr-table tbody th[scope="row"] { color: var(--nr-dm-text); border-color: var(--nr-dm-border); }

/* ── 18. BADGES ─────────────────────────────────────────────────── */
.nr-badge { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: var(--nr-pill); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; white-space: nowrap; }
.nr-badge-green  { background: var(--nr-green-bg);  color: var(--nr-green);  }
.nr-badge-red    { background: var(--nr-red-bg);    color: var(--nr-red);    }
.nr-badge-orange { background: var(--nr-orange-bg); color: var(--nr-orange); }
.nr-badge-blue   { background: var(--nr-navy-light);color: var(--nr-navy);   }
.nr-badge-gold   { background: #FFF8E1; color: #B27800; }

/* ── 19. ALERT BOXES ────────────────────────────────────────────── */
.nr-alert { display: flex; align-items: flex-start; gap: 12px; padding: 14px 18px; border-radius: var(--nr-radius); margin: 16px 0; font-size: 14px; line-height: 1.6; }
.nr-alert-info    { background: var(--nr-navy-light); border-left: 4px solid var(--nr-navy); }
.nr-alert-warning { background: var(--nr-orange-bg); border-left: 4px solid var(--nr-orange); }
.nr-alert-success { background: var(--nr-green-bg);  border-left: 4px solid var(--nr-green); }
.nr-alert-error   { background: var(--nr-red-bg);    border-left: 4px solid var(--nr-red); }
.nr-alert-notice  { background: #FFF9E6;              border-left: 4px solid var(--nr-gold); }
.nr-alert-icon { font-size: 17px; flex-shrink: 0; margin-top: 1px; }
.nr-alert-title { font-weight: 700; display: block; margin-bottom: 4px; }

/* ── 20. FAQ ACCORDION ──────────────────────────────────────────── */
.nr-faq { display: flex; flex-direction: column; gap: 8px; }
.nr-faq-item { border: 1px solid var(--nr-border); border-radius: var(--nr-radius); overflow: hidden; background: var(--nr-white); }
.nr-faq-q { width: 100%; background: none; border: none; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; gap: 14px; text-align: left; font-size: 15px; font-weight: 600; color: var(--nr-text); cursor: pointer; transition: background var(--nr-trans); font-family: var(--nr-font); line-height: 1.4; }
.nr-faq-q:hover { background: var(--nr-navy-light); }
.nr-faq-q[aria-expanded="true"] { background: var(--nr-navy-light); color: var(--nr-navy); border-bottom: 1px solid var(--nr-border); }
.nr-faq-arrow { width: 22px; height: 22px; border: 2px solid var(--nr-navy); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform var(--nr-trans), background var(--nr-trans); font-style: normal; }
.nr-faq-arrow::after { content: '+'; font-size: 14px; font-weight: 700; color: var(--nr-navy); line-height: 1; }
.nr-faq-q[aria-expanded="true"] .nr-faq-arrow { background: var(--nr-navy); transform: rotate(45deg); }
.nr-faq-q[aria-expanded="true"] .nr-faq-arrow::after { color: #fff; }
.nr-faq-a { background: var(--nr-white); overflow: hidden; max-height: 0; transition: max-height .28s ease, padding .28s ease; }
.nr-faq-a:not([hidden]) { max-height: 1200px; }
.nr-faq-a[hidden] { display: block !important; }
.nr-faq-a > div { padding: 16px 20px; font-size: 15px; line-height: 1.75; color: var(--nr-text); }
html.dark-mode .nr-faq-item { background: var(--nr-dm-surface); border-color: var(--nr-dm-border); }
html.dark-mode .nr-faq-q { color: var(--nr-dm-text); }
html.dark-mode .nr-faq-q:hover, html.dark-mode .nr-faq-q[aria-expanded="true"] { background: var(--nr-dm-surf2); }
html.dark-mode .nr-faq-a { background: var(--nr-dm-surface); }
html.dark-mode .nr-faq-a > div { color: var(--nr-dm-text); }

/* ── 21. PATTERN / ABOUT GRIDS ──────────────────────────────────── */
.nr-pattern-grid { display: grid; grid-template-columns: 1fr; gap: 40px; }
@media (min-width: 900px) { .nr-pattern-grid { grid-template-columns: 1fr 1fr; } }
.nr-highlights-list { padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; margin: 16px 0; }
.nr-highlights-list li { display: flex; align-items: flex-start; gap: 8px; font-size: 14.5px; color: var(--nr-text); padding: 10px 14px; background: var(--nr-bg); border-radius: var(--nr-radius); border-left: 3px solid var(--nr-navy); }
html.dark-mode .nr-highlights-list li { background: var(--nr-dm-surf2); }
.nr-about-grid { display: grid; grid-template-columns: 1fr; gap: 40px; }
@media (min-width: 900px) { .nr-about-grid { grid-template-columns: 1fr 360px; } }
.nr-about-text p { font-size: 15.5px; line-height: 1.75; color: var(--nr-text); margin-bottom: 16px; }
.nr-glance-card { background: var(--nr-navy); border-radius: var(--nr-radius-lg); overflow: hidden; }
.nr-glance-title { background: var(--nr-navy-dark); color: var(--nr-gold); font-size: 13px; font-weight: 700; padding: 12px 18px; text-transform: uppercase; letter-spacing: .5px; }
.nr-glance-row { display: flex; align-items: flex-start; justify-content: space-between; padding: 10px 18px; border-bottom: 1px solid rgba(255,255,255,.1); gap: 12px; font-size: 13px; }
.nr-glance-row:last-child { border-bottom: none; }
.nr-glance-key { color: rgba(255,255,255,.65); font-weight: 500; flex-shrink: 0; }
.nr-glance-val { color: #fff; font-weight: 600; text-align: right; font-size: 13px; }

/* ── 22. TOOLS GRID ─────────────────────────────────────────────── */
.nr-tools-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 600px)  { .nr-tools-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .nr-tools-grid { grid-template-columns: repeat(4, 1fr); gap: 20px; } }
.nr-tool-card { display: flex; align-items: flex-start; gap: 16px; padding: 22px; background: var(--nr-white); border: 1.5px solid var(--nr-border); border-radius: var(--nr-radius-lg); text-decoration: none; transition: all var(--nr-trans); border-top: 4px solid var(--tool-color, var(--nr-navy)); }
.nr-tool-card:hover { box-shadow: var(--nr-shadow-md); transform: translateY(-3px); border-color: var(--tool-color, var(--nr-navy)); text-decoration: none; }
.nr-tool-icon-wrap { font-size: 32px; flex-shrink: 0; }
.nr-tool-body { flex: 1; }
.nr-tool-title { font-size: 15px; font-weight: 700; color: var(--nr-text); margin: 0 0 6px; line-height: 1.3; }
.nr-tool-desc { font-size: 13px; color: var(--nr-muted); margin: 0 0 10px; line-height: 1.5; }
.nr-tool-cta { font-size: 13px; font-weight: 700; color: var(--tool-color, var(--nr-navy)); }
html.dark-mode .nr-tool-card { background: var(--nr-dm-surface); border-color: var(--nr-dm-border); }

/* ── 23. COUNSELLING CARDS ──────────────────────────────────────── */
.nr-counsel-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 20px; }
@media (min-width: 700px) { .nr-counsel-grid { grid-template-columns: repeat(3, 1fr); } }
.nr-counsel-card { background: var(--nr-white); border: 1px solid var(--nr-border); border-radius: var(--nr-radius-lg); padding: 24px 20px; text-align: center; }
.nr-counsel-icon { font-size: 34px; margin-bottom: 12px; }
.nr-counsel-name { font-size: 15px; font-weight: 700; color: var(--nr-navy); margin: 0 0 10px; }
.nr-counsel-auth, .nr-counsel-seats { font-size: 13px; color: var(--nr-muted); margin: 0 0 8px; line-height: 1.5; }
.nr-counsel-link { display: inline-block; margin-top: 12px; font-size: 13px; font-weight: 700; color: var(--nr-orange); }
html.dark-mode .nr-counsel-card { background: var(--nr-dm-surface); border-color: var(--nr-dm-border); }

/* ── 24. TRENDING CHIPS ─────────────────────────────────────────── */
.nr-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.nr-chip { display: inline-block; padding: 8px 16px; background: var(--nr-white); color: var(--nr-navy); border: 1.5px solid var(--nr-border); border-radius: var(--nr-pill); font-size: 13px; font-weight: 500; text-decoration: none; transition: all var(--nr-trans); }
.nr-chip:hover { background: var(--nr-navy); color: #fff; border-color: var(--nr-navy); text-decoration: none; }
html.dark-mode .nr-chip { background: var(--nr-dm-surface); border-color: var(--nr-dm-border); color: var(--nr-dm-text); }

/* ── 25. STATE GRID ─────────────────────────────────────────────── */
.nr-state-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
@media (min-width: 480px)  { .nr-state-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 768px)  { .nr-state-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1100px) { .nr-state-grid { grid-template-columns: repeat(6, 1fr); } }
.nr-state-item { display: flex; align-items: center; justify-content: space-between; padding: 10px 13px; background: var(--nr-white); border: 1px solid var(--nr-border); border-radius: var(--nr-radius); font-size: 13px; font-weight: 500; color: var(--nr-text); text-decoration: none; transition: all var(--nr-trans); }
.nr-state-item:hover { background: var(--nr-navy); color: #fff; border-color: var(--nr-navy); text-decoration: none; }
.nr-state-item span { font-size: 11px; opacity: .6; }
html.dark-mode .nr-state-item { background: var(--nr-dm-surface); border-color: var(--nr-dm-border); color: var(--nr-dm-text); }

/* ── 26. OFFICIAL LINKS ─────────────────────────────────────────── */
.nr-offlinks-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (min-width: 600px)  { .nr-offlinks-grid { grid-template-columns: repeat(4, 1fr); } }
.nr-offlink { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: var(--nr-white); border: 1.5px solid var(--nr-border); border-radius: var(--nr-radius); text-decoration: none; transition: all var(--nr-trans); }
.nr-offlink:hover { border-color: var(--nr-navy); background: var(--nr-navy-light); text-decoration: none; }
.nr-offlink-icon { font-size: 22px; flex-shrink: 0; }
.nr-offlink-label { display: block; font-size: 13px; font-weight: 700; color: var(--nr-text); line-height: 1.3; }
.nr-offlink small { display: block; font-size: 11px; color: var(--nr-muted); margin-top: 2px; }
html.dark-mode .nr-offlink { background: var(--nr-dm-surface); border-color: var(--nr-dm-border); }
html.dark-mode .nr-offlink-label { color: var(--nr-dm-text); }

/* ── 27. CTA BAND ───────────────────────────────────────────────── */
.nr-cta-band { background: linear-gradient(135deg, var(--nr-navy-dark), var(--nr-navy)); padding: 48px 0; }
.nr-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.nr-cta-title { font-family: var(--nr-display); font-size: clamp(20px, 3vw, 28px); font-weight: 800; color: #fff; margin: 0 0 8px; }
.nr-cta-sub { font-size: 15px; color: rgba(255,255,255,.75); margin: 0; }
.nr-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ── 28. SINGLE POST LAYOUT ─────────────────────────────────────── */
.nr-single-wrap, .nr-page-wrap { display: grid; grid-template-columns: 1fr; gap: 36px; padding-top: 20px; padding-bottom: 52px; }
@media (min-width: 1024px) { .nr-single-wrap, .nr-page-wrap { grid-template-columns: 1fr 300px; } }
.nr-article-header { margin-bottom: 24px; }
.nr-article-title { font-family: var(--nr-display); font-size: clamp(22px, 4vw, 34px); font-weight: 800; color: var(--nr-navy); line-height: 1.2; margin: 10px 0; }
.nr-article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; font-size: 13px; color: var(--nr-muted); margin-bottom: 18px; }
.nr-article-featured-img img { width: 100%; max-height: 460px; object-fit: cover; border-radius: var(--nr-radius-lg); }
.nr-post-meta-bar { display: flex; align-items: center; gap: 14px; font-size: 13px; color: var(--nr-muted); padding: 9px 14px; background: var(--nr-bg); border-radius: var(--nr-radius); border-left: 3px solid var(--nr-orange); margin-bottom: 16px; }
.nr-page-title { font-family: var(--nr-display); font-size: clamp(24px, 4vw, 34px); font-weight: 800; color: var(--nr-navy); margin: 8px 0 20px; }
html.dark-mode .nr-article-title, html.dark-mode .nr-page-title { color: var(--nr-dm-text); }

/* Article content */
.nr-article-content h2 { font-family: var(--nr-display); font-size: clamp(19px, 2.5vw, 24px); font-weight: 800; color: var(--nr-navy); margin: 36px 0 14px; padding-bottom: 8px; border-bottom: 2px solid var(--nr-navy-light); scroll-margin-top: 80px; }
.nr-article-content h3 { font-size: clamp(17px, 2vw, 20px); font-weight: 700; color: var(--nr-navy); margin: 28px 0 12px; padding-left: 14px; border-left: 3px solid var(--nr-orange); scroll-margin-top: 80px; }
.nr-article-content h4 { font-size: 17px; font-weight: 700; margin: 22px 0 10px; }
.nr-article-content p  { font-size: 15.5px; line-height: 1.8; color: var(--nr-text); margin: 0 0 18px; }
.nr-article-content ul, .nr-article-content ol { margin: 0 0 18px 22px; padding: 0; }
.nr-article-content li { font-size: 15px; line-height: 1.7; color: var(--nr-text); margin-bottom: 8px; }
.nr-article-content a { color: var(--nr-navy); text-decoration: underline; }
.nr-article-content a:hover { color: var(--nr-orange); }
.nr-article-content blockquote { border-left: 4px solid var(--nr-orange); background: var(--nr-bg); padding: 14px 20px; margin: 20px 0; border-radius: 0 var(--nr-radius) var(--nr-radius) 0; }
.nr-article-content table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; box-shadow: var(--nr-shadow); border-radius: var(--nr-radius); overflow: hidden; }
.nr-article-content table thead th { background: var(--nr-navy); color: #fff; padding: 10px 16px; text-align: left; font-weight: 600; }
.nr-article-content table tbody td { padding: 10px 16px; border-bottom: 1px solid var(--nr-border); }
.nr-article-content table tbody tr:nth-child(even) { background: var(--nr-bg); }
html.dark-mode .nr-article-content h2, html.dark-mode .nr-article-content h3 { color: var(--nr-dm-text); }
html.dark-mode .nr-article-content p, html.dark-mode .nr-article-content li { color: var(--nr-dm-text); }

/* ── 29. TOC ────────────────────────────────────────────────────── */
.nr-toc { background: var(--nr-white); border: 1.5px solid var(--nr-border); border-radius: var(--nr-radius-lg); margin: 0 0 24px; border-top: 4px solid var(--nr-navy); overflow: hidden; }
.nr-toc-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: var(--nr-bg); font-weight: 700; font-size: 14px; border-bottom: 1px solid var(--nr-border); }
.nr-toc-toggle { background: none; border: none; cursor: pointer; color: var(--nr-muted); font-size: 16px; padding: 2px; transition: transform var(--nr-trans); }
.nr-toc-toggle.collapsed { transform: rotate(-90deg); }
.nr-toc-list { list-style: none; margin: 0; padding: 8px 0; }
.nr-toc-list li a { display: block; padding: 6px 16px; font-size: 13px; color: var(--nr-text); text-decoration: none; border-left: 3px solid transparent; transition: all var(--nr-trans); line-height: 1.4; }
.nr-toc-list li a:hover, .nr-toc-list li.nr-toc-active a { color: var(--nr-navy); border-left-color: var(--nr-orange); background: var(--nr-navy-light); }
.nr-toc-list li.nr-toc-h3 a { padding-left: 28px; font-size: 12px; }
html.dark-mode .nr-toc { background: var(--nr-dm-surface); border-color: var(--nr-dm-border); }

/* ── 30. SOCIAL SHARE ───────────────────────────────────────────── */
.nr-share { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 13px 0; border-top: 1px solid var(--nr-border); border-bottom: 1px solid var(--nr-border); margin: 18px 0; }
.nr-share-lbl { font-size: 13px; font-weight: 700; color: var(--nr-muted); }
.nr-share-btn { display: inline-flex; align-items: center; gap: 5px; padding: 7px 14px; border-radius: var(--nr-pill); font-size: 13px; font-weight: 700; text-decoration: none; border: none; cursor: pointer; transition: all var(--nr-trans); font-family: var(--nr-font); }
.nr-share-wa   { background: #25D366; color: #fff; }
.nr-share-tg   { background: #0088CC; color: #fff; }
.nr-share-tw   { background: #000;    color: #fff; }
.nr-share-copy { background: var(--nr-bg); color: var(--nr-navy); border: 1.5px solid var(--nr-border); }
.nr-share-btn:hover { opacity: .88; text-decoration: none; transform: translateY(-1px); }

/* ── 31. AUTHOR BOX ─────────────────────────────────────────────── */
.nr-author-box { display: flex; align-items: flex-start; gap: 16px; padding: 22px; background: var(--nr-bg); border: 1px solid var(--nr-border); border-radius: var(--nr-radius-lg); border-left: 4px solid var(--nr-navy); margin: 24px 0; }
.nr-author-avatar { border-radius: 50% !important; flex-shrink: 0; }
.nr-author-label { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; color: var(--nr-muted); display: block; margin-bottom: 4px; }
.nr-author-name { font-size: 17px; font-weight: 700; margin: 0 0 8px; }
.nr-author-name a { color: var(--nr-navy); }
.nr-author-bio  { font-size: 14px; color: var(--nr-text); margin: 0 0 8px; }
.nr-author-cred { font-size: 12px; color: var(--nr-green); font-weight: 600; }

/* ── 32. RELATED POSTS ──────────────────────────────────────────── */
.nr-related { margin: 28px 0; }
.nr-related-title { font-size: 20px; font-weight: 700; margin: 0 0 18px; padding-left: 14px; border-left: 4px solid var(--nr-orange); }

/* ── 33. SIDEBAR ────────────────────────────────────────────────── */
.nr-sidebar-sticky { position: sticky; top: 80px; display: flex; flex-direction: column; gap: 20px; }
.nr-sidebar-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.nr-sidebar-links li a { display: flex; align-items: center; padding: 10px 14px; border-radius: var(--nr-radius); font-size: 14px; font-weight: 500; color: var(--nr-text); transition: all var(--nr-trans); border-left: 3px solid transparent; }
.nr-sidebar-links li a:hover { background: var(--nr-navy-light); color: var(--nr-navy); border-left-color: var(--nr-orange); text-decoration: none; }

/* ── 34. AD ZONES ───────────────────────────────────────────────── */
.nr-ad-zone { display: block; min-height: 90px; background: transparent; clear: both; margin: 20px 0; }
#nr-ad-hero, #nr-ad-sidebar, #nr-ad-faq, #nr-ad-contact, #nr-ad-result-sidebar,
#nr-ad-predictor-sidebar, #nr-ad-tool-sidebar, #nr-ad-updates-sidebar,
#nr-ad-page-sidebar { min-height: 250px; }
#nr-ad-result-top, #nr-ad-result-mid, #nr-ad-tool-top,
#nr-ad-updates-top, #nr-ad-mid, #nr-ad-below-hero,
#nr-ad-pre-state, #nr-ad-state-top { min-height: 90px; }
.nr-ad-mob { position: fixed; bottom: 60px; left: 0; right: 0; z-index: 997; min-height: 50px; display: none; }
@media (max-width: 767px) { .nr-ad-mob { display: block; } }
.nr-ad-close { position: absolute; top: 2px; right: 4px; background: rgba(0,0,0,.5); color: #fff; border: none; border-radius: 50%; width: 20px; height: 20px; font-size: 11px; cursor: pointer; display: flex; align-items: center; justify-content: center; }

/* ── 35. MOBILE BOTTOM NAV ──────────────────────────────────────── */
.nr-bottom-nav { display: none; }
@media (max-width: 767px) {
  .nr-bottom-nav { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 9998; background: var(--nr-white); border-top: 2px solid var(--nr-navy); height: 58px; box-shadow: 0 -2px 12px rgba(12,45,107,.12); }
  body { padding-bottom: 58px; }
  html.dark-mode .nr-bottom-nav { background: var(--nr-dm-surface); border-top-color: var(--nr-navy); }
}
.nr-bn-item { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: var(--nr-muted); font-size: 10px; text-decoration: none; background: none; border: none; cursor: pointer; padding: 4px 2px; transition: color var(--nr-trans); -webkit-tap-highlight-color: transparent; font-family: var(--nr-font); }
.nr-bn-item span:first-child { font-size: 20px; }
.nr-bn-item:hover, .nr-bn-active { color: var(--nr-navy); }

/* Mobile drawer */
.nr-mob-overlay { position: fixed; inset: 0; z-index: 9999; background: rgba(7,26,66,.65); opacity: 0; pointer-events: none; transition: opacity .22s ease; }
.nr-mob-overlay.open { opacity: 1; pointer-events: all; }
.nr-mob-drawer { position: absolute; right: 0; top: 0; bottom: 0; width: min(320px, 90vw); background: var(--nr-white); padding: 20px; overflow-y: auto; transform: translateX(100%); transition: transform .25s ease; }
.nr-mob-overlay.open .nr-mob-drawer { transform: translateX(0); }
.nr-mob-close { background: none; border: none; font-size: 22px; cursor: pointer; color: var(--nr-muted); margin-bottom: 16px; display: block; }
.nr-mob-menu { list-style: none; padding: 0; margin: 0; }
.nr-mob-menu li { border-bottom: 1px solid var(--nr-border); }
.nr-mob-menu li a { display: block; padding: 14px 4px; font-size: 15px; font-weight: 600; color: var(--nr-navy); text-decoration: none; }
html.dark-mode .nr-mob-drawer { background: var(--nr-dm-surface); }
html.dark-mode .nr-mob-menu li { border-color: var(--nr-dm-border); }
html.dark-mode .nr-mob-menu li a { color: var(--nr-dm-text); }

/* ── 36. SEARCH OVERLAY ─────────────────────────────────────────── */
.nr-search-overlay { position: fixed; inset: 0; z-index: 10000; background: rgba(7,26,66,.75); display: none; align-items: flex-start; justify-content: center; padding-top: 80px; backdrop-filter: blur(4px); }
.nr-search-overlay.open { display: flex; }
.nr-search-box { background: var(--nr-white); border-radius: var(--nr-radius-lg); padding: 24px; width: min(620px, 95vw); position: relative; box-shadow: var(--nr-shadow-lg); }
.nr-search-close { position: absolute; top: 12px; right: 12px; background: none; border: none; font-size: 22px; cursor: pointer; color: var(--nr-muted); }
.nr-search-hint { font-size: 12px; color: var(--nr-muted); margin: 0 0 10px; }
.nr-search-input { width: 100%; padding: 12px 16px; border: 2px solid var(--nr-border); border-radius: var(--nr-radius); font-size: 16px; font-family: var(--nr-font); color: var(--nr-text); background: var(--nr-white); outline: none; }
.nr-search-input:focus { border-color: var(--nr-navy); }
.nr-search-results { margin-top: 12px; max-height: 380px; overflow-y: auto; }
.nr-search-result { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--nr-border); text-decoration: none; color: var(--nr-text); }
.nr-search-result:hover { color: var(--nr-navy); text-decoration: none; }
html.dark-mode .nr-search-box { background: var(--nr-dm-surface); }
html.dark-mode .nr-search-input { background: var(--nr-dm-surf2); color: var(--nr-dm-text); border-color: var(--nr-dm-border); }

/* ── 37. STEPS ──────────────────────────────────────────────────── */
.nr-steps { list-style: none; padding: 0; margin: 20px 0; counter-reset: step; }
.nr-step { display: flex; align-items: flex-start; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--nr-border); counter-increment: step; }
.nr-step:last-child { border-bottom: none; }
.nr-step-icon { font-size: 24px; flex-shrink: 0; width: 44px; height: 44px; background: var(--nr-navy-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.nr-step-title { font-size: 15px; font-weight: 700; color: var(--nr-navy); margin: 0 0 5px; }
.nr-step-body p { font-size: 14px; color: var(--nr-text); margin: 0; }

/* ── 38. CONTACT / FORM ─────────────────────────────────────────── */
.nr-contact-grid { display: grid; grid-template-columns: 1fr; gap: 36px; }
@media (min-width: 800px) { .nr-contact-grid { grid-template-columns: 1fr 1fr; } }
.nr-contact-info { display: flex; flex-direction: column; gap: 14px; margin: 20px 0; }
.nr-ci-item { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; }
.nr-ci-item span { font-size: 22px; }
.nr-contact-form { display: flex; flex-direction: column; gap: 0; }
.nr-field { margin-bottom: 18px; }
.nr-field label { display: block; font-size: 14px; font-weight: 600; color: var(--nr-text); margin-bottom: 7px; }
.nr-input, .nr-field input, .nr-field select, .nr-field textarea { width: 100%; padding: 11px 14px; border: 1.5px solid var(--nr-border); border-radius: var(--nr-radius); font-size: 15px; font-family: var(--nr-font); color: var(--nr-text); background: var(--nr-white); outline: none; transition: border-color var(--nr-trans); }
.nr-input:focus, .nr-field input:focus, .nr-field select:focus, .nr-field textarea:focus { border-color: var(--nr-navy); box-shadow: 0 0 0 3px rgba(12,45,107,.1); }
.nr-field textarea { resize: vertical; min-height: 120px; }
html.dark-mode .nr-input, html.dark-mode .nr-field input, html.dark-mode .nr-field select, html.dark-mode .nr-field textarea { background: var(--nr-dm-surf2); color: var(--nr-dm-text); border-color: var(--nr-dm-border); }

/* ── 39. TOOL LAYOUT ────────────────────────────────────────────── */
.nr-tool-layout { display: grid; grid-template-columns: 1fr; gap: 28px; margin: 28px 0; }
@media (min-width: 900px) { .nr-tool-layout { grid-template-columns: 1fr 320px; } }
.nr-tool-form-card { background: var(--nr-white); border: 1.5px solid var(--nr-border); border-radius: var(--nr-radius-lg); padding: 28px; border-top: 4px solid var(--nr-navy); box-shadow: var(--nr-shadow); }
.nr-tool-form-title { font-size: 18px; font-weight: 700; margin: 0 0 22px; color: var(--nr-navy); }
.nr-tool-info-card { background: var(--nr-bg); border: 1px solid var(--nr-border); border-radius: var(--nr-radius-lg); padding: 24px; }
.nr-tool-result { margin-top: 20px; }
.nr-result-card { background: var(--nr-green-bg); border: 1.5px solid var(--nr-green); border-radius: var(--nr-radius-lg); padding: 22px; }
.nr-result-card h3 { font-size: 17px; font-weight: 700; color: var(--nr-green); margin: 0 0 16px; }
.nr-result-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.nr-result-label { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .4px; color: var(--nr-muted); }
.nr-result-val { display: block; font-size: 16px; font-weight: 700; color: var(--nr-text); margin-top: 3px; }
.nr-result-note { font-size: 12px; color: var(--nr-muted); margin: 14px 0 0; }
html.dark-mode .nr-tool-form-card { background: var(--nr-dm-surface); border-color: var(--nr-dm-border); }

/* ── 40. LEGAL PAGES ────────────────────────────────────────────── */
.nr-legal-updated { font-size: 13px; color: var(--nr-muted); margin: -10px 0 20px; }

/* ── 41. FOOTER ─────────────────────────────────────────────────── */
.nr-footer-disclaimer { background: #071A42; color: rgba(255,255,255,.7); padding: 16px 0; font-size: 13px; line-height: 1.6; }
.nr-footer-disclaimer p { margin: 0; }
.nr-footer-disclaimer strong { color: #fff; }
.nr-footer-disclaimer a { color: #90B8F8; }
.nr-footer { background: var(--nr-navy-dark); color: rgba(255,255,255,.8); padding: 52px 0 0; }
.nr-footer-grid { display: grid; grid-template-columns: 1fr; gap: 36px; padding-bottom: 40px; }
@media (min-width: 600px)  { .nr-footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .nr-footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; } }
.nr-footer-logo { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 800; color: #fff; text-decoration: none; margin-bottom: 14px; }
.nr-footer-brand p { font-size: 13.5px; line-height: 1.7; color: rgba(255,255,255,.65); margin: 0 0 18px; }
.nr-footer-status { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
.nr-footer-social { display: flex; flex-wrap: wrap; gap: 8px; }
.nr-social-btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; background: rgba(255,255,255,.1); border-radius: var(--nr-radius); font-size: 13px; font-weight: 600; text-decoration: none; transition: background var(--nr-trans); }
.nr-social-btn:hover { background: rgba(255,255,255,.18); text-decoration: none; }
.nr-footer-heading { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; color: var(--nr-gold); margin: 0 0 14px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.1); }
.nr-footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.nr-footer-links li a { font-size: 13.5px; color: rgba(255,255,255,.72); text-decoration: none; transition: color var(--nr-trans); display: flex; align-items: center; gap: 6px; }
.nr-footer-links li a:hover { color: #fff; text-decoration: none; }
.nr-footer-bottom { background: rgba(0,0,0,.25); border-top: 1px solid rgba(255,255,255,.1); padding: 16px 0; }
.nr-footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.nr-footer-copy { font-size: 12.5px; color: rgba(255,255,255,.55); margin: 0; }
.nr-footer-legal { display: flex; flex-wrap: wrap; gap: 12px; }
.nr-footer-legal a { font-size: 12px; color: rgba(255,255,255,.55); text-decoration: none; }
.nr-footer-legal a:hover { color: #fff; }

/* ── 42. RESULT HERO ────────────────────────────────────────────── */
.nr-result-hero { background: linear-gradient(135deg, var(--nr-navy-dark), var(--nr-navy)); border-radius: var(--nr-radius-lg); padding: 32px; margin-bottom: 28px; color: #fff; }
.nr-result-intro { font-size: 15px; line-height: 1.7; opacity: .88; margin: 10px 0; }
.nr-result-intro a { color: #90B8F8; }
.nr-result-links-preview { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.nr-result-link-box, .nr-result-awaited-box { padding: 24px; background: var(--nr-bg); border-radius: var(--nr-radius-lg); margin-bottom: 24px; }

/* ── 43. SITEMAP ────────────────────────────────────────────────── */
.nr-sitemap-list { padding-left: 0; list-style: none; margin: 0 0 20px; display: grid; grid-template-columns: 1fr; gap: 4px; }
@media (min-width: 600px) { .nr-sitemap-list { grid-template-columns: repeat(2, 1fr); } }
.nr-sitemap-states { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) { .nr-sitemap-states { grid-template-columns: repeat(3, 1fr); } }
.nr-sitemap-list a { display: flex; align-items: center; gap: 6px; padding: 9px 12px; background: var(--nr-bg); border-radius: var(--nr-radius); font-size: 13.5px; color: var(--nr-navy); text-decoration: none; border-left: 3px solid var(--nr-border); transition: all var(--nr-trans); }
.nr-sitemap-list a:hover { background: var(--nr-navy-light); border-left-color: var(--nr-orange); text-decoration: none; }
.nr-sitemap-list small { color: var(--nr-muted); }

/* ── 44. PAGINATION ─────────────────────────────────────────────── */
.nr-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin: 32px 0; }
.nr-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1.5px solid var(--nr-border); border-radius: var(--nr-radius); font-size: 14px; font-weight: 600; color: var(--nr-text); text-decoration: none; transition: all var(--nr-trans); }
.nr-pagination .page-numbers.current, .nr-pagination .page-numbers:hover { background: var(--nr-navy); color: #fff; border-color: var(--nr-navy); }
.nr-pagination .page-numbers.dots { width: auto; padding: 0 8px; border: none; }

/* ── 45. 404 ────────────────────────────────────────────────────── */
.nr-404 { min-height: 60vh; padding: 60px 0; }
.nr-404-inner { max-width: 680px; margin: 0 auto; text-align: center; }
.nr-404-icon { font-size: 64px; margin-bottom: 16px; }
.nr-404-title { font-family: var(--nr-display); font-size: 32px; font-weight: 800; color: var(--nr-navy); margin: 0 0 12px; }
.nr-404-sub { font-size: 16px; color: var(--nr-muted); margin: 0 0 28px; }
.nr-404-search { display: flex; align-items: stretch; gap: 10px; max-width: 500px; margin: 0 auto 32px; }
.nr-404-search-input { flex: 1; padding: 12px 16px; border: 1.5px solid var(--nr-border); border-radius: var(--nr-radius); font-size: 15px; font-family: var(--nr-font); outline: none; }
.nr-404-search-input:focus { border-color: var(--nr-navy); }

/* ── 46. PRINT ──────────────────────────────────────────────────── */
@media print {
  .nr-topbar, .nr-ticker, .nr-bottom-nav, .nr-ad-zone, .nr-ad-mob,
  .nr-status-bar, .nr-search-overlay, .nr-mob-overlay,
  .nr-footer-disclaimer, .nr-share, .nr-related { display: none !important; }
  .nr-hero { background: #fff; color: #000; padding: 20px 0; }
  .nr-hero-h1, .nr-hero-accent { color: #000; }
  body { font-size: 12pt; }
}

/* ── 47. ACCESSIBILITY ──────────────────────────────────────────── */
:focus-visible { outline: 3px solid var(--nr-orange); outline-offset: 2px; border-radius: 2px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .nr-ticker-items { animation: none; }
}
