/* Cronovisor Experience · Observatorio definitivo V1 */
.observatory-page .chronos-observatory{background:radial-gradient(ellipse at 50% 44%,#08172d 0,#030812 45%,#010207 100%)}
.observatory-page .chronos-vignette{background:radial-gradient(ellipse at 50% 45%,transparent 28%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.82) 100%),linear-gradient(180deg,rgba(1,3,9,.72),transparent 24%,transparent 72%,rgba(1,3,9,.78))}
.observatory-page .chronos-title-block{max-width:460px}.observatory-page .chronos-title-block h1{font-size:clamp(38px,5.2vw,76px)}
.observatory-page .chronos-stats div{background:linear-gradient(145deg,rgba(10,20,38,.66),rgba(3,7,15,.46));box-shadow:inset 0 1px rgba(255,255,255,.025)}
.chronos-world-label{opacity:0;padding:8px 12px;background:rgba(2,6,14,.84);border-radius:999px;box-shadow:0 10px 35px rgba(0,0,0,.35);transition:opacity .18s,transform .18s,box-shadow .18s;will-change:transform,opacity}
.chronos-world-label strong,.chronos-world-label span{display:inline}.chronos-world-label strong{font-size:11px}.chronos-world-label span{margin-left:8px;font-size:9px}.chronos-world-label.is-active{box-shadow:0 0 30px color-mix(in srgb,var(--world-color) 42%,transparent),0 12px 34px rgba(0,0,0,.5)}
.chronos-portal-info{--portal-accent:#62a9ff;position:absolute;z-index:18;right:clamp(22px,4vw,68px);top:310px;width:min(310px,calc(100vw - 44px));padding:18px 20px;border:1px solid color-mix(in srgb,var(--portal-accent) 35%,transparent);border-radius:16px;background:linear-gradient(145deg,rgba(7,14,28,.82),rgba(2,5,12,.66));backdrop-filter:blur(18px);box-shadow:0 22px 70px rgba(0,0,0,.42),0 0 35px color-mix(in srgb,var(--portal-accent) 12%,transparent);opacity:.62;transform:translateY(6px);transition:opacity .25s,transform .25s,border-color .25s;pointer-events:none}
.chronos-portal-info.is-visible{opacity:1;transform:none}.chronos-portal-info>span{display:block;color:var(--portal-accent);font-size:9px;letter-spacing:.18em;font-weight:700}.chronos-portal-info strong{display:block;margin:7px 0 5px;font-size:20px}.chronos-portal-info p{margin:0;color:#9dacbf;font-size:12px;line-height:1.45}.chronos-portal-info i{display:block;height:3px;margin-top:13px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.chronos-portal-info i b{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--portal-accent),#fff);box-shadow:0 0 12px var(--portal-accent);transition:width .35s}
.chronos-core-caption b{font-size:16px;letter-spacing:.38em}.chronos-core-caption span{margin-top:4px;display:block}
.chronos-controls button{background:rgba(4,9,19,.72);box-shadow:0 10px 30px rgba(0,0,0,.28)}
@media(max-width:900px){.chronos-portal-info{top:auto;right:18px;bottom:118px;width:260px}.chronos-title-block{max-width:70vw}.chronos-stats{top:102px}}
@media(max-width:650px){.chronos-portal-info{display:none}.chronos-title-block h1{font-size:36px}.chronos-world-label span{display:none}.chronos-world-label strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){.chronos-world-label,.chronos-portal-info,.chronos-portal-info i b{transition:none}}


/* Cronovisor Experience · Galería de Portales V1 */
.chronos-gallery[hidden]{display:none!important}
.chronos-gallery{--gallery-accent:#62a9ff;position:absolute;inset:0;z-index:70;display:grid;grid-template-columns:minmax(54px,1fr) minmax(300px,940px) minmax(54px,1fr);align-items:center;gap:clamp(8px,2vw,28px);padding:88px clamp(12px,4vw,70px) 68px;opacity:0;visibility:hidden;transition:opacity .34s ease,visibility .34s;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--gallery-accent) 13%,transparent),transparent 40%)}
.chronos-gallery.is-open{opacity:1;visibility:visible}.chronos-gallery-backdrop{position:absolute;inset:0;z-index:-2;background:rgba(1,4,10,.76);backdrop-filter:blur(15px) saturate(.76)}
.chronos-gallery-backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,transparent 5%,rgba(0,0,0,.13) 48%,rgba(0,0,0,.72) 100%)}
.chronos-gallery-card{display:grid;grid-template-columns:minmax(280px,1.3fr) minmax(250px,.75fr);align-items:center;gap:clamp(28px,5vw,76px);min-width:0}
.chronos-gallery-portal{--gallery-progress:0deg;position:relative;width:min(56vh,56vw,620px);aspect-ratio:1;margin:auto;border-radius:50%;filter:drop-shadow(0 28px 70px rgba(0,0,0,.6));transform:scale(.84) rotateY(-10deg);opacity:.3;transition:transform .55s cubic-bezier(.2,.75,.2,1),opacity .45s}
.chronos-gallery.is-open .chronos-gallery-portal{transform:scale(1) rotateY(0);opacity:1}.chronos-gallery-portal img{position:absolute;inset:5.6%;width:88.8%;height:88.8%;object-fit:cover;border-radius:50%;border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 0 55px rgba(0,0,0,.42),0 0 35px color-mix(in srgb,var(--gallery-accent) 28%,transparent);user-select:none}
.chronos-gallery-portal:before,.chronos-gallery-portal:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.chronos-gallery-portal:before{inset:2.2%;border:clamp(5px,.75vw,11px) solid rgba(7,13,24,.94);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--gallery-accent) 68%,white 12%),0 0 0 2px rgba(255,255,255,.12),0 0 60px color-mix(in srgb,var(--gallery-accent) 30%,transparent)}
.chronos-gallery-portal:after{inset:0;background:conic-gradient(from -90deg,var(--gallery-accent) var(--gallery-progress),rgba(255,255,255,.1) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 0);filter:drop-shadow(0 0 8px var(--gallery-accent))}
.chronos-gallery-aura{position:absolute;inset:-13%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gallery-accent) 20%,transparent),transparent 64%);animation:galleryAura 3.2s ease-in-out infinite}.chronos-gallery-glass{position:absolute;inset:7%;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 27%,transparent 67%,rgba(255,255,255,.06));mix-blend-mode:screen;pointer-events:none}
.chronos-gallery-copy{min-width:0}.chronos-gallery-copy>span{color:var(--gallery-accent);font-size:10px;letter-spacing:.25em;font-weight:800}.chronos-gallery-copy h2{margin:11px 0 8px;font-size:clamp(32px,4vw,66px);line-height:.95}.chronos-gallery-copy p{color:#aebdd0;font-size:15px}.chronos-gallery-meter{height:4px;margin:23px 0 28px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden}.chronos-gallery-meter b{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gallery-accent),#fff);box-shadow:0 0 18px var(--gallery-accent);transition:width .45s}
.chronos-gallery-actions{display:flex;flex-wrap:wrap;gap:10px}.chronos-gallery-actions button{min-height:45px;padding:0 18px;border-radius:12px;border:1px solid rgba(255,255,255,.14);font-weight:750}.chronos-gallery-enter{background:linear-gradient(135deg,var(--gallery-accent),color-mix(in srgb,var(--gallery-accent) 62%,#5d42ff));color:white;box-shadow:0 13px 38px color-mix(in srgb,var(--gallery-accent) 20%,transparent)}.chronos-gallery-orbit{background:rgba(7,13,25,.72);color:#dbe7f7}
.chronos-gallery-arrow,.chronos-gallery-close{border:1px solid rgba(151,196,255,.25);background:rgba(4,10,21,.72);color:#e8f3ff;backdrop-filter:blur(13px);box-shadow:0 16px 42px rgba(0,0,0,.34)}.chronos-gallery-arrow{width:clamp(48px,5vw,70px);height:clamp(72px,11vh,124px);border-radius:999px;font-size:clamp(36px,5vw,66px);justify-self:center;transition:transform .2s,border-color .2s,background .2s}.chronos-gallery-arrow:hover{transform:scale(1.06);border-color:var(--gallery-accent);background:color-mix(in srgb,var(--gallery-accent) 14%,rgba(4,10,21,.82))}.chronos-gallery-close{position:absolute;right:clamp(20px,3vw,48px);top:104px;width:46px;height:46px;border-radius:50%;font-size:27px}
.chronos-gallery-dots{position:absolute;left:50%;bottom:36px;transform:translateX(-50%);display:flex;gap:8px}.chronos-gallery-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--dot-color) 34%,#334);opacity:.42;transition:transform .2s,opacity .2s,box-shadow .2s}.chronos-gallery-dots button.is-active{opacity:1;transform:scale(1.55);box-shadow:0 0 12px var(--dot-color)}
.chronos-gallery-help{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);margin:0;color:#728197;font-size:9px;letter-spacing:.13em;white-space:nowrap}.chronos-gallery.is-changing .chronos-gallery-portal,.chronos-gallery.is-changing .chronos-gallery-copy{animation:gallerySwap .42s ease}.chronos-gallery.slide-right.is-changing .chronos-gallery-portal,.chronos-gallery.slide-right.is-changing .chronos-gallery-copy{animation-direction:reverse}
.gallery-is-open .chronos-title-block,.gallery-is-open .chronos-stats,.gallery-is-open .chronos-core-caption,.gallery-is-open .chronos-instructions,.gallery-is-open .chronos-controls,.gallery-is-open .chronos-world-label,.gallery-is-open .chronos-portal-info{opacity:.08!important;pointer-events:none}.gallery-is-open #chronosCanvas{filter:blur(2px) brightness(.38)}
@keyframes galleryAura{50%{transform:scale(1.055);opacity:.7}}@keyframes gallerySwap{0%{opacity:1;transform:translateX(0)}45%{opacity:0;transform:translateX(-34px)}55%{opacity:0;transform:translateX(34px)}100%{opacity:1;transform:translateX(0)}}
@media(max-width:900px){.chronos-gallery{grid-template-columns:48px 1fr 48px;padding:88px 10px 65px}.chronos-gallery-card{grid-template-columns:1fr;text-align:center;gap:14px}.chronos-gallery-portal{width:min(48vh,70vw,430px)}.chronos-gallery-copy h2{font-size:34px}.chronos-gallery-actions{justify-content:center}.chronos-gallery-copy p{margin:4px}.chronos-gallery-meter{margin:12px auto 17px;max-width:370px}.chronos-gallery-close{top:94px;right:14px}}
@media(max-width:580px){.chronos-gallery{grid-template-columns:40px 1fr 40px;padding-top:78px}.chronos-gallery-arrow{width:39px;height:68px;font-size:37px}.chronos-gallery-portal{width:min(39vh,72vw,330px)}.chronos-gallery-help{display:none}.chronos-gallery-dots{bottom:16px}.chronos-gallery-copy>span{font-size:8px}.chronos-gallery-copy h2{font-size:28px}.chronos-gallery-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.chronos-gallery,.chronos-gallery-portal,.chronos-gallery-meter b,.chronos-gallery-dots button{transition:none}.chronos-gallery-aura,.chronos-gallery.is-changing .chronos-gallery-portal,.chronos-gallery.is-changing .chronos-gallery-copy{animation:none}}

/* Cronovisor Experience · Selector Órbita / Galería */
.chronos-mode-switch{
  position:absolute;
  z-index:92;
  top:clamp(92px,11vh,126px);
  left:50%;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:1fr 1fr;
  width:min(310px,calc(100vw - 32px));
  padding:5px;
  border:1px solid rgba(145,190,255,.24);
  border-radius:999px;
  background:linear-gradient(145deg,rgba(11,22,42,.76),rgba(3,8,18,.68));
  box-shadow:0 16px 48px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.06);
  backdrop-filter:blur(18px) saturate(1.25);
  -webkit-backdrop-filter:blur(18px) saturate(1.25);
  isolation:isolate;
}
.chronos-mode-switch i{
  position:absolute;
  z-index:-1;
  top:5px;
  bottom:5px;
  left:5px;
  width:calc(50% - 5px);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(55,154,255,.92),rgba(104,81,255,.88));
  box-shadow:0 8px 22px rgba(38,124,255,.32),inset 0 1px rgba(255,255,255,.35);
  transition:transform .32s cubic-bezier(.2,.8,.2,1),background .25s,box-shadow .25s;
}
.chronos-mode-switch.is-gallery i{transform:translateX(100%)}
.chronos-mode-switch button{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:0 16px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#8fa2ba;
  font:inherit;
  cursor:pointer;
  transition:color .22s,transform .18s;
}
.chronos-mode-switch button:hover{color:#e8f4ff}
.chronos-mode-switch button:active{transform:scale(.97)}
.chronos-mode-switch button[aria-pressed="true"]{color:#fff;text-shadow:0 1px 12px rgba(255,255,255,.28)}
.chronos-mode-switch button span{font-size:17px;line-height:1}
.chronos-mode-switch button b{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.chronos-mode-switch button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.gallery-is-open .chronos-mode-switch{opacity:1!important;pointer-events:auto!important}
.gallery-is-open .chronos-mode-switch{background:rgba(4,10,21,.7);box-shadow:0 16px 48px rgba(0,0,0,.48)}
@media(max-width:720px){
  .chronos-mode-switch{top:82px;width:244px}
  .chronos-mode-switch button{min-height:36px;padding:0 9px;gap:6px}
  .chronos-mode-switch button b{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.chronos-mode-switch i,.chronos-mode-switch button{transition:none}}

/* Cronovisor Experience · Galería V2 — Portales vivos */
.chronos-gallery{
  --parallax-x:0px;
  --parallax-y:0px;
  perspective:1500px;
  overflow:hidden;
}
.chronos-gallery-backdrop{
  background-size:cover;
  background-position:center;
  transform:scale(1.13) translate3d(calc(var(--parallax-x) * -.32),calc(var(--parallax-y) * -.32),0);
  filter:saturate(.82) contrast(1.08);
  transition:background-image .5s ease,transform .65s cubic-bezier(.2,.75,.2,1),filter .45s;
}
.chronos-gallery-backdrop:before{
  content:"";
  position:absolute;
  inset:-8%;
  background:
    radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--gallery-accent) 24%,transparent),transparent 38%),
    linear-gradient(115deg,rgba(255,255,255,.035),transparent 24%,rgba(255,255,255,.02) 64%,transparent);
  mix-blend-mode:screen;
  animation:galleryAtmosphere 9s ease-in-out infinite alternate;
}
.chronos-gallery-card{
  position:relative;
  padding:clamp(20px,3.4vw,44px);
  border:1px solid rgba(195,222,255,.15);
  border-radius:clamp(26px,3vw,42px);
  background:linear-gradient(145deg,rgba(14,27,50,.43),rgba(4,9,19,.3));
  box-shadow:0 34px 110px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.08);
  backdrop-filter:blur(20px) saturate(1.2);
  -webkit-backdrop-filter:blur(20px) saturate(1.2);
  transform-style:preserve-3d;
}
.chronos-gallery-portal{
  transform-style:preserve-3d;
  transform:scale(.84) rotateX(var(--tilt-x,0deg)) rotateY(calc(-10deg + var(--tilt-y,0deg)));
  will-change:transform;
}
.chronos-gallery.is-open .chronos-gallery-portal{
  transform:scale(1) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));
  transition:transform .28s cubic-bezier(.2,.75,.2,1),opacity .45s,filter .4s;
}
.chronos-gallery-portal img{
  transform:translateZ(22px) scale(1.015);
  transition:transform .5s cubic-bezier(.2,.75,.2,1),filter .45s;
}
.chronos-gallery-portal:hover img{transform:translateZ(34px) scale(1.055);filter:saturate(1.08) contrast(1.04)}
.chronos-gallery-glass{transform:translateZ(44px)}
.chronos-gallery-aura{transform:translateZ(-18px)}
.chronos-gallery-copy{transform:translateZ(30px)}
.chronos-gallery-copy p{max-width:36ch;line-height:1.65}
.chronos-gallery-actions button{transition:transform .18s,filter .2s,box-shadow .2s,border-color .2s}
.chronos-gallery-actions button:hover{transform:translateY(-2px);filter:brightness(1.08)}
.chronos-gallery-enter{position:relative;overflow:hidden}
.chronos-gallery-enter:after{content:"";position:absolute;inset:-40% -70%;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.3),transparent 58%);transform:translateX(-45%);transition:transform .65s}
.chronos-gallery-enter:hover:after{transform:translateX(45%)}
.chronos-gallery.is-changing .chronos-gallery-card{animation:galleryCardSwap .62s cubic-bezier(.2,.8,.2,1)}
.chronos-gallery.slide-right.is-changing .chronos-gallery-card{animation-direction:reverse}
.chronos-gallery.is-exhibition .chronos-gallery-card{animation:galleryFloat 6s ease-in-out infinite}
.chronos-gallery.is-exhibition .chronos-gallery-copy,
.chronos-gallery.is-exhibition .chronos-gallery-help,
.chronos-gallery.is-exhibition .chronos-gallery-dots{opacity:.42;transition:opacity .8s}
.chronos-gallery.is-exhibition .chronos-gallery-arrow{opacity:.18;transition:opacity .8s}
.chronos-gallery.is-entering{pointer-events:none}
.chronos-gallery.is-entering .chronos-gallery-card{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none}
.chronos-gallery.is-entering .chronos-gallery-copy,
.chronos-gallery.is-entering .chronos-gallery-arrow,
.chronos-gallery.is-entering .chronos-gallery-dots,
.chronos-gallery.is-entering .chronos-gallery-help,
.chronos-gallery.is-entering .chronos-gallery-close,
.chronos-gallery.is-entering .chronos-mode-switch{opacity:0!important;transition:opacity .25s!important}
.chronos-gallery.is-entering .chronos-gallery-portal{animation:galleryEnterPortal 1.08s cubic-bezier(.18,.8,.2,1) forwards}
.chronos-gallery.is-entering .chronos-gallery-backdrop{filter:brightness(1.3) saturate(1.2);transform:scale(1.28)}
.chronos-gallery.is-entering:after{content:"";position:absolute;inset:0;z-index:120;background:radial-gradient(circle at center,rgba(255,255,255,.82),color-mix(in srgb,var(--gallery-accent) 55%,transparent) 20%,rgba(1,4,10,.96) 72%);opacity:0;animation:galleryPortalFlash 1.08s ease forwards;pointer-events:none}
@keyframes galleryAtmosphere{from{transform:translate3d(-1.2%,0,0) scale(1.02);opacity:.7}to{transform:translate3d(1.2%,-1%,0) scale(1.08);opacity:1}}
@keyframes galleryCardSwap{0%{opacity:1;transform:translateX(0) rotateY(0) scale(1)}42%{opacity:0;transform:translateX(-9%) rotateY(14deg) scale(.94)}58%{opacity:0;transform:translateX(9%) rotateY(-14deg) scale(.94)}100%{opacity:1;transform:translateX(0) rotateY(0) scale(1)}}
@keyframes galleryFloat{0%,100%{transform:translateY(0) rotateX(0)}50%{transform:translateY(-10px) rotateX(.8deg)}}
@keyframes galleryEnterPortal{0%{transform:scale(1) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));filter:brightness(1)}36%{transform:scale(1.08) rotateX(0) rotateY(0);filter:brightness(1.22)}100%{transform:scale(4.8) rotateX(0) rotateY(0);filter:brightness(2.2) blur(.8px)}}
@keyframes galleryPortalFlash{0%,42%{opacity:0}72%{opacity:.9}100%{opacity:1}}
@media(max-width:900px){.chronos-gallery-card{padding:18px;border-radius:28px}.chronos-gallery-copy p{margin-inline:auto}}
@media(prefers-reduced-motion:reduce){
  .chronos-gallery-backdrop,.chronos-gallery-portal,.chronos-gallery-portal img,.chronos-gallery-card{transform:none!important;animation:none!important}
  .chronos-gallery.is-entering .chronos-gallery-portal{opacity:0!important}
  .chronos-gallery.is-entering:after{animation:none;opacity:1}
}
