/* Vídeo abierto y primera valoración · 14 septiembre 2026 */
[hidden] { display:none !important; }
.hero { padding:38px 0 36px; }
.hero h1 { max-width:860px; font-size:clamp(34px,5.4vw,54px); line-height:1.06; }
.hero p.sub { max-width:760px; }
.hero .kick { letter-spacing:.12em; line-height:1.7; }
.hotel-video { max-width:880px; margin:26px 0 0; }
.video-stage { position:relative; width:100%; aspect-ratio:16 / 9; min-height:200px; background:#050b17; border:1px solid #63718a; border-radius:18px; overflow:hidden; }
.video-load { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-decoration:none; color:#fff; background:radial-gradient(ellipse at 82% 60%,#244e82 0,transparent 52%),linear-gradient(135deg,#0b1937,#112f57); }
.video-load::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,12,28,.03),rgba(3,12,28,.23)); }
.poster-title { position:absolute; top:7%; left:7%; font-family:'Barlow Condensed',sans-serif; font-size:clamp(24px,4vw,38px); font-weight:700; letter-spacing:.07em; }
.poster-title span { display:block; font-family:'Barlow',sans-serif; font-size:clamp(12px,2vw,17px); font-weight:500; letter-spacing:0; color:#c9d6ec; margin-top:5px; }
.video-load .poster-robot { position:absolute; bottom:5%; width:24%; height:62%; object-fit:contain; mix-blend-mode:screen; opacity:.85; }
.poster-c40 { left:4%; }
.poster-w3 { right:4%; }
.video-play-label { position:relative; z-index:1; display:flex; align-items:center; gap:14px; padding:14px 22px; border-radius:14px; background:var(--cta); box-shadow:0 8px 34px rgba(0,0,0,.34); font-size:18px; font-weight:700; }
.video-load:hover .video-play-label { background:var(--cta-hover); }
.video-play-icon { font-size:22px; }
.video-load:focus-visible { outline:4px solid #fff; outline-offset:-6px; }
#video-mount, #video-mount iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.hotel-video figcaption { padding-top:12px; font-size:13px; line-height:1.5; color:#c9d6ec; }
.video-credit { display:block; font-weight:600; }
#video-privacy { margin:7px 0 0; max-width:780px; }
.hotel-video a:not(.video-load) { color:#c9d6ec; text-underline-offset:3px; }
.video-tools { display:flex; align-items:center; flex-wrap:wrap; gap:4px 18px; }
.video-tools a, .video-tools button { display:inline-flex; align-items:center; min-height:44px; }
.video-tools button { font:inherit; border:0; padding:0 6px; cursor:pointer; background:transparent; color:#c9d6ec; text-decoration:underline; text-underline-offset:3px; }
.video-tools :focus-visible { outline:3px solid #fff; outline-offset:3px; }
.video-status:empty { display:none; }
.video-status { color:#fff; margin-top:4px; }
.video-context { font-size:15px; line-height:1.5; color:#c9d6ec; max-width:780px; margin-top:12px; }
.herocta { margin-top:20px; }
.contact { background:#f2f6fc; color:var(--ink); padding:48px 0; text-align:left; }
.contact-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); gap:44px; align-items:start; }
.contact-copy { padding-top:12px; }
.contact .kick, .catalogue-heading .kick { color:#155484; font-size:11px; line-height:1.6; letter-spacing:.1em; }
.contact h2 { color:var(--navy); font-size:clamp(30px,3.7vw,40px); line-height:1.09; margin:12px 0 18px; }
.contact-copy p { color:#41506b; margin:0 0 18px; max-width:100%; }
.assessment-list { padding-left:20px; margin:0 0 24px; color:#253c5d; line-height:1.55; }
.assessment-list li { margin-bottom:10px; padding-left:3px; }
.contact-copy p.needs-label { color:var(--navy); font-weight:700; margin-bottom:10px; }
.needs { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:20px; }
.needs a { display:inline-flex; align-items:center; min-height:44px; padding:10px 13px; border:1px solid #a1b2ca; border-radius:10px; background:#fff; color:var(--navy); text-decoration:none; font-size:14px; font-weight:600; line-height:1.35; }
.needs a:hover, .needs a[aria-current="true"] { background:var(--navy); border-color:var(--navy); color:#fff; }
.needs a:focus-visible, .direct-contact a:focus-visible { outline:3px solid var(--cta); outline-offset:3px; }
.contact-copy p.assessment-note { font-size:14px; }
.direct-contact { font-size:14px; }
.direct-contact a { color:#155484; text-underline-offset:3px; overflow-wrap:anywhere; }
.contact .leadform { width:100%; max-width:none; margin:0; background:var(--navy); border:0; box-shadow:0 12px 35px rgba(10,30,68,.12); }
.contact .leadform p { margin-left:0; margin-right:0; }
.contact .leadform .hint { font-size:14px; margin-bottom:14px; }
.leadform .chan { margin-top:18px; }
.leadform input, .leadform select, .leadform textarea { min-height:44px; }
.leadform .row { min-width:0; }
.leadform .row > div { min-width:0; }
.leadform .contact-data > div { grid-column:1 / -1; }
.leadform select { padding-right:24px; }
.leadform .priv { margin-bottom:0; }
.catalogue-heading { padding-top:44px; padding-bottom:24px; }
.catalogue-heading h2 { font-size:clamp(27px,3.4vw,36px); color:var(--navy); margin:10px 0; }
.catalogue-heading > p:last-child { font-size:14px; line-height:1.55; max-width:800px; color:#41506b; }
.idx { background:#fff; padding:0 0 24px; }
.idxcard { background:var(--navy); }
.idxcard:hover { background:#173667; }
#video, #contacto, #solicitud { scroll-margin-top:86px; }
@media (max-width:800px) {
  .contact-grid { grid-template-columns:1fr; gap:22px; }
  .contact { padding:30px 0; }
  .contact-copy { padding-top:0; }
  .hero { padding:26px 0 30px; }
  .hero .kick { font-size:10px; letter-spacing:.08em; }
  .hero h1 { margin:12px 0 14px; }
  .desktop-break { display:none; }
  .hotel-video { margin-top:22px; }
  .video-play-label { gap:9px; padding:12px 16px; font-size:16px; }
  .herocta { gap:10px; }
  .herocta .btn { justify-content:center; width:100%; }
  .contact .leadform { padding:23px 18px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .btn { transition:none; }
  .btn:hover, .leadform button:hover { transform:none; }
}
