/* One public/learning shell. Legacy and page rules are lower-priority layers. */

@layer foundation, legacy, pages;

@font-face  {
  font-family: Montserrat;
  src: url("../fonts/montserrat-latin-400.e7198b2dcb57.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0-FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face  {
  font-family: Montserrat;
  src: url("../fonts/montserrat-cyrillic-400.a0f7d018d696.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+400-45F,U+490-491,U+4B0-4B1,U+2116;
}

@font-face  {
  font-family: Montserrat;
  src: url("../fonts/montserrat-latin-600.9e606da1cbeb.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  unicode-range: U+0-FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face  {
  font-family: Montserrat;
  src: url("../fonts/montserrat-cyrillic-600.1531497cf6c6.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  unicode-range: U+400-45F,U+490-491,U+4B0-4B1,U+2116;
}

@font-face  {
  font-family: Montserrat;
  src: url("../fonts/montserrat-latin-700.1c0792ac34ef.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  unicode-range: U+0-FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face  {
  font-family: Montserrat;
  src: url("../fonts/montserrat-cyrillic-700.1775f0468bc7.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  unicode-range: U+400-45F,U+490-491,U+4B0-4B1,U+2116;
}

@font-face {
  font-family: Montserrat;
  src: url("../fonts/montserrat-500.616e78d0efe7.woff2") format('woff2');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url("../fonts/montserrat-800.cde251545c86.woff2") format('woff2');
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url("../fonts/montserrat-900.e815a867fb55.woff2") format('woff2');
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}

:root {
  --jn-green: #013c35;
  --jn-green-soft: #025a50;
  --jn-orange: #ff6f3f;
  --jn-orange-dark: #e85a2a;
  --jn-cream: #f7f6f3;
  --jn-surface: #fff;
  --jn-text: #111111;
  --jn-muted: #666666;
  --jn-border: #e5e0d8;
  --jn-radius: 1.25rem;
  --jn-radius-sm: .875rem;
  --jn-shadow: 0 18px 55px rgb(1 60 53 / .11);
  --jn-content: 72.5rem;
  --jn-reading: 47.5rem;
  --jn-gutter: 1rem;
  --jn-header-height: 4.5rem;
  --jn-text-small: .75rem;
  --jn-text-body: 1rem;
  --jn-text-lead: clamp(.9375rem,1.6vw,1.125rem);
  --jn-h1: clamp(1.25rem,2.8vw,2.25rem);
  --jn-h2: clamp(1.75rem,3.8vw,2.875rem);
  --jn-h3: clamp(1rem,1.6vw,1.25rem);
  --jn-section: clamp(3.5rem,7vw,5.75rem);
  /* Aliases during prototype migration; new components use jn tokens. */
  --green: var(--jn-green);
  --green-dark: var(--jn-green);
  --orange: var(--jn-orange);
  --orange-hover: var(--jn-orange-dark);
  --cream: var(--jn-cream);
  --bg: var(--jn-cream);
  --white: #fff;
  --black: var(--jn-text);
  --gray: var(--jn-muted);
  --border: var(--jn-border);
}

*,*::before,*::after {
  box-sizing: border-box;
}

html {
  font-size: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--jn-header-height) + 4rem);
  -webkit-text-size-adjust: 100%;
}

body.jn-site {
  margin: 0;
  min-width: 320px;
  background: var(--jn-cream);
  color: var(--jn-text);
  font-family: Montserrat,system-ui,sans-serif;
  font-size: var(--jn-text-body);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
}

button,input,select,textarea {
  font: inherit;
}

button,a,input,select,textarea,summary {
  -webkit-tap-highlight-color: transparent;
}

@layer foundation {
  a {
    color: inherit;
  }
}

a {
  text-underline-offset: .2em;
}

button {
  cursor: pointer;
}

@layer foundation {
  h1,h2,h3,h4,p {
    margin: 0;
  }
}

h1,h2,h3 {
  font-weight: 700;
  line-height: 1.18;
  text-wrap: balance;
}

h1 {
  font-size: var(--jn-h1);
}

h2 {
  font-size: var(--jn-h2);
}

h3 {
  font-size: var(--jn-h3);
}

p {
  overflow-wrap: break-word;
}

a,button {
  touch-action: manipulation;
}

:where(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid var(--jn-orange);
  outline-offset: 4px;
}

[hidden] {
  display: none !important;
}

.jn-container {
  width: min(var(--jn-content),calc(100% - var(--jn-gutter)*2));
  margin-inline: auto;
}

.jn-section {
  padding-block: var(--jn-section);
}

.jn-section-heading {
  max-width: var(--jn-reading);
  margin-bottom: 2.5rem;
}

.jn-section-heading p {
  margin-top: 1rem;
  color: var(--jn-muted);
}

.jn-eyebrow {
  display: block;
  margin-bottom: 1rem;
  color: var(--jn-orange-dark);
  font-size: var(--jn-text-small);
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.jn-lead {
  max-width: var(--jn-reading);
  font-size: var(--jn-text-lead);
  line-height: 1.7;
  color: var(--jn-muted);
}

.jn-skip {
  position: fixed;
  left: 1rem;
  top: -8rem;
  z-index: 1100;
  padding: .75rem 1rem;
  background: #fff;
  color: var(--jn-green);
  border-radius: .5rem;
}

.jn-skip:focus {
  top: 1rem;
}

.jn-header {
  position: sticky;
  top: 0;
  z-index: 500;
  width: 100%;
  background: rgb(1 60 53 / .98);
  color: #fff;
  border-bottom: 1px solid rgb(255 255 255 / .12);
  backdrop-filter: blur(14px);
}

.jn-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: var(--jn-header-height);
  padding-block: .5rem;
}

.jn-brand {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: .8rem;
  text-decoration: none;
}

.jn-brand img {
  display: block;
  width: 7rem;
  height: 3.5rem;
  object-fit: contain;
}

.jn-brand span {
  font-size: .6875rem;
  font-weight: 600;
  line-height: 1.5;
  color: rgb(255 255 255 / .72);
}

.jn-header__menu,.jn-header__links,.jn-header__actions {
  display: flex;
  align-items: center;
  gap: clamp(.9rem,1.4vw,1.6rem);
}

.jn-header__menu {
  gap: 2rem;
}

.jn-header__links a,.jn-header__login,.jn-header__logout {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  text-decoration: none;
  color: rgb(255 255 255 / .82);
  font-size: .8125rem;
  font-weight: 600;
  white-space: nowrap;
}

.jn-header__links a:hover,.jn-header__links a[aria-current],.jn-header__login:hover {
  color: var(--jn-orange);
}

.jn-header__links a[aria-current] {
  box-shadow: inset 0 -2px var(--jn-orange);
}

.jn-header__actions form {
  margin: 0;
}

.jn-header__logout {
  background: none;
  border: 0;
  padding: .25rem;
}

.jn-header__actions .jn-button {
  font-size: .8125rem;
  padding: .65rem 1rem;
  min-height: 2.75rem;
}

.jn-menu-toggle {
  display: none;
  align-items: center;
  gap: .5rem;
  min-height: 2.75rem;
  padding: .4rem .7rem;
  background: transparent;
  border: 1px solid rgb(255 255 255 / .25);
  border-radius: .5rem;
  color: #fff;
  font-size: .8125rem;
}

.jn-menu-toggle svg {
  width: 1.3rem;
  height: 1.3rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.jn-subnav {
  background: var(--jn-surface);
  border-bottom: 1px solid var(--jn-border);
}

.jn-subnav__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem 1.5rem;
  padding-block: .7rem;
}

.jn-subnav__inner>span {
  font-weight: 700;
  font-size: .8125rem;
  color: var(--jn-green);
  margin-right: auto;
}

.jn-subnav a {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  font-size: .8125rem;
  text-decoration: none;
  color: var(--jn-muted);
}

.jn-subnav a:hover {
  color: var(--jn-orange-dark);
}

.jn-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 3rem;
  padding: .8rem 1.4rem;
  border: 1px solid transparent;
  border-radius: .6rem;
  font: 600 .875rem/1.4 Montserrat,system-ui,sans-serif;
  text-align: center;
  text-decoration: none;
  transition: background .2s,transform .2s,box-shadow .2s;
}

.jn-button--primary {
  background: var(--jn-orange);
  color: #fff;
  box-shadow: 0 .6rem 1.4rem rgb(255 111 63 / .18);
}

.jn-button--primary:hover {
  background: var(--jn-orange-dark);
  transform: translateY(-2px);
}

.jn-button--secondary {
  background: #fff;
  color: var(--jn-green);
  border-color: var(--jn-border);
}

.jn-button--secondary:hover {
  border-color: var(--jn-orange);
}

.jn-card-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1.25rem;
}

.jn-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  min-width: 0;
  padding: clamp(1.25rem,2vw,2rem);
  background: var(--jn-surface);
  border: 1px solid var(--jn-border);
  border-radius: var(--jn-radius);
  box-shadow: var(--jn-shadow);
  transition: transform .2s,box-shadow .2s;
}

.jn-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 1.5rem 3rem rgb(1 60 53 / .12);
}

