:root {
  --ink:#1b2645;
  --ink-deep:#141c35;
  --ink-soft:#5c6478;
  --yellow:#f6d76b;
  --cream:#f8f5ef;
  --line:#dfe5ed;
  --paper:#fff;
  --section-space:48px;
  --heading-space:28px;
  --shadow:0 18px 45px rgba(27,38,69,.12)}

* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px}
body {
  margin:0;
  color:var(--ink);
  background:var(--cream);
  font-family:"Inter",sans-serif;
  line-height:1.6}
a {
  color:inherit}
h1,h2,h3,p {
  margin-top:0}
h1,h2,h3 {
  font-family:"Fraunces",serif;
  line-height:1.12;
  letter-spacing:-.035em}
h1 {
  font-size:clamp(2.6rem,4.4vw,3.7rem);
  margin-bottom:28px}
h2 {
  font-size:clamp(1.9rem,3vw,2.65rem);
  margin-bottom:var(--heading-space)}
h3 {
  font-size:1.3rem;
  margin-bottom:10px}
p {
  color:var(--ink-soft);
  margin-bottom:18px}
img {
  display:block}
.shell {
  width:min(1160px,calc(100% - 48px));
  margin-inline:auto}
.section {
  padding-block:var(--section-space)}
.eyebrow {
  font-family:"Inter",sans-serif;
  font-size:.69rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.2em;
  line-height:1.7;
  margin-bottom:20px}
.lead {
  font-size:1.08rem;
  line-height:1.6}
.small-note {
  font-size:.8rem;
  margin:20px 0 0}
.split {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:64px}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:52px;
  padding:13px 24px;
  border:2px solid var(--ink);
  border-radius:999px;
  color:white;
  background:var(--ink);
  box-shadow:0 7px 0 rgba(20,28,48,.1);
  font-size:.92rem;
  font-weight:800;
  text-decoration:none;
  transition:transform .2s,box-shadow .2s}
.button:hover {
  transform:translateY(-3px);
  box-shadow:0 10px 0 rgba(20,28,48,.12)}
.button-yellow {
  background:var(--yellow);
  color:var(--ink)}
a:focus-visible,summary:focus-visible {
  outline:3px solid #9c7216;
  outline-offset:5px}
.text-link {
  font-size:.88rem;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:var(--yellow);
  text-decoration-thickness:2px;
  text-underline-offset:7px}
.text-link:hover {
  text-decoration-color:currentColor}
.short-rule {
  display:block;
  width:48px;
  height:5px;
  background:var(--yellow);
  margin-bottom:20px}
.sr-only,.skip-link:not(:focus) {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap}
.skip-link:focus {
  position:fixed;
  z-index:200;
  top:12px;
  left:12px;
  padding:12px 24px;
  background:var(--yellow)}

.global-nav-shell {
  padding-bottom:22px;
  border-bottom:1px solid var(--line)}
.global-nav-links {
  gap:18px;
  flex-wrap:wrap;
  justify-content:flex-end}
.global-nav-links a,.global-resources-menu summary {
  font-size:.82rem}
.global-nav-student,.global-nav-button {
  padding-inline:16px}

.hero-layout {
  display:grid;
  grid-template-columns:1.12fr 1fr;
  gap:40px;
  align-items:center;
  padding-block:24px 50px}
.hero-copy {
  padding-block:20px}
.hero-copy .lead {
  max-width:480px}
/* Original hero typography and supporting-line proportions. */
.hero h1 {
  max-width:720px;
  margin-bottom:24px;
  font-size:clamp(3.4rem,8vw,7.1rem);
}
.hero-headline-secondary {
  display:block;
  margin-top:.5em;
  font-size:.45em;
  line-height:1.2;
}
.hero-highlight {
  background:linear-gradient(transparent calc(100% - .37em),var(--yellow) calc(100% - .37em),var(--yellow) calc(100% - .07em),transparent calc(100% - .07em));
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
.actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:24px;
  margin-top:26px}
.first-week-stage {
  background:var(--ink);
  padding:30px 32px 18px;
  box-shadow:inset 0 0 90px rgba(0,0,0,.15)}
