/* Approved landing typography, scoped to its content. */
[data-page="hivern"] :where(main) [id] { scroll-margin-top: calc(var(--header-height) + 24px); }
[data-page="hivern"] :where(main) h1, [data-page="hivern"] :where(main) h2, [data-page="hivern"] :where(main) h3 { font-weight: 400; letter-spacing: -.025em; }
[data-page="hivern"] :where(main) h1 { font-size: clamp(49px, 5.15vw, 76px); line-height: 1.03; }
[data-page="hivern"] :where(main) h2 { font-size: clamp(39px, 4.2vw, 62px); line-height: 1.08; }
[data-page="hivern"] :where(main) h3 { font-size: clamp(28px, 2.6vw, 37px); line-height: 1.14; }
[data-page="hivern"] :where(main) p { text-wrap: pretty; }
[data-page="hivern"] :where(main) p + p { margin-top: 16px; }
@media (max-width: 600px) { [data-page="hivern"] :where(main) h2 { font-size: clamp(37px, 9vw, 48px); } }
/* Winter talk: concise opening, recipes first, shared NaturaVero identity. */
.winter-hero { background: var(--paper); }
.winter-hero-grid { display: grid; grid-template-columns: minmax(0, 52fr) minmax(0, 48fr); max-width: 1680px; margin-inline: auto; }
.winter-hero-copy { align-self: center; padding: 48px 42px 50px max(24px, calc((100vw - 1200px)/2)); }
.strategy-page[data-page="hivern"] h1 { font-size: clamp(43px, 4.2vw, 62px); line-height: 1.04; text-wrap: pretty; }
.winter-lede { margin-top: 22px; color: #454a42; font-size: 19px; line-height: 1.6; }
.winter-hero-facts { display: flex; flex-wrap: wrap; gap: 12px 27px; margin-top: 27px; font-size: 15px; }
.winter-hero-facts p { display: flex; gap: 11px; align-items: center; }
.winter-hero-facts p + p { margin: 0; }
.winter-hero-facts strong { color: var(--green-dark); font-weight: 650; }
.winter-icon { flex: 0 0 23px; width: 23px; height: 23px; color: var(--green-dark); }
.winter-hero-includes { display: flex; flex-wrap: wrap; gap: 14px 22px; list-style: none; padding: 0; margin: 26px 0 0; font-size: 14px; }
.winter-hero-includes li { display: flex; align-items: center; gap: 9px; white-space: nowrap; }
.winter-hero-includes img { flex: 0 0 25px; }
.winter-purchase { display: flex; flex-wrap: wrap; align-items: center; gap: 23px; margin-top: 30px; }
.winter-price { color: var(--violet); font-family: 'EB Garamond', Georgia, serif; font-size: 43px; font-weight: 400; line-height: 1.1; }
.winter-price span { color: var(--muted); font-family: 'Inter', sans-serif; font-size: 14px; }
.winter-hero-media { min-width: 0; min-height: 520px; }
.winter-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 54% center; }
.winter-text-link { display: inline-block; margin-top: 14px; padding-block: 10px; color: var(--violet-dark); font-size: 15px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.winter-section { padding: clamp(54px, 5.5vw, 76px) 0; background: #fff; }
.winter-heading { max-width: 820px; margin: 0 auto 34px; text-align: center; }
.winter-heading p { margin-top: 16px; color: var(--muted); font-size: 18px; }
.winter-lavender { background: var(--lavender); }
.winter-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 100px); align-items: start; }
.winter-paragraph { margin-top: 24px; font-size: 17px; line-height: 1.75; color: var(--muted); }
.winter-small { font-size: 14px !important; color: var(--muted); line-height: 1.7; }
.winter-inline-cta { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; margin-top: 30px; }
.winter-inline-cta p { color: var(--muted); font-size: 14px; }
.winter-botiqui { background: var(--green-dark); color: white; }
.winter-botiqui h2 { color: white; }
.winter-botiqui .winter-lede { color: #e9eee6; }
.winter-botiqui .winter-label { color: #d7b9eb; }
.winter-ingredient-grid { display: grid; gap: 12px; }
.winter-ingredient-grid article { padding: 20px 24px; border: 1px solid #749179; border-radius: 14px; background: rgba(255,255,255,.07); }
.winter-ingredient-grid article span { color: #d7b9eb; font-size: 13px; font-weight: 700; }
.winter-ingredient-grid article h3 { margin-top: 5px; color: #fff; font-size: 26px; }
.winter-ingredient-grid article p { margin-top: 5px; color: #e9eee6; font-size: 15px; line-height: 1.5; }
.winter-label { margin-bottom: 18px; color: var(--violet); font-size: 15px; font-weight: 650; }
.winter-teacher-grid { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: clamp(40px, 7vw, 100px); align-items: center; }
.winter-teacher img { width: 100%; height: auto; max-height: 465px; object-fit: cover; border-radius: 130px 130px 18px 18px; }
.winter-format { background: var(--paper); }
.winter-booking { padding: 35px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.winter-booking h3 { font-size: 33px; }
.winter-booking dl { margin: 24px 0; font-size: 15px; }
.winter-booking dl > div { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.winter-booking dt { color: var(--muted); }
.winter-booking dd { margin: 0; }
.winter-booking dd span { font-size: 13px; color: var(--muted); }
.winter-booking .button-primary { width: 100%; margin-top: 22px; }
.winter-booking .winter-small { margin-top: 20px; }
.winter-booking a:not(.button-primary), .winter-faq p a { color: var(--violet-dark); text-decoration: underline; text-underline-offset: 3px; }
.winter-faq h2 { margin-bottom: 32px; }
.winter-faq details { border-bottom: 1px solid var(--line); }
.winter-faq details:first-of-type { border-top: 1px solid var(--line); }
.winter-faq summary { cursor: pointer; padding: 22px 0; color: var(--green-dark); font-size: 17px; font-weight: 600; }
.winter-faq details p { padding: 0 0 24px; margin: 0; color: var(--muted); font-size: 16px; }
.winter-final { background: var(--green-dark); color: white; text-align: center; }
.winter-final h2 { max-width: 820px; margin: 0 auto; color: white; }
.winter-final p { margin: 25px auto 0; max-width: 730px; color: #e9eee6; font-size: 18px; }
.winter-final .winter-final-facts { margin-top: 25px; font-size: 15px; }
.winter-final .button-primary { background: white; color: var(--green-dark); margin-top: 28px; }
.winter-final .button-primary:hover { background: var(--lavender); }
[data-page="hivern"] :focus-visible { outline: 3px solid var(--violet-dark); outline-offset: 4px; box-shadow: 0 0 0 4px #fff; }

.winter-outcomes { background: var(--lavender); }
.winter-outcomes .winter-heading { max-width: 100%; margin-bottom: 30px; }
.winter-outcomes .winter-heading h2 { font-size: clamp(37px, 3.7vw, 53px); }
.winter-outcomes .winter-heading p { margin-top: 13px; }
.winter-included { background: var(--paper); }
.winter-included .winter-heading { max-width: 870px; }
/* One shared rhythm for live access, human support and the actual takeaway. */
.winter-access-line { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-bottom: 24px; }
.winter-access-line article { display: flex; align-items: flex-start; gap: 18px; padding: 25px 28px; border: 1px solid #deddd5; border-radius: 12px; background: #fff; }
.winter-access-line .winter-icon { width: 30px; height: 30px; flex-basis: 30px; margin-top: 4px; color: var(--violet-dark); }
.winter-access-line h3 { font-size: 29px; color: var(--green-dark); }
.winter-access-line p { margin-top: 8px; max-width: 430px; font-size: 15px; line-height: 1.6; color: var(--muted); }
.winter-followup-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 24px; align-items: stretch; }
.winter-community { min-width: 0; padding: clamp(27px, 3.4vw, 45px); background: #e4ece2; border-radius: 14px; display: flex; flex-direction: column; }
.winter-community-label { display: flex; align-items: center; gap: 10px; color: #264d39; font-size: 14px; font-weight: 600; }
.winter-community-label img { width: 27px; height: 27px; }
.winter-community-intro { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1fr); align-items: center; gap: 25px; margin-top: 30px; }
.winter-community-portrait { display: block; width: 100%; height: 215px; object-fit: cover; object-position: center 30%; border-radius: 8px; }
.winter-community h3 { color: var(--green-dark); font-size: clamp(30px, 2.9vw, 42px); line-height: 1.08; text-wrap: pretty; }
.winter-community > p:not(.winter-community-footnote) { margin-top: 25px; color: #37483e; font-size: 16px; line-height: 1.7; }
.winter-community-topics { display: grid; gap: 10px; margin: 25px 0 28px; padding: 0; list-style: none; color: #345344; font-size: 14px; }
.winter-community-topics li { display: flex; align-items: center; gap: 10px; }
.winter-community-topics li::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #6b3fa0; flex: 0 0 7px; }
.winter-community-footnote { border-top: 1px solid #bccdb8; padding-top: 18px; margin-top: auto; color: #345344; font-size: 13px; line-height: 1.5; }
.winter-dossier { min-width: 0; display: flex; flex-direction: column; background: #ede7f2; border-radius: 14px; padding: 28px clamp(27px, 3.4vw, 45px) 30px; }
.winter-dossier-preview { display: flex; justify-content: center; align-items: center; flex: 1; min-height: 320px; padding: 4px 0 24px; }
.winter-dossier-preview img { display: block; width: 218px; max-width: 100%; height: auto; border: 1px solid #e2dae9; box-shadow: 0 12px 25px rgba(56,37,71,.12); }
.winter-dossier-copy h3 { color: var(--green-dark); font-size: clamp(30px, 2.8vw, 40px); line-height: 1.1; }
.winter-dossier-copy > p { margin-top: 12px; color: #4b4651; font-size: 16px; line-height: 1.65; }
.winter-dossier-copy .winter-dossier-keep { margin-top: 20px; border-top: 1px solid #d5c9df; padding-top: 18px; font-size: 13px; color: #59476a; }
.winter-feature-kicker { margin-bottom: 10px; color: var(--violet-dark); font-size: 13px; font-weight: 600; }
.winter-bonus { display: grid; grid-template-columns: minmax(0, .34fr) minmax(0, .66fr); margin-top: 24px; overflow: hidden; background: #fff; border: 1px solid #d7c8e4; border-radius: 14px; }
.winter-bonus > img { display: block; width: 100%; height: 100%; min-height: 210px; object-fit: cover; object-position: center 48%; }
.winter-bonus-copy { align-self: center; padding: 28px 36px; }
.winter-bonus-copy h3 { max-width: 580px; color: var(--green-dark); font-size: clamp(30px, 3vw, 42px); line-height: 1.07; }
.winter-bonus-copy > p:last-child { max-width: 610px; margin-top: 13px; color: var(--muted); font-size: 15px; line-height: 1.6; }
.winter-table-frame { border: 1px solid #d7c8e4; border-radius: 18px; overflow: hidden; background: #fff; }
.winter-outcome-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.winter-situation-col { width: 55%; }
.winter-resource-col { width: 45%; }
.winter-outcome-table th, .winter-outcome-table td { padding: 18px 27px; text-align: left; vertical-align: middle; }
.winter-outcome-table thead th { padding-block: 16px; background: #e9e0f1; color: var(--green-dark); font-family: 'EB Garamond', Georgia, serif; font-size: 25px; font-weight: 500; line-height: 1.15; }
.winter-outcome-table tbody tr + tr { border-top: 1px solid #e7dfee; }
.winter-outcome-table tbody th { color: var(--green-dark); font-family: 'EB Garamond', Georgia, serif; font-size: 25px; font-weight: 400; line-height: 1.15; }
.winter-outcome-table td { color: #454a42; font-size: 16px; line-height: 1.5; }
.winter-outcome-table td.winter-resource { color: var(--violet-dark); background: #f7f3fa; }
.winter-table-note { margin-top: 21px; color: var(--muted); font-size: 15px; text-align: center; }
.winter-outcomes .winter-inline-cta { justify-content: center; margin-top: 26px; }
@media(min-width: 1680px) { .winter-hero-copy { padding-left: 100px; } }
@media(max-width: 1080px) {
  .winter-hero-grid { grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); }
  .winter-hero-copy { padding: 42px 30px 42px 24px; }
  .winter-hero-includes { gap: 14px 18px; }
  .winter-hero-media { min-height: 490px; }
  .winter-split { gap: 36px; }
  .winter-outcome-table th, .winter-outcome-table td { padding: 20px; }
  .winter-outcome-table tbody th { font-size: 24px; }
  .winter-community-intro { gap: 18px; }
  .winter-community-portrait { height: 190px; }
}
@media(max-width: 720px) {
  .winter-hero-grid, .winter-split, .winter-teacher-grid, .winter-followup-grid, .winter-access-line { grid-template-columns: minmax(0, 1fr); }
  .winter-hero-copy { padding: 32px 24px 34px; }
  .strategy-page[data-page="hivern"] h1 { font-size: clamp(39px, 10.4vw, 56px); }
  .winter-hero .winter-lede { margin-top: 18px; font-size: 17px; line-height: 1.6; }
  .winter-hero-facts { gap: 10px 20px; margin-top: 24px; font-size: 14px; }
  .winter-hero-includes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 20px; margin-top: 23px; font-size: 13px; }
  .winter-hero-includes li { white-space: normal; line-height: 1.4; }
  .winter-hero-includes li:nth-child(3) { grid-column: 1; grid-row: 2; }
  .winter-hero-includes li:nth-child(4) { grid-column: 2; grid-row: 2; }
  .winter-hero-includes .winter-icon { width: 21px; height: 21px; flex-basis: 21px; }
  .winter-hero-includes img { width: 23px; height: 23px; flex-basis: 23px; }
  .winter-purchase { margin-top: 27px; gap: 20px; }
  .winter-hero-media { min-height: 0; aspect-ratio: 3/2; }
  .winter-hero-media img { object-position: center; }
  .winter-heading { text-align: left; margin-bottom: 28px; }
  .winter-outcomes .winter-heading h2 { font-size: 32px; line-height: 1.12; }
  .winter-outcomes .winter-heading p { font-size: 16px; }
  .winter-lede { font-size: 18px; }
  .winter-table-frame { border-radius: 15px; }
  .winter-access-line { gap: 14px; }
  .winter-access-line article { padding: 22px; }
  .winter-access-line h3 { font-size: 28px; }
  .winter-community-intro { grid-template-columns: minmax(0, .75fr) minmax(0, 1fr); gap: 20px; }
  .winter-community-portrait { height: 185px; }
  .winter-community h3 { font-size: clamp(30px, 7.6vw, 41px); }
  .winter-dossier-preview { min-height: 0; padding-bottom: 27px; }
  .winter-dossier-preview img { width: 220px; }
  .winter-bonus { grid-template-columns: minmax(0, 1fr); }
  .winter-bonus > img { min-height: 0; height: 190px; }
  .winter-bonus-copy { padding: 25px; }
  .winter-bonus-copy h3 { font-size: 34px; }
  /* Keep each situation and its preparation together, in the same table row. */
  .winter-situation-col { width: 44%; }
  .winter-resource-col { width: 56%; }
  .winter-outcome-table th, .winter-outcome-table td { padding: 16px 12px; vertical-align: top; }
  .winter-outcome-table thead th { padding: 13px 12px; font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600; line-height: 1.4; }
  .winter-outcome-table tbody th { font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 500; line-height: 1.5; }
  .winter-outcome-table td.winter-resource { font-size: 15px; line-height: 1.5; }
  .winter-table-note { text-align: left; }
  .winter-inline-cta { gap: 14px; }
  .winter-inline-cta .button-primary { width: 100%; }
  .winter-outcomes .winter-inline-cta { justify-content: flex-start; }
  .winter-teacher img { max-width: 320px; max-height: 360px; margin: 0 auto; }
  .winter-booking { padding: 25px; }
  .winter-final .button-primary { width: 100%; max-width: 380px; }
}
@media(max-width: 370px) {
  .winter-hero-copy { padding-inline: 20px; }
  .winter-hero-includes { gap: 13px; font-size: 12px; }
  .winter-community-intro { grid-template-columns: minmax(0, 1fr); }
  .winter-community-portrait { width: 125px; height: 156px; }
  .winter-community h3 { font-size: 34px; }
}
@media(prefers-reduced-motion: reduce) {
  html:has([data-page="hivern"]) { scroll-behavior: auto; }
  [data-page="hivern"] *, [data-page="hivern"] *::before, [data-page="hivern"] *::after { transition: none !important; animation: none !important; }
}
