/* INTERESTELAR — Capa visual editable. Bootstrap 5.3.8 + CSS original conservado. */
@font-face {
  font-family: Oswald;
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url("../fonts/oswald-latin-wght-normal.woff2") format("woff2");
}
:root {
  --space: #000000;
  --violet: #afa4ff;
  --border: #ffffff26;
  --bs-body-bg: #000000;
  --bs-body-color: #f6f6ef;
}
body {
  background: var(--space);
  line-height: 1.65;
}
h1,
h2,
h3,
h4,
.quote-price,
.about-numbers strong,
.cta-word {
  font-family: Oswald, "Arial Narrow", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
}
h1,
h2 {
  line-height: 1.12 !important;
}
p {
  line-height: 1.75;
}
a:hover {
  color: inherit;
}
.wrap {
  padding-left: 0;
  padding-right: 0;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 1020;
  background: #000000eb;
  backdrop-filter: blur(16px);
  border-bottom: 1px solid #ffffff12;
}
.hero h1 {
  max-width: 1050px;
  font-size: clamp(52px, 7.6vw, 114px);
}
.hero:after {
  background:
    linear-gradient(90deg, #080914d9, #08091418),
    linear-gradient(0deg, #00000099, transparent 75%);
}
.hero-video {
  transition: opacity 0.6s;
}
.hero-video:not([src]) {
  opacity: 0;
}
.section h2 {
  margin-bottom: 22px;
}
.section-head p {
  max-width: 390px;
}
.planet-collection .planet-tile {
  display: block;
  aspect-ratio: 3/4;
}
.journey-collection .journey-card {
  display: block;
  height: 100%;
}
.journey-info h3 {
  margin: 16px 0;
}
.planet-collection .col {
  min-width: 0;
}
.service-collection .service {
  height: 100%;
  display: block;
  padding-bottom: 55px;
}
.service-collection .col:last-child .service {
  border-right: 0;
}
.services-section .service h3 {
  font-size: 27px;
}
.breadcrumb {
  --bs-breadcrumb-margin-bottom: 0;
  flex-wrap: wrap;
}
.breadcrumb a {
  color: inherit;
}
.btn {
  border-radius: 2px;
  line-height: 1.4;
}
.btn-dark {
  background: #111;
  color: #fff;
}
.btn-clear {
  background: transparent;
}
.film-link,
.video-toggle,
.menu-toggle {
  color: inherit;
}
.film-link {
  background: none;
  border: 0;
}
.video-toggle {
  border: 1px solid #ffffff80;
  background: #00000077;
}
.planet-title h3 {
  font-size: 39px;
}
.planet-title p {
  font-size: 14px;
}
.tile-top > .label,
.planet-title > .label {
  font-size: 11px;
}
.tile-top img {
  object-fit: contain;
}
.journey-info > .label,
.journey-tag,
.price-note {
  font-size: 12px;
}
.planet-nav {
  background: #000000;
}
.form-control {
  padding: 12px;
}
.form-control:focus {
  color: #fff;
  box-shadow: 0 0 0 0.2rem #afa4ff30;
  border-color: var(--violet);
}
.form-grid label {
  font-size: 14px;
}
.form-grid input,
.form-grid textarea {
  font-size: 16px;
}
.form-trap {
  display: none !important;
}
.form-note {
  font-size: 13px;
}
.form-status {
  display: block;
}
.form-status.error {
  border-color: #ff9797;
  color: #ffe6e6;
}
.form-status.success {
  border-color: #89d7b0;
}
.form-status a {
  display: inline-block;
  text-decoration: underline;
  margin-top: 10px;
}
.filter-tabs button {
  border: 1px solid #ffffff33;
  background: transparent;
  color: #ddd;
  border-radius: 2px;
  padding: 10px 15px;
  min-height: 44px;
  font-size: 14px;
}
.filter-tabs button[aria-pressed="true"] {
  color: #111;
  background: #f4f4f4;
}
.search-field input {
  min-height: 48px;
}
.faq-item {
  border-bottom: 1px solid var(--border);
}
.faq-item summary {
  cursor: pointer;
  padding: 24px 28px 24px 0;
  font-size: 17px;
  position: relative;
  list-style: none;
}
.faq-item summary:after {
  content: "+";
  position: absolute;
  right: 0;
  color: var(--violet);
  font-size: 24px;
  top: 18px;
}
.faq-item[open] summary:after {
  content: "−";
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-answer {
  padding: 0 20px 24px 0;
  color: #bcbcc8;
  font-size: 16px;
}
.space-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.space-orbit {
  position: absolute;
  right: 2%;
  bottom: 25px;
  width: 180px;
  height: 180px;
  opacity: 0.065;
  pointer-events: none;
  z-index: -1;
  will-change: transform;
}
.social-impact .space-orbit {
  filter: invert(1);
  right: 1%;
  width: 260px;
  height: 260px;
  opacity: 0.055;
}
.faq .space-orbit {
  left: 10%;
  bottom: 70px;
  right: auto;
  opacity: 0.12;
  width: 170px;
  height: 170px;
}
.planet-orb {
  will-change: transform;
}
.social-page p,
.social-page strong {
  color: #d6d5e0;
}
.social-page a {
  color: #fff;
}
.social-page .page-title {
  max-width: 900px;
}
.cta-band {
  background:
    radial-gradient(ellipse at 88% 60%, #b0a2ee80, transparent 52%), #f2f2f2;
}
.cta-word {
  line-height: 1 !important;
}
footer {
  position: relative;
  background:
    radial-gradient(ellipse at 15% 100%, #292260 0, transparent 50%),
    radial-gradient(ellipse at 92% 0%, #103c5380 0, transparent 55%), #090b16;
  color: #fff;
  border-top: 1px solid #ffffff12;
}
footer .footer-top {
  padding-top: 72px;
}
footer .footer-top > div {
  position: relative;
}
footer .label,
footer a,
footer p {
  color: #eae8f5;
}
footer .footer-bottom {
  color: #a9a8b9;
  border-top: 1px solid #ffffff22;
  padding-top: 24px;
}
footer .footer-bottom a {
  color: #bbb9d0;
}
.footer-top .address {
  font-size: 13px;
}
.footer-top > div > a {
  font-size: 14px;
}
.footer-bottom {
  font-size: 12px;
}
.modal-content {
  background: #0c0d17;
  color: #fff;
  border: 1px solid #ffffff30;
  border-radius: 4px;
}
.modal-header {
  border-color: #ffffff20;
}
.modal-title {
  font-size: 24px;
}
.modal-body {
  padding: 24px;
}
.modal-body video {
  display: block;
  max-height: 76vh;
  width: 100%;
  object-fit: contain;
  background: #000;
}
.modal-dialog.vertical {
  max-width: 520px;
}
.explore-preview {
  margin-top: 0;
}
.offcanvas.mobile-sheet {
  background: #000000;
  color: #fff;
  max-width: 90vw;
  border-left: 1px solid #ffffff25;
}
.mobile-sheet nav {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.mobile-sheet nav a {
  display: flex;
  justify-content: space-between;
  padding: 18px 0;
  border-bottom: 1px solid #ffffff22;
}
.mobile-sheet nav svg {
  width: 20px;
}
.offcanvas-header {
  padding: 22px;
}
.offcanvas-body {
  padding: 24px;
}
.offcanvas h2 {
  display: none;
}
.offcanvas .btn {
  margin-top: 28px;
}
.motion-ready [data-reveal] {
  opacity: 0;
  transform: translateY(25px);
  transition:
    opacity 0.8s ease,
    transform 0.8s cubic-bezier(0.2, 0.65, 0.25, 1);
}
.motion-ready [data-reveal].is-visible {
  opacity: 1;
  transform: none;
}
.video-motion-control {
  position: absolute;
  right: 28px;
  bottom: 22px;
  z-index: 2;
  width: 44px;
  height: 44px;
  border: 1px solid #ffffff88;
  border-radius: 50%;
  background: #08091299;
  color: #fff;
}
.motion-preference {
  position: fixed;
  bottom: 22px;
  left: 18px;
  z-index: 1000;
  background: #111426e8;
  color: #fff;
  border: 1px solid #ffffff40;
  border-radius: 3px;
  font-size: 12px;
  padding: 10px 12px;
  min-height: 44px;
}
.empty-state {
  grid-column: 1/-1;
}
.skip-link {
  z-index: 2000;
}
.quote-card small {
  font-size: 12px;
}
.quote-includes li {
  font-size: 14px;
}
.quote-facts {
  font-size: 14px;
}
.about-numbers span {
  font-size: 14px;
}
.contact-copy > p {
  color: #c4c1d7;
}
.campaign-title p {
  color: #d0cede;
}
.story-copy h2 span {
  color: #b8b4ce;
}
svg.lucide {
  flex-shrink: 0;
}
@media (min-width: 801px) {
  .journey-detail {
    gap: 70px;
  }
  .planet-hero-copy h1 {
    font-size: clamp(80px, 9vw, 138px);
  }
}
@media (max-width: 800px) {
  .hero h1 {
    font-size: clamp(52px, 10.2vw, 78px);
  }
  .home-hero,
  .hero-content {
    min-height: 660px;
  }
  .hero-content {
    padding-top: 80px;
  }
  .hero-bottom {
    margin-top: 60px;
  }
  .wrap {
    width: calc(100% - 40px);
  }
  .planet-title h3 {
    font-size: 34px;
  }
  .planet-title p {
    font-size: 13px;
  }
  .planet-collection .planet-tile {
    aspect-ratio: 0.75;
  }
  .service-collection .service {
    margin-right: 0;
  }
  .space-orbit {
    width: 120px;
    height: 120px;
  }
  .faq .space-orbit {
    left: auto;
    right: 0;
    bottom: 10px;
    opacity: 0.06;
  }
  .footer-top .address {
    font-size: 13px;
  }
  .header-cta {
    min-height: 44px;
  }
  .menu-toggle {
    min-width: 44px;
  }
  .modal-body {
    padding: 16px;
  }
  .journey-detail {
    gap: 30px;
  }
  .contact-copy > .page-title {
    font-size: 54px;
  }
  .about-image {
    height: 360px;
  }
  .social-page .page-title {
    font-size: 50px;
  }
  .motion-preference {
    bottom: 16px;
    left: 10px;
    font-size: 11px;
  }
  .floating-wa {
    bottom: 16px;
  }
  .destination-hero-copy {
    margin-top: 70px;
  }
  .destination-hero h1 {
    font-size: clamp(42px, 9vw, 67px);
  }
  .planet-orb {
    max-width: 29vw;
  }
}
@media (max-width: 430px) {
  .header .brand img {
    width: 130px;
  }
  .header-cta {
    font-size: 11px;
    padding: 10px;
  }
  .header-cta svg {
    display: none;
  }
  .header {
    gap: 8px;
  }
  .hero h1 {
    font-size: 53px;
  }
  .planet-collection {
    --bs-gutter-x: 12px;
    --bs-gutter-y: 12px;
  }
  .planet-title h3 {
    font-size: 30px;
  }
  .planet-title p {
    font-size: 12px;
    line-height: 1.4;
  }
  .planet-title > .label {
    font-size: 10px;
    letter-spacing: 0.02em;
  }
  .tile-top > .label {
    font-size: 10px;
  }
  .hero-eyebrow {
    font-size: 10px;
  }
  .service-collection {
    --bs-gutter-x: 24px;
  }
  .service-collection .service {
    padding-right: 0;
  }
  .service p {
    font-size: 14px;
  }
  .service-collection .service h3 {
    font-size: 24px;
  }
  .hero-actions > .btn,
  .film-link {
    font-size: 14px;
  }
  .footer-top {
    grid-template-columns: 1fr;
  }
  .footer-top > div:first-child {
    grid-column: auto;
  }
  .footer-top > div > a {
    font-size: 15px;
  }
  .topline .label {
    font-size: 9px;
    max-width: 60%;
  }
  .topline a {
    font-size: 11px;
  }
  .contact-form-wrap {
    padding: 22px;
  }
  .planet-hero-copy h1 {
    font-size: 76px;
  }
  .contact-copy > .page-title {
    font-size: 48px;
  }
  .planet-title h3 svg {
    width: 17px;
  }
  .cta-band h2 {
    font-size: 60px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }
  .motion-ready [data-reveal] {
    opacity: 1;
    transform: none;
  }
  .space-orbit,
  .planet-orb {
    transform: none !important;
  }
}
body.motion-off [data-reveal] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
body.motion-off .space-orbit,
body.motion-off .planet-orb {
  transform: none !important;
}
/* Conserva el contraste interno del logotipo de Expansión. */
.press-logos img[src$="media-expansion.svg"] {filter:grayscale(1);}

/* V3: original sections and colors restored; decorative changes only. */
:root { --space:#000; --bs-body-bg:#000; }
body,.site-header,.planet-nav,.offcanvas.mobile-sheet { background:#000; }
h1,h2,.page-title,.cta-word { font-weight:300!important; }
/* Keep the original light sections and their dark text. */
.services-section,.social-impact { background:#f2f2f2; color:#111; }
.services-section .section-head>p,.service p,.social-impact p { color:#4e4e4e; }
.social-impact strong,.social-impact h2,.social-impact a { color:#111; }
.accent { color:#a9c6df; }
.social-impact .accent { color:#416984; }
footer { background:#000; }
footer .label,footer .footer-bottom,footer .footer-bottom a { color:#a9c6df; }
.design-scene { pointer-events:none; transform:translate3d(0,var(--float-y,0),0); }
.design-float { animation:design-float 8s ease-in-out infinite alternate; }
.design-scene img { display:block; width:100%; height:auto; object-fit:contain; mix-blend-mode:screen; }
.design-about { position:relative; }
.design-about>.label,.design-about>.page-title,.design-about>p { max-width:56%; }
.design-about>.page-title { font-size:clamp(48px,5.4vw,82px); }
.design-about>.design-saturn { position:absolute; width:44%; right:0; top:65px; }
.design-saturn img { filter:drop-shadow(0 0 10px #c3e6ff55); }
.design-about>.about-numbers { position:relative; }
.design-social { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr); align-items:center; gap:50px; }
.design-social .page-title { font-size:clamp(44px,5vw,72px); }
.design-astronaut { width:100%; max-width:480px; }
@keyframes design-float { from { transform:translateY(-12px) rotate(-2deg); } to { transform:translateY(14px) rotate(2deg); } }
.cta-band { position:relative; isolation:isolate; background:#000!important; color:#fff; overflow:hidden; }
.cta-band>.wrap { position:relative; z-index:2; min-height:500px; }
.cta-band h2 { max-width:48%; }
.cta-band .hero-actions { max-width:48%; flex-wrap:wrap; }
.cta-band .btn-dark { background:#fff; color:#111; border-color:#fff; }
.cta-band .btn-clear { background:transparent; color:#fff; border-color:#ffffff66; }
.cta-word { z-index:-1; color:#ffffff0b; }
.cta-earth { position:absolute; z-index:0; right:-5%; bottom:0; width:62%; height:100%; overflow:hidden; pointer-events:none; }
.cta-earth img { width:100%; height:100%; object-fit:cover; object-position:center bottom; transform:scale(1.65); transform-origin:center bottom; }
.cta-earth:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#000,transparent 30%); }
.btn,.header-cta { position:relative; isolation:isolate; overflow:hidden; transition:transform .25s,box-shadow .3s!important; }
.btn:after,.header-cta:after { content:''; position:absolute; inset:-90% -40%; pointer-events:none; background:linear-gradient(115deg,transparent 35%,#ffffff66 48%,transparent 61%); transform:translateX(-100%); transition:transform .65s; }
.btn:hover:after,.header-cta:hover:after { transform:translateX(100%); }
.btn:hover,.header-cta:hover { transform:translateY(-3px); box-shadow:0 5px 24px #a4dfff55; }
.btn:active { transform:scale(.98); }
.motion-preference { background:#080808ee; }
@media(max-width:800px) {
 .design-about>.label,.design-about>.page-title,.design-about>p { max-width:100%; }
 .design-about>.design-saturn { position:relative; width:min(100%,440px); top:auto; right:auto; margin:30px auto 0; }
 .design-social { grid-template-columns:1fr; gap:25px; }
 .design-astronaut { grid-row:2; max-width:330px; margin:auto; }
 .cta-band>.wrap { padding-bottom:260px; }
 .cta-band h2,.cta-band .hero-actions { max-width:100%; }
 .cta-earth { height:250px; width:100%; right:0; }
 .cta-earth img { transform:scale(1.5); }
}
@media(prefers-reduced-motion:reduce) { .design-float { animation:none!important; } .design-scene { transform:none!important; } }
body.motion-off .design-float { animation-play-state:paused; }
body.motion-off .design-scene { transform:none!important; }

@font-face { font-family:Inter; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/inter-400.woff") format("woff"); }
@font-face { font-family:Inter; font-style:normal; font-weight:500; font-display:swap; src:url("../fonts/inter-500.woff") format("woff"); }
@font-face { font-family:Inter; font-style:normal; font-weight:600; font-display:swap; src:url("../fonts/inter-600.woff") format("woff"); }
@font-face { font-family:Inter; font-style:normal; font-weight:700; font-display:swap; src:url("../fonts/inter-700.woff") format("woff"); }
/* V4: Inter typography, Saturn without glow, menu interaction, subtle stars. */
body,button,input,textarea,select,.label { font-family:Inter,Arial,sans-serif; }
.label { letter-spacing:.12em; }
.design-saturn img { filter:none!important; box-shadow:none!important; }
.header nav a,.mobile-sheet nav a { transition:color .25s,transform .25s; }
.header nav a:before { content:''; position:absolute; left:0; right:0; bottom:-6px; height:1px; background:#aed8fa; transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.header nav a:hover,.header nav a:focus-visible,.mobile-sheet nav a:hover { color:#b7ddfb; transform:translateY(-2px); }
.header nav a:hover:before,.header nav a:focus-visible:before { transform:scaleX(1); }
.header-cta { transition:background-color .3s,color .3s,transform .3s,box-shadow .3s!important; }
.header-cta:hover,.header-cta:focus-visible { background:#d7edff; color:#080808; transform:translateY(-3px); box-shadow:0 0 0 1px #c3e5ff,0 7px 24px #9acfff44; }
.header-cta svg { transition:transform .3s; }
.header-cta:hover svg,.header-cta:focus-visible svg { transform:translate(3px,-3px); }
.header-cta:active { transform:translateY(0) scale(.98); }
.star-surface { position:relative; isolation:isolate; }
.space-stars { position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; }
@media(prefers-reduced-motion:reduce) { .header nav a,.mobile-sheet nav a,.header-cta,.header-cta svg { transition:none!important; transform:none!important; } }

/* V5: visible star layer; foreground content remains above it. */
.star-surface > .space-stars { z-index:0; }
.motion-ready [data-reveal] { transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.25,1); }
.motion-ready [data-reveal]:not(.is-visible) { transform:translateY(22px); }
body.motion-off [data-reveal] { opacity:1!important; transform:none!important; }
@media(prefers-reduced-motion:reduce) { .motion-ready [data-reveal] { opacity:1!important; transform:none!important; transition:none!important; } }

/* V6: consistent hover/focus feedback for every action. */
:is(button,.btn,.film-link,.text-link,.floating-wa,.social-link,[role="button"]) { transition:background-color .28s,color .28s,border-color .28s,box-shadow .28s,transform .28s,filter .28s!important; }
:is(button,.btn,.film-link,.text-link,.floating-wa,.social-link,[role="button"]):not(:disabled):is(:hover,:focus-visible) { transform:translateY(-3px); filter:brightness(1.08); box-shadow:0 6px 22px #91ceff40; }
:is(button,.btn,.film-link,.floating-wa,.social-link,[role="button"]):not(:disabled):active { transform:translateY(0) scale(.97); }
:is(.btn:not(.btn-outline):not(.btn-clear):not(.btn-dark),.header-cta,.cta-band .btn-dark,.filter-tabs button[aria-pressed="true"]):not(:disabled):is(:hover,:focus-visible) { background:#d7edff; color:#080808; border-color:#c3e5ff; box-shadow:0 0 0 1px #c3e5ff,0 7px 24px #9acfff44; }
:is(.btn-outline,.btn-clear,.filter-tabs button:not([aria-pressed="true"]),.video-toggle,.video-motion-control):is(:hover,:focus-visible) { background:#a9d8ff20; border-color:#b8dfff; }
.btn-dark:not(.cta-band .btn-dark):is(:hover,:focus-visible) { background:#213b50; color:#fff; }
.btn:focus-visible:after { transform:translateX(100%); }
.text-link:is(:hover,:focus-visible),.film-link:is(:hover,:focus-visible) { color:#81b9e2; }
:is(.btn,.film-link,.text-link,.social-link,.floating-wa) svg { transition:transform .3s!important; }
:is(.btn,.film-link,.text-link):is(:hover,:focus-visible) svg { transform:translate(3px,-3px); }
.social-links { display:flex; gap:12px; margin-top:12px; }
footer .social-link { display:inline-flex; justify-content:center; align-items:center; width:44px; height:44px; border:1px solid #ffffff55; border-radius:50%; color:#d8eafa; background:#ffffff08; }
footer .social-link:is(:hover,:focus-visible) { background:#d7edff; border-color:#d7edff; color:#080808; }
.social-link:is(:hover,:focus-visible) svg { transform:scale(1.12); }
.social-link svg { width:21px; height:21px; }
:is(button,a):focus-visible { outline:2px solid #99cffe; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) {
 :is(button,.btn,.film-link,.text-link,.floating-wa,.social-link,[role="button"]),:is(button,.btn,.film-link,.text-link,.social-link) svg { transition:none!important; }
 :is(button,.btn,.film-link,.text-link,.floating-wa,.social-link,[role="button"]):is(:hover,:focus-visible,:active),:is(.btn,.film-link,.text-link,.social-link):is(:hover,:focus-visible) svg { transform:none!important; }
}

/* V7: decorative planets stay behind editorial content. */
.planet-header { position:relative; isolation:isolate; overflow:hidden; }
.planet-header > :not(.header-planet):not(.space-stars) { position:relative; z-index:2; }
.header-planet { position:absolute!important; z-index:0!important; pointer-events:none; right:-4%; top:0; width:60%; height:250px; overflow:hidden; opacity:.62; mask-image:linear-gradient(90deg,transparent,#000 30%); }
.header-planet img { position:absolute; width:100%; height:auto; right:0; bottom:-110px; display:block; animation:header-drift 10s ease-in-out infinite alternate; }
.header-planet:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#000,transparent 35%); }
.header-planet-saturn { width:56%; height:300px; opacity:.48; }
.header-planet-mars { opacity:.22; mask-image:radial-gradient(ellipse at 65% 0%,#000 15%,transparent 74%); }
.header-planet-mars:after { background:linear-gradient(0deg,#f2f2f2,transparent 50%); }
.header-planet-mars img { mask-image:radial-gradient(circle at center,#000 24%,transparent 44%); }
.design-about>.label,.design-about>.page-title,.design-about>p { max-width:800px; }
.story-image.story-video { aspect-ratio:16/9; overflow:visible; background:#000; }
.story-video video { width:100%; height:auto; aspect-ratio:16/9; display:block; background:#000; object-fit:contain; }
.story-video .image-note { position:static; display:block; width:max-content; max-width:100%; margin-top:10px; background:transparent; padding:0; color:#a9c6df; }
@keyframes header-drift { from { transform:translate3d(0,-5px,0) rotate(-1deg); } to { transform:translate3d(0,8px,0) rotate(1deg); } }
@media(max-width:800px) {
 .header-planet,.header-planet-saturn { width:80%; height:155px; right:-15%; opacity:.3; }
 .header-planet img { bottom:-65px; }
 .header-planet-mars { opacity:.17; }
 .design-about>.page-title { font-size:clamp(44px,8vw,68px); }
}
@media(prefers-reduced-motion:reduce) { .header-planet img { animation:none!important; } }

/* V8 — content readability and realistic planetary scenes. */
.design-social { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:35px; }
.design-astronaut { max-width:610px; width:110%; margin-left:-5%; }
.campaign-opening { background:#000; }
.campaign-opening:after { background:linear-gradient(90deg,#000 12%,#000e 38%,transparent 95%); }
.campaign-title { background:transparent; }
.cta-word { display:none; }
:is(.film-link,.text-link,.btn-clear,.btn-outline,.menu-toggle,.btn-close,.video-toggle,.video-motion-control):is(:hover,:focus-visible) { box-shadow:none!important; filter:none!important; background:transparent!important; }
:is(.film-link,.text-link,.btn-clear,.btn-outline):after { box-shadow:none!important; }
.play-circle { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.play-circle svg,.film-link:is(:hover,:focus-visible,:active) .play-circle svg { transform:none!important; translate:none!important; rotate:none!important; }
.services-earth { opacity:1!important; mask-image:none!important; width:45%; height:210px; right:0; }
.services-earth:after { display:none; }
.services-earth img { mask-image:none!important; bottom:-90px; }
.realistic-planet-hero { background:#000; isolation:isolate; min-height:650px; }
.realistic-planet-hero:after { z-index:1; pointer-events:none; background:linear-gradient(90deg,#000 0%,#000e 25%,#0006 47%,transparent 65%); }
.realistic-planet-hero>.wrap { z-index:3; }
.realistic-planet-hero .planet-hero-copy { max-width:52%; }
.planet-visual { position:absolute!important; z-index:0!important; right:-2%; top:0; width:58%; height:100%; pointer-events:none; }
.planet-visual img { width:100%; height:100%; object-fit:contain; mix-blend-mode:screen; animation:planet-drift 14s ease-in-out infinite alternate; }
@keyframes planet-drift { from { transform:translateY(-7px) rotate(-1deg); } to { transform:translateY(8px) rotate(1deg); } }
@media(max-width:800px) {
 .design-social { grid-template-columns:1fr; }
 .design-astronaut { width:100%; max-width:400px; margin:auto; }
 .services-earth { width:65%; height:145px; opacity:1!important; }
 .services-earth img { bottom:-60px; }
 .realistic-planet-hero .planet-hero-copy { max-width:100%; }
 .planet-visual { width:85%; right:-28%; top:40px; opacity:.45; }
 .realistic-planet-hero:after { background:linear-gradient(90deg,#000 5%,#000c 42%,#0003 95%); }
}
@media(prefers-reduced-motion:reduce) { .planet-visual img { animation:none!important; } }

/* V9: Earth introduction and explicit video posters. */
.about-earth { position:relative; overflow:hidden; padding-bottom:70px; }
.about-earth > .label,.about-earth > .page-title,.about-earth > p { position:relative; z-index:3; max-width:52%; }
.about-earth .planet-visual { height:80%; top:0; }
.about-earth .about-numbers { z-index:3; background:linear-gradient(0deg,#000 65%,transparent); }
.story-video { position:relative; }
.story-play { position:absolute; top:50%; left:50%; translate:-50% -50%; width:76px; height:76px; border:1px solid #ffffffb3; border-radius:50%; display:flex; align-items:center; justify-content:center; color:white; background:#000a; cursor:pointer; z-index:4; }
.story-play svg { transform:none!important; flex-shrink:0; }
.story-play[hidden] { display:none; }
@media(max-width:800px) { .about-earth > .label,.about-earth > .page-title,.about-earth > p { max-width:100%; } .about-earth .planet-visual { height:65%; } .story-play { width:60px; height:60px; } }

/* V13: inline campaign video beside each planet introduction. */
#rutas .planet-story-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,4vw,64px); align-items:center; }
#rutas .planet-story-copy p { max-width:100%; margin:24px 0 0; }
#rutas .planet-story-video { width:100%; min-width:0; aspect-ratio:16/9; background:#000; border:1px solid #ffffff20; border-radius:4px; overflow:hidden; }
#rutas .planet-story-video video { height:100%; width:100%; object-fit:contain; }
@media(max-width:800px) { #rutas .planet-story-intro { grid-template-columns:1fr; gap:28px; } }

/* V14: Home introduction video and readable WhatsApp hover label. */
#mundos .home-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,4vw,64px); align-items:center; }
#mundos .home-intro-copy p { max-width:100%; margin:24px 0; }
#mundos .home-intro-video { width:100%; min-width:0; aspect-ratio:16/9; background:#000; border:1px solid #ffffff20; border-radius:4px; overflow:hidden; }
#mundos .home-intro-video video { width:100%; height:100%; object-fit:contain; }
.floating-wa { z-index:100; gap:0; }
.floating-wa > svg { flex-shrink:0; }
.floating-wa > span { display:block!important; color:#111!important; max-width:0; opacity:0; margin-left:0; transition:max-width .3s ease,opacity .3s ease,margin-left .3s ease; }
.floating-wa:is(:hover,:focus-visible) > span { max-width:220px; opacity:1; margin-left:12px; }
@media(max-width:800px) { #mundos .home-intro { grid-template-columns:1fr; gap:28px; } }
@media(prefers-reduced-motion:reduce) { .floating-wa > span { transition:none; } }

/* October 2026: square home worlds and gentle button motion. */
#mundos .planet-collection .planet-tile {
  aspect-ratio: 1 / 1;
  height: auto;
  min-height: 0;
}
#mundos .planet-tile > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#mundos .planet-title p { max-width: 100%; }
.earth-packages { margin-top: 40px; }
.earth-page .planet-hero h1 span { font-size: .57em; line-height: 1.2; }
.earth-page .planet-story-copy p { max-width: 60ch; }
@media (max-width: 767px) {
  #mundos .planet-collection { --bs-gutter-y: 24px; }
  #mundos .planet-title { left: 22px; right: 22px; bottom: 24px; }
  #mundos .planet-title h3 { font-size: 34px; }
  #mundos .planet-title p { font-size: 13px; line-height: 1.5; }
  #mundos .planet-title > .label { font-size: 10px; }
  #mundos .tile-top { left: 22px; right: 22px; top: 22px; }
  #mundos .tile-top > .label { font-size: 10px; }
  #mundos .tile-top img { width: 36px; height: 36px; }
}

/* Only arrow icons move: play and other symbols remain centered. */
:is(a,button,[role="button"]) svg:is(.lucide-arrow-up-right,.lucide-arrow-right,.lucide-arrow-down) {
  transform: none;
  animation: interestelar-arrow-hover 1.8s ease-in-out infinite;
}
:is(a,button,[role="button"]):is(:hover,:focus-visible) svg:is(.lucide-arrow-up-right,.lucide-arrow-right,.lucide-arrow-down) {
  transform: none;
  animation: interestelar-arrow-hover 1.8s ease-in-out infinite;
}
@keyframes interestelar-arrow-float {
  0%, 55%, 100% { translate: 0 0; }
  68% { translate: 0 -3px; }
  82% { translate: 0 3px; }
}
@keyframes interestelar-arrow-hover {
  0%, 100% { translate: 0 -3px; }
  50% { translate: 0 3px; }
}

/* A brief sheen on filled rectangular controls, without hiding the label. */
:is(.btn:not(.btn-outline):not(.btn-clear),.filter-tabs button[aria-pressed="true"]) {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
:is(.btn:not(.btn-outline):not(.btn-clear),.filter-tabs button[aria-pressed="true"])::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 20%, #a9d8f538 43%, #ffffff80 50%, #a9d8f538 57%, transparent 80%);
  transform: translateX(-150%);
  transition: none;
  animation: interestelar-button-sheen-hover 3.2s ease-in-out infinite;
}
:is(.btn:not(.btn-outline):not(.btn-clear),.filter-tabs button[aria-pressed="true"]):is(:hover,:focus-visible)::after {
  animation: interestelar-button-sheen-hover 3.2s ease-in-out infinite;
}
:is(.btn-outline,.btn-clear)::after { content: none; }
@keyframes interestelar-button-sheen {
  0%, 78% { transform: translateX(-150%); }
  94%, 100% { transform: translateX(150%); }
}
@keyframes interestelar-button-sheen-hover {
  from { transform: translateX(-150%); }
  to { transform: translateX(150%); }
}
@media (prefers-reduced-motion: reduce) {
  :is(a,button,[role="button"]) svg:is(.lucide-arrow-up-right,.lucide-arrow-right,.lucide-arrow-down) {
    animation: none !important;
    translate: none !important;
    transform: none !important;
  }
  :is(.btn,.filter-tabs button)::after { animation: none !important; content: none; }
}

/* V16: campaign photography and a quiet asteroid belt below social copy. */
#pelicula .campaign-photo {
  aspect-ratio: 4 / 3;
  border: 1px solid #ffffff1c;
  border-radius: 4px;
  background: #080d13;
}
#pelicula .campaign-photo > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.social-impact.asteroid-impact {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #000;
  color: #f5f7fa;
  padding-bottom: 250px;
  border-block: 1px solid #ffffff12;
}
.asteroid-impact .social-grid { position: relative; z-index: 2; }
.asteroid-impact :is(h2,strong,a) { color: #f5f7fa; }
.asteroid-impact p { color: #bdc7d3; }
.asteroid-impact .accent { color: #a9c6df; }
.asteroid-impact .text-link { border-bottom: 1px solid #a9c6df55; padding-bottom: 8px; }
.asteroid-impact .text-link:is(:hover,:focus-visible) { color: #a9d8ff; }
.asteroid-impact .asteroid-belt {
  position: absolute;
  inset: auto 0 0;
  height: 210px;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  mask-image: linear-gradient(180deg,transparent,#000 24%,#000 85%,transparent);
}
.asteroid-track {
  display: flex;
  position: absolute;
  inset: 0 auto auto 0;
  width: 200%;
  height: 100%;
  animation: interestelar-asteroid-crossing 95s linear infinite;
  opacity: .72;
}
.asteroid-track-2 {
  animation-duration: 145s;
  animation-direction: reverse;
  opacity: .35;
}
.asteroid-group { position: relative; flex: 0 0 50%; height: 100%; }
.asteroid-group img {
  position: absolute;
  left: var(--rock-x);
  top: var(--rock-y);
  width: var(--rock-size);
  height: var(--rock-size);
  transform: rotate(var(--rock-angle));
}
@keyframes interestelar-asteroid-crossing {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (max-width: 767px) {
  .social-impact.asteroid-impact { padding-bottom: 205px; }
  .asteroid-impact .asteroid-belt { height: 170px; }
  .asteroid-group img { width: calc(var(--rock-size) * .7); height: calc(var(--rock-size) * .7); }
  .asteroid-impact .social-grid { gap: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .asteroid-track { animation: none; }
}

/* Three-second GIF covers, preserving the original video framing. */
.story-video .story-gif-preview { position:absolute; inset:0 0 auto; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#000; z-index:3; cursor:pointer; }
.story-video .story-gif-preview[hidden] { display:none; }

/* Inline experience videos follow the alternate route link. */
.destination-inline-film { margin-top:36px; width:100%; }
.destination-inline-film h2 { font-size:clamp(26px,3vw,38px); line-height:1.15; margin:0 0 20px; }
.destination-inline-film .story-video { overflow:hidden; border:1px solid #ffffff24; border-radius:6px; background:#000; }

/* All campaign players retain the supplied horizontal frame. */
.story-video video, .modal-body video { aspect-ratio:16 / 9; height:auto; object-fit:contain; }
.modal-body video { max-height:none; }

/* Responsive campaign photography, October 2026. */
.social-cinema-banner{width:100%;margin:0;overflow:hidden;background:#05090d}
.social-cinema-banner img{display:block;width:100%;height:auto;aspect-ratio:1920/737;object-fit:cover}
.contact-image>img{object-position:center 52%}
@media(max-width:600px){.social-cinema-banner img{aspect-ratio:16/9;object-position:50% 40%}}

/* Keep the message icon dark when generic link hover colors inherit white. */
.floating-wa:is(:hover,:focus,:focus-visible,:active){color:#111;}
.floating-wa > svg{color:#111;stroke:currentColor;}

/* October 30 editorial updates. */
.hero-bottom{justify-content:flex-end}
.press-logos{justify-content:center!important}
.service-cta{display:inline-flex;align-items:center;gap:12px;margin-top:24px;font-size:14px}
.service-cta .service-arrow{margin:0;position:static}
article.service{cursor:default}
article.service:hover{transform:none;background:transparent}
.campaign-video-caption{font-size:13px;line-height:1.5;color:#b7b7b7;margin:3px 0 28px;text-align:center}
.destination-highlight-icon{display:block;color:#c9e6f8}
body[data-destination-page] .highlights h3{font-size:18px}
body[data-destination-page] .destination-hero-copy>p{font-size:18px}
body[data-destination-page] .journey-service-note p{font-size:17px}
@media(max-width:767px){body[data-destination-page] .highlights h3{font-size:17px}body[data-destination-page] .destination-hero-copy>p{font-size:16px}}
body[data-destination-page] .journey-editorial>h2{font-size:38px}
body[data-destination-page] .itinerary>p{font-size:15px}
body[data-destination-page] .itinerary>div{font-size:16px}
@media(max-width:767px){body[data-destination-page] .journey-editorial>h2{font-size:33px}}

.design-astronaut img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain}
.campaign-video-block{min-width:0;width:100%}
@media(max-width:767px){.design-astronaut img{max-height:460px}}

/* Caption alignment and vector icon sizing. */
.campaign-video-caption{text-align:left;text-transform:uppercase}
.destination-highlight-icon{width:39.2px;height:39.2px}

/* Language navigation; caption keeps its original 13px size. */
.language-switch{display:flex;align-items:center;gap:5px;flex-shrink:0;white-space:nowrap;font-size:12px;letter-spacing:.06em;color:#8b8b8b}
.language-switch a{color:#aaa;text-decoration:none;padding:8px 2px}
.language-switch a[aria-current="page"]{color:#fff;text-decoration:underline;text-underline-offset:5px}
.language-switch a:hover,.language-switch a:focus-visible{color:#c9e6f8}
.mobile-sheet .language-switch{margin-top:24px;font-size:16px}
@media(min-width:1000px) and (max-width:1280px){.header{gap:16px}.header nav{gap:16px}.header nav a{font-size:12px}.header-cta{padding:10px 12px;font-size:12px}}
@media(max-width:600px){.header{gap:10px}.header .brand{max-width:125px}.header .language-switch{font-size:11px;gap:3px}.header-cta{display:none}}
@media(min-width:801px) and (max-width:1100px){.header nav{display:none}.header-cta{margin-left:auto}.menu-toggle{display:flex;align-items:center;justify-content:center;min-width:30px;min-height:40px}}

/* Keep booking and language controls together at the right edge. */
.header-actions{display:flex;align-items:center;gap:22px;flex-shrink:0;margin-left:auto}
.header-actions .header-cta{margin-left:0}
.header-actions .language-switch{margin-left:0}
.campaign-video-block,#mediaBody{container-type:inline-size}
.campaign-video-caption{white-space:nowrap;font-size:13px;line-height:1.5;margin-top:3px}
@container (max-width:520px){.campaign-video-caption{font-size:clamp(8px,2.5cqw,13px)}}
@media(max-width:1100px){.header-actions{gap:14px}}
@media(max-width:600px){.header-actions{gap:10px}}
.campaign-video-block .campaign-video-caption,#mediaBody .campaign-video-caption{max-width:none;width:100%;margin:3px 0 28px;white-space:nowrap}

/* Center the main navigation in the space between logo and contact. */
@media(min-width:1101px){.header>nav{flex:1;min-width:0;justify-content:center}.header>.header-actions{margin-left:0}}

.press-expansion-link{display:inline-flex;align-items:center;justify-content:center}.press-expansion-link:focus-visible{outline:2px solid #c9e6f8;outline-offset:8px}
