.journey {
  background: #10263f;
  color: #f7f9fb;
  padding: 18px clamp(20px, 4vw, 60px) 58px;
}
.journey a {
  color: inherit;
}
.journey-nav {
  max-width: 1260px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.journey-nav strong {
  font:
    700 1.4rem Georgia,
    serif;
  color: #f0c877;
}
.journey-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.journey-links a {
  font-size: 0.9rem;
  text-decoration: none;
  border: 1px solid #567087;
  border-radius: 8px;
  padding: 9px 13px;
}
.journey-links a:hover {
  background: #294b6c;
}
.journey-hero {
  max-width: 1260px;
  margin: 70px auto 42px;
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 50px;
  align-items: center;
}
.journey-kicker {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #f0c877;
  font-size: 0.82rem;
  font-weight: 800;
}
.journey h1,
.journey h2,
.journey h3 {
  font-family: Georgia, serif;
  line-height: 1.14;
}
.journey h1 {
  font-size: clamp(2.5rem, 5.5vw, 5.2rem);
  margin: 13px 0 18px;
  letter-spacing: -0.04em;
}
.journey p {
  line-height: 1.6;
  color: #d2e0eb;
}
.journey-lead {
  font-size: 1.18rem;
  max-width: 650px;
}
.journey .cta {
  display: inline-block;
  background: #edc574;
  color: #10263f;
  border: 0;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 800;
  padding: 14px 19px;
  margin: 15px 10px 0 0;
  min-height: 48px;
}
.journey .cta.secondary {
  background: transparent;
  color: #fff;
  border: 1px solid #7b91a5;
}
.sample {
  background: #23435f;
  border: 1px solid #59738a;
  border-radius: 20px;
  padding: 26px;
  box-shadow: 0 24px 50px #08192b55;
}
.sample .score {
  font:
    700 3.1rem Georgia,
    serif;
  color: #f0c877;
}
.sample small {
  color: #bed1e0;
}
.sample blockquote {
  margin: 18px 0 0;
  border-left: 3px solid #edc574;
  padding-left: 14px;
  line-height: 1.55;
  color: #e8f1f6;
}
.sample b {
  color: #f0c877;
}
.journey-section {
  max-width: 1260px;
  margin: 52px auto 0;
  scroll-margin-top: 16px;
}
.journey-section h2 {
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  margin: 0 0 10px;
}
.journey-grid,
.prices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px;
  margin-top: 25px;
}
.step,
.price {
  background: #203d58;
  border: 1px solid #526b83;
  border-radius: 16px;
  padding: 25px;
}
.step span {
  color: #edc574;
  font-weight: 800;
  letter-spacing: 0.12em;
  font-size: 0.8rem;
}
.step h3,
.price h3 {
  font-size: 1.5rem;
  margin: 12px 0;
}
.step p,
.price p {
  margin: 0 0 18px;
}
.step a {
  font-weight: 700;
  text-underline-offset: 4px;
}
.next-hint {
  border-top: 1px solid #60788b;
  padding-top: 13px;
  color: #f6d596 !important;
  font-weight: 700;
}
.activity {
  background: #f8fafb;
  color: #172940;
  border-radius: 19px;
  padding: clamp(19px, 4vw, 38px);
  margin-top: 22px;
}
.activity p {
  color: #526477;
}
.activity .row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.activity select,
.activity input {
  font: inherit;
  border: 1px solid #9dafbf;
  border-radius: 8px;
  min-height: 45px;
  padding: 8px 11px;
  max-width: 100%;
}
.activity button {
  font: inherit;
  cursor: pointer;
  background: #173b5e;
  color: white;
  border: 0;
  border-radius: 8px;
  padding: 11px 16px;
  min-height: 45px;
  font-weight: 700;
}
.activity button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.activity .choice {
  display: block;
  width: 100%;
  text-align: left;
  background: white;
  color: #193754;
  border: 1px solid #b9c9d6;
  margin: 8px 0;
}
.activity .choice[aria-pressed="true"] {
  border: 2px solid #c8912a;
  background: #fff5df;
}
.activity .result {
  background: #e9f1f6;
  border-radius: 10px;
  padding: 17px;
  margin-top: 18px;
  line-height: 1.55;
}
.activity .result[hidden],
.activity[hidden] {
  display: none;
}
.activity .muted {
  font-size: 0.9rem;
}
.activity .progressline {
  font-weight: 700;
  color: #44627b;
}
.activity .answers {
  max-width: 780px;
}
.review-list {
  display: grid;
  gap: 11px;
}
.review-item {
  background: #fff;
  border: 1px solid #cfdce5;
  border-radius: 10px;
  padding: 15px;
}
.review-item summary {
  cursor: pointer;
  font-weight: 700;
}
.review-item p {
  margin: 8px 0;
}
.price.featured {
  border-color: #edc574;
  box-shadow: inset 0 0 0 1px #edc574;
}
.price ul {
  padding-left: 20px;
  line-height: 1.8;
  color: #d9e6ef;
}
.price li {
  margin: 6px 0;
}
.price .state {
  font-size: 0.83rem;
  color: #f3d78f;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 800;
}
.journey .disclaimer {
  font-size: 0.85rem;
  color: #c0d1df;
}
.journey button:focus-visible,
.journey a:focus-visible,
.journey select:focus-visible {
  outline: 3px solid #f4cd78;
  outline-offset: 3px;
}
@media (max-width: 820px) {
  .journey-hero {
    grid-template-columns: 1fr;
    margin-top: 45px;
    gap: 25px;
  }
  .journey-grid,
  .prices {
    grid-template-columns: 1fr;
  }
  .journey {
    padding-bottom: 42px;
  }
  .journey .cta {
    width: 100%;
    text-align: center;
    margin-right: 0;
  }
  .journey-links {
    width: 100%;
    overflow: auto;
    flex-wrap: nowrap;
  }
  .journey-links a {
    white-space: nowrap;
  }
}

