/* Un documento para recorrer. El color explica; el trazo confirma la elección. */
.review-note { font-size: 10px; padding: 4px 16px; }
.site-header {
  position: sticky; top: max(12px,env(safe-area-inset-top));
  width: min(1224px,calc(100% - 40px)); margin: 12px auto 0;
  border: 1px solid #314D3A26; border-radius: 5px 28px 5px 5px;
  box-shadow: 0 5px 18px #314D3A08; background: #FBF6EF; z-index: 30;
}
.site-header .nav-inner { width: 100%; min-height: 74px; padding: 9px 22px; gap: 18px; }
.site-header .brand { width: 138px; min-height: 44px; display: flex; align-items: center; }
.site-header .brand img { height: 44px; }
.site-header .header-right { gap: 18px; }
.site-header .site-nav { gap: 4px; }
.site-header .site-nav a { font-size: 13px; white-space: nowrap; }
.site-nav a[aria-current="location"]::before { opacity: 1; transform: scaleX(1); }
html { scroll-padding-top: 112px; }
.welcome-opening { padding-top: 44px; }
.scene-instruction { margin-bottom: 10px; }
.scene-controls { padding: 0 0 8px; }
.mountain-canvas { height: clamp(220px,20vw,290px); }
.arrival-panel { padding-top: 80px; }
#arrival-question { scroll-margin-top: 20px; }
#arrival-response {text-align:center;max-width:960px;margin:0 auto;padding:0;border:0;scroll-margin-top:20px;}
.tools-intro {display:block;padding-block:58px 36px;border:0;}
#arrival-response-title {font-size:clamp(34px,4vw,54px);font-weight:600;letter-spacing:-1.4px;line-height:1.12;max-width:27ch;margin-inline:auto;color:#314D3A;}
.tools-intro .arrival-reply {max-width:62ch;font-size:17px;line-height:1.65;margin:24px auto 0;}
.chapter-heading .chapter-context {font-size:18px;line-height:1.6;color:var(--acento);max-width:42ch;}
.breath-preview {flex-direction:column;padding-bottom:24px;}
.breath-preview .breath-surface {min-height:350px;flex:1;padding-bottom:8px;}
.breath-play {display:flex;align-items:center;justify-content:center;gap:10px;width:calc(100% - 48px);max-width:260px;margin:8px auto 0;flex-shrink:0;}
.breath-play svg {width:22px;height:22px;flex-shrink:0;}
.breath-play:focus-visible {outline:3px solid var(--stage-ink);outline-offset:4px;}
.breath-caption #breath-phase {font-size:26px;font-weight:600;line-height:1.2;}
.arrival-selected { border-radius: 2px 20px 2px 2px; padding: 8px 18px; background: color-mix(in srgb,var(--choice-fill),transparent 76%); font-size: 15px; }
.arrival-selected-icon { width: 38px; height: 38px; }
.arrival-choice[aria-pressed="true"]::before { opacity: .26; transform: scaleX(1); }
.arrival-choice[aria-pressed="true"] { box-shadow: inset 0 -2px currentColor; }
.arrival-change { margin-top: 30px; min-height: 44px; padding: 0 14px; border-bottom: 1px solid #314D3A66; }
.arrival-privacy { margin-top: 24px; }
.menu-moment { --menu-tone:#F2E8CD; color:#604C24; }
.menu-art-moment { width: 54px; height: 54px; right: 28px; top: 28px; }
.music-section, .about, #apps, #llegada { scroll-margin-top: 20px; }

@media(min-width:1100px) {
  .site-header .site-nav a { padding-inline: 14px; }
}
@media(min-width:761px) and (max-width:1099px) {
  .site-header .brand { width: 122px; }
  .site-header .nav-inner { padding-inline: 16px; gap: 12px; }
  .site-header .header-right { gap: 8px; }
  .site-header .site-nav a { padding-inline: 7px; font-size: 12px; }
  .site-header .lp-language button { padding-inline: 6px; }
}
@media(max-width:760px) {
  .site-header {position:static;width:100%;margin:0;border:0;border-bottom:1px solid var(--borde);border-radius:0;box-shadow:none;}
  .site-header .nav-inner { padding: 6px 12px; min-height: 66px; gap: 8px; }
  .site-header .brand { width: 108px; }
  .site-header .brand img { height: 40px; }
  .site-header .header-right { gap: 6px; }
  .site-header .lp-language button { min-width: 44px; min-height: 44px; }
  .site-header .menu-toggle { font-size: 12px; padding-inline: 3px; }
  html {scroll-padding-top:24px;}
  .welcome-opening { padding-top: 32px; }
  .scene-controls { padding-bottom: 0; }
  .mountain-canvas { height: 200px; }
  .arrival-panel { padding-top: 56px; }
  #arrival-question { scroll-margin-top: 20px; }
  .tools-intro {padding-block:40px 24px;}
  #arrival-response-title {font-size:clamp(32px,8.6vw,42px);}
  .tools-intro .arrival-reply {font-size:16px;}
  .chapter-heading .chapter-context {font-size:17px;}

}
@media(max-width:359px) {
  .site-header .nav-inner { padding-inline: 9px; }
  .site-header .brand { width: 88px; }
  .site-header .header-right { gap: 2px; }
  .site-header .menu-toggle { gap: 4px; font-size: 11px; }
  .site-header .menu-toggle svg { width: 19px; }
  .site-header .lp-language button { min-width: 44px!important; }
  .mountain-canvas { height: 190px; }
}
@media(prefers-reduced-motion:no-preference) {
  .choice-confirmed svg { animation: choice-unfold .8s cubic-bezier(.2,.7,.25,1) both!important; transform-origin: 50% 80%; }
  .choice-confirmed svg path:not(.arrival-icon-accent) { stroke-dasharray: 1; animation: choice-trace .8s ease-out both!important; }
  .arrival-enter .arrival-selected-icon { animation: choice-unfold .8s cubic-bezier(.2,.7,.25,1) both; }
  @keyframes choice-unfold { 0% { transform: scale(.78) rotate(-7deg); } 55% { transform: scale(1.16) rotate(2deg); } 100% { transform: scale(1); } }
  @keyframes choice-trace { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
  @keyframes path-unfold { from { opacity: .35; transform: translateY(14px); } to { opacity: 1; transform: none; } }
}
