/* ========================================================================
   JioAirMob · swiss-brutal + corporate-trust blend · prefix nrm-
   palette: blue #1d3ac1 (primary) / red #c2281b (accent) / ink #3e4045 / paper #f6f6f9
   blend rationale:
     · swiss-brutal dominant — huge Space Grotesk display, hairline 1px borders,
       monospace meta labels, strict 12-col grid, monochrome ink backbone
     · corporate-trust accent — navy primary instead of pure black, soft shadows
       on form cards, rounded buttons, slightly warmer body text
   ======================================================================== */

:root {
  --nrm-primary: #1d3ac1;
  --nrm-primary-deep: #15279a;
  --nrm-accent: #c2281b;
  --nrm-accent-deep: #9a1f15;
  --nrm-ink: #3e4045;
  --nrm-ink-deep: #1c1d20;
  --nrm-paper: #f6f6f9;
  --nrm-surface: #ffffff;
  --nrm-line: #d8d9e0;
  --nrm-line-strong: #2a2b30;
  --nrm-muted: #6c6e75;

  --nrm-font-display: "Space Grotesk", "Inter", -apple-system, system-ui, sans-serif;
  --nrm-font-body: "Inter", -apple-system, system-ui, sans-serif;
  --nrm-font-mono: "JetBrains Mono", "Space Mono", ui-monospace, monospace;

  --nrm-radius: 6px;
  --nrm-radius-sm: 4px;
  --nrm-radius-md: 8px;
  --nrm-radius-lg: 10px;
  --nrm-radius-btn: 6px;
  --nrm-bg: #fafafd;

  --nrm-wrap: 1200px;
  --nrm-gutter: clamp(16px, 4vw, 40px);

  --nrm-shadow-card: 0 1px 3px rgba(28,29,32,.06), 0 8px 24px rgba(28,29,32,.04);
  --nrm-shadow-lift: 0 8px 32px rgba(29,58,193,.12);
  --nrm-border: 1px solid var(--nrm-line);
  --nrm-border-strong: 1px solid var(--nrm-line-strong);
  --nrm-transition: .18s ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--nrm-font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--nrm-ink-deep);
  background: var(--nrm-paper);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--nrm-primary); text-decoration: none; transition: color var(--nrm-transition); }
a:hover { color: var(--nrm-primary-deep); }

/* ======== UTILITIES ======== */
.nrm-wrap {
  max-width: var(--nrm-wrap);
  margin: 0 auto;
  padding-inline: var(--nrm-gutter);
}
.nrm-section {
  padding-block: clamp(48px, 8vw, 96px);
}
.nrm-section--alt { background: var(--nrm-surface); }
.nrm-section--ink {
  background: var(--nrm-ink-deep);
  color: var(--nrm-paper);
}
.nrm-mono {
  font-family: var(--nrm-font-mono);
  font-size: .85em;
  letter-spacing: -.01em;
}
.nrm-eyebrow {
  display: inline-block;
  font-family: var(--nrm-font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--nrm-muted);
  padding: 4px 10px;
  border: 1px solid var(--nrm-line);
  border-radius: 100px;
  margin-bottom: 16px;
}
.nrm-section--ink .nrm-eyebrow {
  color: var(--nrm-paper);
  border-color: rgba(246,246,249,.25);
}
.nrm-h-display {
  font-family: var(--nrm-font-display);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.05;
  margin: 0;
}
.nrm-h2 {
  font-family: var(--nrm-font-display);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.015em;
  margin: 0 0 24px;
}
.nrm-h3 {
  font-family: var(--nrm-font-display);
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 8px;
}

