/* Inicio móvil: texto, muestra y controles tienen zonas propias. */
.mobile-menu,.mobile-quote,.intro-preview,.scroll-cue{display:none}
.story .step:has(h1){opacity:1}
html:not(.js) .intro-preview{display:none!important}
html:not(.js) #story,html:not(.js) .story .stick{height:auto}
html:not(.js) .story .scene-wrap{inset:auto!important;height:260px!important}
html:not(.js) .story .step{max-width:100%;width:100%}
html:not(.js) .story .story-controls{display:none}
html:not(.js) .stick[data-chapter="0"] .scene-wrap #fallback{display:block!important;opacity:1}
@media(max-width:900px){
  html{scroll-padding-top:76px}
  .top{height:calc(64px + env(safe-area-inset-top,0px));padding:calc(8px + env(safe-area-inset-top,0px)) 5vw 8px;gap:12px;flex-wrap:nowrap;background:#101411ed}
  .top>.logo{font-size:11px;gap:8px;letter-spacing:.1em;margin-right:auto;white-space:nowrap}
  .top>.logo img{width:26px;height:26px}
  .top>nav{display:none}
  .top>.mobile-quote{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:12px;padding:10px 14px;border:1px solid #dcb087;background:#dcb087;color:#111412!important}
  .mobile-menu{display:block;position:relative}
  .mobile-menu summary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;font-size:12px;color:#e4e6dd;cursor:pointer;list-style:none}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary span{font-size:20px;font-weight:400}
  .mobile-menu[open] summary span{transform:rotate(45deg)}
  .mobile-menu nav{position:absolute;top:52px;right:-92px;display:grid;gap:0;width:min(300px,90vw);padding:10px;background:#19201a;border:1px solid #56604f;box-shadow:0 16px 45px #0008}
  .mobile-menu nav a{display:flex!important;align-items:center;min-height:48px;padding:10px 14px;font-size:14px!important;color:#efeee5;border-bottom:1px solid #ffffff13}
  #story{height:460svh}
  .stick{height:100svh}
  .story-meta{display:none}
  .story .step{top:calc(88px + env(safe-area-inset-top,0px));bottom:auto;left:6vw;width:88vw;max-width:88vw}
  .story .step small{font-size:10px;letter-spacing:.12em;margin-bottom:10px}
  .story .step h1,.story .step h2{font-size:clamp(30px,8vw,38px);line-height:1.06;letter-spacing:-.045em;max-width:20ch;margin:0;font-weight:650}
  .story .step p{font-size:14px;line-height:1.5;margin-top:12px;max-width:38ch;color:#bec6b8}
  .story .entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
  .story .entry-actions .btn{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;min-height:44px;padding:10px 8px;white-space:nowrap}
  .story .entry-actions .btn.o{border-color:#69745f}
  .story .entry-quote,.story .step .hint{display:none}
  .story .step .entry-prices{display:block;font-size:12px!important;line-height:1.5!important;margin-top:12px;color:#cfb99d}
  .story .scene-wrap{inset:var(--scene-top,340px) 0 calc(156px + env(safe-area-inset-bottom,0px))!important;height:auto!important;width:100%;background:radial-gradient(ellipse at 50% 65%,#2e3c2a66,transparent 65%),#101411;overflow:hidden}
  .story .scene-wrap:after{background:linear-gradient(180deg,#101411,transparent 16%,transparent 82%,#101411);pointer-events:none}
  .scene-wrap #fallback{object-fit:contain;padding:8px 5vw}
  .story .scene-label{display:none}
  .intro-preview{position:absolute;inset:0 6vw 4px;align-items:center;grid-template-columns:1fr 1fr;gap:12px;z-index:1}
  .stick[data-chapter="0"] .intro-preview{display:grid}
  .stick[data-chapter="0"] .scene-wrap #c,.stick[data-chapter="0"] .scene-wrap #fallback{opacity:0}
  .intro-preview figure{margin:0;min-width:0;border:1px solid #73846766;background:#1a221b;box-shadow:0 12px 30px #0005}
  .preview-web{transform:translateY(-8px) rotate(-3deg)}
  .preview-house{transform:translateY(12px) rotate(3deg)}
  .intro-preview img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:top}
  .intro-preview .preview-house img{object-fit:contain;object-position:center;background:#dde1d4}
  .intro-preview figcaption{font-size:9px;letter-spacing:.09em;color:#e0b893;padding:9px 10px}
  .story .story-controls{left:5vw;right:5vw;bottom:calc(8px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding-top:0;border:0;background:#101411}
  .scroll-cue{display:flex;grid-column:1/-1;grid-row:1;align-items:center;justify-content:space-between;min-height:44px;padding:0 4px;color:#efece1;background:none;border:0;border-bottom:1px solid #dcb0874d;font:inherit;font-size:12px;cursor:pointer;text-align:left}
  .scroll-arrow{font-size:22px;color:#e5b992;animation:scroll-invite 1.8s ease-in-out 3}
  .story-controls .chapters{grid-column:1/-1;grid-row:2;gap:4px;flex-wrap:nowrap}
  .story-controls .chapters button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;padding:4px 0;font-size:10px;flex:1}
  .story-controls .chapters button span{margin:0;font-size:11px}
  .story-controls .chapters button em{display:block;font-size:9px;letter-spacing:0;font-style:normal}
  .story-controls .chapters button.on{border-color:#e5b992;box-shadow:0 1px 0 #e5b992;background:#dcb0870d}
  .story-controls .transport{grid-row:3;grid-column:2;position:static;display:flex;gap:8px;justify-content:flex-end}
  .story-controls #pause,.story-controls #next{min-height:44px;padding:8px 6px;font-size:11px;white-space:nowrap}
  .story-controls .scrub-wrap{grid-row:3;grid-column:1;min-height:44px;margin:0;padding:0;opacity:1;min-width:0}
  .story-controls #scrub{appearance:none;height:44px;min-height:44px;background:transparent;cursor:pointer;width:100%;touch-action:pan-y}
  #scrub::-webkit-slider-runnable-track{height:3px;background:#67745d;border-radius:4px}
  #scrub::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:#e5b992;margin-top:-5.5px}
  #scrub::-moz-range-track{height:3px;background:#67745d}
  #scrub::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#e5b992}
  .scene-load-state{bottom:156px;top:auto;left:6vw;right:6vw;font-size:12px}
  .sec{padding:56px 6vw}
  .sec h2{font-size:clamp(28px,7.5vw,36px);line-height:1.12;max-width:20ch}
  .service-link h3{font-size:30px}
  .service-link p,.about-copy p,.cta .lead{font-size:14px;line-height:1.65}
  .destination-image{margin-bottom:16px}
  .service-links{gap:24px}
  .kb-faq.sec{padding:48px 6vw}
  .kb-faq summary{font-size:15px}
  .reduced-story .story .step{top:auto;left:auto;max-width:100%;width:100%;padding:28px 6vw}
  .reduced-story .story .scene-wrap{inset:auto!important;height:260px!important}
  .reduced-story .stick .intro-preview{display:none}
  .reduced-story .story .story-controls{display:none}
  .reduced-story .stick[data-chapter="0"] .scene-wrap #fallback{opacity:1}
  .reduced-story .story .step .entry-quote{display:inline-flex}
}
@media(max-width:900px) and (max-height:650px) and (orientation:portrait){
  .story .step{top:calc(78px + env(safe-area-inset-top,0px))}
  .story .step small{margin-bottom:7px}
  .story .step h1,.story .step h2{font-size:30px}
  .story .step p{font-size:13px;line-height:1.45;margin-top:9px}
  .story .entry-actions{margin-top:12px}
  .story .step .entry-prices{display:none}
  .intro-preview img{aspect-ratio:1.5}
}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){
  .story .step{top:80px;width:45vw;max-width:45vw;left:5vw}
  .story .step h1,.story .step h2{font-size:28px}
  .story .step p{font-size:13px;max-width:33ch}
  .story .step .entry-actions,.story .step .entry-prices{display:none}
  .story .scene-wrap{inset:75px 0 calc(156px + env(safe-area-inset-bottom,0px)) 50%!important;width:50%}
  .intro-preview{inset:0 5vw 0 0;gap:8px}
  .intro-preview img{aspect-ratio:1.7}
  .intro-preview figcaption{font-size:8px;padding:6px}
  .story-controls .chapters button em{display:none}
}
@media(prefers-reduced-motion:reduce){.scroll-arrow{animation:none}}
@keyframes scroll-invite{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}