#study {
  scroll-margin-top: 12px;
}
#markPracticed {
  border-color: #b98c39;
  color: #70511a;
  background: #fff9ea;
}
.price-amount {
  font:
    700 2.35rem Georgia,
    serif;
  color: #f0c877;
  margin: 2px 0 16px;
}
.price-amount small {
  font:
    400 0.95rem "Source Serif 4",
    ui-sans-serif,
    system-ui,
    sans-serif;
  color: #d3e1eb;
}
.landing .journey-hero {
  margin-top: 56px;
}
.landing h1 {
  font-size: clamp(2.15rem, 4vw, 3.8rem);
  line-height: 1.12;
}
.landing .journey-lead {
  font-size: 1.08rem;
}
.landing .score {
  font-size: 2.5rem;
}
.landing .journey-section {
  margin-top: 70px;
}
.platform-journey {
  padding-bottom: 44px;
}
.platform-journey h1 {
  font-size: clamp(1.9rem, 3vw, 2.9rem);
  margin: 10px 0;
}
.platform-intro {
  max-width: 1260px;
  margin: 35px auto 20px;
}
.platform-intro p {
  max-width: 740px;
  margin: 0;
}
.platform-journey .journey-section {
  margin-top: 40px;
}
.account-page {
  min-height: 100vh;
}
.account-main {
  max-width: 710px;
  margin: 9vh auto 0;
}
.account-main h1 {
  font-size: clamp(2rem, 3.5vw, 3.25rem);
}
.account-card {
  background: #203d58;
  border: 1px solid #637b90;
  border-radius: 17px;
  padding: 26px;
  margin: 24px 0;
}
.account-card h2 {
  font-size: 1.55rem;
  margin: 0 0 9px;
}
.account-card .cta {
  margin-top: 12px;
}
.account-card [hidden] {
  display: none;
}
@media (max-width: 620px) {
  .landing .journey-hero {
    margin-top: 36px;
  }
  .account-main {
    margin: 50px auto 0;
  }
  .account-card {
    padding: 20px;
  }
}
.profile-page .shell {
  display: none;
}
.profile-page .platform-intro .cta {
  margin-top: 19px;
}
.practice-top {
  padding-top: 13px;
  padding-bottom: 13px;
}
.practice-top .journey-nav {
  min-height: 45px;
}
/* Prêt-à-passer · Riviera */
.landing {
  background: #f7f7f2;
  color: #1a2b4a;
  min-height: 100vh;
  padding-bottom: 0;
}
.landing .journey-nav {
  border-bottom: 2px solid #1f3a6b;
  padding-bottom: 14px;
}
.brand-link {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  text-decoration: none;
  color: #1f3a6b !important;
}
.brand-link img {
  object-fit: contain;
  flex: none;
}
.chat-head img {
  object-fit: cover;
  flex: none;
}
.landing .journey-nav strong {
  color: #1f3a6b;
  font-size: 1.65rem;
}
.landing .journey-links a {
  border-color: #c5d3df;
  color: #1f3a6b;
  background: white;
}
.landing .journey-links a:hover {
  background: #e7f3fa;
}
.landing .journey-hero {
  grid-template-columns: minmax(0, 1fr) minmax(310px, 0.83fr);
  align-items: start;
  gap: clamp(24px, 5vw, 70px);
  margin: 56px auto 42px;
}
.landing .journey-kicker {
  color: #c7362f;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
}
.landing h1,
.landing h2,
.landing h3 {
  color: #1f3a6b;
}
.landing h1 {
  font-size: clamp(2.1rem, 3.5vw, 3.55rem);
  max-width: 740px;
  line-height: 1.13;
}
.landing p {
  color: #51607a;
}
.landing .journey-lead {
  font-size: 1.1rem;
  color: #1a2b4a;
}
.landing .official-note {
  border-left: 3px solid #5aa9d6;
  padding-left: 13px;
  font-size: 0.91rem;
  margin: 19px 0;
}
.landing .official-note a,
.landing footer a {
  color: #1f3a6b;
  text-underline-offset: 3px;
}
.landing .threshold {
  font-weight: 700;
  color: #1f3a6b;
}
.landing .cta {
  background: #f4d35e;
  color: #1f3a6b;
  border: 1px solid #f4d35e;
  margin-top: 17px;
}
.landing .cta:hover,
.waitlist button:hover {
  background: #ffe381;
}
.hero-proof {
  display: grid;
  gap: 15px;
}
.chloe-chat {
  background: #fff;
  border: 1px solid #cddbe6;
  border-radius: 20px;
  padding: 22px;
  box-shadow: 0 12px 30px rgba(31, 58, 107, 0.08);
}
.chat-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}
.chat-head strong {
  font:
    700 1.3rem Georgia,
    serif;
  color: #1f3a6b;
  display: block;
}
.chat-head span {
  font-size: 0.82rem;
  color: #51607a;
}
.bubble {
  padding: 12px 15px;
  border-radius: 14px;
  margin: 11px 0;
  max-width: 88%;
  line-height: 1.5;
}
.bubble b {
  font-size: 0.78rem;
  color: #1f3a6b;
}
.bubble p {
  margin: 3px 0 0;
  color: #1a2b4a;
}
.bubble.chloe {
  background: #eaf4fa;
  border-bottom-left-radius: 3px;
}
.bubble.you {
  background: #fff4c9;
  margin-left: auto;
  border-bottom-right-radius: 3px;
}
.score-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  border: 1px solid #bfd4e4;
  border-radius: 15px;
  background: white;
  padding: 15px 19px;
}
.score-card small {
  font-size: 0.72rem;
  color: #51607a;
  letter-spacing: 0.08em;
}
.score-card strong {
  font:
    700 2rem Georgia,
    serif;
  color: #1f3a6b;
  display: block;
}
.score-card p {
  margin: 0;
  max-width: 190px;
  font-size: 0.88rem;
}
.landing .journey-section {
  margin-top: 65px;
}
.landing .journey-section h2 {
  font-size: clamp(1.8rem, 2.7vw, 2.5rem);
}
.landing .step,
.landing .price {
  background: #fff;
  border: 1px solid #cbd9e5;
  box-shadow: 0 5px 20px rgba(31, 58, 107, 0.04);
}
.landing .step span,
.landing .price .state {
  color: #c7362f;
}
.landing .step h3,
.landing .price h3 {
  color: #1f3a6b;
}
.landing .step p,
.landing .price p,
.landing .price li {
  color: #51607a;
}
.landing .step a {
  color: #1f3a6b;
}
.landing .price.featured {
  border: 2px solid #5aa9d6;
  box-shadow: 0 12px 28px rgba(31, 58, 107, 0.08);
}
.landing .price-amount {
  color: #1f3a6b;
  font-size: 2.15rem;
}
.landing .price-amount small {
  color: #51607a;
}
.landing .soon {
  display: inline-block;
  background: #ffe8e4;
  color: #a92f29;
  border-radius: 5px;
  padding: 2px 7px;
  font-size: 0.73rem;
  font-weight: 800;
  white-space: nowrap;
  margin-left: 4px;
}
.landing .waitlist {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  align-items: start;
  background: #1f3a6b;
  border-radius: 18px;
  padding: clamp(20px, 3vw, 34px);
  margin-top: 26px;
}
.landing .waitlist h3 {
  color: #f7f7f2;
  margin: 0 0 8px;
  font-size: 1.6rem;
}
.landing .waitlist p {
  color: #dfe9f1;
  margin: 0;
}
.waitlist form {
  display: grid;
  gap: 8px;
}
.waitlist label {
  color: #f7f7f2;
  font-weight: 700;
  font-size: 0.88rem;
}
.waitlist-row {
  display: flex;
  gap: 8px;
}
.waitlist input[type="email"] {
  font: inherit;
  border: 1px solid #9db5c7;
  border-radius: 8px;
  padding: 11px;
  min-width: 0;
  flex: 1;
  min-height: 46px;
}
.waitlist button {
  font: inherit;
  background: #f4d35e;
  color: #1f3a6b;
  border: 0;
  border-radius: 8px;
  padding: 10px 16px;
  font-weight: 800;
  cursor: pointer;
  min-height: 46px;
}
.waitlist button:disabled {
  opacity: 0.65;
  cursor: wait;
}
.waitlist .consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-weight: 400;
  line-height: 1.4;
}
.waitlist .consent input {
  margin-top: 4px;
  flex: none;
}
.waitlist #waitlistStatus {
  min-height: 1.4em;
  font-size: 0.9rem;
}
.landing footer {
  max-width: 1260px;
  margin: 65px auto 0;
  border-top: 1px solid #c7d6e0;
  padding: 22px 0 35px;
  color: #51607a;
  font-size: 0.85rem;
}
.landing :focus-visible {
  outline: 3px solid #5aa9d6;
  outline-offset: 3px;
}
@media (max-width: 850px) {
  .landing .journey-hero,
  .landing .waitlist {
    grid-template-columns: 1fr;
  }
  .landing .journey-hero {
    margin-top: 35px;
  }
  .landing .journey-grid,
  .landing .prices {
    grid-template-columns: 1fr;
  }
  .landing .score-card p {
    max-width: none;
  }
}
@media (max-width: 520px) {
  .landing h1 {
    font-size: 2.15rem;
  }
  .landing .journey-links {
    flex-wrap: wrap;
  }
  .landing .journey-links a {
    font-size: 0.8rem;
    padding: 8px;
  }
  .waitlist-row {
    flex-direction: column;
  }
  .waitlist-row button {
    width: 100%;
  }
  .landing .score-card {
    align-items: flex-start;
    flex-direction: column;
  }
}
/* Prêt-à-passer across account and practice */
.account-page {
  background: #f7f7f2;
  color: #1a2b4a;
}
.account-page .journey-nav strong {
  color: #f4d35e;
}
.account-page .account-main h1 {
  color: #1f3a6b;
}
.account-page .account-main > p {
  color: #51607a;
}
.account-page .cta {
  background: #f4d35e;
  color: #1f3a6b;
  border: 1px solid #f4d35e;
}
.account-page .cta.secondary {
  background: transparent;
  color: #1f3a6b;
  border: 1px solid #1f3a6b;
}
.account-page .account-card {
  background: #1f3a6b;
}
.account-page .account-card h2 {
  color: #f7f7f2;
}
.account-page .account-card p {
  color: #dfe9f1;
}
.practice-top,
.platform-journey {
  background: #1f3a6b;
}
.practice-top .journey-nav strong,
.platform-journey .journey-nav strong {
  color: #f7f7f2;
}
.practice-top .journey-links a,
.platform-journey .journey-links a {
  color: #f7f7f2;
  border-color: #89a7c2;
}
.platform-journey .cta {
  background: #f4d35e;
  color: #1f3a6b;
  border-color: #f4d35e;
}
.shell aside {
  background: #1f3a6b;
}
.shell .mark {
  border-color: #f4d35e;
  color: #f4d35e;
}
.shell .brand img {
  object-fit: contain;
}
.shell main {
  background: #f7f7f2;
}
.shell .interview {
  background: #1f3a6b;
}
.shell .interview img {
  border-color: #f4d35e;
}
.shell .btn.primary {
  background: #1f3a6b;
  border-color: #1f3a6b;
}
.shell .interview .btn.primary {
  background: #f4d35e;
  border-color: #f4d35e;
  color: #1f3a6b;
}
.shell .bar span {
  background: #5aa9d6;
}
.account-page .brand-link,
.practice-top .brand-link,
.platform-journey .brand-link {
  color: #f7f7f2 !important;
}
.account-page .brand-link strong {
  color: #f7f7f2;
}
.platform-journey .soon {
  display: inline-block;
  background: #ffe8e4;
  color: #a92f29;
  border-radius: 5px;
  padding: 2px 7px;
  font-size: 0.73rem;
  font-weight: 800;
}
.brand-link img,
.chat-head img,
.shell .brand img {
  border-radius: 50%;
}
.landing .journey-hero {
  display: block;
  max-width: 1000px;
}
.landing .hero-proof {
  max-width: 720px;
  grid-template-columns: 1fr;
  margin: 24px 0;
}
.landing .score-card {
  max-width: 720px;
}
.landing .hero-copy > .journey-lead {
  max-width: 720px;
}
.language-toggle {
  min-height: 41px;
  border: 2px solid currentColor;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font:
    800 0.84rem "Source Serif 4",
    ui-sans-serif,
    system-ui,
    sans-serif;
  letter-spacing: 0.08em;
  padding: 7px 12px;
  cursor: pointer;
}
.landing .language-toggle {
  color: #1f3a6b;
  background: #f4d35e;
  border-color: #f4d35e;
}
.account-page .language-toggle,
.practice-top .language-toggle,
.platform-journey .language-toggle {
  color: #f4d35e;
  border-color: #f4d35e;
}
.language-toggle:hover {
  filter: brightness(1.1);
}
.lang-note {
  font-size: 0.88rem;
  color: #51607a;
  line-height: 1.5;
}
.platform-journey .lang-note {
  color: #d9e6ef;
}
@media (max-width: 820px) {
  .journey-nav .brand-link {
    order: 1;
  }
  .journey-nav .language-toggle {
    order: 2;
    margin-left: auto;
  }
  .journey-nav .journey-links {
    order: 3;
  }
}
.platform-journey #simulate .journey-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 820px) {
  .platform-journey #simulate .journey-grid {
    grid-template-columns: 1fr;
  }
}
/* Refined controls and the Sérénité unlock state */
.landing .cta,
.platform-journey .cta,
.account-page .cta {
  font:
    700 1rem/1.25 "Source Serif 4",
    ui-sans-serif,
    system-ui,
    sans-serif;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 19px;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(31, 58, 107, 0.13);
  transition:
    background 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}