.jn-card h2 {
  font-size: var(--jn-h3);
}

.jn-card h2 a {
  text-decoration: none;
}

.jn-card p {
  color: var(--jn-muted);
}

.jn-card .jn-button {
  margin-top: auto;
}

.jn-page-intro {
  padding-block: var(--jn-section);
  background: var(--jn-green);
  color: #fff;
}

.jn-page-intro .jn-lead {
  margin-top: 1.25rem;
  color: rgb(255 255 255 / .78);
}

.jn-footer {
  display: block;
  padding: 3.5rem 0 0;
  background: var(--jn-green);
  color: rgb(255 255 255 / .75);
  border-top: 1px solid rgb(255 255 255 / .1);
}

.jn-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 2.5rem;
  padding-bottom: 3rem;
}

.jn-footer__brand {
  display: block;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.jn-footer__brand span {
  display: block;
  margin-top: .65rem;
  font-size: .875rem;
  font-weight: 400;
}

.jn-footer p {
  margin-top: 1.25rem;
  font-size: .8125rem;
}

.jn-footer nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .6rem;
}

.jn-footer h2 {
  font-size: .875rem;
  color: #fff;
  margin-bottom: .5rem;
}

.jn-footer nav a {
  font-size: .8125rem;
  text-decoration: none;
  min-height: 1.7rem;
}

