/* V237 — Rediseño exclusivamente de la cabecera y de Inicio.
   Referencia: fachada a pantalla completa, copy lateral y datos inferiores.
   Se preservan los enlaces, los tres recuadros, el asistente y el verde/ícono WhatsApp originales. */
:root { --header-h: 90px; }
.top-strip { display: none; }
.site-header,.site-header.is-scrolled {
  height: var(--header-h); background: #fff; border-bottom: 1px solid rgba(13,61,72,.09);
  box-shadow: 0 1px 10px rgba(6,48,59,.04); backdrop-filter: none;
}
.site-header .nav-shell { width: min(1440px,calc(100% - 96px)); gap: 23px; }
.site-header .brand { gap: 14px; }
.site-header .brand-mark { width: 69px; height: 69px; border-radius: 50%; border: 1px solid #64cbd6; background:#fff; box-shadow:none; }
.site-header .brand-mark img { width: 54px; height: 54px; }
.site-header .brand-copy { gap: 5px; }
.site-header .brand-copy strong { color:#073c4f; font-size: 1.9rem; font-weight: 750; letter-spacing:-.055em; line-height:1; }
.site-header .brand-copy small { color:#244d5e; font-size:.91rem; font-weight:450; letter-spacing:0; }
.site-header .desktop-nav { gap:clamp(24px,2.68vw,46px); align-items:center; margin-right:31px; }
.site-header .desktop-nav a { padding: 14px 0 16px; font-size: .99rem; font-weight: 600; color: #183f51; background: none; border-radius:0; white-space:nowrap; }
.site-header .desktop-nav a[aria-current='location'] { background:none; color:#075469; }
.site-header .desktop-nav a[aria-current='location']::after,
.site-header .desktop-nav a:hover::after { display:block; left:0; right:0; bottom:0; height:2px; background:#04969b; }
.site-header .desktop-nav a::after { display:block; left:0; right:100%; height:2px; bottom:0; background:#04969b; }
.site-header .nav-book { min-height: 57px; padding:0 23px; gap:15px; border-radius:14px; background:#056471; color:#fff; font-size: 1.01rem; font-weight: 700; box-shadow:0 5px 18px rgba(0,78,87,.10); }
.site-header .nav-book:hover { background:#074e5e; }
.site-header .nav-book svg { width:22px; height:22px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; flex-shrink:0; }
/* Conservado en el DOM: el asistente también sigue disponible en la portada y en el botón flotante. */
@media(min-width:1181px) { .site-header .nav-ai { display:none; } }

.hero.hero-magnus-redesign {
  position:relative; padding:0; isolation:isolate; border:0; overflow:clip;
  color:#fff; background-color:#0d2934;
  background-image:url('../images/magnus-inicio-fachada-redisenada.webp');
  background-position:center center; background-size:cover; background-repeat:no-repeat;
}
.hero.hero-magnus-redesign .hero-wash {
  position:absolute; inset:0; width:auto; height:auto; border:0; border-radius:0; box-shadow:none;
  background:linear-gradient(90deg,rgba(2,18,25,.74) 0%,rgba(3,20,27,.65) 26%,rgba(3,22,29,.40) 49%,rgba(3,22,29,.06) 72%,rgba(3,18,29,.10) 100%),
             linear-gradient(0deg,rgba(1,21,27,.67) 0%,transparent 27%,rgba(1,21,27,.12) 100%);
  pointer-events:none; z-index:0;
}
.hero.hero-magnus-redesign .hero-grid {
  position:relative; z-index:1; display:flex; align-items:flex-start; gap:0;
  width:min(1400px,calc(100% - 96px));
  min-height:max(760px,calc(100svh - var(--header-h)));
  padding:clamp(102px,15.6vh,160px) 0 65px;
}
.hero.hero-magnus-redesign .hero-copy {
  position:relative; width:min(780px,100%); max-width:none; padding:0; margin:0;
  text-align:left; color:#fff; flex:0 0 auto;
}
.hero.hero-magnus-redesign .eyebrow {
  position:relative; display:inline-flex; justify-content:flex-start; padding-bottom:20px; margin:0 0 16px;
  font-size:.81rem; font-weight:650; letter-spacing:.21em; line-height:1.45; color:#67eced; text-transform:uppercase;
}
.hero.hero-magnus-redesign .eyebrow > span { display:none; }
.hero.hero-magnus-redesign .eyebrow::after { content:""; width:102px; height:2px; position:absolute; left:0; bottom:0; background:#52e5e6; }
.hero.hero-magnus-redesign .hero-copy h1 {
  max-width:800px; margin:0; color:#fff; font-size:clamp(3rem,4.16vw,4.25rem); line-height:1.02;
  letter-spacing:-.055em; font-weight:710; text-wrap:balance;
}
.hero.hero-magnus-redesign .hero-copy h1 em {
  display:block; margin:12px 0 0; font:inherit; font-style:normal; letter-spacing:inherit; color:#69e2eb;
}
.hero.hero-magnus-redesign .hero-lead {
  margin:28px 0 0; max-width:590px; color:#f7fcfc; font-size:1.18rem; line-height:1.63; font-weight:410; text-wrap:pretty;
  text-shadow:0 2px 14px rgba(1,14,21,.25);
}
.hero.hero-magnus-redesign .hero-actions { justify-content:flex-start; flex-wrap:wrap; gap:20px; margin-top:34px; }
.hero.hero-magnus-redesign .hero-actions .button {
  min-height:60px; padding:13px 24px; border-radius:12px; font-size:1.05rem; font-weight:675; letter-spacing:-.015em;
}
/* Mantener exactamente el color verde identificativo y el PNG de WhatsApp del proyecto. */
.hero.hero-magnus-redesign a.whatsapp-action,
.hero.hero-magnus-redesign a.whatsapp-action.button-primary {
  background:#25d366; border:1px solid #25d366; color:#063b25; border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.13);
}
.hero.hero-magnus-redesign a.whatsapp-action:hover { background:#20bd5a; border-color:#20bd5a; color:#063b25; }
.hero.hero-magnus-redesign .whatsapp-action .wa-action-icon { width:25px; height:25px; object-fit:contain; }
.hero.hero-magnus-redesign .button-ghost {
  color:#fff; border:2px solid rgba(255,255,255,.95); background:rgba(1,24,29,.12); padding-inline:23px;
  backdrop-filter:blur(5px); box-shadow:none;
}
.hero.hero-magnus-redesign .button-ghost:hover { background:rgba(255,255,255,.19); color:#fff; }
.hero.hero-magnus-redesign .button-ghost svg { width:21px; height:21px; stroke:currentColor; stroke-width:1.8; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.hero.hero-magnus-redesign .hero-assistant {
  display:grid; position:relative; grid-template-columns:38px minmax(0,1fr) 18px; gap:12px;
  width:min(435px,100%); max-width:none; min-height:62px; margin:19px 0 0; padding:9px 15px;
  color:#fff; background:rgba(3,38,46,.52); border:1px solid rgba(177,239,242,.35); border-radius:13px;
  text-align:left; backdrop-filter:blur(12px); box-shadow:0 5px 25px rgba(0,0,0,.08);
}
.hero.hero-magnus-redesign .hero-assistant:hover { background:rgba(4,53,59,.72); border-color:rgba(164,244,240,.72); }
.hero.hero-magnus-redesign .hero-assistant .assistant-orb { width:38px; height:38px; border-radius:50%; background:#fff; }
.hero.hero-magnus-redesign .hero-assistant .assistant-orb img { width:30px; height:30px; object-fit:contain; }
.hero.hero-magnus-redesign .hero-assistant small { font-size:.69rem; color:#c0e7e6; }
.hero.hero-magnus-redesign .hero-assistant strong { font-size:.85rem; color:#fff; font-weight:600; }
.hero.hero-magnus-redesign .hero-assistant > svg { width:18px; color:#d5fafa; fill:currentColor; }
.hero.hero-magnus-redesign .hero-facts-cards {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:min(725px,100%); max-width:none;
  gap:0; margin:54px 0 0; padding:0; border:0; border-radius:0; background:none; text-align:left;
}
.hero.hero-magnus-redesign .fact-card {
  display:flex; align-items:flex-start; gap:15px; margin:0; padding:0 21px;
  background:none; border:0; border-right:1px solid rgba(235,255,255,.65); min-height:87px;
}
.hero.hero-magnus-redesign .fact-card:first-child { padding-left:0; }
.hero.hero-magnus-redesign .fact-card:last-child { padding-right:0; border:0; }
.hero.hero-magnus-redesign .fact-icon { display:block; width:42px; height:42px; min-width:42px; color:#64e9ec; stroke:#64e9ec; stroke-width:1.9; stroke-linejoin:round; stroke-linecap:round; }
.hero.hero-magnus-redesign .fact-card-attention .fact-icon { stroke:none; }
.hero.hero-magnus-redesign .fact-text { display:grid; gap:3px; min-width:0; }
.hero.hero-magnus-redesign .fact-card small { color:#72e5eb; text-transform:none; font-size:.84rem; font-weight:520; letter-spacing:0; line-height:1.35; }
.hero.hero-magnus-redesign .fact-card strong { color:#fff; font-size:1.21rem; font-weight:720; line-height:1.25; letter-spacing:-.03em; white-space:nowrap; }
.hero.hero-magnus-redesign .fact-card span { color:#e4eeee; font-size:.88rem; line-height:1.4; }
/* V239: el video original vuelve a ser el fondo de Inicio; el resto del diseño se conserva. */
.hero.hero-magnus-redesign .hero-media {
  display:block;
  left:calc(50% - 50vw);
  width:100vw;
}
.hero.hero-magnus-redesign .hero-media-caption { display:none; }
.hero.hero-magnus-redesign .hero-media-gradient {
  background:linear-gradient(90deg,rgba(2,18,25,.74) 0%,rgba(3,20,27,.65) 26%,rgba(3,22,29,.40) 49%,rgba(3,22,29,.06) 72%,rgba(3,18,29,.10) 100%),
             linear-gradient(0deg,rgba(1,21,27,.67) 0%,transparent 27%,rgba(1,21,27,.12) 100%);
}
@media(max-width:900px) {
  .hero.hero-magnus-redesign .hero-media-gradient {
    background:linear-gradient(90deg,rgba(3,22,28,.81),rgba(3,22,28,.62) 65%,rgba(3,22,28,.32)),linear-gradient(0deg,rgba(3,22,28,.55),transparent 45%);
  }
}
@media(max-width:640px) {
  .hero.hero-magnus-redesign .hero-media-gradient {
    background:linear-gradient(90deg,rgba(1,20,27,.89),rgba(1,20,27,.84)),linear-gradient(0deg,rgba(1,20,27,.53),transparent);
  }
}

@media(max-width:1390px) and (min-width:1181px) {
  .site-header .nav-shell { width:calc(100% - 66px); gap:13px; }
  .site-header .desktop-nav { gap:clamp(14px,1.7vw,28px); }
  .site-header .desktop-nav a { font-size:.86rem; }
  .site-header .brand-copy strong { font-size:1.65rem; }
  .site-header .brand-copy small { font-size:.77rem; }
  .site-header .nav-book { font-size:.88rem; padding-inline:16px; }
}
@media(max-width:1180px) {
  .site-header .nav-shell { width:calc(100% - 48px); }
  .hero.hero-magnus-redesign .hero-grid { width:calc(100% - 74px); }
  .hero.hero-magnus-redesign .hero-copy h1 { font-size:clamp(3rem,6vw,4.1rem); }
  .site-header .nav-ai { display:grid; }
}
@media(max-width:900px) {
  :root { --header-h:76px; }
  .site-header .nav-shell { width:calc(100% - 40px); }
  .site-header .brand-mark { width:53px; height:53px; }
  .site-header .brand-mark img { width:43px; height:43px; }
  .site-header .brand-copy strong { font-size:1.5rem; }
  .site-header .brand-copy small { font-size:.69rem; }
  .site-header .nav-book { min-height:44px; padding:0 13px; font-size:.83rem; }
  .site-header .nav-book svg { width:19px; }
  .hero.hero-magnus-redesign { background-position:58% 50%; }
  .hero.hero-magnus-redesign .hero-wash { background:linear-gradient(90deg,rgba(3,22,28,.81),rgba(3,22,28,.62) 65%,rgba(3,22,28,.32)),linear-gradient(0deg,rgba(3,22,28,.55),transparent 45%); }
  .hero.hero-magnus-redesign .hero-grid { min-height:750px; width:calc(100% - 54px); padding:90px 0 65px; }
  .hero.hero-magnus-redesign .hero-copy { width:min(730px,100%); }
  .hero.hero-magnus-redesign .hero-copy h1 { font-size:clamp(2.9rem,7.4vw,4.2rem); }
  .hero.hero-magnus-redesign .hero-lead { font-size:1.05rem; max-width:550px; }
  .hero.hero-magnus-redesign .hero-facts-cards { margin-top:46px; }
  .hero.hero-magnus-redesign .fact-card { gap:11px; padding-inline:14px; }
  .hero.hero-magnus-redesign .fact-icon { width:32px; height:32px; min-width:32px; }
}
@media(max-width:640px) {
  :root { --header-h:70px; }
  .site-header .nav-shell { width:calc(100% - 30px); gap:7px; }
  .site-header .brand { gap:8px; }
  .site-header .brand-mark { width:43px; height:43px; }
  .site-header .brand-mark img { width:36px; height:36px; }
  .site-header .brand-copy { gap:3px; }
  .site-header .brand-copy strong { font-size:1.22rem; }
  .site-header .brand-copy small { font-size:.62rem; }
  .site-header .nav-actions { gap:5px; }
  .site-header .nav-book { min-height:39px; padding:0 10px; font-size:.71rem; border-radius:10px; }
  .site-header .nav-book svg { display:none; }
  .site-header .nav-ai { width:39px; height:39px; }
  .site-header .menu-toggle { width:39px; height:39px; }
  .site-header .menu-toggle span { left:10px; top:18px; }
  .hero.hero-magnus-redesign { background-position:65% center; }
  .hero.hero-magnus-redesign .hero-wash { background:linear-gradient(90deg,rgba(1,20,27,.89),rgba(1,20,27,.84)),linear-gradient(0deg,rgba(1,20,27,.53),transparent); }
  .hero.hero-magnus-redesign .hero-grid { width:calc(100% - 42px); min-height:0; padding:78px 0 47px; }
  .hero.hero-magnus-redesign .eyebrow { font-size:.64rem; letter-spacing:.13em; margin-bottom:17px; padding-bottom:17px; }
  .hero.hero-magnus-redesign .eyebrow::after { width:75px; }
  .hero.hero-magnus-redesign .hero-copy h1 { font-size:clamp(2.2rem,9vw,3.25rem); letter-spacing:-.045em; line-height:1.08; }
  .hero.hero-magnus-redesign .hero-copy h1 em { margin-top:7px; }
  .hero.hero-magnus-redesign .hero-lead { margin-top:23px; font-size:.97rem; line-height:1.65; }
  .hero.hero-magnus-redesign .hero-actions { gap:12px; margin-top:25px; width:100%; }
  .hero.hero-magnus-redesign .hero-actions .button { width:100%; min-height:54px; padding:11px 12px; font-size:.94rem; }
  .hero.hero-magnus-redesign .hero-assistant { margin-top:17px; width:100%; max-width:none; }
  .hero.hero-magnus-redesign .hero-facts-cards { width:100%; grid-template-columns:1fr; margin-top:32px; border-top:1px solid rgba(255,255,255,.24); }
  .hero.hero-magnus-redesign .fact-card { padding:15px 0; border:0; border-bottom:1px solid rgba(255,255,255,.24); min-height:0; gap:15px; }
  .hero.hero-magnus-redesign .fact-card:last-child { border:0; padding-bottom:0; }
  .hero.hero-magnus-redesign .fact-icon { width:35px; height:35px; min-width:35px; }
  .hero.hero-magnus-redesign .fact-card strong { font-size:1.08rem; }
  .hero.hero-magnus-redesign .fact-card small { font-size:.79rem; }
  .hero.hero-magnus-redesign .fact-card span { font-size:.79rem; }
}
@media(max-width:390px) {
  .site-header .brand-copy small { font-size:.56rem; }
  .site-header .nav-book { font-size:.67rem; padding:0 8px; }
  .site-header .nav-ai { display:none; }
}
@media(prefers-reduced-motion:reduce) { .hero.hero-magnus-redesign .hero-assistant { backdrop-filter:none; } }