.landing .cta:hover,
.platform-journey .cta:hover,
.account-page .cta:hover {
  box-shadow: 0 7px 16px rgba(31, 58, 107, 0.17);
  transform: translateY(-1px);
}
.journey-links a {
  border-radius: 999px;
}
.activity button,
.waitlist button {
  border-radius: 11px;
  box-shadow: 0 2px 7px rgba(31, 58, 107, 0.12);
  transition:
    background 0.18s ease,
    box-shadow 0.18s ease;
}
.activity button:hover:not(:disabled) {
  background: #285681;
  box-shadow: 0 5px 12px rgba(31, 58, 107, 0.17);
}
.activity .choice {
  border-radius: 12px;
  box-shadow: none;
}
.activity .choice:hover:not(:disabled) {
  background: #edf5fa;
}
.shell .btn {
  border-radius: 11px;
  box-shadow: 0 2px 7px rgba(31, 58, 107, 0.09);
  transition:
    background 0.18s ease,
    box-shadow 0.18s ease;
}
.shell .btn:hover:not(:disabled) {
  box-shadow: 0 5px 12px rgba(31, 58, 107, 0.15);
}
.shell .nav button {
  border-radius: 11px;
  min-height: 44px;
  align-items: center;
}
.shell .nav button:focus-visible {
  outline: 3px solid #f4d35e;
  outline-offset: 2px;
}
.personal-lock {
  display: grid;
  gap: 12px;
  background: #eef5fb;
  border: 1px solid #b8d3e7;
  border-radius: 16px;
  padding: clamp(19px, 3vw, 30px);
  margin-top: 20px;
  color: #1f3a6b;
}
.personal-lock[hidden] {
  display: none;
}
.personal-lock h3 {
  font:
    700 clamp(1.25rem, 2vw, 1.65rem) / 1.2 Georgia,
    serif;
  margin: 0;
}
.personal-lock p {
  line-height: 1.55;
  margin: 0;
  max-width: 650px;
}
.personal-lock .lock-label {
  color: #c7362f;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 800;
}
.personal-lock .btn {
  justify-self: start;
  text-decoration: none;
  background: #f4d35e !important;
  border-color: #f4d35e !important;
  color: #1f3a6b !important;
  border-radius: 999px;
  padding: 11px 19px;
}
.personal-lock small {
  color: #51607a;
  font-size: 0.85rem;
}
@media (max-width: 620px) {
  .landing .cta {
    width: auto;
    max-width: 100%;
    padding: 11px 18px;
  }
  .personal-lock .btn {
    justify-self: stretch;
    text-align: center;
  }
}
/* Shared navigation and signed-in hub */
.journey-nav {
  flex-wrap: nowrap;
}
.journey-links {
  align-items: center;
}
.journey-links a,
.language-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 999px;
  padding: 9px 16px;
  font-size: 0.9rem;
  font-weight: 700;
  white-space: nowrap;
}
.language-toggle {
  min-width: 52px;
}
.journey-nav .brand-link {
  flex: none;
}
.dashboard {
  min-height: 100vh;
  background: #f7f7f2;
  color: #1f3a6b;
}
.dashboard .journey-nav {
  border-bottom: 2px solid #1f3a6b;
  padding-bottom: 14px;
}
.dashboard .journey-nav strong {
  color: #1f3a6b;
}
.dashboard .journey-links a {
  background: #fff;
  color: #1f3a6b;
  border-color: #c5d3df;
}
.dashboard .language-toggle {
  color: #1f3a6b;
  background: #f4d35e;
  border-color: #f4d35e;
}
.dashboard-main {
  max-width: 1260px;
  margin: 46px auto;
}
.dashboard-main h1 {
  font-size: clamp(2.3rem, 4vw, 3.6rem);
  margin: 7px 0;
}
.dashboard-main > p {
  color: #51607a;
}
.dashboard-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  margin: 26px 0;
}
.dashboard-stats article,
.recommended,
.destination {
  background: white;
  border: 1px solid #cbd9e5;
  border-radius: 17px;
  padding: 23px;
}
.dashboard-stats span {
  display: block;
  color: #51607a;
  font-size: 0.9rem;
}
.dashboard-stats strong {
  display: block;
  font:
    700 1.7rem Georgia,
    serif;
  margin-top: 9px;
}
.recommended {
  border-left: 5px solid #5aa9d6;
}
.recommended h2 {
  font-size: 1.7rem;
  margin: 8px 0;
}
.recommended p {
  color: #51607a;
  margin: 0;
}
.dashboard .cta {
  background: #f4d35e;
  color: #1f3a6b;
  border: 0;
  border-radius: 999px;
  padding: 12px 20px;
  text-decoration: none;
  font-weight: 800;
  display: inline-flex;
  margin-top: 20px;
}
.dashboard-destinations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 23px;
}
.destination {
  text-decoration: none;
  color: #1f3a6b !important;
  min-height: 206px;
  display: flex;
  flex-direction: column;
}
.destination:hover {
  border-color: #5aa9d6;
  box-shadow: 0 10px 25px #1f3a6b1a;
}
.destination span {
  color: #c7362f;
  font-weight: 800;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
}
.destination h2 {
  font-size: 1.65rem;
  margin: 13px 0 5px;
}
.destination p {
  color: #51607a;
  margin: 0;
}
.destination strong {
  margin-top: auto;
  padding-top: 18px;
}
.welcome-video {
  max-width: 720px;
  margin: 22px 0;
}
.welcome-video video {
  display: block;
  width: 100%;
  max-height: 450px;
  object-fit: contain;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 14px 30px #1f3a6b22;
}
.welcome-video p {
  font-size: 0.9rem;
  margin: 8px 0;
}
.pricing-within {
  scroll-margin-top: 25px;
  margin-top: 58px;
}
.study-callout {
  margin-top: 24px;
  border: 1px solid #bdd4e5;
  background: #edf6fb;
  border-radius: 16px;
  padding: 25px;
}
.study-callout strong {
  font:
    700 1.45rem Georgia,
    serif;
}
.study-callout p {
  margin: 8px 0;
}
.study-callout a,
.back-link,
.practice-return a {
  font-weight: 700;
  text-underline-offset: 4px;
}
.activity-return {
  margin-top: 28px;
}
.practice-return {
  background: #1f3a6b;
  color: #fff;
  margin: 0;
  padding: 10px clamp(20px, 4vw, 60px);
}
.account-page .account-main {
  max-width: 780px;
}
.account-page .account-card label {
  display: block;
  color: white;
  font-weight: 700;
  margin: 14px 0 7px;
}
.promo-row {
  display: flex;
  gap: 8px;
}
.promo-row input {
  flex: 1;
  min-width: 0;
  font: inherit;
  padding: 12px;
  border-radius: 9px;
  border: 1px solid #a5bfd3;
}
.promo-row button,
.promo-row ~ p button {
  font:
    700 1rem "Source Serif 4",
    system-ui,
    sans-serif;
  background: #f4d35e;
  color: #1f3a6b;
  border: 0;
  border-radius: 999px;
  padding: 11px 17px;
  cursor: pointer;
}
.account-page .account-card #promoStatus {
  line-height: 1.6;
}
.account-page .account-card #promoStatus button {
  display: block;
  margin-top: 12px;
}
.account-page .journey-nav {
  border-bottom: 1px solid #6d8aa5;
  padding-bottom: 14px;
}
.account-page .journey-nav .language-toggle {
  flex: none;
}
@media (max-width: 820px) {
  .journey-nav {
    flex-wrap: wrap;
  }
  .journey-links {
    overflow-x: auto;
    max-width: 100%;
  }
  .dashboard-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .dashboard-destinations {
    grid-template-columns: 1fr;
  }
  .dashboard-main {
    margin-top: 30px;
  }
  .promo-row {
    flex-direction: column;
  }
}
@media (max-width: 450px) {
  .dashboard-stats {
    grid-template-columns: 1fr 1fr;
  }
  .dashboard-stats article {
    padding: 16px;
  }
  .dashboard-stats strong {
    font-size: 1.3rem;
  }
  .journey-links a {
    font-size: 0.82rem;
    padding: 8px 12px;
  }
}
.platform-journey .journey-grid.single-card {
  grid-template-columns: 1fr !important;
  max-width: 620px;
}
.platform-journey .journey-grid.single-card .step {
  background: #203d58;
}
.video-frame {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 14px 30px #1f3a6b22;
}
.welcome-video .video-frame video {
  border-radius: 0;
  box-shadow: none;
}
.video-brand {
  position: absolute;
  top: clamp(14px, 3vw, 28px);
  left: clamp(16px, 3vw, 30px);
  font:
    700 clamp(1.35rem, 3.5vw, 2.25rem) Georgia,
    serif;
  letter-spacing: -0.02em;
  color: #1f3a6b;
  background: rgba(255, 255, 255, 0.86);
  padding: 7px 14px;
  border-radius: 9px;
  pointer-events: none;
}
.video-frame.playing .video-brand {
  display: none;
}
/* Homepage layout and type scale */
.landing {
  font-size: 17px;
  line-height: 1.55;
}
.landing .journey-nav,
.landing .journey-hero,
.landing .journey-section,
.landing footer {
  max-width: 1260px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.landing .journey-nav {
  flex-wrap: nowrap;
  gap: 20px;
}
.landing .journey-nav strong {
  font-size: 22px;
}
.landing .journey-links {
  margin-left: auto;
  width: auto;
  flex: 0 1 auto;
  overflow: visible;
  align-items: center;
}
.landing .journey-links a {
  font-size: 17px;
  line-height: 1.2;
  min-height: 48px;
  padding: 10px 17px;
  border-radius: 12px;
  background: transparent;
  border-color: transparent;
  font-weight: 600;
}
.landing .journey-links a:hover {
  background: #e8f3fa;
}
.landing .journey-links .nav-action {
  background: #f4d35e;
  border-color: #f4d35e;
  color: #1f3a6b;
}
.landing .journey-links .nav-action:hover {
  background: #f0c83a;
}
.landing .journey-links [hidden] {
  display: none !important;
}
.landing .language-toggle {
  color: #1f3a6b;
  background: transparent;
  border: 1px solid #7697b2;
  border-radius: 12px;
  min-height: 48px;
  min-width: 52px;
  font-size: 17px;
  letter-spacing: 0;
  margin-left: 4px;
}
.landing h1 {
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin: 12px 0 18px;
}
.landing h2 {
  font-size: 30px;
  line-height: 1.16;
  margin: 0 0 18px;
}
.landing h3 {
  font-size: 22px;
  line-height: 1.25;
}
.landing p,
.landing li,
.landing a,
.landing button,
.landing input {
  font-size: 17px;
}
.landing .journey-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
  margin-top: 42px;
}
.landing .hero-copy {
  max-width: 600px;
}
.landing .hero-context {
  font-size: 15px;
  color: #1f3a6b;
  font-weight: 600;
  margin: 0;
  letter-spacing: 0;
  text-transform: none;
}
.landing .journey-lead {
  font-size: 17px;
  line-height: 1.55;
  max-width: 590px;
  margin: 0 0 22px;
}
.landing .cta {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 12px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
.landing .official-note {
  font-size: 15px;
  line-height: 1.5;
  color: #405574;
  margin: 23px 0 0;
  padding-left: 13px;
}
.landing .official-note a {
  font-size: 15px;
}
.landing .hero-media {
  min-width: 0;
  display: grid;
  gap: 14px;
}
.landing .welcome-video {
  max-width: none;
  margin: 0;
}
.landing .video-frame {
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 16px;
  background: #f7f7f2;
  box-shadow: 0 14px 30px #1f3a6b22;
}
.landing .welcome-video .video-frame video {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center 35%;
  border-radius: 0;
  background: #f7f7f2;
}
.landing .video-brand {
  font-size: 22px;
  top: 18px;
  left: 18px;
  padding: 6px 12px;
}
.landing .chloe-chat {
  padding: 18px;
  max-width: none;
}
.landing .chat-head {
  margin-bottom: 10px;
}
.landing .chat-head strong {
  font-size: 22px;
}
.landing .chat-head span {
  font-size: 15px;
}
.landing .bubble {
  font-size: 17px;
  max-width: 93%;
  padding: 10px 13px;
  margin: 8px 0;
}
.landing .bubble b {
  font-size: 15px;
}
.landing .bubble p {
  font-size: 17px;
  line-height: 1.45;
}
.landing .bubble.you {
  background: #ddeff8;
}
.landing .bubble.chloe {
  background: #eaf4fa;
}
.landing .score-card {
  display: block;
  max-width: none;
  padding: 17px 20px;
}
.landing .score-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.landing .score-card small {
  font-size: 15px;
  letter-spacing: 0;
  text-transform: none;
  color: #405574;
}
.landing .score-card strong {
  font-size: 22px;
  line-height: 1.2;
}
.landing .score-card p {
  font-size: 15px;
  line-height: 1.45;
  max-width: 240px;
}
.landing .score-track {
  height: 9px;
  border-radius: 99px;
  background: #d2dfe9;
  position: relative;
  margin: 14px 0 9px;
}
.landing .score-fill {
  display: block;
  width: 95%;
  height: 100%;
  background: #5aa9d6;
  border-radius: 99px;
}
.landing .score-marker {
  position: absolute;
  left: 80%;
  top: -4px;
  height: 17px;
  border-left: 3px solid #1f3a6b;
}
.landing .score-threshold {
  max-width: none !important;
  font-size: 17px !important;
  font-weight: 700;
  color: #1f3a6b !important;
  margin: 0;
}
.landing .journey-section {
  margin-top: 62px;
}
.landing .journey-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
  margin-top: 20px;
}
.landing .step,
.landing .price {
  padding: 23px;
  min-width: 0;
}
.landing .step span,
.landing .price .state {
  font-size: 15px;
  color: #1f3a6b;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
.landing .step h3,
.landing .price h3 {
  font-size: 22px;
  margin: 11px 0;
}
.landing .step p,
.landing .price p {
  font-size: 17px;
  line-height: 1.5;
}
.landing .step a {
  font-size: 17px;
  text-decoration: underline;
  text-decoration-color: #5aa9d6;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.landing .pricing-within {
  margin-top: 64px;
}
.landing .prices {
  margin-top: 22px;
  gap: 16px;
}
.landing .price {
  display: flex;
  flex-direction: column;
  position: relative;
}
.landing .price.featured {
  border: 3px solid #1f3a6b;
  box-shadow: 0 12px 30px #1f3a6b21;
  padding: 21px;
}
.landing .plan-tag {
  align-self: flex-start;
  background: #1f3a6b;
  color: #f7f7f2;
  border-radius: 7px;
  padding: 5px 10px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
}
.landing .price-amount {
  font-size: 30px;
  line-height: 1.1;
  margin: 3px 0 16px;
}
.landing .price-amount small {
  font-size: 17px;
}
.landing .price ul {
  font-size: 17px;
  line-height: 1.5;
  margin: 0 0 20px;
  padding-left: 22px;
}
.landing .price li {
  font-size: 17px;
  margin: 8px 0;
}
.landing .soon {
  font-size: 15px;
  background: #e5f2f9;
  color: #1f3a6b;
  border-radius: 5px;
  margin: 4px 0 0;
  padding: 4px 8px;
  display: inline-block;
  white-space: normal;
}
.landing .plan-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: auto;
  padding: 9px 17px;
  background: #f4d35e;
  color: #1f3a6b;
  text-decoration: none;
  border-radius: 12px;
  font-size: 17px;
  font-weight: 600;
  text-align: center;
}
.landing .plan-action:hover {
  background: #f0c83a;
}
.landing .plan-action.secondary {
  background: transparent;
  border: 2px solid #1f3a6b;
}
.landing .plan-action.secondary:hover {
  background: #e8f3fa;
}
.landing .waitlist {
  margin-top: 25px;
}
.landing .waitlist h3 {
  font-size: 22px;
}
.landing .waitlist p,
.landing .waitlist label,
.landing .waitlist input,
.landing .waitlist button {
  font-size: 17px;
}
.landing .waitlist .consent {
  font-size: 17px;
  line-height: 1.45;
  gap: 11px;
}
.landing .waitlist .consent span {
  font-size: 17px;
}
.landing .waitlist .consent input {
  width: 18px;
  height: 18px;
  margin-top: 4px;
}
.landing footer,
.landing footer a {
  font-size: 15px;
}
@media (max-width: 1100px) {
  .landing .journey-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 800px) {
  .landing .journey-hero {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }
  .landing .hero-copy {
    max-width: none;
  }
  .landing .journey-grid,
  .landing .prices {
    grid-template-columns: 1fr;
  }
  .landing .journey-nav {
    flex-wrap: wrap;
  }
  .landing .journey-links {
    order: 3;
    width: 100%;
    margin: 0;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .landing .language-toggle {
    order: 2;
    margin-left: auto;
  }
  .landing .hero-media {
    max-width: 640px;
  }
  .landing .score-card p {
    max-width: none;
  }
}
@media (max-width: 500px) {
  .landing {
    padding-left: 16px;
    padding-right: 16px;
  }
  .landing .journey-links a {
    font-size: 17px;
  }
  .landing h1 {
    font-size: 40px;
  }
  .landing .cta {
    width: 100%;
  }
  .landing .video-brand {
    font-size: 22px;
    top: 12px;
    left: 12px;
  }
  .landing .score-top {
    align-items: flex-start;
  }
  .landing .waitlist-row {
    flex-direction: column;
  }
}
.landing #waitlistStatus {
  font-size: 17px;
  line-height: 1.45;
  min-height: 1.45em;
}
.landing .waitlist input[type="email"] {
  font-size: 17px;
}
.landing .waitlist button {
  font-size: 17px;
}
.landing .price.featured .plan-tag {
  color: #f7f7f2;
}
.landing {
  font-family: Georgia, serif;
}
.landing .journey-section h2 {
  font-size: 30px;
  line-height: 1.16;
}
.landing .waitlist #waitlistStatus {
  font-size: 17px;
}
.landing .price-amount {
  font-variant-numeric: lining-nums tabular-nums;
}

