/* Homepage refresh — a warm, editorial English-academy identity. */
.home-v2 {
  --home-ink: #183c39;
  --home-ink-deep: #102d2b;
  --home-paper: #f6f0e6;
  --home-paper-light: #fffdf8;
  --home-terra: #c75432;
  --home-terra-dark: #a83e20;
  --home-gold: #e5c272;
  --home-sage: #dce8dc;
  --home-line: rgba(24, 60, 57, .18);
  background: var(--home-paper-light);
}

.home-v2 .live-banner {
  background: var(--home-terra);
  padding: .48rem 1rem;
  font-size: .82rem;
  letter-spacing: .01em;
}

.home-v2 .live-dot { animation: none; background: #fff7df; box-shadow: 0 0 0 4px rgba(255,255,255,.15); }
.home-v2 .welcome-pop { display: none !important; }
.home-v2 .pth-strip { background: var(--home-ink-deep); }
.home-v2 .pth-bar { background: rgba(255, 253, 248, .94); border-color: var(--home-line); }
.home-v2 .pth-logo-name,
.home-v2 .pth-nav-link { color: var(--home-ink-deep); }
.home-v2 .pth-nav-link::after { background: var(--home-terra); }
.home-v2 .pth-btn-cta { background: var(--home-terra); color: #fff; box-shadow: none; }
.home-v2 .pth-btn-cta:hover { background: var(--home-terra-dark); box-shadow: 0 10px 24px -15px rgba(168,62,32,.8); }
.home-v2 .pth-btn-ghost { border-color: var(--home-line); color: var(--home-ink); background: transparent; }

/* Retire the old stack of promo strips on the refreshed homepage. The linked
   destinations remain available in the new learning-studio grid. */
.home-v2 main > .exam-alert,
.home-v2 main > section[style],
.home-v2 main > .dailystrip,
.home-v2 main > .learnstrip { display: none; }

.home-v2 .home-hero {
  isolation: isolate;
  position: relative;
  overflow: hidden;
  color: var(--home-ink-deep);
  background:
    radial-gradient(circle at 88% 18%, rgba(229,194,114,.38) 0 4px, transparent 5px),
    radial-gradient(circle at 92% 34%, rgba(199,84,50,.18) 0 110px, transparent 111px),
    linear-gradient(135deg, #fbf6ed 0%, #f4ead9 100%);
  border-bottom: 1px solid var(--home-line);
}

.home-v2 .home-hero::before {
  content: "“";
  position: absolute;
  z-index: -1;
  left: -18px;
  top: -85px;
  color: rgba(24,60,57,.055);
  font-family: Georgia, serif;
  font-size: 30rem;
  line-height: 1;
}

.home-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(350px, .78fr);
  gap: clamp(48px, 8vw, 112px);
  align-items: center;
  min-height: 650px;
  padding-top: clamp(64px, 8vw, 108px);
  padding-bottom: clamp(68px, 9vw, 118px);
}

.home-hero-copy { max-width: 720px; }
.home-kicker {
  display: inline-flex;
  align-items: center;
  gap: .58rem;
  color: var(--home-terra-dark);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  margin-bottom: 1.3rem;
}

.home-kicker span { color: var(--home-terra); font-size: 1.1rem; }
.home-v2 .home-hero h1 {
  color: var(--home-ink-deep);
  font-size: clamp(3.1rem, 6.2vw, 5.6rem);
  line-height: .97;
  letter-spacing: -.045em;
  margin: 0 0 1.55rem;
}

.home-v2 .home-hero h1 em { color: var(--home-terra); font-weight: 600; }
.home-v2 .home-hero .hero-sub {
  max-width: 660px;
  color: #425b58;
  font-size: clamp(1.02rem, 1.6vw, 1.2rem);
  line-height: 1.7;
  margin: 0;
}

.home-v2 .home-hero .hero-cta { margin: 2rem 0 2.6rem; }
.home-v2 .home-hero .btn-primary { background: var(--home-ink); box-shadow: none; }
.home-v2 .home-hero .btn-primary:hover { background: var(--home-ink-deep); box-shadow: 0 15px 30px -18px rgba(16,45,43,.8); }
.home-v2 .home-hero .btn-outline { color: var(--home-ink); border-color: var(--home-ink); background: transparent; }
.home-v2 .home-hero .btn-outline:hover { background: rgba(24,60,57,.07); }

.home-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-top: 1px solid var(--home-line);
  padding-top: 1.35rem;
}

.home-proof div {
  display: grid;
  gap: .1rem;
  min-width: 132px;
  padding: 0 1.5rem;
  border-right: 1px solid var(--home-line);
}

.home-proof div:first-child { padding-left: 0; }
.home-proof div:last-child { border-right: 0; }
.home-proof strong { color: var(--home-ink-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 1.55rem; line-height: 1.1; }
.home-proof span { color: #60716e; font-size: .76rem; text-transform: uppercase; letter-spacing: .07em; }

.home-daily {
  position: relative;
  overflow: hidden;
  color: #f8f3e9;
  background: var(--home-ink);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 5px 42px 5px 5px;
  box-shadow: 24px 24px 0 var(--home-gold);
  padding: clamp(28px, 4vw, 42px);
  transform: rotate(1deg);
}

.home-daily::before {
  content: "";
  position: absolute;
  inset: 14px;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 2px 30px 2px 2px;
}

.home-daily-top { display: flex; justify-content: space-between; gap: 1rem; position: relative; z-index: 1; }
.home-daily-label { font-weight: 800; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; }
.home-daily-free { color: #d9cfae; font-size: .73rem; }
.home-daily-overline { position: relative; z-index: 1; color: #b8cbc8; font-size: .75rem; margin: 3.4rem 0 .45rem; }
.home-daily-word { position: relative; z-index: 1; color: #fff; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.15rem, 4vw, 3.25rem); line-height: 1.05; margin: 0; }
.home-daily-word span { display: block; color: var(--home-gold); font-family: 'Inter', sans-serif; font-size: .88rem; font-weight: 600; margin-top: .55rem; }
.home-daily-rule { width: 56px; height: 2px; background: var(--home-terra); margin: 1.7rem 0; }
.home-daily-line,
.home-daily-question,
.home-daily-answer { position: relative; z-index: 1; color: #dce7e4; font-size: .86rem; line-height: 1.55; margin: .48rem 0; }
.home-daily-question { margin-top: 1.15rem; color: #fff; }
.home-daily-answer { color: var(--home-gold); }
.home-daily-cta { display: inline-flex; gap: .5rem; position: relative; z-index: 1; color: #fff; border-bottom: 1px solid rgba(255,255,255,.55); font-weight: 800; font-size: .84rem; margin-top: 1.6rem; padding-bottom: .25rem; }
.home-daily-cta:hover { color: var(--home-gold); border-color: var(--home-gold); }
.home-daily-mark { position: absolute; right: -5px; bottom: -44px; color: rgba(255,255,255,.045); font-family: Georgia, serif; font-size: 10rem; font-weight: 800; line-height: 1; }

/* Personal Study Route Builder */
.study-route { padding: clamp(70px, 9vw, 112px) 0; background: var(--home-paper-light); }
.study-route-shell { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); gap: clamp(44px, 7vw, 90px); align-items: start; }
.section-number { display: block; color: var(--home-terra); font-size: .72rem; font-weight: 900; letter-spacing: .16em; margin-bottom: .85rem; }
.study-route-intro h2,
.studio-heading h2 { color: var(--home-ink-deep); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.15rem, 4vw, 3.4rem); line-height: 1.08; letter-spacing: -.025em; }
.study-route-intro p { color: #5c6d6a; max-width: 38ch; margin: 1rem 0 0; }
.route-builder { background: var(--home-paper); border: 1px solid var(--home-line); border-radius: 4px; padding: clamp(24px, 4vw, 38px); box-shadow: 12px 12px 0 var(--home-sage); }
.route-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.route-fields label { color: var(--home-ink-deep); font-size: .74rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.route-fields select {
  appearance: none;
  width: 100%;
  min-height: 50px;
  margin-top: .5rem;
  color: var(--home-ink-deep);
  background: var(--home-paper-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23183c39' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat calc(100% - 15px) center;
  border: 1px solid var(--home-line);
  border-radius: 3px;
  font: 600 .92rem 'Inter', sans-serif;
  padding: 0 40px 0 14px;
}
.route-fields select:focus { outline: 3px solid rgba(199,84,50,.18); border-color: var(--home-terra); }
.route-fields button { grid-column: 1 / -1; min-height: 52px; color: #fff; background: var(--home-terra); border: 0; border-radius: 3px; font: 800 .92rem 'Inter', sans-serif; cursor: pointer; margin-top: 4px; transition: background .18s, transform .18s; }
.route-fields button:hover { background: var(--home-terra-dark); transform: translateY(-1px); }
.route-result { margin-top: 28px; border-top: 1px solid var(--home-line); padding-top: 24px; }
.route-result-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 15px; }
.route-result-head h3 { color: var(--home-ink-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 1.35rem; margin: 0; }
.route-result-head span { color: #687976; font-size: .75rem; }
.route-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.route-step { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; color: var(--home-ink-deep); background: var(--home-paper-light); border: 1px solid var(--home-line); border-radius: 3px; padding: 14px; transition: transform .18s, border-color .18s; }
.route-step:hover { transform: translateY(-2px); border-color: var(--home-terra); }
.route-step-num { display: grid; place-items: center; width: 26px; height: 26px; color: #fff; background: var(--home-ink); border-radius: 50%; font-size: .72rem; font-weight: 800; }
.route-step strong { display: block; font-size: .86rem; line-height: 1.35; }
.route-step small { display: block; color: #697a77; font-size: .72rem; margin-top: .2rem; }

/* New consolidated learning discovery grid */
.learning-studio { color: var(--home-ink-deep); background: var(--home-ink-deep); padding: clamp(76px, 9vw, 116px) 0; }
.studio-heading { display: grid; grid-template-columns: 1fr minmax(300px, .72fr); gap: 50px; align-items: end; margin-bottom: 48px; }
.studio-heading h2 { color: #fff; margin: 0; }
.studio-heading p { color: #b9cbc7; max-width: 48ch; margin: 0; }
.studio-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.studio-card { grid-column: span 2; min-height: 310px; display: flex; flex-direction: column; position: relative; color: #edf4f2; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); padding: 28px; transition: background .2s, transform .2s; }
.studio-card:nth-child(4),
.studio-card:nth-child(5) { grid-column: span 3; }
.studio-card:hover { z-index: 1; background: rgba(255,255,255,.07); transform: translateY(-4px); }
.studio-card-featured { background: var(--home-terra); }
.studio-card-featured:hover { background: var(--home-terra-dark); }
.studio-index { color: var(--home-gold); font-family: 'Playfair Display', Georgia, serif; font-size: 1.55rem; }
.studio-card-featured .studio-index { color: #ffe7b1; }
.studio-tag { width: max-content; color: #acc3bf; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: .28rem .55rem; margin: 1.6rem 0 .8rem; }
.studio-card-featured .studio-tag { color: #fff; border-color: rgba(255,255,255,.42); }
.studio-card h3 { color: #fff; font-family: 'Playfair Display', Georgia, serif; font-size: 1.65rem; margin: 0 0 .6rem; }
.studio-card p { color: #bfd0cd; font-size: .88rem; line-height: 1.6; margin: 0; }
.studio-card-featured p { color: #fff2eb; }
.studio-link { color: #fff; font-weight: 800; font-size: .82rem; margin-top: auto; padding-top: 1.6rem; }

.home-v2 .selection-celebration { background: var(--home-paper-light); padding: 0 0 82px; }
.home-v2 .selection-celebration-card { border-radius: 4px; background: linear-gradient(135deg, #753653, #a34558 48%, var(--home-ink)); box-shadow: 14px 14px 0 #ead9c1; }
.home-v2 .selection-celebration-badge { background: var(--home-gold); border: 0; }

.home-v2 #courses { background: var(--home-paper-light); }
.home-v2 #courses .section-head h2 { font-family: 'Playfair Display', Georgia, serif; color: var(--home-ink-deep); }

@media (max-width: 980px) {
  .home-hero-grid { grid-template-columns: 1fr; min-height: auto; gap: 56px; }
  .home-daily { width: min(100% - 24px, 600px); transform: none; }
  .study-route-shell { grid-template-columns: 1fr; }
  .study-route-intro p { max-width: 60ch; }
  .studio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .studio-card,
  .studio-card:nth-child(4),
  .studio-card:nth-child(5) { grid-column: span 1; }
  .studio-card-featured { grid-column: span 2; }
}

@media (max-width: 700px) {
  .home-v2 .home-hero h1 { font-size: clamp(2.75rem, 14vw, 4.25rem); }
  .home-hero-grid { padding-top: 52px; padding-bottom: 72px; }
  .home-proof div { min-width: 105px; padding: 0 .9rem; }
  .home-proof span { font-size: .66rem; }
  .home-daily { border-radius: 4px 30px 4px 4px; box-shadow: 14px 14px 0 var(--home-gold); }
  .route-fields,
  .route-steps { grid-template-columns: 1fr; }
  .studio-heading { grid-template-columns: 1fr; gap: 18px; }
  .studio-grid { grid-template-columns: 1fr; }
  .studio-card,
  .studio-card-featured,
  .studio-card:nth-child(4),
  .studio-card:nth-child(5) { grid-column: span 1; min-height: 275px; }
  .home-v2 .selection-celebration { padding-bottom: 66px; }
}

@media (max-width: 480px) {
  .home-v2 .live-banner { font-size: .73rem; }
  .home-v2 .home-hero .hero-cta { display: grid; }
  .home-proof { display: grid; grid-template-columns: repeat(3, 1fr); }
  .home-proof div { min-width: 0; padding: 0 .55rem; }
  .home-proof strong { font-size: 1.25rem; }
  .home-proof span { font-size: .58rem; line-height: 1.35; }
  .route-builder { box-shadow: 7px 7px 0 var(--home-sage); }
}

@media (prefers-reduced-motion: reduce) {
  .home-daily { transform: none; }
  .studio-card,
  .route-step,
  .route-fields button { transition: none; }
}