/* ======== HEADER ======== */
.nrm-top {
  position: sticky; top: 0; z-index: 100;
  background: var(--nrm-paper);
  border-bottom: var(--nrm-border);
  backdrop-filter: saturate(140%) blur(8px);
}
.nrm-top__row {
  display: flex; align-items: center; gap: 24px;
  height: 68px;
}
.nrm-brand {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--nrm-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--nrm-ink-deep);
  letter-spacing: -.01em;
}
.nrm-brand__mark {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--nrm-primary);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--nrm-font-display);
  font-size: 1rem;
  font-weight: 700;
}
.nrm-nav {
  display: flex; align-items: center; gap: 28px;
  margin-inline-start: auto;
}
.nrm-nav a {
  font-size: .875rem;
  font-weight: 500;
  color: var(--nrm-ink);
  position: relative;
}
.nrm-nav a:hover, .nrm-nav a[aria-current="page"] {
  color: var(--nrm-primary);
}
.nrm-nav a[aria-current="page"]::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -22px;
  height: 2px; background: var(--nrm-primary);
}
.nrm-top__cta {
  display: flex; align-items: center; gap: 12px;
  margin-inline-start: auto;
}
.nrm-top__cta .nrm-nav { margin: 0; }
.nrm-burger {
  display: none;
  width: 36px; height: 36px;
  background: transparent;
  border: var(--nrm-border);
  border-radius: var(--nrm-radius);
  cursor: pointer;
  align-items: center; justify-content: center;
  flex-direction: column; gap: 4px;
}
.nrm-burger span {
  display: block;
  width: 16px; height: 2px;
  background: var(--nrm-ink-deep);
  border-radius: 2px;
}

/* ======== BUTTONS ======== */
.nrm-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--nrm-font-body);
  font-weight: 600;
  font-size: .9375rem;
  padding: 11px 22px;
  border-radius: var(--nrm-radius-btn);
  border: 2px solid transparent;
  cursor: pointer;
  transition: all var(--nrm-transition);
  text-decoration: none;
  white-space: nowrap;
}
.nrm-btn--primary {
  background: var(--nrm-primary);
  color: #fff;
  border-color: var(--nrm-primary);
}
.nrm-btn--primary:hover {
  background: var(--nrm-primary-deep);
  border-color: var(--nrm-primary-deep);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: var(--nrm-shadow-lift);
}
.nrm-btn--accent {
  background: var(--nrm-accent);
  color: #fff;
  border-color: var(--nrm-accent);
}
.nrm-btn--accent:hover {
  background: var(--nrm-accent-deep);
  border-color: var(--nrm-accent-deep);
  color: #fff;
}
.nrm-btn--ghost {
  background: transparent;
  color: var(--nrm-ink-deep);
  border-color: var(--nrm-ink-deep);
}
.nrm-btn--ghost:hover {
  background: var(--nrm-ink-deep);
  color: #fff;
}
.nrm-btn--lg {
  font-size: 1rem;
  padding: 14px 28px;
}
.nrm-btn:disabled, .nrm-btn[disabled] {
  opacity: .45;
  cursor: not-allowed;
  transform: none;
}

/* ======== HERO ======== */
.nrm-hero {
  padding-block: clamp(48px, 9vw, 110px) clamp(40px, 7vw, 80px);
  position: relative;
  overflow: hidden;
}
.nrm-hero::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--nrm-line), transparent);
}
.nrm-hero__grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 56px;
  align-items: center;
}
.nrm-hero__title {
  font-family: var(--nrm-font-display);
  font-size: clamp(2.25rem, 5vw, 4rem);
  line-height: 1;
  letter-spacing: -.025em;
  font-weight: 700;
  margin: 0 0 24px;
  color: var(--nrm-ink-deep);
}
.nrm-hero__title em {
  font-style: normal;
  color: var(--nrm-primary);
}
.nrm-hero__lead {
  font-size: 1.0625rem;
  color: var(--nrm-ink);
  margin: 0 0 32px;
  max-width: 540px;
}
.nrm-hero__ctas {
  display: flex; flex-wrap: wrap; gap: 12px;
  margin-bottom: 28px;
}
.nrm-hero__bullets {
  display: flex; flex-wrap: wrap; gap: 16px 28px;
  font-size: .8125rem;
  color: var(--nrm-muted);
}
.nrm-hero__bullets span {
  display: flex; align-items: center; gap: 6px;
}
.nrm-hero__bullets span::before {
  content: ""; width: 6px; height: 6px;
  background: var(--nrm-primary); border-radius: 50%;
}

