/* Adaptación a pantallas táctiles. Las reglas de escritorio >=1201px quedan intactas. */
.portal-mobile-chrono,.orbit-mobile-pips{display:none}
/* Tablets en horizontal y portátiles estrechos: conservar la posición inferior derecha
   y limitar la altura que consume el texto sin sacrificar el encuadre. */
@media (min-width:781px) and (max-width:1200px){
  .portal-header{padding:22px 35px}
  .portal-content{padding:18px 38px 200px;min-height:min(720px,calc(100svh - 100px));gap:24px}
  .portal-copy{width:min(57vw,575px);margin-top:0}
  .portal-kicker{margin-bottom:16px}
  .portal-title{font-size:clamp(66px,9.4vw,108px)}
  .portal-title-rule{margin:20px 0 15px}
  .portal-quote{font-size:clamp(25px,3.1vw,36px);margin-bottom:11px}
  .portal-description{font-size:13px;line-height:1.55}
  .portal-navigation{bottom:15px;right:clamp(20px,4vw,46px);width:min(380px,44vw);margin:0}
  .astillas-orbit{--near:clamp(85px,10vw,115px)}
  .portal-chronometer{display:none}
}
/* Tablet vertical y móviles amplios. Bloques fluidos, navegación táctil separada
   de los textos para evitar solapamientos. */
