/* Los Caminos del Corazón · approved forest/path direction.
   Canonical cross-runtime tokens. Game geometry, storage and original art are not restyled. */
:root {
  --lcdc-navy: #071d36;
  --lcdc-ink: #17324b;
  --lcdc-muted: #526477;
  --lcdc-paper: #fffdf8;
  --lcdc-white: #ffffff;
  --lcdc-gold: #d8ae53;
  --lcdc-gold-light: #f8d77a;
  --lcdc-line: #d6dee5;
  --lcdc-tint: #f2f5f7;
  --lcdc-focus: #176b9a;
  --lcdc-display: Georgia, "Times New Roman", serif;
  --lcdc-body: "Segoe UI", Arial, sans-serif;
  --lcdc-reading-width: 76rem;
  --lcdc-radius: 12px;
}
@media screen {
  html { scroll-padding-top: 24px; }
  body.lcdc-site { margin: 0; background: var(--lcdc-paper); font-family: var(--lcdc-body); }
  .lcdc-site *, .lcdc-site *::before, .lcdc-site *::after { box-sizing: border-box; }
  .lcdc-site :is(a,button,summary,input,select,textarea):focus-visible { outline: 3px solid var(--lcdc-focus); outline-offset: 4px; }
  .lcdc-masthead :focus-visible, .lcdc-local-header :focus-visible, .home-v2-simple .site-header :focus-visible { outline-color: var(--lcdc-gold-light); }
  .lcdc-site img[src="/assets/logo-lcdc.png"] { animation: none; filter: none; }
  .lcdc-site :is(.skip-link,.kids-skip,.skip):focus { z-index: 9999; }
  .lcdc-site [hidden] { display: none !important; }

  /* The same masthead on React and the original, function-owning static headers. */
  .lcdc-masthead,
  body.lcdc-static > .lcdc-local-header {
    position: relative; z-index: 80; display: flex; align-items: center; flex-wrap: wrap;
    gap: 16px 28px; min-height: 84px; margin: 0; padding: 10px max(24px, calc((100% - 1376px)/2));
    color: #fff; background: var(--lcdc-navy); border: 0; border-bottom: 1px solid #d8ae5366; box-shadow: none;
    font: 600 14px/1.5 var(--lcdc-body);
  }
  .lcdc-masthead a, .lcdc-masthead summary,
  body.lcdc-static > .lcdc-local-header :is(a,summary,button) { color: #fff; }
  .lcdc-emblem { display: flex; flex: 0 0 146px; align-items: center; }
  .lcdc-emblem img { width: 146px; height: auto; display: block; }
  .lcdc-desktop-nav { display: flex; gap: 24px; margin-left: auto; align-items: center; }
  .lcdc-desktop-nav a, .lcdc-account-link { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; }
  .lcdc-desktop-nav a:hover, .lcdc-account-link:hover { color: var(--lcdc-gold-light); text-decoration: underline; text-underline-offset: 6px; }
  .lcdc-desktop-nav a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--lcdc-gold); text-underline-offset: 8px; }
  .lcdc-nav-menu { position: relative; margin: 0; padding: 0; border: 0; }
  .lcdc-nav-menu > summary { padding: 10px 12px; min-height: 44px; cursor: pointer; border: 1px solid #8c9daf; border-radius: 8px; }
  .lcdc-nav-menu > nav { position: absolute; right: 0; top: 100%; width: min(320px,calc(100vw - 32px)); max-height: 75svh; overflow: auto; padding: 12px; background: var(--lcdc-navy); border: 1px solid #a2b1bc; box-shadow: 0 12px 28px #071d3626; }
  .lcdc-nav-menu nav a { display: flex; min-height: 44px; align-items: center; padding: 8px 12px; text-decoration: none; }
  .lcdc-nav-menu nav a:hover { background: #17364f; }
  body.lcdc-static > .lcdc-local-header img[src="/assets/logo-lcdc.png"] { width: 110px; height: auto; max-height: 74px; object-fit: contain; }
  body.lcdc-static > .lcdc-local-header :is(.brand,.kids-brand,.adult-brand) { color: #fff; }
  body.lcdc-static > .lcdc-local-header nav { flex-wrap: wrap; }
  body.lcdc-static > .lcdc-local-header nav :is(a,button) { min-height: 44px; align-items: center; }
  body.lcdc-static > .lcdc-local-header :is(button,summary) { border-color: #9baec0; }
  body.lcdc-static > .lcdc-local-header .common-menu[open] > .common-navigation,
  .lcdc-site .common-menu[open] > .common-navigation { background: var(--lcdc-navy); color: #fff; border-color: #6f879d; }
  .lcdc-site .common-menu[open] > .common-navigation a { color: #fff; }
  .lcdc-local-header .brand small { color: #d2dce5; }
  .lcdc-zone-menu { position: relative; margin: 0; border: 0; padding: 0; }
  .lcdc-zone-menu > summary { min-height: 44px; padding: 10px 14px; cursor: pointer; border: 1px solid #7890a5; border-radius: 8px; }
  .lcdc-zone-menu > nav { position: absolute; top: 100%; right: 0; z-index: 81; display: flex; flex-direction: column; align-items: stretch; flex-wrap: nowrap; width: min(320px,calc(100vw - 36px)); max-height: 70svh; overflow: auto; margin: 0; padding: 14px; background: var(--lcdc-navy); border: 1px solid #8196a9; border-radius: 8px; }
  .lcdc-zone-menu > nav :is(a,button) { padding: 10px 14px; text-decoration: none; justify-content: flex-start; }
  body.lcdc-static > .lcdc-local-header :is(.common-menu,.lcdc-zone-menu) > summary { background: transparent; color: #fff; }
  body.lcdc-static > .lcdc-local-header .brand b { font-size: 14px; }
  body.lcdc-site.lcdc-react :is(.teachings-header,.tales-header,.thinking-header,.disc-header,.academy-header,.emotion-header,.resources-header,.account-header,.morning-header,.pause-page-header,.journey-header,.board-header,.maze-header,.club-header) {
    background: var(--lcdc-white); color: var(--lcdc-ink); border-bottom: 1px solid var(--lcdc-line); box-shadow: none;
  }
  body.lcdc-site.lcdc-react :is(.teachings-header,.tales-header,.thinking-header,.disc-header,.academy-header,.emotion-header,.resources-header,.account-header,.morning-header,.pause-page-header,.journey-header,.board-header,.maze-header,.club-header) > a { color: var(--lcdc-navy); }
  body.lcdc-site.lcdc-react :is(.teachings-brand,.tales-brand,.thinking-brand) { display: none; }
  .lcdc-react .common-help { max-width: none; margin: 0; padding: 28px max(24px,calc((100% - 1240px)/2)); background: var(--lcdc-navy); color: #fff; border-top: 1px solid #d8ae5366; }
  .lcdc-react .common-help a { color: #fff; }
  .lcdc-site :is(.common-navigation,.common-menu) { font-family: var(--lcdc-body); }

  /* Homepage: the original image is the scene, never a generated UI screenshot. */
  .home-v2-simple { --home-content-width: 1240px; --home-section-space: clamp(44px,6vw,80px); color: var(--lcdc-ink); background: var(--lcdc-paper); }
  .home-v2-simple .site-header { position: relative; z-index: 90; display: flex; height: auto; min-height: 84px; padding: 8px max(24px,calc((100% - 1376px)/2)); gap: 24px; background: var(--lcdc-navy); box-shadow: none; border-bottom: 1px solid #d8ae5366; }
  .home-v2-simple .brand-logo { width: 126px; height: 68px; object-fit: contain; }
  .home-v2-simple .site-header nav { margin-left: auto; gap: clamp(16px,2vw,30px); }
  .home-v2-simple .site-header nav :is(a,summary) { font-size: 14px; letter-spacing: 0; text-transform: none; min-height: 44px; }
  .home-v2-simple .header-space { color: #fff; padding: 10px 0; min-height: 44px; font-size: 14px; font-weight: 600; white-space: nowrap; }
  .home-v2-simple .home-nav-for > div { background: var(--lcdc-navy); border: 1px solid #889db1; }
  .home-v2-simple .hero {
    position: relative; isolation: isolate; display: block; min-height: 650px; height: auto; padding: 38px max(48px,calc((100% - 1328px)/2)) 330px;
    color: var(--lcdc-navy); overflow: clip; background: var(--lcdc-navy); border: 0;
  }
  .home-v2-simple .hero-backdrop { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; transform: none; background: url('/assets/hero-paths.webp') center 64% / cover no-repeat; filter: none; opacity: 1; animation: none; }
  .home-v2-simple .hero-vignette { z-index: -2; background: radial-gradient(ellipse 700px 400px at 180px 90px,#fffdf8 0%,#fffdf8ed 45%,#fffdf8b8 64%,#fffdf800 100%); }
  .home-v2-simple .hero-copy { position: relative; z-index: 2; width: min(720px,58%); max-width: none; margin: 0; padding: 0; align-self: auto; }
  .home-v2-simple .hero h1 { color: var(--lcdc-navy); font-family: var(--lcdc-display); font-size: clamp(44px,4.7vw,70px); font-weight: 700; line-height: 1.04; letter-spacing: -.045em; text-wrap: initial; text-shadow: none; margin: 0 0 14px; }
  .home-v2-simple .hero-tagline { color: var(--lcdc-navy); font: 500 clamp(19px,1.65vw,25px)/1.35 var(--lcdc-display); margin: 0 0 8px; }
  .home-v2-simple .hero-intro { color: var(--lcdc-ink); font: 400 16px/1.6 var(--lcdc-body); max-width: 54ch; margin: 0 0 20px; text-shadow: none; }
  .home-v2-simple .hero-actions { gap: 12px 22px; flex-wrap: wrap; margin: 0; }
  .home-v2-simple .hero-reading-tools { margin-top: 12px; width: max-content; max-width: 100%; font: 13px/1.5 var(--lcdc-body); background: transparent; border-radius: 8px; }
  .home-v2-simple .hero-reading-tools > summary { min-height: 44px; padding: 10px 12px; cursor: pointer; }
  .home-v2-simple .hero-reading-tools[open] { width: min(500px,100%); padding: 0 14px 12px; background: #fffdf8ed; }
  .home-v2-simple :is(.gold-button,.navy-button,.outline-button) { border-radius: 9px; text-transform: none; letter-spacing: 0; font-size: 15px; min-height: 46px; box-shadow: none; }
  .home-v2-simple .gold-button { color: var(--lcdc-navy); background: var(--lcdc-gold-light); border: 1px solid var(--lcdc-gold); font-weight: 700; }
  .home-v2-simple .gold-button:hover { background: #f1c65e; }
  .home-v2-simple .hero-actions > .gold-button { font: 700 15px/1.4 var(--lcdc-body); box-shadow: none; }
  .home-v2-simple .home-continue { color: var(--lcdc-navy); font-weight: 600; min-height: 44px; display: inline-flex; gap: 12px; align-items: center; }
  .home-v2-simple .hero :is(.hero-entry-note,.hero-resume-note,.home-audio-notice) { color: var(--lcdc-ink); font-size: 12px; line-height: 1.5; margin-block: 9px; max-width: 56ch; }
  .home-v2-simple .hero :is(.hero-entry-note,.hero-resume-note) a { color: var(--lcdc-navy); text-decoration: underline; }
  .home-v2-simple .hero-access-tools { gap: 14px; margin-top: 4px; }
  .home-v2-simple .hero-access-tools > button { min-height: 44px; color: var(--lcdc-navy); font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
  .home-age-entry { display: none; }
  .home-v2-simple .hero-character.hero-character-trio { position: absolute; z-index: 1; left: 38%; bottom: 8%; width: clamp(230px,24vw,345px); height: auto; max-width: none; padding: 0; margin: 0; transform: none; pointer-events: none; }
  .home-v2-simple .hero-character-trio .prudente-figure { position: relative; width: 100%; height: auto; inset: auto; animation: none; transform: none; }
  .home-v2-simple .hero-character-trio .prudente-frontal { position: relative; display: block; inset: auto; width: 100%; height: auto; object-fit: contain; transform: none; animation: none; filter: brightness(.97) saturate(.96) drop-shadow(7px 14px 5px #111e2c59); }
  .home-v2-simple .hero-character-trio :is(.character-glow,.hero-trio-flames) { display: none; }
  .home-v2-simple .hero-explore { position: absolute; right: 4%; bottom: 7%; z-index: 3; display: inline-flex; gap: 24px; align-items: center; min-height: 48px; padding: 12px 24px; background: var(--lcdc-navy); color: #fff; border: 1px solid var(--lcdc-gold); border-radius: 9px; font-size: 14px; font-weight: 600; text-decoration: none; }
  .home-direct-paths { display: flex; justify-content: center; flex-wrap: wrap; gap: 0; padding: 12px max(24px,calc((100% - 1240px)/2)); background: #fff; color: var(--lcdc-navy); border-bottom: 1px solid var(--lcdc-line); }
  .home-direct-paths a { flex: 1; min-width: 220px; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 58px; padding: 12px 28px; font-size: 18px; font-weight: 600; text-decoration: none; }
  .home-direct-paths a + a { border-left: 1px solid var(--lcdc-line); }
  .home-direct-paths a:hover { background: var(--lcdc-tint); }
  .home-life-stages { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 28px; padding: 14px 24px; color: var(--lcdc-navy); background: #fff; }
  .home-life-stages > span { font-family: var(--lcdc-display); font-size: 17px; }
  .home-life-stages a { min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; }
  .home-v2-simple :is(.first-visit-guide,.thinking-invitation,.home-topic-group,.home-tales-invitation,.home-discernment-invite) { border-radius: var(--lcdc-radius); background: var(--lcdc-white); border-color: var(--lcdc-line); box-shadow: none; }
  .home-v2-simple .home-topic-group { border: 0; border-top: 1px solid var(--lcdc-line); border-bottom: 1px solid var(--lcdc-line); border-radius: 0; }
  .home-v2-simple .home-topic-group > summary { padding: 24px 20px; color: var(--lcdc-navy); }
  .home-v2-simple :is(.home-today,.home-paths,.home-depth,.home-together,.home-adventures) { background: var(--lcdc-paper); color: var(--lcdc-ink); }
  .home-v2-simple :is(.home-path,.home-path-copy,.home-adventure,.home-depth-card) { border-color: var(--lcdc-line); border-radius: var(--lcdc-radius); background-color: #fff; box-shadow: none; }
  .home-v2-simple .first-visit-guide li { background: var(--lcdc-tint); border-radius: 8px; }

  /* Reader and catalogues: large intact artwork, comfortable text, compact controls. */
  body.lcdc-site.lcdc-react :is(.teachings-page,.thinking-page,.tales-page,.resources-page,.emotions-page,.disc-page,.early-page,.pause-page,.account-page,.morning-page,.club-page) { background: var(--lcdc-paper); }
  body.lcdc-site.lcdc-react :is(.teachings-hero,.resources-hero,.thinking-hero,.tales-library-hero,.disc-hero,.early-hero) { background: var(--lcdc-paper); color: var(--lcdc-navy); border-color: var(--lcdc-line); }
  body.lcdc-site.lcdc-react :is(.teachings-hero h1,.resources-hero h1,.thinking-hero h1,.disc-hero h1,.tales-page h1) { font-family: var(--lcdc-display); font-weight: 700; letter-spacing: -.035em; line-height: 1.08; }
  .lcdc-site .public-reading { max-width: 1120px; margin: 40px auto; padding: clamp(24px,4vw,56px); border: 1px solid var(--lcdc-line); border-radius: var(--lcdc-radius); color: var(--lcdc-ink); background: #fff; }
  .lcdc-site .public-reading .teaching-preview { max-width: 760px; border-radius: 8px; height: auto; }
  body.lcdc-site.lcdc-react :is(.teachings-ages,.teachings-age-options button,.teachings-selected,.teachings-entry,.learning-start,.learning-pilot > details,.teachings-help,.teaching-comic-reader,.preschool-card,.learning-print) { background: #fff; border-color: var(--lcdc-line); box-shadow: none; border-radius: var(--lcdc-radius); }
  body.lcdc-site.lcdc-react :is(.teachings-index > button,.teachings-search-result,.tales-card,.thinking-adventure,.resource-card) { background-color: #fff; border-color: var(--lcdc-line); box-shadow: none; }
  body.lcdc-site.lcdc-react :is(.teachings-age-options button[aria-pressed="true"],.teachings-index > button.is-selected) { background: var(--lcdc-navy); color: #fff; border-color: var(--lcdc-gold); }
  .lcdc-react .teachings-age-options button[aria-pressed="true"] :is(strong,span,small,b),
  .lcdc-react .teachings-index > button.is-selected :is(strong,small,span) { color: #fff; }
  body.lcdc-site.lcdc-react :is(.teachings-kicker,.teachings-step-heading > span) { color: #805a17; }
  body.lcdc-site.lcdc-react .teaching-comic-reader { padding: clamp(20px,3vw,36px); }
  body.lcdc-site.lcdc-react .teaching-comic-heading { text-align: left; max-width: 950px; margin: 0 0 20px; }
  body.lcdc-site.lcdc-react .teaching-comic-heading h4 { font: 700 clamp(26px,3vw,40px)/1.12 var(--lcdc-display); color: var(--lcdc-navy); }
  body.lcdc-site.lcdc-react .teaching-comic-heading p { line-height: 1.65; }
  body.lcdc-site.lcdc-react .teaching-comic-tools { border-block: 1px solid var(--lcdc-line); padding-block: 10px; }
  body.lcdc-site.lcdc-react .teaching-comic-panels:not(.is-page) .teaching-comic-panel:not([hidden]) { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 18px 28px; align-items: start; background: #fff; border: 0; padding: 20px 0; }
  body.lcdc-site.lcdc-react .teaching-comic-panels:not(.is-page) .teaching-comic-panel > h5 { grid-column: 1/-1; margin: 0; }
  body.lcdc-site.lcdc-react .teaching-comic-panels:not(.is-page) .teaching-comic-art { margin: 0; align-self: start; }
  body.lcdc-site.lcdc-react .teaching-comic-art img { width: 100%; height: auto; max-height: none; object-fit: contain; border-radius: 8px; }
  body.lcdc-site.lcdc-react .teaching-comic-panel-copy { padding: 0; font: 400 18px/1.75 var(--lcdc-body); color: var(--lcdc-ink); }
  .lcdc-react .comic-dialogue { background: var(--lcdc-tint); border-color: var(--lcdc-line); border-radius: 8px; }
  body.lcdc-site.lcdc-react :is(.teaching-comic-navigation,.teaching-comic-tools) button { border-radius: 8px; min-height: 44px; }
  body.lcdc-site.lcdc-react .teaching-comic-navigation button[aria-current="step"] { color: #fff; background: var(--lcdc-navy); border-color: var(--lcdc-navy); }
  body.lcdc-site.lcdc-react .teaching-comic-connection { background: var(--lcdc-tint); border-color: var(--lcdc-line); }
  @media (min-width: 901px) {
    body.lcdc-site.lcdc-react .teaching-comic-reader:has(> .teaching-comic-panels:not(.is-page)) {
      display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 12px 28px;
      grid-template-areas: "art heading" "art tools" "art label" "art copy" "navigation navigation" "audio audio" "connection connection";
      align-items: start;
    }
    body.lcdc-site.lcdc-react .teaching-comic-reader:has(> .teaching-comic-panels:not(.is-page)) > .teaching-comic-heading { grid-area: heading; margin: 0; }
    body.lcdc-site.lcdc-react .teaching-comic-reader:has(> .teaching-comic-panels:not(.is-page)) > .teaching-comic-heading h4 { font-size: clamp(26px,2.8vw,36px); margin-block: 8px 12px; }
    body.lcdc-site.lcdc-react .teaching-comic-reader:has(> .teaching-comic-panels:not(.is-page)) > .teaching-comic-tools { grid-area: tools; margin: 0; }
    body.lcdc-site.lcdc-react .teaching-comic-panels:not(.is-page),
    body.lcdc-site.lcdc-react .teaching-comic-panels:not(.is-page) .teaching-comic-panel:not([hidden]) { display: contents; }
    body.lcdc-site.lcdc-react .teaching-comic-panels:not(.is-page) .teaching-comic-panel > h5 { grid-area: label; padding: 10px 12px; font-size: 15px; }
    body.lcdc-site.lcdc-react .teaching-comic-panels:not(.is-page) .teaching-comic-art { grid-area: art; align-self: start; }
    body.lcdc-site.lcdc-react .teaching-comic-panels:not(.is-page) .teaching-comic-panel-copy { grid-area: copy; font-size: 17px; }
    body.lcdc-site.lcdc-react .teaching-comic-reader > .teaching-comic-navigation { grid-area: navigation; }
    body.lcdc-site.lcdc-react .teaching-comic-reader > .tales-audio { grid-area: audio; }
    body.lcdc-site.lcdc-react .teaching-comic-reader > .teaching-comic-connection { grid-area: connection; }
  }
  body.lcdc-site.lcdc-react .preschool-dialog { width: min(1100px,calc(100vw - 32px)); background: var(--lcdc-paper); color: var(--lcdc-ink); border-color: var(--lcdc-line); border-radius: 14px; }
  body.lcdc-site.lcdc-react .preschool-reader figure img { max-height: 56svh; width: 100%; object-fit: contain; }
  body.lcdc-site.lcdc-react .preschool-reader figcaption { color: var(--lcdc-navy); }
  body.lcdc-site.lcdc-react :is(.tales-audio,.natural-audio) { border-color: var(--lcdc-line); background: #fff; color: var(--lcdc-ink); }
  body.lcdc-site.lcdc-react :is(.tales-audio,.natural-audio) button { border-radius: 8px; }

  /* Static content adapters, scoped so a puzzle piece or WebGL scene is never a UI button. */
  .lcdc-static :is(.kids-welcome,.library-intro,.adult-hero,.intro,.section-heading) h1,
  .lcdc-static.lcdc-zone-primeros-pasos .hero h1,
  .lcdc-static.lcdc-zone-educadores .hero h1,
  .lcdc-static.lcdc-zone-familias .welcome h1 { font-family: var(--lcdc-display); font-weight: 700; letter-spacing: -.035em; line-height: 1.1; }
  .lcdc-static :is(.kids-page,.library-page,.adult-page) { color: var(--lcdc-ink); }
  .lcdc-static :is(.kids-area-nav,.kids-guidance,.coloring-section,.library-callout,.adult-followup,.practice-guide,.care-note,.purpose-section,.stage-guide,.print-guide,.support) { background: var(--lcdc-white); border-color: var(--lcdc-line); box-shadow: none; }
  .lcdc-static :is(.kids-choice,.coloring-card,.story,.stage-guide,.practice-workspace,.saved-plan,.library-resource,.resource-item) { border-radius: var(--lcdc-radius); border-color: var(--lcdc-line); box-shadow: none; }
  .lcdc-static :is(.kids-welcome,.adult-hero,.library-intro) { padding-block: clamp(28px,5vw,60px); }
  .lcdc-static :is(.kids-action,.primary-action,.primary,.primary-button,.gold-button,.adult-primary) { color: var(--lcdc-navy); background: var(--lcdc-gold-light); border-color: var(--lcdc-gold); border-radius: 9px; min-height: 46px; box-shadow: none; }
  .lcdc-static .kids-area-nav a[aria-current="page"] { background: var(--lcdc-navy); color: #fff; border-color: var(--lcdc-navy); }
  .lcdc-static.lcdc-zone-primeros-pasos :is(.hero,.moment-guide,.next,.care-note) { background: #fff; border-color: var(--lcdc-line); }
  .lcdc-static.lcdc-zone-primeros-pasos .story { background: #fff; }
  .lcdc-static.lcdc-zone-empezar .path { background: #fff; border-color: var(--lcdc-line); box-shadow: none; }
  .lcdc-static.lcdc-zone-huerto { background: var(--lcdc-paper); }
  .lcdc-static.lcdc-zone-huerto :is(.intro,.life-areas,.meaning,.care,.harvest) { color: var(--lcdc-ink); }
  .lcdc-static.lcdc-zone-huerto :is(.seed-panel,.sower-panel,.guardian-word,.area-directory) { border-color: var(--lcdc-line); box-shadow: none; }
  .lcdc-static.lcdc-zone-huerto :is(.intro h1,.life-area-heading h2) { color: var(--lcdc-navy); }
  .lcdc-static.lcdc-zone-huerto :is(.intro h1 em,.life-area-heading .eyebrow) { color: #805a17; }
  .lcdc-static.lcdc-zone-huerto .landscape { border-radius: var(--lcdc-radius); }
  .lcdc-static:is(.lcdc-zone-familias,.lcdc-zone-educadores,.lcdc-zone-cuatro-semanas,.lcdc-zone-acerca,.lcdc-zone-privacidad,.lcdc-zone-terminos) { background: var(--lcdc-paper); }
  .lcdc-static.lcdc-zone-familias .welcome,
  .lcdc-static.lcdc-zone-educadores .hero { background: #fff; color: var(--lcdc-ink); }
  .lcdc-static.lcdc-zone-familias .welcome :is(h1,p),
  .lcdc-static.lcdc-zone-educadores .hero :is(h1,p) { color: var(--lcdc-navy); }
  .lcdc-static.lcdc-zone-familias .welcome .eyebrow,
  .lcdc-static.lcdc-zone-educadores .hero .eyebrow { color: #805a17; }
  .lcdc-static.lcdc-zone-educadores .hero a { color: var(--lcdc-navy); }
  .lcdc-static.lcdc-zone-familias .welcome h1 { max-width: 20ch; }
  .lcdc-static.lcdc-zone-familias :is(.conversation-card,.agreement-card),
  .lcdc-static.lcdc-zone-educadores :is(.planner,.lesson-plan,.method) { background: var(--lcdc-navy); border-color: #a3b4c2; box-shadow: none; border-radius: var(--lcdc-radius); }
  .lcdc-static.lcdc-zone-familias :is(.conversation-section,.daily-section,.family-path-section,.next-zones),
  .lcdc-static.lcdc-zone-educadores :is(.teaching-materials,.saved-plans,.facilitation) { background: var(--lcdc-paper); color: var(--lcdc-ink); }
  .lcdc-static.lcdc-zone-familias :is(.ritual-card,.conversation-history,.family-path li),
  .lcdc-static.lcdc-zone-educadores :is(.teacher-materials,.saved-plan) { background: #fff; border-color: var(--lcdc-line); box-shadow: none; border-radius: var(--lcdc-radius); }
  .lcdc-static.lcdc-zone-jovenes :is(.youth-welcome,.youth-method,.mission-browser,.progress-deck) { background: var(--lcdc-paper); border-color: var(--lcdc-line); }
  .lcdc-static.lcdc-zone-jovenes :is(.mission-brief,.game-shell) { border-color: var(--lcdc-line); box-shadow: none; }
  .lcdc-static.lcdc-zone-jovenes .mission-brief { background: var(--lcdc-navy); color: #fff; }
  .lcdc-static.lcdc-zone-jovenes .mission-brief :is(h2,p,li,blockquote,cite) { color: #fff; }
  .lcdc-static.lcdc-zone-ninos :is(.welcome-strip,.game-browser,.game-discovery,.learning-band) { background: var(--lcdc-paper); border-color: var(--lcdc-line); }
  .lcdc-static.lcdc-zone-ninos .game-shell { box-shadow: none; border-color: var(--lcdc-line); }
  .lcdc-static:is(.lcdc-zone-acerca,.lcdc-zone-privacidad,.lcdc-zone-terminos) main { color: var(--lcdc-ink); }
  .lcdc-static:is(.lcdc-zone-acerca,.lcdc-zone-privacidad,.lcdc-zone-terminos) main :is(h1,h2,h3,p,li,a) { color: var(--lcdc-ink); }
  .lcdc-static:is(.lcdc-zone-acerca,.lcdc-zone-privacidad,.lcdc-zone-terminos) main > section { background-color: #fff; border-color: var(--lcdc-line); }
  .lcdc-static :is(.kids-footer,.site-footer) { background: var(--lcdc-navy); color: #fff; }
  .lcdc-static :is(.kids-footer,.site-footer) a { color: #fff; }
  .lcdc-static.lcdc-zone-offline .card { background: #fff; color: var(--lcdc-navy); border: 1px solid var(--lcdc-line); box-shadow: none; }
  .lcdc-static.lcdc-zone-offline { display: block; padding: 0; }
  .lcdc-static.lcdc-zone-offline .card { margin: 40px auto; max-width: calc(100% - 32px); }
  .lcdc-static.lcdc-zone-assets { max-width: none; padding: 0; }
  .lcdc-static.lcdc-zone-assets > :not(.lcdc-masthead) { max-width: 760px; margin-inline: auto; padding-inline: 24px; }

  @media (max-width: 1100px) {
    .lcdc-desktop-nav { gap: 16px; }
    .lcdc-masthead { gap: 12px 20px; }
    .lcdc-desktop-nav a { font-size: 13px; }
    .home-v2-simple .hero-copy { width: 65%; }
    .home-v2-simple .hero h1 { font-size: 52px; }
    .home-v2-simple .hero { padding-inline: 32px; }
  }
  @media (max-width: 900px) {
    .lcdc-desktop-nav { display: none; }
    .lcdc-account-link { margin-left: auto; }
    .lcdc-masthead { padding-inline: 20px; }
    body.lcdc-site.lcdc-react .teaching-comic-panels:not(.is-page) .teaching-comic-panel:not([hidden]) { grid-template-columns: minmax(0,1fr); }
    body.lcdc-site.lcdc-react .teaching-comic-panel-copy { padding-block: 10px; }
    .home-v2-simple .site-header { gap: 14px; }
    .home-v2-simple .hero h1 { font-size: 46px; }
  }
  @media (max-width: 700px) {
    .lcdc-masthead, body.lcdc-static > .lcdc-local-header { padding: 10px 18px; gap: 12px; min-height: 72px; }
    .lcdc-emblem { flex-basis: 106px; }
    .lcdc-emblem img { width: 106px; }
    .lcdc-account-link { font-size: 12px; }
    .lcdc-nav-menu > summary { font-size: 12px; padding: 10px; }
    body.lcdc-static > .lcdc-local-header nav { width: 100%; gap: 4px 16px; }
    body.lcdc-static > .lcdc-local-header .common-menu { margin-left: auto; }
    .lcdc-site .public-reading { margin: 20px 16px; padding: 22px; }
    .home-v2-simple .site-header { min-height: 74px; padding: 8px 18px; }
    .home-v2-simple .brand-logo { width: 108px; height: 58px; }
    .home-v2-simple .brand { min-width: 108px; }
    .home-v2-simple .header-space { margin-left: auto; font-size: 13px; }
    .home-v2-simple .menu-toggle { order: 3; color: #fff; }
    .home-v2-simple .site-header nav.nav-open { top: 100%; background: var(--lcdc-navy); border: 1px solid #7890a4; padding: 18px; gap: 8px; max-height: 78svh; overflow-y: auto; }
    .home-v2-simple .site-header .home-nav-for { width: 100%; }
    .home-v2-simple .site-header .home-nav-for > div { position: static; box-shadow: none; }
    .home-v2-simple .hero { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto 250px; min-height: 0; padding: 0; gap: 0; overflow: clip; background: #fff; }
    .home-v2-simple .hero-copy { grid-row: 1; width: 100%; padding: 24px 24px 18px; background: #fff; text-align: left; }
    .home-v2-simple .hero { text-align: left; }
    .home-v2-simple .hero h1 { font-size: clamp(31px,7.6vw,48px); line-height: 1.08; letter-spacing: -.04em; margin: 0 0 14px; }
    .home-v2-simple .hero-tagline { font: 600 14px/1.5 var(--lcdc-body); margin-bottom: 6px; }
    .home-v2-simple .hero-intro { font-size: 15px; line-height: 1.55; margin-bottom: 18px; }
    .home-v2-simple .hero-actions { display: flex; }
    .home-v2-simple .hero-actions .gold-button { width: 100%; justify-content: center; }
    .home-v2-simple .home-continue { font-size: 14px; }
    .home-v2-simple .hero :is(.hero-entry-note,.hero-resume-note) { font-size: 11px; margin-block: 6px; }
    .home-v2-simple .hero-access-tools { margin-top: 0; gap: 12px; }
    .home-v2-simple .hero-access-tools > button { min-height: 44px; font-size: 11px; }
    .home-age-entry { display: grid; gap: 7px; font-size: 14px; font-weight: 600; color: var(--lcdc-navy); margin-top: 18px; }
    .home-age-entry select { min-height: 46px; width: 100%; padding: 10px 12px; border: 1px solid #a8b5c0; border-radius: 8px; background: #fff; color: var(--lcdc-navy); font: 14px var(--lcdc-body); }
    .home-v2-simple .hero-backdrop { position: relative; grid-row: 2; inset: auto; z-index: 0; height: 250px; background-position: 62% 65%; }
    .home-v2-simple .hero-vignette { display: none; }
    .home-v2-simple .hero-character.hero-character-trio { left: 29%; bottom: 34px; width: clamp(155px,38vw,225px); }
    .home-v2-simple .hero-character-trio .prudente-frontal { filter: brightness(.97) drop-shadow(5px 9px 4px #08142670); }
    .home-v2-simple .hero-explore { right: 14px; bottom: 10px; min-height: 44px; padding: 10px 14px; font-size: 12px; gap: 18px; }
    .home-direct-paths { display: block; padding: 4px 22px; }
    .home-direct-paths a { padding: 14px 0; min-height: 54px; font-size: 16px; }
    .home-direct-paths a + a { border-left: 0; border-top: 1px solid var(--lcdc-line); }
    .home-life-stages { justify-content: flex-start; gap: 4px 22px; padding: 18px 24px; }
    .home-life-stages > span { width: 100%; font-size: 16px; }
    .home-v2-simple .first-visit-guide { width: calc(100% - 32px); padding: 24px; }
    body.lcdc-site.lcdc-react .teaching-comic-reader { padding: 18px; }
    body.lcdc-site.lcdc-react .teaching-comic-panel-copy { font-size: 17px; line-height: 1.7; }
    body.lcdc-site.lcdc-react .preschool-dialog { width: calc(100vw - 20px); padding: 18px; }
    .lcdc-static :is(.kids-choice,.story,.stage-guide) { border-radius: 10px; }
    .lcdc-static.lcdc-zone-familias .welcome h1,
    .lcdc-static.lcdc-zone-educadores .hero h1 { font-size: clamp(34px,8.6vw,46px); line-height: 1.12; max-width: 22ch; }
    .lcdc-zone-menu > nav { right: auto; left: 0; }
    body.lcdc-static > .lcdc-local-header .brand img { width: 88px; }
  }
  @media (prefers-reduced-motion: reduce) {
    .lcdc-site { scroll-behavior: auto; }
    .home-v2-simple .hero * { animation: none; transition: none; }
  }
}
@media print { .lcdc-masthead { display: none !important; } }