.nrm-hero__panel {
  background: var(--nrm-surface);
  border: var(--nrm-border-strong);
  border-radius: var(--nrm-radius-lg);
  padding: 28px;
  box-shadow: var(--nrm-shadow-card);
}
.nrm-hero__panel-eyebrow {
  font-family: var(--nrm-font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--nrm-muted);
  margin-bottom: 12px;
}
.nrm-hero__panel h2 {
  font-family: var(--nrm-font-display);
  font-size: 1.25rem;
  margin: 0 0 16px;
}
.nrm-quick-form {
  display: flex; flex-direction: column; gap: 12px;
}
.nrm-quick-ops {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.nrm-quick-op {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
  padding: 18px 12px;
  background: var(--nrm-surface);
  border: 1.5px solid var(--nrm-line);
  border-radius: var(--nrm-radius-md);
  cursor: pointer;
  transition: all var(--nrm-transition);
  font-family: var(--nrm-font-body);
}
.nrm-quick-op:hover {
  border-color: var(--nrm-primary);
  transform: translateY(-2px);
  box-shadow: var(--nrm-shadow-lift);
}
.nrm-quick-op img {
  height: 24px; width: auto; display: block;
  -webkit-user-drag: none;
}
.nrm-quick-op span {
  font-family: var(--nrm-font-display);
  font-weight: 700;
  font-size: .9375rem;
  color: var(--nrm-ink-deep);
}

/* ======== FORMS ======== */
.nrm-field {
  display: flex; flex-direction: column;
}
.nrm-field label {
  font-family: var(--nrm-font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--nrm-muted);
  margin-bottom: 6px;
}
.nrm-input, .nrm-select {
  width: 100%;
  font-family: var(--nrm-font-body);
  font-size: 1rem;
  padding: 12px 14px;
  border: var(--nrm-border-strong);
  border-radius: var(--nrm-radius);
  background: var(--nrm-surface);
  color: var(--nrm-ink-deep);
  transition: border-color var(--nrm-transition), box-shadow var(--nrm-transition);
}
.nrm-input:focus, .nrm-select:focus {
  outline: none;
  border-color: var(--nrm-primary);
  box-shadow: 0 0 0 3px rgba(29,58,193,.15);
}
.nrm-input--err {
  border-color: var(--nrm-accent);
}
.nrm-err {
  color: var(--nrm-accent);
  font-size: .8125rem;
  margin-top: 4px;
  display: none;
}
.nrm-err[data-visible="true"] { display: block; }

/* ======== OPERATOR PICKER ======== */
.nrm-operators {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
}
.nrm-op-card {
  position: relative;
  display: flex; flex-direction: column; gap: 14px;
  padding: 28px 24px 24px;
  border: 2px solid var(--nrm-line-strong);
  border-radius: var(--nrm-radius-lg);
  background: var(--nrm-surface);
  cursor: pointer;
  transition: border-color var(--nrm-transition), transform var(--nrm-transition), box-shadow var(--nrm-transition);
  text-align: left;
  font-family: var(--nrm-font-body);
  overflow: hidden;
}
.nrm-op-card::before {
  content: "";
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 4px;
  background: var(--nrm-primary);
  transform: scaleY(0); transform-origin: top;
  transition: transform var(--nrm-transition);
}
.nrm-op-card:hover {
  border-color: var(--nrm-primary);
  transform: translateY(-2px);
  box-shadow: var(--nrm-shadow-lift);
}
.nrm-op-card:hover::before { transform: scaleY(1); }
.nrm-op-card[aria-pressed="true"] {
  border-color: var(--nrm-primary);
  box-shadow: 0 0 0 3px rgba(29,58,193,.15);
}
.nrm-op-card[aria-pressed="true"]::before { transform: scaleY(1); }
.nrm-op-card__brand {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  height: 56px;
  padding: 10px 16px;
  border-radius: var(--nrm-radius-sm);
  background: #fff;
  border: 1px solid var(--nrm-line);
  align-self: flex-start;
}
.nrm-op-card__logo {
  height: 36px;
  width: auto;
  display: block;
  -webkit-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
}
.nrm-op-card__title {
  font-family: var(--nrm-font-display);
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
  letter-spacing: -.01em;
}
.nrm-op-card__sub {
  font-size: .9375rem;
  line-height: 1.45;
  color: var(--nrm-ink);
  margin: 0;
  flex: 1;
}
.nrm-op-card__hint {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--nrm-font-mono);
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--nrm-primary);
  margin-top: 4px;
}