.paper {
  background:var(--cream);
  padding:30px;
  border:1px solid var(--line);
  border-radius:5px;
  box-shadow:var(--shadow)}
.first-week h2 {
  font-size:1.55rem;
  margin-bottom:18px}
.first-week .eyebrow {
  font-size:.58rem;
  letter-spacing:.17em}
.week-steps {
  list-style:none;
  counter-reset:week;
  margin:0;
  padding:0}
.week-steps li {
  display:flex;
  gap:16px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
  counter-increment:week}
.week-steps li:last-child {
  border:0;
  padding-bottom:0}
.week-steps li::before {
  content:counter(week);
  display:grid;
  place-items:center;
  flex:0 0 33px;
  height:33px;
  border-radius:50%;
  background:var(--yellow);
  font-family:"Fraunces",serif;
  font-size:1.2rem}
.week-steps h3 {
  font-size:1.1rem;
  margin:0 0 5px}
.week-steps p {
  font-size:.75rem;
  line-height:1.55;
  margin:0}
.three-columns {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px}
.three-columns> *+* {
  border-left:1px solid var(--line);
  padding-left:32px}
.three-columns p {
  font-size:.9rem;
  margin:0}
.try-section {
  padding-block:var(--section-space);
  background:var(--ink);
  color:var(--cream)}
.try-section h2 {
  font-size:clamp(2.6rem,4.5vw,4rem)}
.try-section .lead {
  color:#d6dbe6;
  max-width:490px;
  margin:0}
.design-example {
  color:var(--ink)}
.design-example h3 {
  font-size:1.8rem}
.design-example dl {
  margin:0}
.design-example dl>div {
  display:grid;
  grid-template-columns:70px 1fr;
  gap:20px;
  padding-block:18px;
  border-bottom:1px solid var(--line)}
.design-example dl>div:last-child {
  border:0;
  padding-bottom:0}
.design-example dt {
  border-left:3px solid var(--yellow);
  padding-left:12px;
  font-size:.65rem;
  text-transform:uppercase;
  font-weight:800;
  align-self:start}
.design-example dd {
  margin:0;
  font-size:.82rem;
  color:var(--ink-soft)}
.journey {
  list-style:none;
  padding:0;
  margin:0}
.step-number {
  display:block;
  font-family:"Fraunces",serif;
  font-size:4rem;
  line-height:1;
  letter-spacing:-.06em;
  margin-bottom:20px}
.step-number::after {
  content:"";
  display:block;
  background:var(--yellow);
  width:48px;
  height:5px;
  margin-top:12px}
.journey h3 {
  font-size:1.45rem}
.section-heading {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
  margin-bottom:var(--heading-space)}
.section-heading h2 {
  font-size:2rem;
  margin-bottom:0}
.section-heading p {
  font-size:.72rem;
  margin-bottom:0}
.mode-cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px}
.mode-cards article {
  padding:28px;
  border:1px solid #8c97ab;
  border-radius:5px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  background:rgba(255,255,255,.35)}
.mode-cards h3 {
  font-size:1.85rem}
.mode-cards .short-rule {
  height:4px;
  margin-bottom:14px}
.mode-cards p {
  font-size:.86rem;
  flex:1}
.mode-cards .text-link {
  margin-bottom:6px}
.inside-section {
  background:#f0eadd;
  padding-block:var(--section-space)}
.inside-section h2 {
  font-size:2.1rem}
.workbook-visual {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:32px 0}
.workbook-visual img {
  width:80%;
  height:auto;
}
.included-list {
  margin:0 0 28px}
.included-list>div {
  border-left:3px solid var(--yellow);
  padding-left:16px;
  margin-bottom:18px}
.included-list dt {
  font-family:"Fraunces",serif;
  font-size:1.15rem;
  line-height:1.2}
.included-list dd {
  margin:5px 0 0;
  color:var(--ink-soft);
  font-size:.82rem}
.possibilities h2 {
  font-size:2.1rem}
.possibilities-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0}
.possibilities-grid article {
  padding:20px 28px;
  border-top:1px solid var(--line)}
.possibilities-grid article:not(:nth-child(3n+1)) {
  border-left:1px solid var(--line)}
.possibilities-grid h3 {
  font-size:1.15rem}