.jn-footer nav a:hover {
  color: var(--jn-orange);
}

.jn-footer__bottom {
  padding-block: 1.4rem;
  border-top: 1px solid rgb(255 255 255 / .15);
  font-size: .75rem;
}

/* Full-width backgrounds; only content containers have a maximum width. */

.jn-legacy {
  font: inherit;
  color: inherit;
  background: var(--jn-cream);
  min-width: 0;
}

.jn-legacy :is(.hero,.section-bg,.section-green,.section-orange,.section-dark) {
  width: 100%;
  max-width: none;
  padding: var(--jn-section) var(--jn-gutter);
}

.jn-legacy :is(.hero-inner,.section-bg-inner,.section-green-inner,.section-orange-inner,.section-dark-inner) {
  width: 100%;
  max-width: var(--jn-content);
  margin-inline: auto;
}

.jn-legacy .section {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: var(--jn-section) max(var(--jn-gutter),calc((100% - var(--jn-content))/2));
}

.jn-legacy :is(.hero h1,.course-hero h1) {
  font-size: var(--jn-h1);
  max-width: 740px;
}

.jn-legacy :is(.section h2.title,.section-bg h2.title,.section-green h2.title) {
  font-size: var(--jn-h2);
}

.jn-legacy :is(.hero-sub,.section p.desc) {
  font-size: var(--jn-text-lead);
  max-width: var(--jn-reading);
}

.jn-legacy :is(.course-card,.pain-card,.format-card,.track-card,.review-card,.blog-card,.pricing-card) {
  border-radius: var(--jn-radius);
  box-shadow: var(--jn-shadow);
}

.jn-legacy :is(.btn-hero-primary,.btn-hero-secondary,.btn-enroll,.faq-cta-btn) {
  font-size: .875rem;
  min-height: 3rem;
  border-radius: .6rem;
}

.jn-legacy :is(.module-item,.pain-card p,.format-card p,.track-desc,.whom-text,.faq-answer,.faq-q,.result-item p) {
  font-size: 1rem;
  line-height: 1.7;
}

.jn-site :is(.auth-shell,.student-shell) {
  width: min(var(--jn-content),calc(100% - var(--jn-gutter)*2));
  margin-inline: auto;
}

.jn-site .auth-shell {
  max-width: 30rem;
  min-height: 65vh;
  padding-block: 3rem;
}

.jn-site .auth-card {
  width: 100%;
}

.jn-site .auth-page {
  background: var(--jn-cream);
}

.jn-site :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
  font-size: 1rem;
}

.jn-site .student-shell {
  padding-block: 2.5rem;
}

.jn-site .jn-enrollment-page {
  width: min(40rem,calc(100% - var(--jn-gutter)*2));
  margin: 3rem auto;
  padding: 2rem;
  background: #fff;
  border-radius: var(--jn-radius);
  box-shadow: var(--jn-shadow);
}