/* ======== OPERATOR PILL (Step 2 header) ======== */
.nrm-op-pill {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px;
  background: var(--nrm-bg);
  border: 1px solid var(--nrm-line);
  border-radius: var(--nrm-radius-md);
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.nrm-op-pill__brand {
  display: inline-flex; align-items: center; justify-content: center;
  height: 28px; min-width: 56px;
  padding: 4px 8px;
  background: #fff;
  border: 1px solid var(--nrm-line);
  border-radius: var(--nrm-radius-sm);
}
.nrm-op-pill__brand img { height: 20px; width: auto; display: block; }
.nrm-op-pill__label {
  font-family: var(--nrm-font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--nrm-muted);
}
.nrm-op-pill__value {
  font-family: var(--nrm-font-display);
  font-size: .9375rem;
  font-weight: 600;
  color: var(--nrm-ink-deep);
}
.nrm-op-pill__change {
  margin-left: auto;
  background: transparent;
  border: 1px solid var(--nrm-line-strong);
  border-radius: var(--nrm-radius-btn);
  padding: 6px 14px;
  font-family: var(--nrm-font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--nrm-ink-deep);
  cursor: pointer;
  transition: all var(--nrm-transition);
}
.nrm-op-pill__change:hover {
  background: var(--nrm-ink-deep);
  color: #fff;
  border-color: var(--nrm-ink-deep);
}

/* ======== HELP / FINEPRINT TEXT ======== */
.nrm-help {
  display: block;
  font-size: .8125rem;
  color: var(--nrm-muted);
  margin-top: 6px;
  line-height: 1.45;
}
.nrm-fineprint {
  font-family: var(--nrm-font-mono);
  font-size: .72rem;
  color: var(--nrm-muted);
  letter-spacing: .04em;
  margin: 8px 0 0;
}
.nrm-input--lg {
  font-size: 1.125rem;
  padding: 14px 16px;
  font-family: var(--nrm-font-mono);
  letter-spacing: .04em;
}

/* ======== STEPS GRID ======== */
.nrm-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0;
  border-top: var(--nrm-border-strong);
  border-left: var(--nrm-border-strong);
}
.nrm-step {
  padding: 28px 24px;
  border-right: var(--nrm-border-strong);
  border-bottom: var(--nrm-border-strong);
  background: var(--nrm-surface);
  position: relative;
}
.nrm-step__num {
  font-family: var(--nrm-font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--nrm-primary);
  margin-bottom: 12px;
  display: block;
}

