@font-face {
  font-family:Outfit;
  src:url('assets/fonts/outfit-variable.ttf') format('truetype');
  font-weight:100 900;
  font-display:swap;
}

/* Hero revision is isolated from the catalogue and administration. */
.launch-scene #inicio {
  min-height:600px;
}
.launch-scene #inicio .hero-art {
  inset:0;
  pointer-events:none;
  transform:none;
}
.launch-scene #inicio .hero-room {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.launch-scene #inicio .hero-astronaut {
  position:absolute;
  inset:auto 4% -5% auto;
  width:auto;
  height:103%;
  max-width:54%;
  object-fit:contain;
  z-index:2;
  transform:none;
}
.hero-wall-window {
  position:absolute;
  inset:3% -8% 12% 40%;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 94%,transparent);
}
.hero-wall-stage {
  --wall-scale:1;
  position:absolute;
  top:50%;
  left:43%;
  width:1000px;
  height:400px;
  transform:translate(-50%,-50%) scale(var(--wall-scale));
  perspective:850px;
}
.hero-wall-orbit {
  position:absolute;
  inset:0;
  transform:rotateZ(3deg) rotateX(5deg) rotateY(-12deg);
  transform-style:preserve-3d;
}
.wall-column {
  position:absolute;
  left:50%;
  top:68px;
  margin-left:-56px;
  /* Shared 112px chords follow the non-circular ribbon path. */
  width:112px;
  display:grid;
  gap:0;
  backface-visibility:hidden;
  will-change:transform;
}
.service-panel {
  height:132px;
  border:1px solid #772936;
  border-top-color:#f86a72;
  border-radius:1px;
  background:radial-gradient(ellipse at 70% 10%,#43152d 0,transparent 65%),linear-gradient(145deg,#111827,#03050c 75%);
  box-shadow:none;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:8px;
  color:#fff;
  overflow:hidden;
}
.service-panel::after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(125deg,#fff2,transparent 35%,transparent 70%,#f5393915);
  pointer-events:none;
}
.service-panel svg { width:54px; height:54px; flex-shrink:0; }
.service-panel > span { font-family:Manrope,sans-serif; font-size:16px; font-weight:800; }
.service-panel.panel-netflix svg { height:74px; width:74px; }
.service-panel.panel-netflix > span { display:none; }
.panel-instagram { background:radial-gradient(ellipse at 80% 20%,#71267b,#0d081f 78%); }
.panel-spotify { background:radial-gradient(ellipse at 70% 10%,#124b37,#030c0a 78%); }
.panel-facebook,.panel-prime { background:radial-gradient(ellipse at 70% 10%,#123c71,#03091c 78%); }
.panel-freefire,.panel-cod { background:radial-gradient(ellipse at 80% 20%,#793021,#110609 78%); }
.wordmark { font-family:Outfit,sans-serif; font-size:46px; font-weight:900; letter-spacing:-.03em; line-height:.92; text-align:center; }
.service-panel .platform-logo { width:82%; height:88px; object-fit:contain; }
.service-panel .platform-logo-max { width:74%; height:96px; }
.wordmark.freefire,.wordmark.cod { font-size:32px; }
.service-panel .diamond { width:80px; height:64px; }
.launch-scene #inicio .hero-shade {
  background:linear-gradient(90deg,#02050aeb 0,#02050ac7 34%,#02050a33 52%,transparent 68%),linear-gradient(0deg,var(--bg),transparent 18%);
}
.launch-scene #inicio .hero-layout {
  padding-top:38px;
  padding-bottom:68px;
}
.launch-scene #inicio .hero-copy { max-width:650px; width:54%; }
.hero-eyebrow {
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:20px;
  font-size:10px;
  line-height:1.5;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:800;
  color:#e7e8ee;
}
.hero-eyebrow::before { content:""; width:28px; height:2px; background:#ff262c; flex-shrink:0; }
.launch-scene #inicio h1 {
  font-family:Outfit,sans-serif;
  font-size:clamp(48px,min(5.5vw,8svh),80px);
  font-weight:900;
  line-height:1.01;
  letter-spacing:-.035em;
  text-wrap:initial;
}
.launch-scene #inicio h1 span {
  margin-top:3px;
  font-size:1em;
  color:#ff3438;
}
.launch-scene #inicio .hero-description {
  font-size:17px;
  line-height:1.55;
  max-width:450px;
  margin-top:22px;
  color:#e1e3eb;
}
.hero-promise { margin-top:8px; font-size:14px; color:#e1e3eb; font-weight:700; }
.launch-scene #inicio .hero-actions { margin-top:24px; gap:12px; }
.launch-scene #inicio .button-primary { background:#d30d17; box-shadow:0 8px 26px #ab071c44; }
.launch-scene #inicio .button-primary:hover { background:#de111b; }
.launch-scene #inicio .button-secondary { border-color:#8b909c; background:#04070b80; }
.launch-scene #inicio .hero-reassurance {
  gap:22px;
  margin-top:28px;
  font-size:12px;
  line-height:1.4;
  font-weight:800;
  color:#f2c9cb;
}
.launch-scene #inicio .hero-reassurance span { gap:8px; }
.launch-scene #inicio .hero-reassurance .icon { width:25px; height:25px; color:#ff333e; flex-shrink:0; }
.hero-motion-toggle {
  position:absolute;
  bottom:14px;
  right:0;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  color:#e1e3eb;
  background:#04070bbb;
  border:1px solid #4e333e;
  border-radius:999px;
  cursor:pointer;
  font:600 11px Manrope,sans-serif;
  transition:background .2s ease,border-color .2s ease;
}
.hero-motion-toggle:hover { border-color:#ff4c44; background:#171016; }
.hero-motion-toggle svg { width:16px; height:16px; stroke:currentColor; stroke-width:2; fill:none; }
.hero-motion-toggle .play-symbol { display:none; }
.hero-motion-toggle[aria-pressed="true"] .pause-symbol { display:none; }
.hero-motion-toggle[aria-pressed="true"] .play-symbol { display:block; }
.hero-motion-toggle[hidden] { display:none; }

@media(min-width:761px) and (max-height:800px) {
  .launch-scene #inicio { min-height:490px; }
  .launch-scene #inicio .hero-layout { padding-top:22px; padding-bottom:48px; }
  .launch-scene #inicio h1 { font-size:clamp(44px,4.6vw,58px); }
  .hero-eyebrow { margin-bottom:14px; }
  .launch-scene #inicio .hero-description { font-size:15px; margin-top:16px; }
  .launch-scene #inicio .hero-actions { margin-top:18px; }
  .launch-scene #inicio .hero-reassurance { margin-top:20px; gap:18px; font-size:11px; }
}
@media(min-width:761px) and (max-width:1100px) {
  .launch-scene #inicio .hero-copy { width:56%; }
  .launch-scene #inicio .hero-astronaut { right:0; }
  .launch-scene #inicio .hero-reassurance { flex-wrap:wrap; gap:14px 20px; }
  .launch-scene #inicio .hero-actions .button { padding-inline:18px; font-size:12px; }
}
@media(max-width:900px) and (min-width:761px) and (orientation:portrait) {
  .launch-scene #inicio { min-height:800px; }
  .launch-scene #inicio .hero-layout { padding-top:32px; padding-bottom:365px; align-items:flex-start; }
  .launch-scene #inicio .hero-copy { width:100%; max-width:640px; }
  .launch-scene #inicio h1 { font-size:58px; }
  .launch-scene #inicio .hero-astronaut { width:470px; height:auto; max-width:none; right:5%; bottom:-2%; }
  .launch-scene #inicio .hero-room { object-position:right bottom; object-fit:cover; }
  .hero-wall-window { inset:46% -5% 2% 10%; }
  .launch-scene #inicio .hero-shade { background:linear-gradient(180deg,#02050a 25%,#02050a88 45%,transparent 60%),linear-gradient(0deg,var(--bg),transparent 12%); }
}
@media(max-width:760px) {
  .launch-scene #inicio { min-height:0; }
  .launch-scene #inicio .hero-layout { padding-top:34px; padding-bottom:0; display:block; }
  .launch-scene #inicio .hero-copy { max-width:100%; width:100%; }
  .hero-eyebrow { font-size:11px; letter-spacing:.14em; gap:10px; margin-bottom:18px; }
  .hero-eyebrow::before { width:22px; }
  .launch-scene #inicio h1 { font-size:clamp(38px,11.5vw,64px); line-height:1.03; }
  .launch-scene #inicio h1 span { margin-top:3px; }
  .launch-scene #inicio .hero-description { font-size:15px; margin-top:20px; max-width:430px; }
  .hero-promise { font-size:12px; margin-top:10px; }
  .launch-scene #inicio .hero-actions { gap:10px; margin-top:22px; }
  .launch-scene #inicio .hero-actions .button { min-height:50px; padding-inline:17px; font-size:11px; }
  .launch-scene #inicio .hero-reassurance { gap:12px; justify-content:space-between; margin-top:24px; font-size:12px; }
  .launch-scene #inicio .hero-reassurance span { flex:1; flex-direction:column; text-align:center; gap:8px; max-width:116px; }
  .launch-scene #inicio .hero-reassurance .icon { width:25px; height:25px; }
  .launch-scene #inicio .hero-art { position:relative; inset:auto; height:clamp(310px,84vw,490px); margin-top:16px; z-index:0; }
  .launch-scene #inicio .hero-room { object-fit:cover; object-position:right center; }
  .launch-scene #inicio .hero-astronaut { width:84%; max-width:470px; right:3%; bottom:-3%; height:auto; }
  .hero-wall-window { inset:0 -6% 0 0; }
  .hero-wall-stage { top:38%; }
  .launch-scene #inicio .hero-shade { inset:auto 0 0; height:350px; z-index:1; pointer-events:none; background:linear-gradient(0deg,var(--bg),transparent 15%,transparent 85%,#02050a); }
  .launch-scene #inicio .hero-layout { position:static; z-index:2; }
  .launch-scene #inicio { display:flex; flex-direction:column; }
  .launch-scene #inicio .hero-art { order:2; }
  .hero-motion-toggle { bottom:12px; right:20px; z-index:3; background:#04070bdb; }
  .launch-scene #inicio .scroll-cue { position:absolute; bottom:24px; left:20px; z-index:3; width:max-content; }
  .launch-scene .category-destinations { margin-top:4px; }
  .launch-scene #inicio .star-field { display:none; }
}
@media(max-width:360px) {
  .launch-scene #inicio h1 { font-size:37px; }
  .launch-scene #inicio .hero-actions .button { font-size:11px; padding-inline:12px; gap:6px; }
  .launch-scene #inicio .hero-reassurance { gap:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .wall-column { will-change:auto; }
  .hero-motion-toggle { display:none; }
}
@media print {
  .hero-motion-toggle,.hero-art { display:none!important; }
  .launch-scene #inicio,.launch-scene #inicio .hero-layout { min-height:0; padding-block:0; }
  .launch-scene #inicio .hero-copy { width:100%; }
}

/* Service destinations belong to the departure scene, with breathing room. */
.launch-scene {
  row-gap:24px;
  padding-bottom:32px;
}
.launch-scene .category-destinations {
  margin-top:0;
  gap:20px;
}
.launch-scene .destination {
  display:block;
  width:100%;
  min-width:0;
  height:clamp(224px,28svh,310px);
  min-height:0;
  padding:0;
  border-color:color-mix(in srgb,var(--category-color) 65%,#111);
  border-radius:14px;
  background:#03050a;
}
.launch-scene .destination img {
  opacity:1;
  object-fit:cover;
  object-position:center 25%;
  z-index:-2;
}
.launch-scene .destination:after {
  background:linear-gradient(0deg,#03050a 0%,#03050af5 12%,#03050ac9 32%,transparent 66%);
}
.launch-scene .destination-copy {
  position:absolute;
  inset:auto 62px 18px 20px;
  z-index:1;
}
.launch-scene .destination strong {
  font-family:Outfit,sans-serif;
  font-size:25px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.025em;
  text-wrap:initial;
}
.launch-scene .destination b {
  display:block;
  margin-top:8px;
  font-size:14px;
  font-weight:800;
  line-height:1.3;
}
.launch-scene .destination small {
  margin-top:4px;
  color:#e0e4ed;
  font-size:12px;
  line-height:1.4;
}
.launch-scene .destination-action {
  position:absolute;
  right:16px;
  bottom:29px;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#d30d17;
  color:#fff;
  transition:transform 240ms var(--ease-out),background-color 180ms ease;
}
.launch-scene .gaming .destination-action { background:#7630e0; }
.launch-scene .social .destination-action { background:#087fb8; }
.launch-scene .destination-action .icon { width:20px; height:20px; }
@media(hover:hover) and (pointer:fine) {
  .launch-scene .destination:hover { transform:translateY(-5px); }
  .launch-scene .destination:hover img { transform:scale(1.045); }
  .launch-scene .destination:hover .destination-action { transform:translateX(3px); }
}
.launch-scene .destination:active { transform:translateY(-1px) scale(.99); }

/* Shorter displays compact the composition; they never crop its next section. */
@media(min-width:901px), (min-width:761px) and (orientation:landscape) {
  .launch-scene #inicio { min-height:0; }
  .launch-scene #inicio .hero-layout { padding-top:22px; padding-bottom:50px; }
  .launch-scene #inicio h1 { font-size:clamp(44px,min(5.2vw,6.7svh),76px); }
  .launch-scene #inicio .hero-eyebrow { margin-bottom:14px; }
  .launch-scene #inicio .hero-description { font-size:16px; line-height:1.5; margin-top:16px; }
  .launch-scene #inicio .hero-promise { font-size:13px; margin-top:6px; }
  .launch-scene #inicio .hero-actions { margin-top:18px; }
  .launch-scene #inicio .hero-actions .button { min-height:50px; }
  .launch-scene #inicio .hero-reassurance { margin-top:20px; }
}
@media(min-width:761px) and (max-height:800px) {
  .launch-scene { row-gap:16px; padding-bottom:20px; }
  .launch-scene #inicio .hero-layout { padding-top:14px; padding-bottom:40px; }
  .launch-scene #inicio h1 { font-size:clamp(42px,6.7svh,52px); }
  .launch-scene #inicio .hero-eyebrow { margin-bottom:12px; }
  .launch-scene #inicio .hero-description { font-size:14.5px; margin-top:12px; }
  .launch-scene #inicio .hero-promise { font-size:12px; margin-top:4px; }
  .launch-scene #inicio .hero-actions { margin-top:14px; }
  .launch-scene #inicio .hero-reassurance { margin-top:16px; }
  .launch-scene .destination { height:180px; }
  .launch-scene .destination-copy { left:16px; bottom:14px; right:60px; }
  .launch-scene .destination strong { font-size:22px; }
  .launch-scene .destination b { font-size:12px; margin-top:6px; }
  .launch-scene .destination small { font-size:11px; }
  .launch-scene .destination-action { right:12px; bottom:23px; }
}
@media(min-width:761px) and (max-width:900px) and (orientation:portrait) {
  .launch-scene #inicio { min-height:760px; }
  .launch-scene #inicio .hero-layout { padding-top:24px; padding-bottom:330px; }
  .launch-scene #inicio h1 { font-size:50px; }
  .launch-scene #inicio .hero-description { font-size:16px; }
  .launch-scene #inicio .hero-wall-window { inset:52% -5% 2% 10%; }
  .launch-scene .destination { height:220px; }
  .launch-scene .destination-copy { inset:auto 14px 16px; }
  .launch-scene .destination strong { font-size:23px; padding-right:32px; }
  .launch-scene .destination b { font-size:12px; }
  .launch-scene .destination small { font-size:11px; }
  .launch-scene .destination-action { width:36px; height:36px; right:12px; bottom:92px; }
}
@media(max-width:760px) {
  .launch-scene { padding-bottom:36px; }
  .launch-scene .category-destinations { margin-top:24px; gap:16px; grid-template-columns:minmax(0,1fr); }
  .launch-scene .destination { height:auto; aspect-ratio:1.22; min-height:260px; }
  .launch-scene .destination-copy { inset:auto 66px 22px 22px; }
  .launch-scene .destination strong { font-size:28px; }
  .launch-scene .destination b { font-size:15px; }
  .launch-scene .destination small { font-size:13px; }
  .launch-scene .destination-action { right:18px; bottom:42px; }
}
@media(prefers-reduced-motion:reduce) {
  .launch-scene .destination,.launch-scene .destination img,.launch-scene .destination-action { transition:none; }
}
