/* NursingRidge front page + student hub.
   Uses nr_theme tokens and components. No literal colours. */

/* ---------- hero ---------- */
.nrf-hero { background: var(--nr-paper); padding: clamp(48px,6vw,84px) 0 0; }
.nrf-hero--students { padding-bottom: clamp(28px,3.5vw,44px); }
.nrf-h1 { font-size: clamp(42px,6.4vw,80px); max-width: 16ch; margin: 0; color: var(--nr-head); }
.nrf-h1 em { font-style: normal; color: var(--nr-teal-700); }
.nrf-hero .nr-lede { margin-top: 22px; }
.nrf-sub { margin-top: 18px; }
.nrf-cta { margin-top: 30px; }

/* ---------- signature: the ridge ---------- */
.nrf-ridge { width: 100%; height: clamp(74px,10vw,132px); display: block; margin-top: clamp(32px,4.5vw,54px); }
.nrf-ridge .slope { fill: none; stroke: var(--nr-line); stroke-width: 2; }
.nrf-ridge .a, .nrf-ridge .b { fill: none; stroke-width: 3; stroke-linecap: round;
  stroke-dasharray: 900; stroke-dashoffset: 900; animation: nrfclimb 2.2s ease-out forwards; }
.nrf-ridge .a { stroke: var(--nr-gold-600); }
.nrf-ridge .b { stroke: var(--nr-teal-700); animation-delay: .3s; }
@keyframes nrfclimb { to { stroke-dashoffset: 0; } }

/* ---------- two doors ---------- */
.nrf-doors { display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
  padding-top: clamp(28px,3.5vw,44px); padding-bottom: clamp(56px,7vw,104px); }
@media (max-width: 820px) { .nrf-doors { grid-template-columns: 1fr; } }
.nrf-door { background: var(--nr-navy-900); color: var(--nr-on-navy); border-radius: 4px;
  padding: clamp(30px,4vw,46px) clamp(24px,3.2vw,40px) clamp(32px,4vw,44px);
  display: flex; flex-direction: column; border-top: 5px solid var(--nr-gold-500); }
.nrf-door--icu { border-top-color: var(--nr-teal-500); }
.nrf-door h2 { color: var(--nr-on-navy); font-size: clamp(24px,3vw,32px); margin: 0 0 12px; }
.nrf-door p { color: var(--nr-on-navy-soft); font-size: 16px; margin-bottom: 22px; }
.nrf-door .nr-stats { border-color: var(--nr-line-dark); margin-bottom: 24px; }
.nrf-door .nr-stats b { color: var(--nr-white); }
.nrf-door .nr-stats span { color: var(--nr-on-navy-soft); }
.nrf-door .nr-btn { align-self: flex-start; margin-top: auto; }
.nrf-tag { font-family: var(--nr-mono); font-size: 11.5px; font-weight: 500; letter-spacing: .15em;
  text-transform: uppercase; margin-bottom: 16px; color: var(--nr-gold-500); }
.nrf-door--icu .nrf-tag { color: var(--nr-teal-500); }
.nrf-status { font-family: var(--nr-mono); font-size: 11.5px; letter-spacing: .1em;
  text-transform: uppercase; margin-top: 18px; color: var(--nr-on-navy-soft); }
.nrf-status--live { color: var(--nr-teal-500); }

/* ---------- sections ---------- */
.nrf-steps, .nrf-tools, .nrf-method { margin-top: 40px; }
.nrf-method-cell { background: var(--nr-paper); border: 1px solid var(--nr-line);
  border-left: 4px solid var(--nr-teal-700); border-radius: 3px; padding: 24px 22px; }
.nrf-method-cell b { display: block; font-family: var(--nr-display); font-size: 23px;
  letter-spacing: .02em; font-weight: 400; color: var(--nr-head); margin-bottom: 7px; }
.nrf-method-cell p { margin: 0; font-size: 15.5px; color: var(--nr-muted); }

/* ---------- student hub: the shelf ---------- */
.nrf-chips { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
.nrf-shelf-sec { padding-top: clamp(20px,2.5vw,32px); }
.nrf-shelf { border-top: 3px solid var(--nr-head); }
.nrf-row { display: grid; grid-template-columns: 76px 1fr 300px; gap: clamp(20px,3.4vw,44px);
  padding: clamp(30px,4vw,46px) 0; border-bottom: 1px solid var(--nr-line); align-items: start; }
@media (max-width: 900px) { .nrf-row { grid-template-columns: 56px 1fr; } }
@media (max-width: 560px) { .nrf-row { grid-template-columns: 1fr; gap: 16px; } }
.nrf-row-n { font-family: var(--nr-display); font-size: clamp(40px,5vw,60px); line-height: .8; color: var(--nr-line); }
.nrf-row:hover .nrf-row-n { color: var(--nr-teal-500); }
.nrf-row h3 { margin-bottom: 10px; }
.nrf-row-body p { font-size: 16.5px; color: var(--nr-muted); margin-bottom: 18px; max-width: 52ch; }
.nrf-does { list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 3px solid var(--nr-teal-500); }
@media (max-width: 900px) { .nrf-does { grid-column: 2; } }
@media (max-width: 560px) { .nrf-does { grid-column: 1; } }
.nrf-does li { font-size: 15px; color: var(--nr-ink); padding: 7px 0; line-height: 1.45; }

/* ---------- close ---------- */
.nrf-close { text-align: center; }
.nrf-close h2 { max-width: 20ch; margin: 0 auto 16px; }
.nrf-close .nr-lede { margin: 0 auto 26px; }
.nrf-close .nr-cta-row { justify-content: center; }

@media (prefers-reduced-motion: reduce) {
  .nrf-ridge .a, .nrf-ridge .b { animation: none; stroke-dashoffset: 0; }
}

/* ---------- split hero with image slot ---------- */
.nrf-hero--split{padding-bottom:clamp(24px,3vw,40px)}
.nrf-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:center}
@media(max-width:900px){.nrf-hero-grid{grid-template-columns:1fr}.nrf-hero-media{display:none}}
.nrf-hero-media{position:relative;min-height:280px;display:flex;align-items:center;justify-content:center}
.nrf-hero-media img{width:100%;height:100%;max-height:460px;object-fit:cover;border-radius:4px;display:block}
.nrf-hero-mark{display:none;width:100%;max-width:420px;height:auto}
.nrf-hero--split .nrf-h1{max-width:15ch}