@media (min-width:120rem) {
  .jn-header__inner {
    min-height: 72px;
  }
}

@media (max-width:68rem) {
  .jn-header__inner {
    flex-wrap: wrap;
    gap: 0;
    min-height: 4.5rem;
    padding-block: .5rem;
  }

  .jn-brand span {
    display: none;
  }

  .jn-header__menu {
    width: 100%;
    align-items: stretch;
    padding-block: 1rem;
    gap: 1rem;
  }

  .jn-header__links {
    flex-wrap: wrap;
    gap: .5rem 1.5rem;
  }

  .jn-header__actions {
    flex-shrink: 0;
  }

  .jn-menu-toggle:not([hidden]) {
    display: inline-flex;
  }

  .jn-header--enhanced:not(.jn-header--open) .jn-header__menu {
    display: none;
  }

  .jn-header__menu {
    flex-direction: column;
  }

  .jn-header__actions {
    border-top: 1px solid rgb(255 255 255 / .15);
    padding-top: 1rem;
  }

  .jn-header__links a {
    font-size: 1rem;
  }

  .jn-card-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width:40rem) {
  .jn-card-grid,.jn-footer__grid {
    grid-template-columns: 1fr;
  }

  .jn-footer__grid {
    gap: 2rem;
  }

  .jn-subnav__inner {
    gap: .25rem 1rem;
  }

  .jn-subnav__inner>span {
    width: 100%;
  }

  .jn-subnav a {
    font-size: .8125rem;
  }

  .jn-site .jn-enrollment-page {
    padding: 1.25rem;
  }

  .jn-header__links {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .jn-legacy .hero-stats {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }

  *,*::before,*::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

.jn-catalog-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}

.jn-catalog-links a {
  color: var(--jn-green);
  font-weight: 600;
  font-size: .875rem;
}

.claims-page .shell {
  width: min(var(--jn-content),calc(100% - var(--jn-gutter)*2));
}

.claims-page section {
  padding-block: var(--jn-section);
}

.claims-page .section-head {
  max-width: var(--jn-reading);
}

.claims-page .lead {
  font-size: var(--jn-text-lead);
}

.claims-page :is(.card,.price-card,.faq details) {
  border-radius: var(--jn-radius);
}

.claims-page .card {
  box-shadow: var(--jn-shadow);
}

.claims-page .btn {
  font-size: .875rem;
  min-height: 3rem;
  padding: .8rem 1.4rem;
  border-radius: .6rem;
}

.claims-page .btn.compact {
  font-size: .8125rem;
  min-height: 2.75rem;
}

.claims-page .eyebrow {
  font-size: var(--jn-text-small);
}

.jn-footer__contacts {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  margin-top: 1.25rem;
  font-size: .8125rem;
}

.jn-footer__contacts a {
  text-decoration: none;
}

/* Decorative prototype marks must never overlap content on narrow screens. */

@media (max-width:48rem) {
  .jn-legacy .hero-logo-circle {
    display: none;
  }
}

/* ABB presentation rhythm: full-width color, 1160px content, natural overflow. */
.jn-slide {
  padding-block: var(--jn-section);
  background: #fff;
  color: #111;
}
.jn-legacy .jn-slide {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: var(--jn-section) max(16px,calc((100% - 1160px)/2));
}
.jn-slide--green,
.jn-legacy .jn-slide--green {
  --jn-on-surface: #fff;
  --jn-on-muted: rgba(255,255,255,.78);
  --jn-text: #fff;
  --jn-muted: rgba(255,255,255,.72);
  --text: #fff;
  --muted: rgba(255,255,255,.72);
  --black: #fff;
  --gray: rgba(255,255,255,.72);
  --green: #fff;
  background: radial-gradient(ellipse at 95% 0,rgba(255,111,63,.10),transparent 45%),#013c35;
  color: #fff;
}
.jn-slide--white,
.jn-legacy .jn-slide--white {
  --jn-on-surface: #111;
  --jn-on-muted: #666;
  --jn-text: #111;
  --jn-muted: #666;
  --black: #111;
  --gray: #666;
  --green: #013c35;
  background: #fff;
  color: #111;
}
.jn-slide :is(.jn-card,.card,.pain-card,.doubt-card,.format-card,.track-card,.review-card,.blog-card,.pkg-card,.price-card,.pricing-card,.payment-block,#f,.callout) {
  --jn-text:#111;--jn-muted:#666;--black:#111;--gray:#666;--green:#013c35;--text:#111;--muted:#666;
  color:#111;
}
.jn-slide--green :is(.section-head,.jn-section-heading,.section-label) h2,
.jn-legacy .jn-slide--green :is(h2.title,.section-label h2) {color:#fff}
.jn-slide--green :is(.jn-lead,.section-head>p,.jn-section-heading>p){color:rgba(255,255,255,.72)}
.jn-slide--green .jn-eyebrow{color:#ff6f3f}
.jn-slide--white .jn-eyebrow{color:#e85a2a}
.jn-legacy .hero :is(h1,.hero-sub){max-width:740px}
.jn-legacy .hero h1{font-size:clamp(20px,2.8vw,36px);line-height:1.12;margin-bottom:20px}
.jn-legacy .hero-sub{line-height:1.8;margin-bottom:24px}
.jn-legacy .hero-stats{margin-bottom:26px}
.jn-legacy .hero-mobile-logo{display:none}
.jn-legacy :is(.hero-badge,.hero-level){font-size:11px}
.jn-legacy :is(.hero-stat,.stat){gap:5px}
.jn-legacy .stat-val{font-size:26px}
.jn-legacy :is(.hero-inner,.section-bg-inner,.section-green-inner,.reviews-inner,.quiz-inner){max-width:1160px}
.jn-legacy :is(.module-item,.pain-card p,.format-card p,.track-desc,.whom-text,.faq-answer,.faq-q,.result-item p){font-size:15px}
.jn-legacy .pdf-block{display:flex;align-items:center;justify-content:space-between;gap:24px}
.jn-legacy .pdf-block p{max-width:620px}
.jn-legacy .jn-slide .section{padding:0;max-width:1160px;margin-inline:auto}
.jn-legacy .reviews-wrap{overflow:hidden}
.jn-section-heading{margin-bottom:28px}
.jn-section-heading p{font-size:15px;line-height:1.8}
.jn-card{padding:22px;gap:12px;border-radius:20px}
.jn-card h2{font-size:20px;line-height:1.25}
.jn-card p{font-size:13px;line-height:1.6}
.jn-card .jn-eyebrow{margin-bottom:0;font-size:11px}
.jn-card .jn-button{min-height:40px;padding:10px 16px;font-size:13px}
.jn-course-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.jn-course-tabs a{display:inline-flex;padding:9px 18px;border:1px solid #e5e0d8;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none}
.jn-course-tabs a[aria-selected=true]{background:#013c35;border-color:#013c35;color:#fff}
.jn-showcase .jn-card-grid{gap:16px}
.jn-showcase__all{display:inline-block;margin-top:22px;color:#e85a2a;font-size:13px;font-weight:700;text-decoration:none}
.jn-cookie-settings-link{padding:0;border:0;background:none;color:inherit;text-align:left;font:inherit;font-size:13px;text-decoration:underline}
.claims-page .hero h1{font-size:var(--jn-h1);max-width:24ch}
.claims-page .hero .shell{align-items:center}
.claims-page .jn-slide{background-color:#fff}
.claims-page .jn-slide--green{background-color:#013c35}
.claims-page .hero .lead{font-size:clamp(15px,1.6vw,18px)}
.claims-page .hero .specimen{border:1px solid rgba(255,255,255,.18)}
.claims-page .btn{min-height:48px;padding:13px 26px;font-size:14px}
.claims-page .card p{font-size:15px;line-height:1.75}
.claims-page .hero-note{font-size:13px}
.jn-button{min-height:48px;padding:13px 26px;font-size:14px}
.jn-header__actions .jn-button{min-height:40px;padding:8px 14px;font-size:13px}
.jn-header__inner{min-height:72px}
.jn-subnav__inner{padding-block:4px}
@media(min-width:901px) {
  .jn-legacy>.hero{min-height:calc(100svh - var(--jn-header-height));display:flex;align-items:center}
  .course-reference-landing>.hero{min-height:calc(100svh - var(--jn-header-height) - 50px)}
  .jn-showcase{display:flex;align-items:center}
}
@media(max-width:900px) {
  .jn-legacy .pdf-block{flex-direction:column;align-items:flex-start}
  .jn-slide,.jn-legacy .jn-slide{min-height:0;padding-block:48px}
}
@media(max-width:680px){.jn-card-grid{grid-template-columns:1fr}.jn-legacy .hero h1{font-size:var(--jn-h1)}.jn-course-tabs a{padding:8px 12px}.jn-subnav__inner>span{width:100%}}
/* Keep content surfaces legible within either slide tone. */
.claims-page .hero .specimen{--green:#013c35;background:#013c35;color:#fff}
.claims-page .hero .btn.ghost{color:#013c35}
.claims-page .jn-slide--green .trust span{color:rgba(255,255,255,.78)}
.jn-slide--green :is(.out,.plan:not(.feature)){--green:#013c35;--text:#111;--muted:#666;color:#111}
.jn-slide--white :is(.whom-text,.whom-text strong){color:#013c35}
.jn-slide--white .section-green-inner h2{color:#013c35}
.jn-slide--green .out .btn{color:#fff}
.jn-slide--green .lines span{color:#111}
.jn-slide--white .hero-level{color:#666}
@media(min-width:901px){.jn-home .doubts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.jn-showcase .jn-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.jn-more{margin-top:20px;font-size:14px}
.jn-more>summary{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:700;padding:14px 0;border-block:1px solid #e5e0d8;list-style:none}
.jn-slide--green .jn-more>summary{border-color:rgba(255,255,255,.2);color:#fff}
.jn-more>summary::after{content:'+';margin-left:auto;color:#ff6f3f}
.jn-more[open]>summary::after{content:'−'}
.jn-more__body{margin-top:24px}
.claims-contact{grid-column:1/-1;border:1px solid var(--jn-border);border-radius:10px;padding:0 18px;background:#fff;color:#111}
.claims-contact>summary{font-size:14px;padding:16px 0;color:#013c35}
.claims-contact__fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:18px}
.claims-contact__fields .full{grid-column:1/-1}
@media(max-width:680px){.claims-contact__fields{grid-template-columns:1fr}}
.jn-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:auto}
.jn-card-actions>a:not(.jn-button){font-size:13px;font-weight:600;text-decoration:none;color:#013c35}
.jn-philosophy-cards{margin-top:24px}
.jn-review-preview{font-size:15px;line-height:1.7;color:#666}
.jn-review-more{margin-top:12px}
.jn-module{margin-block:0;border-top:1px solid rgba(128,128,128,.25)}
.jn-module>summary{display:flex;align-items:center;gap:12px;padding:16px 0;font-size:15px;font-weight:600;cursor:pointer;list-style:none}
.jn-module>summary::after{content:'+';margin-left:auto;color:#ff6f3f}
.jn-module[open]>summary::after{content:'−'}
.jn-module .module{border:0;padding-block:8px 18px}
@media(min-width:901px) and (max-height:900px){:root{--jn-section:56px}}
@media(min-width:901px) and (max-height:780px){:root{--jn-section:44px}}
.jn-course-tabs{position:static;height:auto;padding:0;border:0;background:none;box-shadow:none}
.jn-site .section-label h2{font-size:12px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase}
.jn-home>.jn-slide .section-label h2{font-size:clamp(24px,2.8vw,36px);line-height:1.15;letter-spacing:-.02em;text-transform:none}
.jn-legacy .jn-slide--white.section-green :is(h2.title,p.desc){color:#013c35!important}
.jn-slide--green .consult{background:#025a50;color:#fff}
.jn-slide--green .consult h3{color:#fff}
.jn-slide--green .consult p{color:rgba(255,255,255,.75)}
.jn-legacy{width:100%;margin:0;padding:0}
.jn-doubt-preview{font-size:14px;line-height:1.65;color:#666}
.jn-doubt-more{margin-top:8px}.jn-doubt-more>summary{padding:8px 0;font-size:12px}
.claims-page #f{gap:14px;padding:24px}
.claims-page .f>label{font-size:13px;margin-bottom:6px}
.claims-page .f input:not([type=checkbox]),.claims-page .f select{min-height:44px;padding-block:10px}
@media(min-width:901px){.jn-home .packages-grid,.jn-home .doubts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.jn-home #faq .faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

.jn-button{border-radius:8px}
.jn-lead{line-height:1.8}

/* Academy editorial pages compose the same slides, cards and disclosures. */
.jn-academy h1{font-size:var(--jn-h1);line-height:1.15;max-width:var(--jn-reading);margin-block:1rem 1.25rem}
.jn-academy .jn-lead{max-width:var(--jn-reading)}
.jn-academy h3{font-size:1.125rem;line-height:1.4}
.jn-reading{max-width:var(--jn-reading);line-height:1.85}
.jn-reading p+p{margin-top:1.25rem}
.jn-academy-hero__grid{display:grid;grid-template-columns:1.25fr 1fr;gap:3rem;align-items:center}
.jn-academy-hero__grid--text{grid-template-columns:1fr}
.jn-academy-hero__image{width:100%;height:clamp(18rem,45svh,32rem);object-fit:cover;object-position:center;border-radius:var(--jn-radius)}
.jn-facts{display:flex;gap:.75rem;flex-wrap:wrap;list-style:none;padding:0;margin-top:1.5rem}
.jn-facts li{border:1px solid var(--jn-border);border-radius:.5rem;padding:.5rem .75rem;font-size:.8125rem}
.jn-page-actions{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;margin-top:1.75rem}
.jn-page-actions>a:not(.jn-button){font-size:.875rem;font-weight:600}
.jn-subnav a[aria-current="page"]{color:var(--jn-green);font-weight:700}
.jn-card-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.jn-academy .jn-more{margin-top:0}
.jn-academy .jn-more__body{padding-bottom:1.5rem;margin-top:1rem}
.jn-academy .jn-more>summary{line-height:1.6}
.jn-consultation-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.jn-consultation-layout .jn-lead{margin-block:1.25rem}
.jn-consultation-panel{display:block}
.jn-consultation-form{display:grid;gap:1rem;width:100%}
.jn-consultation-field{display:grid;gap:.5rem}
.jn-consultation-field label{font-size:.8125rem;font-weight:600}
.jn-consultation-field :is(input,select,textarea){width:100%;min-width:0;max-width:100%;min-height:2.75rem;border:1px solid var(--jn-border);border-radius:.5rem;background:#fff;color:#111;padding:.75rem;font:inherit;font-size:.9375rem}
.jn-consultation-field textarea{min-height:7rem;resize:vertical}
.jn-consultation-consent{display:flex;gap:.75rem;align-items:flex-start;font-size:.8125rem;line-height:1.6}
.jn-consultation-consent input{margin-top:.25rem;flex-shrink:0}
.jn-consultation-form .errorlist,.jn-form-alert{color:#a52d17;font-size:.8125rem}
.jn-consultation-form .errorlist{list-style:none;margin:0;padding:0}
.jn-consultation-form .jn-form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(min-width:901px){
  .jn-academy>.jn-academy-hero{display:flex;align-items:center;min-height:calc(100svh - var(--jn-header-height) - 48px)}
}
@media(max-width:900px){.jn-academy-hero__grid,.jn-consultation-layout{grid-template-columns:1fr;gap:2rem}.jn-academy-hero__image{height:18rem;max-width:30rem}}
@media(max-width:680px){.jn-card-grid--two{grid-template-columns:1fr}}

/* Shared blog reading and article-list components. */
.jn-blog-reading{width:min(var(--jn-reading),calc(100% - var(--jn-gutter)*2))}
.jn-blog-heading{margin-block:2rem}
.jn-blog-heading h1{font-size:var(--jn-h1);line-height:1.25;overflow-wrap:anywhere}
.jn-blog-meta,.jn-blog-card time{font-size:.8125rem;color:#666;margin-block:1rem}
.jn-blog-cover{display:block;width:100%;height:auto;max-height:32rem;object-fit:cover;border-radius:var(--jn-radius);margin-top:2rem}
.jn-prose{font-size:1rem;line-height:1.9;overflow-wrap:anywhere}
.jn-prose :is(p,ul,ol,blockquote,table,hr){margin-block:1.25rem}
.jn-prose :is(h2,h3,h4){margin-block:2rem 1rem;line-height:1.4}
.jn-prose h2{font-size:1.625rem}.jn-prose h3{font-size:1.25rem}
.jn-prose :is(ul,ol){padding-left:1.5rem}.jn-prose li+li{margin-top:.4rem}
.jn-prose img{max-width:100%;height:auto;display:block;border-radius:.5rem}
.jn-prose blockquote{padding:1rem 1.25rem;border-left:3px solid var(--jn-orange);background:var(--jn-surface)}
.jn-prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:.875rem}
.jn-prose :is(td,th){border:1px solid var(--jn-border);padding:.75rem;min-width:6rem}
.jn-blog-list{display:grid;gap:1.5rem;max-width:var(--jn-reading);margin-inline:auto}
.jn-blog-card{gap:.75rem}.jn-blog-card :is(h2,p,a){max-width:100%;overflow-wrap:anywhere}.jn-blog-card h2{font-size:1.375rem;line-height:1.4}
.jn-blog-card img{width:100%;height:auto;max-height:20rem;object-fit:cover;border-radius:.5rem}
.jn-pagination{display:flex;justify-content:center;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:2.5rem;font-size:.875rem}
.jn-blog-preview{padding:1rem;background:#fff0d8;border-bottom:1px solid var(--jn-orange);font-size:.875rem}

/* Content surfaces own their text tone instead of inheriting the slide color. */
.jn-slide :is(.jn-card,.card,.pain-card,.doubt-card,.format-card,.track-card,.track-item,.review-card,.blog-card,.pkg-card,.price-card,.pricing-card,.payment-block,.result-item,.module,.program-result,.gift-card,.inst-card,.ob-step,.faq-item,.faq-cta,.consult-block,.expert-facts,.results-panel,.ps-card,.who-card,.expert-info) {
  --jn-on-surface:#111;
  --jn-on-muted:#666;
  --green:#013c35;
  --black:#111;
  --gray:#666;
  color:#111;
}
.jn-legacy :is(.btn-hero-primary,.btn-hero-secondary,.btn-primary,.btn-enroll,.btn-enroll-big,.btn-inst,.faq-cta-btn,.hero-badge,.inst-step-num,.inst-bank.mono,.review-avatar) {
  --jn-on-surface:#fff;
  --jn-on-muted:rgba(255,255,255,.8);
  --green:#013c35;
}
.jn-legacy :is(.btn-ghost,.btn-secondary) {color:var(--jn-on-surface);border-color:currentColor}
.jn-legacy .jn-slide--white :is(.whom-text,.whom-text strong) {color:#013c35}
.jn-legacy .jn-slide--white .section-label h2 {color:#013c35}
.jn-legacy .jn-slide--green .expert-facts a {color:#013c35}
.jn-legacy .jn-slide--white :is(.pdf-title,.pdf-desc) {color:var(--jn-on-surface)}
.claims-page .results-panel {background:#fff}
.claims-page .results-panel :is(h2,h3) {color:#013c35}
.claims-page .results-panel :is(p,.lead) {color:#666}
.jn-legacy :is(.section-line,.fact-dot,.hero-dot,.review-quote) {display:none}
.jn-legacy :is(.module-item,.pkg-feature,.pkg-item)::before {content:none}
.jn-legacy .doubt-card::before,
.claims-page :is(.eyebrow,.hero-note,.trust span)::before {content:none}
.jn-legacy .section-label {margin-bottom:1.5rem;gap:0}
.jn-legacy .jn-slide :is(.jn-more,.jn-module) {min-width:0}
.jn-legacy .jn-slide .jn-more>summary {color:inherit}
.jn-legacy .jn-module .module-title {display:none}
.jn-legacy .jn-slide .jn-more__body> :first-child {margin-top:0}
.jn-legacy .jn-slide .jn-more__body> :last-child {margin-bottom:0}
.jn-footer__account {padding:0;border:0;background:none;color:inherit;font:inherit;font-size:.8125rem;min-height:1.7rem}
.jn-footer form {margin:0}
.jn-legacy #consultations-block {--jn-on-surface:#111;--jn-on-muted:#666;--green:#013c35;--black:#111;--gray:#666;color:#111}
.jn-legacy :is(.jn-review-preview,.jn-doubt-preview):has(+details[open]) {display:none}
.jn-home .jn-home-hero {display:grid;grid-template-columns:minmax(0,1fr) minmax(13rem,20rem);gap:3rem;align-items:center}
.jn-home-hero__copy {min-width:0}
.jn-home-hero__brand {display:flex;align-items:center;justify-content:center}
.jn-home-hero__brand img {display:block;width:min(100%,16rem);height:auto}
.jn-home .pdf-block {padding-block:2rem}
.jn-home .pdf-inner {width:100%;max-width:var(--jn-content);gap:1.5rem}
.jn-home .pdf-text {min-width:0}
.jn-home .pdf-btn {color:#fff}
@media(max-width:900px) {
  .jn-home .jn-home-hero {grid-template-columns:minmax(0,1fr);gap:0}
  .jn-home-hero__brand {display:none}
}
@media(max-width:40rem) {
  .jn-home .pdf-inner {display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:1rem}
  .jn-home .pdf-btn {grid-column:1/-1;justify-content:center}
}
