/*
Theme Name: Next Level Nurse Pro Branded Portal
Theme URI: https://www.nxtlvlnursepro.com/
Author: Next Level Nurse Pro
Description: A lightweight, accessible marketing and training-portal theme for Next Level Nurse Pro.
Version: 1.0.4
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: nlnp-portal
License: GPL-2.0-or-later
*/

:root {
    --nlnp-ink: #173d44;
    --nlnp-ink-deep: #102e34;
    --nlnp-teal: #127c78;
    --nlnp-teal-light: #dff4f0;
    --nlnp-mint: #a9ded0;
    --nlnp-sun: #f2b45f;
    --nlnp-cream: #fbf8f2;
    --nlnp-white: #ffffff;
    --nlnp-muted: #5c7479;
    --nlnp-line: #dce7e3;
    --nlnp-shadow: 0 18px 55px rgba(16, 46, 52, .11);
    --nlnp-radius: 22px;
    --nlnp-shell: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--nlnp-ink); background: var(--nlnp-cream); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.62; }
a { color: var(--nlnp-teal); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
a:hover { color: var(--nlnp-ink-deep); }
h1, h2, h3, h4 { color: var(--nlnp-ink-deep); font-family: Georgia, "Times New Roman", serif; line-height: 1.12; letter-spacing: -.025em; }
h1 { font-size: clamp(2.55rem, 6vw, 5.15rem); margin: 0; }
h2 { font-size: clamp(1.9rem, 3.4vw, 3.2rem); margin: 0 0 1rem; }
h3 { font-size: 1.35rem; margin: .25rem 0 .7rem; }
p { margin: 0 0 1.1rem; }
ul { padding-left: 1.2rem; }
.nlnp-shell { width: min(calc(100% - 3rem), var(--nlnp-shell)); margin: 0 auto; }
.nlnp-skip-link { position: absolute; left: -999px; top: 0; z-index: 100; background: var(--nlnp-white); color: var(--nlnp-ink); padding: .75rem 1rem; }
.nlnp-skip-link:focus { left: 1rem; top: 1rem; }

.nlnp-site-header { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(220,231,227,.9); backdrop-filter: blur(10px); }
.nlnp-nav { width: min(calc(100% - 3rem), 1500px); min-height: 78px; display: flex; align-items: center; gap: 1.1rem; }
.nlnp-brand { display: inline-flex; flex-shrink: 0; align-items: center; color: var(--nlnp-ink-deep); text-decoration: none; }
.nlnp-brand:hover { color: var(--nlnp-ink-deep); }
.nlnp-brand__logo { display: block; width: 148px; height: auto; max-height: 58px; object-fit: contain; }
.nlnp-brand__mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px 14px 14px 4px; background: var(--nlnp-teal); color: var(--nlnp-white); font-weight: 800; letter-spacing: -.07em; }
.nlnp-brand__copy { display: grid; line-height: 1.02; font-size: 1.05rem; }
.nlnp-brand__copy span { color: var(--nlnp-teal); font-weight: 700; font-size: .85rem; letter-spacing: .075em; text-transform: uppercase; }
.nlnp-primary-nav { margin-left: auto; }
.nlnp-nav__links, .nlnp-footer__links { list-style: none; padding: 0; margin: 0; }
.nlnp-nav__links { display: flex; align-items: center; gap: clamp(.55rem, 1vw, .9rem); }
.nlnp-nav__links a { display: block; color: var(--nlnp-ink); font-size: .79rem; font-weight: 800; line-height: 1.2; text-align: center; text-decoration: none; white-space: nowrap; }
.nlnp-nav__links a:hover { color: var(--nlnp-teal); }
.nlnp-nav-toggle { display: none; align-items: center; gap: .45rem; min-height: 42px; padding: .55rem .7rem; border: 1px solid var(--nlnp-line); border-radius: 10px; background: var(--nlnp-white); color: var(--nlnp-ink-deep); font: inherit; font-size: .82rem; font-weight: 800; cursor: pointer; }
.nlnp-nav-toggle__icon, .nlnp-nav-toggle__icon::before, .nlnp-nav-toggle__icon::after { display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--nlnp-ink-deep); transition: transform .18s ease, opacity .18s ease; }
.nlnp-nav-toggle__icon { position: relative; }
.nlnp-nav-toggle__icon::before, .nlnp-nav-toggle__icon::after { position: absolute; left: 0; content: ""; }
.nlnp-nav-toggle__icon::before { top: -6px; }
.nlnp-nav-toggle__icon::after { top: 6px; }
.nlnp-site-header.is-menu-open .nlnp-nav-toggle__icon { background: transparent; }
.nlnp-site-header.is-menu-open .nlnp-nav-toggle__icon::before { transform: translateY(6px) rotate(45deg); }
.nlnp-site-header.is-menu-open .nlnp-nav-toggle__icon::after { transform: translateY(-6px) rotate(-45deg); }
.nlnp-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .75rem 1.1rem; border: 1px solid var(--nlnp-teal); border-radius: 999px; background: var(--nlnp-teal); color: var(--nlnp-white); font-weight: 800; line-height: 1; text-align: center; text-decoration: none; transition: transform .15s ease, background .15s ease; }
.nlnp-button:hover { color: var(--nlnp-white); background: var(--nlnp-ink-deep); border-color: var(--nlnp-ink-deep); transform: translateY(-1px); }
.nlnp-button--outline { background: transparent; color: var(--nlnp-teal); }
.nlnp-button--outline:hover { color: var(--nlnp-white); }
.nlnp-button--small { min-height: 40px; padding: .6rem .85rem; font-size: .83rem; white-space: nowrap; }

