#contenido { background:#03101d; }
@media (min-width:1221px) {
  .hero { height:max(39.95vw,calc(100svh - 92px)); }
}
@media (min-width:761px) and (max-width:1220px) {
  .hero { height:max(690px,calc(100svh - 8.18vw)); }
}
.wake-section {
  position:relative;
  z-index:1;
  isolation:isolate;
  overflow:hidden;
  margin-top:0;
  padding-top:0;
  min-height:0;
  color:#f5f9ff;
  background:#05111e url("assets/wake-dawn.webp") center 52%/cover no-repeat;
  clip-path:none;
}
.wake-section::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,#1266ace8 0%,#0c437c9c 105px,transparent 230px),linear-gradient(90deg,#03101df2 0%,#03101de0 33%,#03101d7a 56%,#03101d35 100%),linear-gradient(0deg,#0738728c,transparent 27%);
}
.wake-grid {
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
  align-items:center;
  gap:clamp(1rem,3vw,4rem);
  height:100%;
  min-height:0;
  padding-block:clamp(2rem,4svh,4rem);
}
.wake-copy { position:relative; z-index:2; }
.wake-copy .eyebrow { margin-bottom:1.5rem; color:#b3cfe8; }
.wake-copy h2 { max-width:20ch; margin:0 0 1.45rem; font-size:clamp(3.4rem,4.75vw,6.2rem); font-weight:400; line-height:1.02; letter-spacing:-.055em; }
.wake-copy h2 em { color:#9acbff; font-style:normal; }
.wake-copy>p:not(.eyebrow) { max-width:49ch; margin:0; color:#d5e0ec; font-size:clamp(1rem,1.18vw,1.2rem); line-height:1.55; }
@property --wake-glint-angle {
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}
.wake-link { position:relative; isolation:isolate; overflow:hidden; display:inline-flex; align-items:center; gap:.9rem; margin-top:2rem; padding:.9rem 1.15rem; border:1px solid #fff; border-radius:999px; background:#f7fbff; color:#071525; font-size:1rem; font-weight:650; text-decoration:none; box-shadow:0 5px 22px #0003,0 0 0 1px #ffffff38; transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease; }
.wake-link::after { content:""; position:absolute; inset:-1px; padding:2.5px; border-radius:inherit; background:conic-gradient(from var(--wake-glint-angle),transparent 0deg 286deg,#65b8ff 309deg,#fff 325deg,#a2d8ff 337deg,transparent 356deg 360deg); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:.95; filter:drop-shadow(0 0 5px #42a5ff) drop-shadow(0 0 12px #168bffb3); animation:wake-border-glint 10s linear 1s infinite; pointer-events:none; }
@keyframes wake-border-glint { from { --wake-glint-angle:0deg; opacity:.45; } 6% { opacity:1; } 18% { opacity:.35; } to { --wake-glint-angle:360deg; opacity:.45; } }
.wake-link span { display:inline-block; transition:transform .2s ease; }
.wake-link:is(:hover,:focus-visible) { color:#06182a; border-color:#fff; background:#fff; box-shadow:0 8px 28px #0005,0 0 22px #69baff55; transform:translateY(-2px); }
.wake-link:is(:hover,:focus-visible)::after { animation-duration:1.35s; animation-delay:0s; opacity:1; filter:drop-shadow(0 0 7px #67bdff) drop-shadow(0 0 16px #168bff); }
.wake-link:is(:hover,:focus-visible) span { transform:translate(3px,-3px); }
.wake-link:focus-visible { outline:2px solid #9bcaff; outline-offset:5px; }
.wake-visual { display:grid; place-items:center; width:100%; min-width:0; min-height:clamp(390px,32vw,500px); }
.wake-visual .autariz-holo-scene { max-width:none; }
@media (max-width:760px) {
  .hero { height:max(760px,calc(100svh - 68px)); }
  .wake-section { height:auto; min-height:0; margin-top:0; padding-top:0; background-position:61% center; clip-path:none; }
  .wake-section::before { background:linear-gradient(180deg,#1266ace0 0%,#0c437c99 95px,transparent 200px),linear-gradient(180deg,#03101df0 0%,#03101dd1 46%,#03101d7c 85%,#07387290 100%); }
  .wake-grid { height:auto; grid-template-columns:1fr; gap:.5rem; padding-block:4rem 4.5rem; }
  .wake-copy h2 { max-width:16ch; font-size:clamp(2.6rem,9vw,4rem); }
  .wake-copy>p:not(.eyebrow) { font-size:1rem; }
  .wake-link { margin-top:1.8rem; }
  .wake-visual { width:calc(100% + 2rem); min-height:350px; margin-left:-1rem; }
}
@media (prefers-reduced-motion:reduce) { .wake-link,.wake-link span { transition:none; } .wake-link::after { animation:none; display:none; } }

/* Cada escena termina en su propio borde; ninguna capa invade la anterior. */
.store-section::before,
.automation-section::before,
.assistant-section::before,
.contact-section::before { display:none; }

.store-section,
.automation-section,
.assistant-section,
.contact-section { overflow:hidden; }

/* Avoid scene overlays leaking into the section above after equalizing heights. */
.assistant-section {
  background-color:#f7f3ed;
}
.assistant-section::before { display:none; }

@media (min-width:761px) {
  .wake-section,
  .store-section,
  .automation-section,
  .assistant-section,
  .contact-section {
    height:47.9vw;
    min-height:0;
  }
  .contact-section {
    margin-top:0;
    -webkit-mask-image:none;
    mask-image:none;
  }
}

@media (min-width:1221px) {
  .wake-section,
  .store-section,
  .automation-section,
  .assistant-section,
  .contact-section {
    height:47.9vw;
  }
  .store-section { background-position:center 52%; }
  .automation-section { background-position:center 54%; }
  .assistant-section { background-position:center 58%; }
  .contact-section {
    background-position:center 53%;
  }
  .wake-grid { padding-block:clamp(3.5rem,5vw,5rem); }
  .store-section .showcase-copy { top:11vw; }
  .automation-section .showcase-copy { top:10vw; }
  .assistant-section .showcase-copy { top:10vw; }
  .contact-content { top:10vw; }
}

@media (min-width:761px) {
  .wake-copy h2,
  .showcase h2,
  .contact-content h2 { font-size:clamp(3rem,4.22vw,5.8rem); line-height:1.04; }
  .wake-copy h2 { max-width:20ch; }
  .store-section h2,.automation-section h2,.assistant-section h2,.contact-content h2 { max-width:16ch; }
}

@media (max-width:760px) {
  .contact-section {
    margin-top:0;
    padding-top:0;
    -webkit-mask-image:none;
    mask-image:none;
  }
}