/* ======== PLAN CARDS (Airtel real plans) ======== */
.nrm-plans-head { margin-bottom: 16px; }
.nrm-plan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.nrm-plan {
  background: var(--nrm-surface);
  border: 1.5px solid var(--nrm-line);
  border-radius: var(--nrm-radius-lg);
  padding: 18px 18px 16px;
  display: flex; flex-direction: column; gap: 10px;
  cursor: pointer;
  transition: border-color var(--nrm-transition), transform var(--nrm-transition), box-shadow var(--nrm-transition);
  text-align: left;
  font-family: var(--nrm-font-body);
  position: relative;
}
.nrm-plan:hover {
  border-color: var(--nrm-primary);
  transform: translateY(-2px);
  box-shadow: var(--nrm-shadow-card);
}
.nrm-plan[aria-pressed="true"] {
  border-color: var(--nrm-primary);
  box-shadow: 0 0 0 3px rgba(29,58,193,.15);
}
.nrm-plan[aria-pressed="true"]::after {
  content: "✓";
  position: absolute; top: 12px; right: 12px;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--nrm-primary);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 700;
}
.nrm-plan__top {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 12px;
}
.nrm-plan__price {
  font-family: var(--nrm-font-display);
  font-size: 1.625rem;
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--nrm-ink-deep);
  line-height: 1;
}
.nrm-plan__validity {
  font-family: var(--nrm-font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--nrm-muted);
  white-space: nowrap;
}
.nrm-plan__data {
  font-family: var(--nrm-font-display);
  font-size: .9375rem;
  font-weight: 600;
  color: var(--nrm-primary);
  margin: 0;
  padding: 6px 10px;
  background: rgba(29,58,193,.06);
  border-radius: var(--nrm-radius-sm);
  align-self: flex-start;
}
.nrm-plan__desc {
  font-size: .8125rem;
  color: var(--nrm-ink);
  margin: 0;
  line-height: 1.4;
}
.nrm-plan-tabs {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-bottom: 18px;
}
.nrm-plan-tabs button {
  font-family: var(--nrm-font-mono);
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  padding: 8px 14px;
  background: var(--nrm-surface);
  border: 1px solid var(--nrm-line-strong);
  border-radius: var(--nrm-radius-btn);
  color: var(--nrm-ink);
  cursor: pointer;
  transition: all var(--nrm-transition);
  font-weight: 600;
}
.nrm-plan-tabs button:hover {
  border-color: var(--nrm-ink-deep);
  color: var(--nrm-ink-deep);
}
.nrm-plan-tabs button[aria-pressed="true"] {
  background: var(--nrm-ink-deep);
  color: #fff;
  border-color: var(--nrm-ink-deep);
}

/* ======== AMOUNT PRESETS (Jio flow) ======== */
.nrm-amounts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 10px;
  margin: 0 0 18px;
}
.nrm-amount-btn {
  padding: 14px 16px;
  font-family: var(--nrm-font-display);
  font-size: 1rem;
  font-weight: 700;
  background: var(--nrm-surface);
  border: 1.5px solid var(--nrm-line);
  border-radius: var(--nrm-radius-md);
  color: var(--nrm-ink-deep);
  cursor: pointer;
  transition: all var(--nrm-transition);
  letter-spacing: -.01em;
}
.nrm-amount-btn:hover {
  border-color: var(--nrm-primary);
  color: var(--nrm-primary);
  transform: translateY(-1px);
}
.nrm-amount-btn[aria-pressed="true"] {
  background: var(--nrm-primary);
  color: #fff;
  border-color: var(--nrm-primary);
}

/* ======== STEP INDICATOR ======== */
.nrm-stepper {
  display: flex; align-items: center; gap: 16px;
  margin-bottom: 32px;
  font-family: var(--nrm-font-mono);
  font-size: .8125rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  flex-wrap: wrap;
}
.nrm-stepper__item {
  display: flex; align-items: center; gap: 10px;
  color: var(--nrm-muted);
  position: relative;
  font-weight: 600;
}
.nrm-stepper__item + .nrm-stepper__item::before {
  content: "";
  width: 28px; height: 1px;
  background: var(--nrm-line-strong);
  margin-right: 6px;
}
.nrm-stepper__num {
  width: 28px; height: 28px;
  border-radius: 50%;
  border: 1.5px solid var(--nrm-line-strong);
  display: flex; align-items: center; justify-content: center;
  font-size: .8125rem;
  font-weight: 700;
  background: var(--nrm-surface);
}
.nrm-stepper__item[data-active="true"] {
  color: var(--nrm-primary);
}
.nrm-stepper__item[data-active="true"] .nrm-stepper__num {
  background: var(--nrm-primary);
  border-color: var(--nrm-primary);
  color: #fff;
}
.nrm-stepper__item[data-done="true"] .nrm-stepper__num {
  background: var(--nrm-ink-deep);
  border-color: var(--nrm-ink-deep);
  color: #fff;
}