/* Shared public color and type roles */
.landing .journey-links .nav-action {
  background: transparent;
  border: 1.5px solid #1f3a6b;
  color: #1f3a6b;
}
.landing .journey-links .nav-action:hover {
  background: #e6f1f9;
}
.landing .journey-nav {
  min-height: 72px;
}
.landing .soon {
  background: #fbe9e8;
  color: #9d2722;
}
.landing .bubble.you {
  background: #e6f1f9;
}
.landing .journey-section .step span {
  color: #1f3a6b;
}
.landing .journey-hero {
  align-items: start;
}
.landing .video-frame video::cue {
  background: rgba(14, 27, 51, 0.85);
  color: #fff;
  font:
    17px Georgia,
    serif;
}
.landing .score-card {
  font-variant-numeric: lining-nums tabular-nums;
}
@media (prefers-color-scheme: dark) {
  .landing {
    background: #1b3058;
    color: #eef1f6;
  }
  .landing h1,
  .landing h2,
  .landing h3,
  .landing .hero-context,
  .landing .official-note,
  .landing .official-note a,
  .landing .journey-links a,
  .landing .journey-nav strong,
  .landing footer,
  .landing footer a {
    color: #f7f7f2;
  }
  .landing .journey-lead,
  .landing .step p,
  .landing .price p,
  .landing .price li {
    color: #eef1f6;
  }
  .landing .step,
  .landing .price,
  .landing .chloe-chat,
  .landing .score-card {
    background: #243d6b;
    border-color: #3a5687;
  }
  .landing .step h3,
  .landing .price h3,
  .landing .price-amount,
  .landing .score-card strong,
  .landing .score-threshold,
  .landing .chat-head strong,
  .landing .bubble p,
  .landing .bubble b {
    color: #f7f7f2 !important;
  }
  .landing .bubble.you,
  .landing .bubble.chloe {
    background: #2e4a7d;
  }
  .landing .journey-links .nav-action,
  .landing .language-toggle {
    color: #f7f7f2;
    border-color: #c3cede;
  }
  .landing .score-card p,
  .landing .score-card small,
  .landing .chat-head span,
  .landing .step span,
  .landing .price .state {
    color: #c3cede;
  }
  .landing .plan-action.secondary {
    color: #f7f7f2;
    border-color: #c3cede;
  }
  .landing .step a {
    color: #f7f7f2;
  }
  .landing footer {
    border-color: #3a5687;
  }
}