@media (max-width:780px){
  .portal-body,.portal-shell{min-height:100svh;min-height:100dvh}
  .portal-shell{display:flex;flex-direction:column}
  .portal-header{padding:18px clamp(19px,4.5vw,32px) 8px;align-items:center;gap:12px}
  .portal-brand{font-size:clamp(12px,2.15vw,16px);letter-spacing:.12em;gap:9px}
  .portal-brand-symbol{font-size:24px}
  .portal-header-side{gap:0;flex:none}
  .portal-author{display:none}
  .portal-sound-toggle{display:inline-flex;align-items:center;gap:7px;min-height:40px;font-size:9px!important;padding:7px 2px;white-space:nowrap}
  .sound-label{font-size:9px;letter-spacing:.08em}
  .portal-content{min-height:0;flex:1;display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;gap:0;padding:clamp(20px,4vh,55px) clamp(22px,5vw,40px) 22px}
  .portal-copy{width:100%;max-width:none;min-width:0;margin:0;flex:1;display:flex;flex-direction:column;align-items:stretch}
  .portal-kicker{font-size:10px;letter-spacing:.20em;margin-bottom:clamp(14px,3vh,25px)}
  .portal-title{font-size:clamp(76px,13.1vw,112px);line-height:.84;max-width:100%}
  .portal-title-second{font-size:.80em;margin-top:.16em}
  .portal-title-rule{margin:22px 0 17px;width:min(360px,80%)}
  .portal-quote{font-size:clamp(26px,4.5vw,37px);margin-bottom:12px;line-height:1.12}
  .portal-description{font-size:clamp(13px,1.9vw,15px);line-height:1.65;max-width:430px}
  .portal-chronometer{display:none}
  .portal-mobile-chrono{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:clamp(13px,2.2vh,23px) 0 0;color:#e4d8f7;letter-spacing:.13em;font-size:9px;font-weight:700}
  .portal-mobile-chrono span{color:#d3c1f8}
  .portal-mobile-chrono strong{font-family:Georgia,serif;font-size:clamp(19px,3vw,26px);font-weight:400;line-height:1}
  .portal-mobile-chrono small{font:700 9px Arial,sans-serif;letter-spacing:.12em}
  .portal-navigation{position:relative!important;inset:auto!important;transform:none!important;width:min(100%,460px)!important;max-width:none!important;align-self:center;margin:auto 0 0!important;padding-top:clamp(16px,3vh,30px);filter:none}
  .astillas-orbit{width:100%;--near:clamp(112px,24vw,146px);height:168px;touch-action:pan-y;overflow-x:clip;overflow-y:visible}
  .orbit-item{top:0;width:134px;height:155px}
  .orbit-image{width:118px;height:118px}
  .orbit-item.is-center{--scale:.94}
  .orbit-item.is-left,.orbit-item.is-right{--scale:.73;--opacity:.91;--bright:.9}
  .orbit-label{min-width:190px;margin-top:9px}
  .orbit-label strong{font-size:12px;letter-spacing:.12em}
  .orbit-label small{font-size:8px}
  .astillas-orbit::before{bottom:74px;width:min(90%,420px);height:60px}
  .astillas-orbit::after{bottom:91px}
  .orbit-mobile-pips{display:flex;justify-content:center;align-items:center;gap:9px;height:17px;margin-top:3px}
  .orbit-mobile-pips span{display:block;width:4px;height:4px;border-radius:50%;background:rgba(204,178,246,.47);transition:background .3s,box-shadow .3s,transform .3s}
  .orbit-mobile-pips span.is-current{background:#efdeff;box-shadow:0 0 10px 2px rgba(183,141,255,.55);transform:scale(1.4)}
  .portal-footer{flex:none;padding:12px 24px 13px;justify-content:center;min-height:43px}
  .portal-footer-left{font-size:8px;letter-spacing:.10em;max-width:100%;text-align:center;line-height:1.5}
  .portal-footer-middle{display:none}
  /* No añadir velos ni oscurecimientos al fondo en pantallas táctiles. */
  .portal-body .portal-colorwash{display:none}
  /* La introducción conserva todos sus elementos dentro del alto útil. */
  .intro-content{width:min(95vw,640px);max-height:calc(100dvh - 20px)}
  .intro-enter{min-height:54px}
}
@media (max-width:600px){
  .portal-header{padding:12px 17px 0}
  .portal-brand{font-size:clamp(10px,2.9vw,13px);letter-spacing:.06em;gap:6px}
  .portal-brand-thin{letter-spacing:.04em}
  .portal-brand-symbol{font-size:20px}
  .portal-sound-toggle{font-size:8px!important;gap:5px}
  .sound-label{font-size:8px;letter-spacing:0}
  .portal-content{padding:clamp(18px,4vh,38px) 20px 5px}
  .portal-kicker{font-size:9px;letter-spacing:.15em;margin-bottom:clamp(12px,2vh,18px)}
  .portal-title{font-size:clamp(53px,13.4vw,75px);line-height:.84;letter-spacing:-.045em}
  .portal-title-second{font-size:.84em}
  .portal-title-rule{margin:clamp(13px,2.5vh,21px) 0 12px;width:min(290px,78%)}
  .portal-quote{font-size:clamp(23px,5.2vw,30px);line-height:1.14;margin-bottom:10px}
  .portal-description{font-size:12px;line-height:1.6}
  .portal-mobile-chrono{margin:12px 0 0;font-size:8px;gap:9px}
  .portal-mobile-chrono strong{font-size:20px}
  .portal-mobile-chrono small{font-size:8px}
  .portal-navigation{width:min(100%,365px)!important;padding-top:13px}
  .astillas-orbit{--near:clamp(86px,27vw,120px);height:147px}
  .orbit-item{width:118px;height:147px}
  .orbit-image{width:106px;height:106px}
  .orbit-item.is-center{--scale:.92}
  .orbit-item.is-left,.orbit-item.is-right{--scale:.68}
  .orbit-label{margin-top:8px;min-width:175px}
  .orbit-label strong{font-size:11px;letter-spacing:.12em}
  .orbit-label small{font-size:7px}
  .astillas-orbit::before{height:52px;bottom:69px}
  .astillas-orbit::after{bottom:82px}
  .orbit-mobile-pips{margin-top:0}
  .portal-footer{padding:6px 14px 7px;min-height:32px}
  .portal-footer-left{font-size:7px}
  .intro-eyebrow{max-width:95%;line-height:1.45}
  .intro-heading{font-size:clamp(39px,14vw,73px)}
  .intro-enter{width:100%;min-width:0;padding:16px 14px;letter-spacing:.08em;gap:10px;font-size:9px;line-height:1.45}
  .intro-sigil{width:clamp(65px,10vh,92px);height:clamp(65px,10vh,92px)}
  .intro-side-label{display:none}
}
/* Teléfonos de altura reducida: permitir bajar ligeramente hasta el carrusel,
   sin recortar controles ni crear superposiciones. */
@media (max-width:600px) and (max-height:710px){
  .portal-content{padding-top:14px;padding-bottom:10px}
  .portal-kicker{margin-bottom:9px}
  .portal-title{font-size:clamp(48px,12.3vw,68px)}
  .portal-title-rule{margin:12px 0 10px}
  .portal-quote{font-size:clamp(21px,4.9vw,26px);margin-bottom:8px}
  .portal-mobile-chrono{margin-top:8px}
  .portal-navigation{padding-top:10px}
  .astillas-orbit{height:140px}
  .orbit-mobile-pips{height:12px}
  .intro-footnote{display:none}
}
@media (max-width:900px) and (orientation:landscape) and (max-height:540px){
  .portal-shell{min-height:100svh}
  .portal-content{padding-top:12px;min-height:0}
  .portal-title{font-size:clamp(50px,8vw,85px)}
  .portal-kicker{margin-bottom:8px}
  .portal-title-rule{margin:9px 0}
  .portal-quote{font-size:clamp(19px,2.9vw,26px)}
  .portal-navigation{margin-top:16px!important}
  .intro-content{max-height:calc(100dvh - 8px)}
  .intro-sigil{display:none}
  .intro-heading{font-size:clamp(35px,8vh,54px)}
  .intro-footnote{display:none}
}
@media (prefers-reduced-motion:reduce){
  .orbit-mobile-pips span{transition:none}
}

/* Tablets verticales de 8-11 pulgadas: evita un vacío excesivo entre texto
   y navegación y conserva el carrusel situado a la derecha. */
@media (min-width:781px) and (max-width:1024px) and (orientation:portrait){
  .portal-shell{min-height:100dvh}
  .portal-content{display:flex;align-items:stretch;justify-content:flex-start;flex-direction:column;flex:1;min-height:0;padding:clamp(28px,5vh,64px) 42px 24px}
  .portal-copy{width:100%;max-width:none;min-height:0;margin:0;display:flex;flex-direction:column;flex:1}
  .portal-title{font-size:clamp(85px,11vw,119px)}
  .portal-kicker{margin-bottom:25px}
  .portal-title-rule{margin:22px 0 17px}
  .portal-quote{font-size:clamp(28px,4vw,37px)}
  .portal-description{font-size:15px}
  .portal-mobile-chrono{display:flex;align-items:center;gap:14px;margin-top:22px;color:#e3d6f7;font-size:10px;font-weight:700;letter-spacing:.14em}
  .portal-mobile-chrono strong{font:400 28px Georgia,serif}
  .portal-mobile-chrono small{font:700 10px Arial,sans-serif}
  .portal-chronometer{display:none}
  .portal-navigation{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;align-self:flex-end;margin:auto 0 0!important;padding-top:20px;width:410px!important;max-width:100%;overflow-x:clip;overflow-y:visible}
  .astillas-orbit{--near:120px;height:173px}
  .portal-footer{min-height:55px}
}