/* ======== ORDER SUMMARY (recharge) ======== */
.nrm-summary-bar {
  position: sticky; bottom: 0;
  background: var(--nrm-surface);
  border-top: var(--nrm-border-strong);
  padding: 16px 0;
  z-index: 50;
  margin-top: 32px;
}
.nrm-summary-bar__row {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  flex-wrap: wrap;
}
.nrm-summary-bar__details {
  display: flex; flex-direction: column;
}
.nrm-summary-bar__amount {
  font-family: var(--nrm-font-display);
  font-size: 1.25rem;
  font-weight: 700;
}
.nrm-summary-bar__meta {
  font-family: var(--nrm-font-mono);
  font-size: .75rem;
  color: var(--nrm-muted);
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* ======== FAQ ======== */
.nrm-faq {
  max-width: 760px;
  margin: 0 auto;
}
.nrm-faq__item {
  border-bottom: var(--nrm-border-strong);
}
.nrm-faq__item summary {
  padding: 22px 0;
  font-family: var(--nrm-font-display);
  font-weight: 600;
  font-size: 1.0625rem;
  cursor: pointer;
  list-style: none;
  display: flex; align-items: center; justify-content: space-between;
}
.nrm-faq__item summary::after {
  content: "+";
  font-family: var(--nrm-font-mono);
  font-size: 1.5rem;
  color: var(--nrm-primary);
  transition: transform var(--nrm-transition);
  font-weight: 400;
}
.nrm-faq__item[open] summary::after {
  transform: rotate(45deg);
}
.nrm-faq__item p {
  margin: 0 0 24px;
  color: var(--nrm-ink);
  font-size: .9375rem;
}

/* ======== TWO-COL CONTENT ======== */
.nrm-2col {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 48px;
}
.nrm-2col__sticky {
  position: sticky; top: 100px;
  align-self: start;
}

/* ======== HISTORY (table) ======== */
.nrm-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9375rem;
  background: var(--nrm-surface);
  border: var(--nrm-border-strong);
}
.nrm-table th, .nrm-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: var(--nrm-border);
}
.nrm-table th {
  font-family: var(--nrm-font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--nrm-muted);
  background: var(--nrm-paper);
}
.nrm-table tr:last-child td { border-bottom: none; }
.nrm-status {
  display: inline-block;
  font-family: var(--nrm-font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 3px 8px;
  border-radius: 100px;
}
.nrm-status--ok { background: rgba(29,58,193,.1); color: var(--nrm-primary); }
.nrm-status--pending { background: rgba(194,40,27,.1); color: var(--nrm-accent); }

/* ======== FOOTER ======== */
.nrm-foot {
  background: var(--nrm-ink-deep);
  color: rgba(246,246,249,.85);
  padding-block: 48px 32px;
}
.nrm-foot__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 32px;
}
.nrm-foot h4 {
  font-family: var(--nrm-font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: rgba(246,246,249,.5);
  margin: 0 0 16px;
  font-weight: 500;
}
.nrm-foot__brand {
  font-family: var(--nrm-font-display);
  font-size: 1.125rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
}
.nrm-foot__addr {
  font-size: .875rem;
  line-height: 1.6;
  margin: 0 0 16px;
}
.nrm-foot__links {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.nrm-foot__links a {
  color: rgba(246,246,249,.85);
  font-size: .875rem;
}
.nrm-foot__links a:hover { color: #fff; }
.nrm-foot__bottom {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(246,246,249,.12);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
  font-size: .75rem;
  color: rgba(246,246,249,.5);
}
.nrm-foot__badges {
  display: flex; gap: 16px;
  opacity: .55;
}
.nrm-foot__badges svg { height: 20px; }

/* ======== COOKIE BANNER ======== */
.nrm-cookies {
  position: fixed; left: 16px; right: 16px; bottom: 16px;
  z-index: 200;
  background: var(--nrm-ink-deep);
  color: #fff;
  border-radius: var(--nrm-radius-lg);
  padding: 16px 20px;
  display: flex; align-items: center; gap: 16px;
  flex-wrap: wrap;
  box-shadow: var(--nrm-shadow-card);
  transform: translateY(120%);
  transition: transform .3s ease;
  max-width: 720px;
  margin-inline: auto;
}
.nrm-cookies[data-visible="true"] {
  transform: translateY(0);
}
.nrm-cookies p {
  margin: 0;
  flex: 1;
  font-size: .8125rem;
}
.nrm-cookies a { color: #fff; text-decoration: underline; }

/* ======== OVERLAY ======== */
.nrm-overlay {
  position: fixed; inset: 0; z-index: 500;
  background: rgba(28,29,32,.6);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 16px;
  opacity: 0; pointer-events: none;
  transition: opacity .25s;
  color: #fff;
}
.nrm-overlay[data-active="true"] {
  opacity: 1; pointer-events: auto;
}
.nrm-spinner {
  width: 40px; height: 40px;
  border: 3px solid rgba(255,255,255,.18);
  border-top-color: #fff;
  border-radius: 50%;
  animation: nrm-spin .7s linear infinite;
}
@keyframes nrm-spin { to { transform: rotate(360deg); } }

/* ======== MAP ======== */
.nrm-map {
  width: 100%;
  height: 320px;
  border: 0;
  border-radius: var(--nrm-radius-lg);
  filter: grayscale(.2);
}

/* ======== MOBILE ======== */
@media (max-width: 880px) {
  .nrm-hero__grid { grid-template-columns: 1fr; }
  .nrm-2col { grid-template-columns: 1fr; }
  .nrm-2col__sticky { position: static; }
  .nrm-foot__grid { grid-template-columns: 1fr 1fr; }
  .nrm-nav { display: none; }
  .nrm-burger { display: flex; }
  .nrm-top__cta .nrm-btn { display: none; }
}
@media (max-width: 480px) {
  .nrm-foot__grid { grid-template-columns: 1fr; }
  .nrm-summary-bar__row { flex-direction: column; align-items: stretch; }
  .nrm-summary-bar__row .nrm-btn { width: 100%; }
}

/* ======== MOBILE DRAWER ======== */
.nrm-drawer {
  position: fixed; inset: 0; z-index: 200;
  pointer-events: none; opacity: 0;
  transition: opacity .25s;
}
.nrm-drawer[data-open="true"] { pointer-events: auto; opacity: 1; }
.nrm-drawer__back {
  position: absolute; inset: 0;
  background: rgba(28,29,32,.5);
}
.nrm-drawer__panel {
  position: absolute; top: 0; right: 0; bottom: 0;
  width: 280px;
  background: var(--nrm-surface);
  padding: 24px;
  transform: translateX(100%);
  transition: transform .3s ease;
  display: flex; flex-direction: column; gap: 24px;
}
.nrm-drawer[data-open="true"] .nrm-drawer__panel { transform: translateX(0); }
.nrm-drawer__close {
  align-self: flex-end;
  background: none; border: none; cursor: pointer;
  font-size: 1.5rem;
}
.nrm-drawer__nav {
  display: flex; flex-direction: column; gap: 14px;
}
.nrm-drawer__nav a {
  color: var(--nrm-ink-deep);
  font-weight: 500;
}