.landing .mock-caveat {
  font-size: 15px;
  color: #405574;
  margin: 0 0 9px;
}
@media (prefers-color-scheme: dark) {
  .landing .mock-caveat {
    color: #c3cede;
  }
}

.chat-head .chloe-avatar {
  width: 56px;
  height: 56px;
}
.shell #avatar.chloe-avatar {
  width: 56px;
  height: 56px;
}
.chloe-avatar {
  display: inline-block;
  flex: none;
  width: 56px;
  height: 56px;
  border: 2px solid #5aa9d6;
  border-radius: 50%;
  background: #f7f7f2 url(/chloe-avatar-v2.webp) 20% 0%/200% auto no-repeat;
}

/* Homepage hero and proof: text beside the video; examples below. */
.landing .journey-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
  max-width: 1260px;
  margin: 36px auto 0;
}
.landing .hero-copy {
  max-width: none;
}
.landing .hero-media {
  min-width: 0;
  display: block;
}
.landing .video-frame {
  width: 100%;
  aspect-ratio: 5/4;
  overflow: hidden;
  border-radius: 18px;
  background: #f7f7f2;
  box-shadow: 0 18px 44px rgba(31, 58, 107, 0.18);
}
.landing .video-frame video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 30%;
  border-radius: 0;
  background: #f7f7f2;
}
.landing .proof-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
  max-width: 1260px;
  width: 100%;
  margin: 56px auto 0;
}
.landing .proof-row > .chloe-chat,
.landing .proof-row > .score-card {
  background: #fff;
  border: 1px solid #dce3ec;
  border-radius: 18px;
  padding: 26px;
  box-shadow: 0 8px 24px rgba(31, 58, 107, 0.06);
  height: 100%;
  min-width: 0;
}
.landing .chat-head {
  gap: 14px;
  margin-bottom: 18px;
}
.landing .chat-head .chloe-avatar {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  border-radius: 50%;
  border: 2px solid #5aa9d6;
  object-fit: cover;
  object-position: center 30%;
  background: #f7f7f2;
}
.landing .chat-head strong {
  font-size: 22px;
  line-height: 1.2;
}
.landing .chat-head span {
  display: block;
  font-size: 15px;
  color: #51607a;
}
.landing .bubble {
  max-width: 88%;
  padding: 12px 15px;
  margin: 12px 0;
}
.landing .bubble.chloe {
  background: #eef4fa;
}
.landing .bubble.you {
  background: #e6f1f9;
  border: 1px solid #cfe3f3;
  margin-left: auto;
}
.landing .bubble p {
  font-size: 17px;
}
.landing .bubble b {
  font-size: 15px;
  font-weight: 700;
}
.landing .proof-row .score-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0;
}
.landing .score-label,
.landing .review-label {
  display: block;
  font-size: 15px;
  color: #51607a;
}
.landing .score-number {
  display: block;
  font-variant-numeric: lining-nums tabular-nums;
  margin: 8px 0 12px;
  white-space: nowrap;
}
.landing .score-number span:first-child {
  font:
    700 44px/1 Georgia,
    serif;
  color: #1f3a6b;
}
.landing .score-number span:last-child {
  font:
    400 22px/1 Georgia,
    serif;
  color: #51607a;
}
.landing .score-track {
  height: 12px;
  margin: 5px 0 0;
  background: #d2dfe9;
}
.landing .score-marker {
  top: -3px;
  height: 18px;
}
.landing .pass-mark {
  font-size: 15px !important;
  color: #51607a !important;
  margin: 7px 0 20px !important;
  padding-left: calc(80% - 55px);
  max-width: none !important;
  white-space: nowrap;
}
.landing .score-threshold {
  font-size: 17px !important;
  line-height: 1.5;
  font-weight: 700;
  margin: 0 0 19px !important;
  max-width: none !important;
}
.landing .review-label {
  margin-bottom: 8px;
}
.landing .topic-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}
.landing .topic-pills span {
  font:
    400 15px/1.3 Georgia,
    serif;
  padding: 7px 12px;
  background: #e6f1f9;
  color: #1f3a6b;
  border-radius: 999px;
}
.landing .score-closing {
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: #1f3a6b !important;
  max-width: none !important;
}
@media (max-width: 760px) {
  .landing .journey-hero,
  .landing .proof-row {
    grid-template-columns: 1fr;
  }
  .landing .journey-hero {
    gap: 24px;
    margin-top: 25px;
  }
  .landing .hero-copy {
    max-width: none;
  }
  .landing .hero-copy .cta {
    width: 100%;
  }
  .landing .proof-row {
    gap: 16px;
    margin-top: 28px;
  }
  .landing .video-frame {
    aspect-ratio: 5/4;
  }
  .landing .proof-row > .chloe-chat,
  .landing .proof-row > .score-card {
    padding: 22px;
  }
  .landing {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (prefers-color-scheme: dark) {
  .landing .proof-row > .chloe-chat,
  .landing .proof-row > .score-card {
    background: #243d6b;
    border-color: #3a5687;
  }
  .landing .bubble.chloe,
  .landing .bubble.you {
    background: #2e4a7d;
    border-color: #3a5687;
  }
  .landing .score-number span:first-child,
  .landing .score-closing {
    color: #f7f7f2 !important;
  }
  .landing .score-number span:last-child,
  .landing .score-label,
  .landing .review-label,
  .landing .pass-mark {
    color: #c3cede !important;
  }
  .landing .topic-pills span {
    background: #2e4a7d;
    color: #eef1f6;
  }
  .landing .score-threshold {
    color: #f7f7f2 !important;
  }
}

@media (max-width: 760px) {
  .landing .hero-copy,
  .landing .hero-media {
    min-width: 0;
    max-width: 100%;
  }
  .landing .hero-copy .cta {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .landing .journey-hero {
    min-width: 0;
  }
  .landing .video-frame {
    max-width: 100%;
  }
}

.waitlist-signup {
  max-width: 520px;
  margin: 24px 0;
  padding: 20px;
  background: var(--card, #fff);
  border: 1px solid #b7cbdc;
  border-radius: 16px;
}
.waitlist-signup label {
  display: block;
  margin: 10px 0;
  font-size: 16px;
}
.waitlist-signup input[type="email"] {
  display: block;
  width: 100%;
  min-height: 44px;
  margin-top: 5px;
  padding: 8px;
}
.waitlist-signup input[type="checkbox"] {
  width: 20px;
  height: 20px;
}
.waitlist-signup .plan-action {
  cursor: pointer;
}
#parcours .journey-status {
  display: block;
  margin: 8px 0;
  font-size: 15px;
  color: var(--muted, #405574);
}
#parcours .journey-current > a {
  display: inline-flex;
  background: #f4d35e;
  color: #1f3a6b;
  border-radius: 12px;
  padding: 10px 14px;
  text-decoration: none;
}
#parcours .journey-current {
  border-color: #5aa9d6;
}

/* ---------- Homepage after the audit (H5, V3, V6) + Interview Insights ---------- */
.landing .journey-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media (max-width: 1000px) {
  .landing .journey-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .landing .journey-grid {
    grid-template-columns: 1fr;
  }
}
body:not(.signed-in) .landing .journey-grid .step a:not([data-t="shareLink"]) {
  display: none;
}
.landing .journey-cta {
  margin: 24px 0 8px;
}
body.signed-in .landing .journey-cta {
  display: none;
}
.landing .hero-insights {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 4px 0 0;
  font-weight: 600;
  color: var(--heading, #1f3a6b);
}
.landing .insights-band {
  margin: 56px 0 8px;
  background: #1f3a6b;
  color: #f7f7f2;
  border-radius: 24px;
  padding: clamp(24px, 4vw, 44px);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}
@media (max-width: 860px) {
  .landing .insights-band {
    grid-template-columns: 1fr;
  }
}
.landing .insights-band h2 {
  color: #f7f7f2 !important;
  margin: 0;
  font-size: clamp(26px, 3.4vw, 38px);
  line-height: 1.15;
}
.landing .insights-copy {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.landing .insights-copy p,
.landing .insights-copy li {
  color: #eef1f6 !important;
  margin: 0;
}
.landing .insights-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  color: #c3cede !important;
}
.landing .insights-copy ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.landing .insights-copy li::before {
  content: "✓";
  color: #f4d35e;
  font-weight: 700;
  margin-right: 10px;
}
.landing .insights-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.landing .insights-actions span,
.landing .insights-small {
  color: #c3cede !important;
  font-size: 15px;
}
.landing .insights-small {
  font-size: 13px;
}
.landing .insights-preview {
  background: #f7f7f2;
  color: #1a2b4a;
  border-radius: 18px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.landing .preview-label {
  margin: 0;
  font: 700 12px/1 system-ui, sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #51607a;
}
.landing .preview-select {
  min-height: 46px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  border: 1.5px solid #9fb3c8;
  border-radius: 12px;
  background: #fff;
}
.landing .preview-platform {
  margin: 0;
  font-size: 14px;
  border-left: 3px solid #5aa9d6;
  padding-left: 10px;
  color: #1a2b4a;
}
.landing .preview-bars {
  display: grid;
  gap: 8px;
}
.landing .preview-bars div {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 10px;
  align-items: center;
  font-size: 14px;
}
.landing .preview-bars i {
  display: block;
  height: 12px;
  border-radius: 0 4px 4px 0;
  background: linear-gradient(to right, #1f3a6b var(--w), #eef1f5 var(--w));
}
.landing .price .premium-insights {
  font-weight: 700;
  color: var(--heading, #1f3a6b);
}
/* V1: footer inside the page, styled */
.landing footer {
  padding: 24px clamp(16px, 4vw, 56px) 40px;
  border-top: 1px solid var(--border, #c7d6e4);
  color: var(--muted, #51607a);
  font-size: 15px;
}
.landing footer {
  box-sizing: border-box;
  max-width: 100%;
}
.landing .cta,
.landing .plan-action,
.landing button {
  font-family: var(--serif);
}