.nlnp-hero { position: relative; overflow: hidden; padding: clamp(4rem, 9vw, 8rem) 0 5rem; background: linear-gradient(118deg, #f6fbf9 0%, #edf8f4 55%, #d6eee6 100%); }
.nlnp-hero::after { content: ""; position: absolute; width: 48vw; height: 48vw; min-width: 440px; min-height: 440px; right: -12vw; top: -14vw; border: 40px solid rgba(18,124,120,.08); border-radius: 50%; box-shadow: inset 0 0 0 50px rgba(242,180,95,.10); }
.nlnp-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(290px, .88fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.nlnp-eyebrow { margin: 0 0 1rem; color: var(--nlnp-teal); font-size: .76rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.nlnp-hero__copy > p:not(.nlnp-eyebrow) { max-width: 640px; margin-top: 1.6rem; color: var(--nlnp-muted); font-size: clamp(1.05rem, 1.5vw, 1.25rem); }
.nlnp-button-row { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.nlnp-hero__assurance { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; color: var(--nlnp-ink); font-size: .88rem; font-weight: 700; }
.nlnp-hero__assurance span::before { content: "✓"; display: inline-grid; place-items: center; width: 19px; height: 19px; margin-right: .45rem; border-radius: 50%; background: var(--nlnp-mint); color: var(--nlnp-ink-deep); font-size: .75rem; }
.nlnp-hero__panel { position: relative; padding: 1.25rem; border-radius: 30px; background: rgba(255,255,255,.83); box-shadow: var(--nlnp-shadow); }
.nlnp-hero__panel::before { content: ""; position: absolute; inset: 12px; border: 1px solid var(--nlnp-line); border-radius: 22px; pointer-events: none; }
.nlnp-panel-inner { position: relative; padding: 1.4rem; border-radius: 21px; background: var(--nlnp-ink); color: var(--nlnp-white); }
.nlnp-panel-inner h2 { color: var(--nlnp-white); font-size: 2.15rem; }
.nlnp-panel-inner p { color: #d6eeeb; }
.nlnp-panel-stat { display: flex; align-items: center; gap: .9rem; margin-top: 1.45rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.2); }
.nlnp-panel-stat strong { color: var(--nlnp-mint); font-size: 2rem; line-height: 1; }
.nlnp-panel-stat span { color: #d6eeeb; font-size: .85rem; line-height: 1.25; }

.nlnp-section { padding: clamp(3.8rem, 8vw, 7rem) 0; }
.nlnp-section--white { background: var(--nlnp-white); }
.nlnp-section--soft { background: #eff7f4; }
.nlnp-section--ink { background: var(--nlnp-ink); color: var(--nlnp-white); }
.nlnp-section--ink h2, .nlnp-section--ink h3 { color: var(--nlnp-white); }
.nlnp-section__head { max-width: 760px; margin-bottom: 2.25rem; }
.nlnp-section__head p:last-child { color: var(--nlnp-muted); font-size: 1.08rem; }
.nlnp-section--ink .nlnp-section__head p { color: #c8e2dc; }
.nlnp-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.nlnp-card { padding: 1.75rem; border: 1px solid var(--nlnp-line); border-radius: var(--nlnp-radius); background: var(--nlnp-white); box-shadow: 0 12px 32px rgba(16,46,52,.04); }
.nlnp-card__icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 1.2rem; border-radius: 14px; background: var(--nlnp-teal-light); color: var(--nlnp-teal); font-family: Georgia, serif; font-size: 1.15rem; font-weight: 700; }
.nlnp-card p { color: var(--nlnp-muted); }
.nlnp-card a { font-weight: 800; }
.nlnp-feature-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(2rem, 7vw, 6.2rem); align-items: center; }
.nlnp-feature-list { display: grid; gap: 1rem; }
.nlnp-feature-item { display: grid; grid-template-columns: 36px 1fr; gap: .85rem; align-items: start; }
.nlnp-feature-item__number { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--nlnp-mint); color: var(--nlnp-ink-deep); font-weight: 900; }
.nlnp-feature-item h3 { margin: .1rem 0 .35rem; }
.nlnp-feature-item p { color: var(--nlnp-muted); font-size: .95rem; }
.nlnp-credential-card { position: relative; overflow: hidden; padding: clamp(2rem, 4vw, 3.5rem); border-radius: 28px; background: linear-gradient(160deg, var(--nlnp-teal) 0%, var(--nlnp-ink) 80%); color: var(--nlnp-white); }
.nlnp-credential-card::after { content: "50"; position: absolute; right: -1rem; bottom: -4.9rem; color: rgba(255,255,255,.08); font-family: Georgia, serif; font-size: 16rem; font-weight: 700; }
.nlnp-credential-card > * { position: relative; z-index: 1; }
.nlnp-credential-card h2 { color: var(--nlnp-white); }
.nlnp-credential-card p { color: #d9f1eb; }
.nlnp-tracking { display: inline-block; margin-top: .5rem; padding: .6rem .85rem; border-radius: 10px; background: rgba(255,255,255,.15); color: var(--nlnp-white); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1.15rem; font-weight: 800; }

.nlnp-course-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem; }
.nlnp-course-card { min-height: 188px; border: 1px solid var(--nlnp-line); border-radius: 20px; background: var(--nlnp-white); box-shadow: 0 12px 32px rgba(16,46,52,.04); overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.nlnp-course-card:hover { border-color: rgba(18,124,120,.46); box-shadow: var(--nlnp-shadow); transform: translateY(-3px); }
.nlnp-course-card__link { display: grid; grid-template-columns: 138px minmax(0, 1fr) 72px; align-items: stretch; gap: 1.1rem; min-height: 188px; color: inherit; text-decoration: none; }
.nlnp-course-card__image { display: block; width: 100%; height: 100%; min-height: 188px; object-fit: cover; background: var(--nlnp-teal-light); }
.nlnp-course-card__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: 1.25rem 0; }
.nlnp-course-card__credits { display: grid; place-items: center; align-self: center; width: 68px; min-height: 76px; margin-right: 1.15rem; padding: .45rem; border-radius: 15px; background: var(--nlnp-teal-light); color: var(--nlnp-teal); font-weight: 900; line-height: 1.1; text-align: center; }
.nlnp-course-card__credits strong { font-size: 1.15rem; }
.nlnp-course-card__credits span { display: block; font-size: .66rem; letter-spacing: .05em; text-transform: uppercase; }
.nlnp-course-card h3 { margin: 0 0 .45rem; font-family: inherit; font-size: 1.1rem; letter-spacing: 0; line-height: 1.25; }
.nlnp-course-card p { margin: 0; color: var(--nlnp-muted); font-size: .84rem; line-height: 1.45; }
.nlnp-course-card__detail-link { margin-top: .85rem; color: var(--nlnp-teal); font-size: .8rem; font-weight: 900; }
.nlnp-course-card__detail-link span { display: inline-block; margin-left: .2rem; transition: transform .18s ease; }
.nlnp-course-card:hover .nlnp-course-card__detail-link span { transform: translateX(3px); }
.nlnp-notice { padding: 1rem 1.15rem; border-left: 4px solid var(--nlnp-sun); border-radius: 0 12px 12px 0; background: #fff6e6; color: var(--nlnp-ink); }
.nlnp-notice p { margin: 0; }
.nlnp-cta { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding: clamp(2rem, 4vw, 3.5rem); border-radius: 28px; background: linear-gradient(130deg, #15434b, #0f766f); }
.nlnp-cta h2 { margin-bottom: .45rem; color: var(--nlnp-white); }
.nlnp-cta p { margin: 0; color: #d6eeeb; }
.nlnp-cta .nlnp-button { flex-shrink: 0; border-color: var(--nlnp-white); background: var(--nlnp-white); color: var(--nlnp-ink-deep); }
.nlnp-cta .nlnp-button:hover { background: var(--nlnp-sun); border-color: var(--nlnp-sun); }

.nlnp-page-hero { padding: clamp(3rem, 6vw, 5rem) 0; background: linear-gradient(125deg, #e8f7f2, #fbf8f2); border-bottom: 1px solid var(--nlnp-line); }
.nlnp-page-hero h1 { font-size: clamp(2.4rem, 5vw, 4.25rem); max-width: 850px; }
.nlnp-page-content { padding: clamp(3rem, 7vw, 6rem) 0; background: var(--nlnp-white); }
.nlnp-prose { width: min(calc(100% - 3rem), 820px); }
.nlnp-prose h2 { margin-top: 2.7rem; }
.nlnp-prose h3 { margin-top: 1.7rem; }
.nlnp-prose table, .nlnp-onsite-pricing { width: 100%; border-collapse: collapse; margin: 1.5rem 0 2rem; font-size: .92rem; }
.nlnp-prose th, .nlnp-prose td, .nlnp-onsite-pricing th, .nlnp-onsite-pricing td { padding: .8rem; border-bottom: 1px solid var(--nlnp-line); text-align: left; vertical-align: top; }
.nlnp-prose th, .nlnp-onsite-pricing th { background: #eff7f4; color: var(--nlnp-ink-deep); font-weight: 800; }
.nlnp-prose blockquote { margin: 1.5rem 0; padding: 1.2rem 1.4rem; border-left: 4px solid var(--nlnp-teal); background: #eff7f4; color: var(--nlnp-ink); }
.nlnp-prose .wp-block-button__link { border-radius: 999px; background: var(--nlnp-teal); font-weight: 800; }
.nlnp-course-detail { display: grid; gap: 2rem; }
.nlnp-course-detail__overview { display: grid; grid-template-columns: minmax(210px, .7fr) minmax(0, 1.3fr); gap: clamp(1.5rem, 4vw, 2.75rem); align-items: stretch; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--nlnp-line); border-radius: 25px; background: linear-gradient(135deg, #f4fbf8, #fff); }
.nlnp-course-detail__image { width: 100%; height: 100%; min-height: 300px; border-radius: 18px; object-fit: cover; box-shadow: 0 12px 28px rgba(16,46,52,.12); }
.nlnp-course-detail__meta { display: flex; flex-direction: column; justify-content: center; }
.nlnp-course-detail__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin: .4rem 0 1.25rem; }
.nlnp-course-detail__facts div { min-width: 0; padding: .75rem; border: 1px solid var(--nlnp-line); border-radius: 12px; background: var(--nlnp-white); }
.nlnp-course-detail__facts span { display: block; margin-bottom: .2rem; color: var(--nlnp-muted); font-size: .68rem; font-weight: 800; letter-spacing: .04em; line-height: 1.25; text-transform: uppercase; }
.nlnp-course-detail__facts strong { display: block; color: var(--nlnp-ink-deep); font-size: .88rem; line-height: 1.3; overflow-wrap: anywhere; }
.nlnp-course-detail__intro { margin: 0; color: var(--nlnp-ink); font-size: 1.08rem; font-weight: 600; }
.nlnp-course-detail__section { padding: clamp(1.35rem, 3.5vw, 2.4rem); border: 1px solid var(--nlnp-line); border-radius: 22px; background: var(--nlnp-white); }
.nlnp-course-detail__section--soft { background: #f3faf7; }
.nlnp-course-detail__section--experience { background: linear-gradient(135deg, #f2faf7, #fdfcf9); }
.nlnp-course-detail__section h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); }
.nlnp-course-detail__experience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; margin-top: 1.5rem; }
.nlnp-course-detail__experience-grid > div { display: grid; gap: .45rem; padding: 1.1rem; border: 1px solid var(--nlnp-line); border-radius: 14px; background: rgba(255,255,255,.84); }
.nlnp-course-detail__experience-grid strong { color: var(--nlnp-ink-deep); font-size: 1rem; }
.nlnp-course-detail__experience-grid span { color: var(--nlnp-muted); font-size: .9rem; line-height: 1.5; }
.nlnp-course-detail__source-note { padding: 1rem 1.2rem; border-left: 4px solid var(--nlnp-sun); border-radius: 0 12px 12px 0; background: #fff6e6; }
.nlnp-course-detail__list, .nlnp-course-detail__curriculum { display: grid; gap: .7rem; margin: 1.4rem 0 .2rem; padding-left: 1.3rem; }
.nlnp-course-detail__list li::marker, .nlnp-course-detail__curriculum li::marker { color: var(--nlnp-teal); font-weight: 900; }
.nlnp-course-detail__curriculum { counter-reset: curriculum; padding-left: 0; list-style: none; }
.nlnp-course-detail__curriculum li { position: relative; min-height: 44px; padding: .7rem .8rem .7rem 3.4rem; border: 1px solid var(--nlnp-line); border-radius: 12px; background: #fbfdfc; }
.nlnp-course-detail__curriculum li::before { position: absolute; left: .7rem; top: .6rem; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--nlnp-teal-light); color: var(--nlnp-teal); content: counter(curriculum); counter-increment: curriculum; font-size: .78rem; font-weight: 900; }
.nlnp-course-detail__cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: clamp(1.4rem, 4vw, 2.5rem); border-radius: 22px; background: linear-gradient(130deg, var(--nlnp-ink), var(--nlnp-teal)); color: var(--nlnp-white); }
.nlnp-course-detail__cta .nlnp-eyebrow, .nlnp-course-detail__cta h2, .nlnp-course-detail__cta p { color: var(--nlnp-white); }
.nlnp-course-detail__cta h2 { margin-bottom: .45rem; font-size: clamp(1.5rem, 3vw, 2.15rem); }
.nlnp-course-detail__cta p:last-child { margin: 0; color: #d9f1eb; }
.nlnp-course-detail__cta .nlnp-button { flex-shrink: 0; border-color: var(--nlnp-white); background: var(--nlnp-white); color: var(--nlnp-ink-deep); }
.nlnp-course-detail__instructor { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 1.2rem; align-items: start; padding: clamp(1.35rem, 3.5vw, 2rem); border-radius: 22px; background: var(--nlnp-ink); color: #d9f1eb; }
.nlnp-course-detail__instructor h2 { margin-bottom: .55rem; color: var(--nlnp-white); font-size: clamp(1.6rem, 3vw, 2.15rem); }
.nlnp-course-detail__instructor p:last-child { margin-bottom: 0; }
.nlnp-course-detail__instructor .nlnp-eyebrow { color: var(--nlnp-mint); }
.nlnp-course-detail__instructor-mark { display: grid; place-items: center; width: 72px; height: 72px; border: 1px solid rgba(255,255,255,.35); border-radius: 22px 22px 22px 6px; background: rgba(255,255,255,.12); color: var(--nlnp-mint); font-family: Georgia, serif; font-size: 1.3rem; font-weight: 700; }
.nlnp-training-request-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.2rem; margin: 2rem 0; padding: clamp(1.3rem, 3vw, 2rem); border: 1px solid var(--nlnp-line); border-radius: var(--nlnp-radius); background: #f6fbf9; }
.nlnp-training-request-form > p { margin: 0; }
.nlnp-training-request-form p:has(textarea), .nlnp-training-request-form p:has(input[type="checkbox"]), .nlnp-training-request-form p:last-child { grid-column: 1 / -1; }
.nlnp-training-request-form label { display: block; color: var(--nlnp-ink-deep); font-size: .93rem; font-weight: 800; }
.nlnp-training-request-form input:not([type="checkbox"]), .nlnp-training-request-form select, .nlnp-training-request-form textarea { width: 100%; margin-top: .35rem; padding: .72rem .8rem; border: 1px solid #b7cfca; border-radius: 10px; background: var(--nlnp-white); color: var(--nlnp-ink-deep); font: inherit; font-weight: 400; }
.nlnp-training-request-form textarea { resize: vertical; }
.nlnp-training-request-form input:focus, .nlnp-training-request-form select:focus, .nlnp-training-request-form textarea:focus { outline: 3px solid rgba(18,124,120,.2); border-color: var(--nlnp-teal); }
.nlnp-training-request-form input[type="checkbox"] { width: 1rem; height: 1rem; margin-right: .4rem; accent-color: var(--nlnp-teal); vertical-align: middle; }
.nlnp-training-request-form button { cursor: pointer; font: inherit; }

.nlnp-site-footer { padding: 4rem 0 1.25rem; background: var(--nlnp-ink-deep); color: #c8e2dc; }
.nlnp-footer__grid { display: grid; grid-template-columns: 1.3fr .7fr .8fr; gap: 3rem; }
.nlnp-brand--footer { color: var(--nlnp-white); margin-bottom: 1rem; }
.nlnp-brand--footer:hover { color: var(--nlnp-white); }
.nlnp-brand--footer .nlnp-brand__logo { width: 174px; max-height: 68px; }
.nlnp-footer__grid h2 { color: var(--nlnp-white); font-family: inherit; font-size: .86rem; letter-spacing: .1em; text-transform: uppercase; }
.nlnp-footer__links { display: grid; gap: .55rem; }
.nlnp-footer__links a { color: #c8e2dc; text-decoration: none; }
.nlnp-footer__links a:hover { color: var(--nlnp-white); }
.nlnp-footer__fine { font-size: .82rem; line-height: 1.45; }
.nlnp-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.1rem; border-top: 1px solid rgba(255,255,255,.16); color: #9bbab3; font-size: .78rem; }

@media (max-width: 1360px) {
    .nlnp-site-header { position: relative; }
    .nlnp-nav { position: relative; min-height: 70px; }
    .nlnp-primary-nav { position: absolute; top: calc(100% - 1px); right: 0; left: 0; display: none; margin: 0; padding: .75rem 1rem 1rem; border-bottom: 1px solid var(--nlnp-line); background: var(--nlnp-white); box-shadow: 0 16px 28px rgba(16,46,52,.09); }
    .nlnp-site-header.is-menu-open .nlnp-primary-nav { display: block; }
    .nlnp-nav__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; width: min(100%, 700px); margin: 0 auto; }
    .nlnp-nav__links a { padding: .68rem .6rem; border: 1px solid var(--nlnp-line); border-radius: 9px; background: #f7fbf9; white-space: normal; }
    .nlnp-nav-toggle { display: inline-flex; margin-left: auto; }
    .nlnp-button--small { margin-left: 0; }
    .nlnp-hero__grid, .nlnp-feature-grid { grid-template-columns: 1fr; }
    .nlnp-hero__panel { max-width: 530px; }
    .nlnp-card-grid { grid-template-columns: 1fr; }
    .nlnp-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
    .nlnp-shell { width: min(calc(100% - 2rem), var(--nlnp-shell)); }
    .nlnp-brand__logo { width: 128px; max-height: 50px; }
    .nlnp-brand--footer .nlnp-brand__logo { width: 158px; max-height: 62px; }
    .nlnp-nav { gap: .55rem; }
    .nlnp-nav-toggle { padding: .55rem; }
    .nlnp-nav-toggle span:last-child { display: none; }
    .nlnp-button--small { min-width: 108px; padding-right: .65rem; padding-left: .65rem; font-size: .75rem; }
    .nlnp-nav__links { grid-template-columns: 1fr; }
    .nlnp-hero { padding-top: 3.5rem; }
    .nlnp-course-grid { grid-template-columns: 1fr; gap: 1rem; }
    .nlnp-course-card { min-height: 168px; }
    .nlnp-course-card__link { grid-template-columns: 92px minmax(0, 1fr); gap: 1rem; min-height: 168px; }
    .nlnp-course-card__image { min-height: 168px; }
    .nlnp-course-card__content { padding: 1rem 1rem 0 0; }
    .nlnp-course-card__credits { grid-column: 2; grid-row: 2; justify-self: start; width: auto; min-height: 28px; margin: 0 0 1rem; padding: .32rem .55rem; grid-template-columns: auto auto; gap: .28rem; border-radius: 9px; }
    .nlnp-course-card__credits strong, .nlnp-course-card__credits span { font-size: .68rem; }
    .nlnp-course-card h3 { font-size: 1rem; }
    .nlnp-course-card__detail-link { margin-top: .55rem; }
    .nlnp-course-detail__overview { grid-template-columns: 1fr; }
    .nlnp-course-detail__image { min-height: 210px; max-height: 300px; }
    .nlnp-course-detail__facts { grid-template-columns: 1fr; }
    .nlnp-course-detail__experience-grid { grid-template-columns: 1fr; }
    .nlnp-course-detail__instructor { grid-template-columns: 1fr; }
    .nlnp-course-detail__cta { align-items: flex-start; flex-direction: column; }
    .nlnp-cta { align-items: flex-start; flex-direction: column; }
    .nlnp-footer__grid { grid-template-columns: 1fr; gap: 2rem; }
    .nlnp-footer__bottom { align-items: flex-start; flex-direction: column; }
    .nlnp-prose { width: min(calc(100% - 2rem), 820px); }
    .nlnp-training-request-form { grid-template-columns: 1fr; }
}