.possibilities-grid p {
  font-size:.82rem;
  margin:0}
.parents-section {
  background:#efe7d8;
  padding-block:var(--section-space)}
.parents-section h2 {
  font-size:2.3rem}
.parents-section p {
  font-size:.9rem}
.conversation {
  transform:rotate(-2deg);
  max-width:430px;
  margin-inline:auto}
.conversation h3 {
  font-size:1.5rem}
.conversation ul {
  list-style:none;
  padding:0;
  margin:0 0 20px}
.conversation li {
  padding:10px 0;
  border-bottom:1px solid var(--line);
  font-size:.8rem;
  color:var(--ink-soft)}
.conversation li::before {
  content:"";
  display:inline-block;
  width:10px;
  height:10px;
  border:1px solid var(--ink);
  margin-right:12px}
.faq {
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:60px}
.faq h2 {
  font-size:2rem}
.faq-list details {
  border-bottom:1px solid var(--line)}
.faq-list summary {
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:15px 30px 15px 0;
  font-size:.87rem;
  color:var(--ink)}
.faq-list summary::-webkit-details-marker {
  display:none}
.faq-list summary::after {
  content:"+";
  position:absolute;
  right:5px;
  font-size:1.2rem;
  top:10px}
.faq-list details[open] summary::after {
  content:"−"}
.faq-list p {
  font-size:.85rem;
  margin-bottom:18px}
.final-cta {
  text-align:center;
  padding-block:var(--section-space);
  background:var(--ink);
  color:var(--cream)}
.final-cta h2 {
  margin-bottom:12px}
.final-cta p {
  color:#d6dbe6;
  font-size:.9rem}
.final-cta .small-note {
  margin:16px 0 8px;
  font-size:.75rem}
.final-cta .text-link {
  color:var(--yellow);
  font-size:.8rem}
footer {
  padding:28px 0}
.footer-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:.8rem}

@media(min-width:851px) and (max-width:1100px) {
  .global-nav-links {
  gap:10px}
.global-nav-links a,.global-resources-menu summary {
  font-size:.72rem}
.global-nav-student,.global-nav-button {
  padding-inline:10px}
.global-nav-logo img {
  height:40px}
.split {
  gap:36px}
.first-week-stage {
  padding:24px 20px 16px}
.first-week {
  padding:24px}
}

@media(max-width:850px) {
  .hero-layout {
  grid-template-columns:1fr;
  gap:30px;
  max-width:660px}

.hero-copy .lead {
  max-width:none}
.first-week-stage {
  padding:28px}
.first-week {
  max-width:480px;
  margin:auto}
.split {
  gap:28px}
.three-columns {
  gap:20px}
.three-columns> *+* {
  padding-left:20px}
.mode-cards {
  gap:14px}
.mode-cards article {
  padding:20px}
.mode-cards h3 {
  font-size:1.5rem}
.section-heading {
  display:block}
.section-heading h2 {
  margin-bottom:12px}
.faq {
  gap:28px}
.workbook-visual {
  gap:12px}
.inside-section h2 {
  font-size:1.8rem}
}

@media(max-width:600px) {
  :root {
    --section-space:36px;
  }
  .shell {
  width:calc(100% - 36px)}
.section {
  padding-block:var(--section-space)}
.hero-layout {
  padding-top:0;
  padding-bottom:30px}
.hero-copy {
  padding-top:12px}
.hero .eyebrow {
  font-size:.62rem}
.actions {
  gap:22px}
.first-week-stage {
  padding:20px 18px 14px}
.paper {
  padding:24px}
.first-week h2 {
  font-size:1.4rem}
.three-columns,.split,.mode-cards,.faq {
  grid-template-columns:1fr}
.three-columns {
  gap:22px}
.three-columns> *+* {
  padding:22px 0 0;
  border-left:0;
  border-top:1px solid var(--line)}
.try-section {
  padding-block:var(--section-space)}
.try-section h2 {
  font-size:2.6rem}
.design-example dl>div {
  gap:14px;
  grid-template-columns:60px 1fr}
.journey {
  gap:24px}
.journey li {
  position:relative;
  padding-left:75px}
.journey li+li {
  padding-left:75px;
  padding-top:24px}
.step-number {
  position:absolute;
  left:0;
  font-size:3rem}
.step-number::after {
  width:36px;
  height:4px}
.mode-cards article {
  padding:26px}
.mode-cards h3 {
  font-size:1.9rem}
.inside-section {
  padding-block:var(--section-space)}
.workbook-visual {
  max-width:420px;
  padding:24px 10px 32px}
.possibilities-grid {
  grid-template-columns:1fr 1fr}
.possibilities-grid article {
  padding:18px 12px}
.possibilities-grid article:not(:nth-child(3n+1)) {
  border-left:0}
.possibilities-grid article:nth-child(even) {
  border-left:1px solid var(--line)}
.parents-section {
  padding-block:var(--section-space)}
.conversation {
  transform:none;
  width:100%}
.faq {
  gap:4px}
.final-cta {
  padding-block:var(--section-space)}
.footer-row {
  flex-wrap:wrap;
  justify-content:center;
  text-align:center}
.footer-row>span:last-child {
  flex-basis:100%}
.button {
  padding-inline:20px;
  font-size:.85rem}
}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}
*,*::before,*::after {
  transition:none!important}
}


/* Full-width white bands retain the existing content width. */
.global-site-header,
.hero,
.modes-section,
.possibilities {
  background: var(--paper);
}

/* Original hero eyebrow, including its yellow rule. */
.hero-copy > .eyebrow {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:22px;
  color:#33456d;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero-copy > .eyebrow::before {
  content:"";
  flex:0 0 29px;
  height:3px;
  background:var(--yellow);
}
@media(max-width:540px) {
  .hero h1 {
    font-size:clamp(3.1rem,17vw,5.2rem);
  }
}

/* Keep the complete home navigation available on smaller screens. */
@media(max-width:850px) {
  .global-site-header {
    padding:20px 0;
  }
  .global-nav-shell {
    flex-wrap:wrap;
    gap:18px;
  }
  .global-nav-links {
    width:100%;
    justify-content:flex-start;
    gap:12px 20px;
  }
  .global-nav-links > a:not(.global-nav-button):not(.global-nav-student) {
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
  .global-resources-menu {
    display:block;
  }
  .global-country-picker {
    position:static;
  }
  .global-country-menu {
    left:0;
    right:auto;
  }
  .global-resources-dropdown {
    left:0;
    right:auto;
    min-width:min(290px,calc(100vw - 36px));
  }
  .global-nav-student {
    font-size:.78rem;
  }
  .global-nav-links > a.global-nav-student::after {
    display:none;
  }
}

.newsletter {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:48px;
  padding-block:var(--section-space);
  margin-bottom:28px;
  border-bottom:1px solid var(--line);
}
.newsletter h2 {
  font-size:clamp(1.8rem,3vw,2.4rem);
  margin-bottom:16px;
}
.newsletter p {
  font-size:.9rem;
  margin-bottom:0;
}
.newsletter label {
  display:block;
  font-size:.8rem;
  font-weight:700;
  margin-bottom:8px;
}
.newsletter-fields {
  display:flex;
  align-items:stretch;
  flex-wrap:wrap;
  gap:14px;
}
.newsletter input[type="email"] {
  flex:1 1 190px;
  min-width:0;
  min-height:52px;
  padding:12px 18px;
  border:1px solid #8c97ab;
  border-radius:8px;
  background:var(--paper);
  color:var(--ink);
  font:inherit;
}
.newsletter input:focus-visible {
  outline:3px solid var(--yellow);
  outline-offset:3px;
}
.newsletter button {
  cursor:pointer;
  font-family:inherit;
}
.newsletter button:disabled {
  cursor:default;
  opacity:.7;
  transform:none;
}
.newsletter .newsletter-status:not(:empty) {
  margin-top:18px;
  color:var(--ink);
}
@media(max-width:850px) {
  .newsletter {
    grid-template-columns:1fr;
    gap:24px;
  }
}
@media(max-width:600px) {
  .newsletter-fields {
    flex-direction:column;
  }
  .newsletter input[type="email"] {
    flex:auto;
  }
}

.hero-visual img {
  display:block;
  width:100%;
  height:auto;
}
