/* ==========================================================================
   Cabo Azul · centro de buceo
   Mundo: carta náutica hidrográfica. El documento desciende de 0 a -40 m.
   ========================================================================== */

:root{
  /* columna de agua */
  --sup:      #12768f;
  --somera:   #0b5f7f;
  --media:    #073f63;
  --honda:    #062842;
  --abisal:   #04121f;

  /* tinta de carta */
  --tinta:    #e6f4f8;
  --tinta-2:  #a9c9d6;
  --tinta-3:  #7ba5b6;
  --linea:    rgba(214,240,247,.22);
  --linea-2:  rgba(214,240,247,.1);
  --ambar:    #ffc247;
  --ambar-h:  #ffd583;
  --alerta:   #ff9b7a;

  --sans: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "Azeret Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;

  --paso: clamp(4.5rem, 9vw, 9rem);   /* separación entre zonas */
  --marco: clamp(1.25rem, 5vw, 5.5rem);
  --max: 1280px;
  --r: 2px;                            /* la carta no tiene esquinas redondas */
}

*,*::before,*::after{ box-sizing:border-box }
html{ -webkit-text-size-adjust:100% }
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth } }

body{
  margin:0;
  font-family:var(--sans);
  font-variation-settings:"wdth" 100;
  color:var(--tinta);
  background:linear-gradient(180deg,
    var(--sup)    0%,
    var(--somera) 14%,
    var(--media)  38%,
    var(--honda)  66%,
    var(--abisal) 88%,
    #030c16       100%);
  overflow-x:hidden;
}

img,svg{ max-width:100% }
h1,h2,h3{ margin:0; font-weight:800; letter-spacing:-.03em; line-height:.98; text-wrap:balance }
p{ margin:0 }
a{ color:inherit }

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.skip{
  position:fixed;left:1rem;top:-4rem;z-index:99;
  background:var(--ambar);color:#052033;padding:.7rem 1.1rem;
  font-weight:700;text-decoration:none;transition:top .18s ease;
}
.skip:focus{ top:1rem }

:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:2px solid var(--ambar); outline-offset:3px; border-radius:var(--r);
}

/* ---------- rótulos de carta ---------- */
.rotulo{
  font-family:var(--mono);
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ambar);margin-bottom:1.5rem;
}
.nota{
  font-family:var(--mono);font-size:.74rem;line-height:1.7;
  color:var(--tinta-3);letter-spacing:.01em;
}

/* ==========================================================================
   Barra superior
   ========================================================================== */
.topbar{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;gap:1.5rem;
  padding:.85rem var(--marco);
  border-bottom:1px solid var(--linea-2);
  background:rgba(4,18,31,.55);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
}
.brand{ display:grid;grid-template-columns:auto auto;gap:0 .7rem;align-items:center;text-decoration:none;margin-right:auto }
.brand__mark{ width:34px;height:34px;grid-row:span 2;color:var(--tinta-2) }
.brand__name{ font-weight:900;font-size:1.05rem;letter-spacing:-.02em;line-height:1 }
.brand__sub{ font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-3) }

.nav{ display:flex;gap:1.75rem }
.nav a{
  position:relative;text-decoration:none;font-size:.88rem;font-weight:600;
  color:var(--tinta-2);padding-block:.35rem;
}
.nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;
  background:var(--ambar);transition:right .3s cubic-bezier(.2,.8,.2,1);
}
.nav a:hover{ color:var(--tinta) }
.nav a:hover::after,.nav a[aria-current="true"]::after{ right:0 }
.nav a[aria-current="true"]{ color:var(--tinta) }

.burger{ display:none;background:none;border:0;padding:.5rem;cursor:pointer;color:var(--tinta) }
.burger__bars,.burger__bars::before,.burger__bars::after{
  display:block;width:22px;height:2px;background:currentColor;transition:transform .25s ease,opacity .2s ease;
}
.burger__bars::before,.burger__bars::after{ content:"";position:relative }
.burger__bars::before{ top:-7px } .burger__bars::after{ top:5px }
.burger[aria-expanded="true"] .burger__bars{ transform:rotate(45deg) }
.burger[aria-expanded="true"] .burger__bars::before{ opacity:0 }
.burger[aria-expanded="true"] .burger__bars::after{ transform:rotate(-90deg) translateX(7px) }

.menu-movil[hidden]{ display:none }
.menu-movil{
  position:sticky;top:60px;z-index:39;
  display:grid;gap:.25rem;padding:1rem var(--marco) 1.75rem;
  background:rgba(4,18,31,.94);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linea-2);
}
.menu-movil a{ text-decoration:none;font-size:1.15rem;font-weight:700;padding:.6rem 0;border-bottom:1px solid var(--linea-2) }
.menu-movil .btn{ margin-top:1rem;border-bottom:0;justify-content:center }

/* ==========================================================================
   Botones
   ========================================================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:.95rem 1.6rem;border:1.5px solid transparent;border-radius:var(--r);
  font-weight:700;font-size:.95rem;letter-spacing:-.01em;text-decoration:none;cursor:pointer;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),background-color .22s ease,color .22s ease,box-shadow .22s ease;
}
.btn--amber{ background:var(--ambar);color:#04121f;box-shadow:0 6px 22px -10px rgba(255,194,71,.8) }
.btn--amber:hover{ background:var(--ambar-h);transform:translateY(-2px);box-shadow:0 12px 28px -12px rgba(255,194,71,.9) }
.btn--ghost{ border-color:var(--linea);color:var(--tinta) }
.btn--ghost:hover{ border-color:var(--tinta-2);background:rgba(230,244,248,.06);transform:translateY(-2px) }
.btn--sm{ padding:.6rem 1.05rem;font-size:.82rem }
.btn--block{ width:100% }
.btn:active{ transform:translateY(0) }

/* ==========================================================================
   Escala de profundidad (sonda)
   ========================================================================== */
.sonda{
  position:fixed;right:calc(var(--marco) * .45);top:50%;translate:0 -50%;z-index:30;
  width:76px;height:min(58vh,460px);pointer-events:none;
  display:grid;grid-template-columns:1fr;
}
.sonda__rule{ position:relative;height:100%;border-right:1px solid var(--linea);margin-right:34px }
.sonda__rule span{
  position:absolute;right:-30px;top:calc(var(--m) * 2.5%);translate:0 -50%;
  font-family:var(--mono);font-size:.6rem;color:var(--tinta-3);letter-spacing:.06em;
}
.sonda__rule span::before{
  content:"";position:absolute;left:-9px;top:50%;width:8px;height:1px;background:var(--linea);
}
.sonda__needle{
  position:absolute;left:0;width:42px;height:1.5px;background:var(--ambar);
  top:0;transition:top .12s linear;
}
.sonda__needle::after{
  content:"";position:absolute;right:-4px;top:-3px;width:8px;height:8px;
  background:var(--ambar);rotate:45deg;
}
.sonda__read{
  position:absolute;left:-6px;bottom:-2.6rem;display:flex;align-items:baseline;gap:.15rem;
  font-family:var(--mono);color:var(--ambar);
}
.sonda__read output{ font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums }
.sonda__read span{ font-size:.7rem;color:var(--tinta-3) }

/* ==========================================================================
   Zonas
   ========================================================================== */
.zona{
  position:relative;
  max-width:var(--max);margin-inline:auto;
  padding:var(--paso) var(--marco);
}
.cota{
  display:flex;align-items:center;gap:1rem;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--tinta-3);margin-bottom:clamp(2.5rem,5vw,4.5rem);
}
.cota span{ color:var(--ambar);font-weight:700 }
.cota i{ flex:1;max-width:180px;height:1px;background:var(--linea);display:block }

.tit{ font-size:clamp(2.4rem,6.2vw,4.6rem);font-variation-settings:"wdth" 92 }
.seccion-cab{ margin-bottom:clamp(3rem,6vw,5rem);max-width:62ch }
.seccion-cab .parrafo{ margin-top:1.6rem }
.parrafo{ font-size:1.05rem;line-height:1.65;color:var(--tinta-2);max-width:60ch }
.parrafo + .parrafo{ margin-top:1.1rem }
.parrafo--ancho{ max-width:68ch }
.split__a .btn{ margin-top:2.2rem }

/* ---------- Hero ---------- */
.hero{ min-height:100svh;display:flex;align-items:center;padding-top:clamp(3rem,9vh,7rem);padding-bottom:12vh }
.hero__grid{ display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(2.5rem,6vw,5rem);align-items:end;width:100% }
.hero h1{ font-size:clamp(2.9rem,6.6vw,5rem);font-variation-settings:"wdth" 88;letter-spacing:-.045em }
.hero h1 em{ font-style:normal;color:var(--ambar) }
.hero .lead{ margin-top:1.8rem;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6;color:var(--tinta-2);max-width:46ch }
.hero__acciones{ display:flex;flex-wrap:wrap;gap:.9rem;margin:2.4rem 0 1.3rem }

.hero__parte{
  border:1px solid var(--linea);background:rgba(3,16,28,.32);
  backdrop-filter:blur(3px);padding:1.35rem 1.5rem 1.15rem;
}
.parte__cab{
  display:flex;align-items:center;gap:.55rem;
  font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-3);
  padding-bottom:.9rem;border-bottom:1px solid var(--linea-2);
}
.pip{ width:7px;height:7px;border-radius:50%;background:var(--ambar);box-shadow:0 0 0 0 rgba(255,194,71,.55);animation:pip 2.6s ease-out infinite }
@keyframes pip{ 70%{ box-shadow:0 0 0 9px rgba(255,194,71,0) } 100%{ box-shadow:0 0 0 0 rgba(255,194,71,0) } }
.parte__datos{ display:grid;grid-template-columns:repeat(2,1fr);gap:.1rem 1.5rem;margin:0 }
.parte__datos > div{ padding:.8rem 0;border-bottom:1px solid var(--linea-2) }
.parte__datos dt{ font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-3) }
.parte__datos dd{ margin:.25rem 0 0;font-family:var(--mono);font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--tinta) }
.parte__datos dd small{ font-size:.72rem;font-weight:400;color:var(--tinta-3);margin-left:.15rem }
.parte__pie{ margin-top:.9rem;font-family:var(--mono);font-size:.6rem;line-height:1.6;color:var(--tinta-3);opacity:.75 }

.linea-flotacion{ position:absolute;left:0;right:0;bottom:0;height:90px;pointer-events:none }
.linea-flotacion svg{ width:100%;height:100% }
.ola{ fill:rgba(11,95,127,.55) }
.ola--1{ fill:rgba(255,194,71,.1) }
.ola--2{ fill:rgba(7,63,99,.5) }
@media (prefers-reduced-motion:no-preference){
  .ola--1{ animation:deriva 14s linear infinite }
  .ola--2{ animation:deriva 22s linear infinite reverse }
  @keyframes deriva{ from{ transform:translateX(0) } to{ transform:translateX(-4%) } }
}

/* ---------- Split ---------- */
.split{ display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:start }
.split--inv .split__a{ order:2 }

/* ---------- Bitácora ---------- */
.bitacora{ list-style:none;margin:0;padding:0;border-top:1px solid var(--linea) }
.bitacora li{ position:relative;padding:1.6rem 0 1.6rem 5.5rem;border-bottom:1px solid var(--linea-2) }
.bitacora__h{
  position:absolute;left:0;top:1.75rem;
  font-family:var(--mono);font-size:.8rem;font-weight:700;color:var(--ambar);letter-spacing:.02em;
}
.bitacora li::before{
  content:"";position:absolute;left:4.15rem;top:1.85rem;width:6px;height:6px;
  border:1.5px solid var(--tinta-3);rotate:45deg;
}
.bitacora h3{ font-size:1.18rem;letter-spacing:-.02em }
.bitacora p{ margin-top:.5rem;color:var(--tinta-2);line-height:1.6;font-size:.96rem }

/* ---------- Tabla de cursos ---------- */
.tabla-wrap{ overflow-x:auto;border-top:1.5px solid var(--tinta-3) }
.tabla{ width:100%;min-width:720px;border-collapse:collapse;text-align:left }
.tabla thead th{
  font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tinta-3);font-weight:500;padding:.9rem 1rem;border-bottom:1px solid var(--linea);
}
.tabla tbody tr{ transition:background-color .2s ease }
.tabla tbody tr:hover{ background:rgba(230,244,248,.05) }
.tabla tbody th,.tabla tbody td{ padding:1.35rem 1rem;border-bottom:1px solid var(--linea-2);vertical-align:baseline }
.tabla tbody th{ font-weight:400 }
.tabla tbody th strong{ display:block;font-size:1.3rem;font-weight:800;letter-spacing:-.02em }
.tabla tbody th span{ display:block;margin-top:.3rem;font-size:.85rem;color:var(--tinta-3);max-width:26ch }
.tabla td{ font-family:var(--mono);font-size:.85rem;color:var(--tinta-2) }
.tabla td b{ font-size:1.05rem;color:var(--tinta);font-weight:700 }
.tabla .precio{ font-size:1.15rem;font-weight:700;color:var(--ambar);white-space:nowrap }
.nota--tabla{ margin-top:1.2rem }

/* ---------- Carta batimétrica ---------- */
.carta{ display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(2rem,4vw,3.5rem);align-items:start }
.carta__mapa{ position:relative;border:1px solid var(--linea);background:rgba(3,16,28,.25) }
.carta__svg{ display:block;width:100% }
.isobatas path{ stroke-width:1.2;stroke-dasharray:1 0 }
.isobatas__num,.topo{ font-family:"Azeret Mono",monospace;font-size:11px;letter-spacing:.14em }
.topo{ fill:rgba(255,194,71,.7);font-size:12px }
.topo--mar{ fill:rgba(214,240,247,.35);letter-spacing:.3em }

.pin{
  position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;
  width:34px;height:34px;padding:0;cursor:pointer;
  background:rgba(4,18,31,.7);border:1.5px solid var(--tinta-2);border-radius:50%;
  color:var(--tinta);font-family:var(--mono);font-size:.8rem;font-weight:700;
  display:grid;place-items:center;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),background-color .2s,border-color .2s,color .2s;
}
.pin::after{
  content:"";position:absolute;inset:-8px;border:1px solid transparent;border-radius:50%;transition:border-color .3s;
}
.pin:hover{ transform:translate(-50%,-50%) scale(1.12);border-color:var(--ambar);color:var(--ambar) }
.pin[aria-current="true"]{ background:var(--ambar);border-color:var(--ambar);color:#04121f }
.pin[aria-current="true"]::after{ border-color:rgba(255,194,71,.45) }

.carta__ficha{ border-top:1.5px solid var(--ambar);padding-top:1.5rem }
.ficha__idx{ font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;color:var(--tinta-3) }
.ficha__idx span{ color:var(--ambar);font-weight:700 }
.carta__ficha h3{ font-size:clamp(1.6rem,2.6vw,2.1rem);margin:.7rem 0 1.4rem;letter-spacing:-.035em }
.ficha__datos{ display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem 1.5rem;margin:0 0 1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--linea-2) }
.ficha__datos dt{ font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-3) }
.ficha__datos dd{ margin:.3rem 0 0;font-size:1rem;font-weight:600 }
.ficha__txt{ color:var(--tinta-2);line-height:1.65;font-size:.98rem }
.ficha__fauna{ margin-top:1.2rem;font-family:var(--mono);font-size:.75rem;color:var(--ambar);letter-spacing:.02em;line-height:1.8 }
.carta__lista{ list-style:none;margin:2rem 0 0;padding:0;border-top:1px solid var(--linea-2) }
.carta__lista li{ border-bottom:1px solid var(--linea-2) }
.carta__lista button{
  width:100%;text-align:left;background:transparent;border:0;cursor:pointer;color:var(--tinta-2);
  padding:.7rem .2rem;font-family:var(--sans);font-size:.9rem;display:flex;gap:.9rem;align-items:center;
  transition:color .2s,transform .2s;
}
.carta__lista button:hover{ color:var(--tinta);transform:translateX(.4rem) }
.carta__lista button b{ font-family:var(--mono);font-size:.72rem;color:var(--tinta-3);font-weight:500 }
.carta__lista button[aria-current="true"]{ color:var(--ambar) }
.carta__lista button[aria-current="true"] b{ color:var(--ambar) }

/* ---------- Datos del centro / cita ---------- */
.datos-centro{ margin:2.5rem 0 0;border-top:1px solid var(--linea) }
.datos-centro > div{ display:grid;grid-template-columns:9rem 1fr;gap:1.2rem;padding:1rem 0;border-bottom:1px solid var(--linea-2) }
.datos-centro dt{ font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ambar);padding-top:.2rem }
.datos-centro dd{ margin:0;color:var(--tinta-2);line-height:1.55 }

.cita{ margin:0;border-left:1px solid var(--linea);padding-left:clamp(1.5rem,3vw,2.5rem) }
.cita p{ font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.35;letter-spacing:-.025em;font-weight:600;text-wrap:pretty }
.cita footer{ margin-top:1.8rem;display:grid;gap:.3rem }
.cita footer b{ font-size:.95rem }
.cita footer span{ font-family:var(--mono);font-size:.68rem;color:var(--tinta-3);letter-spacing:.04em }

/* ---------- Reserva ---------- */
.reserva{ display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,6vw,5rem);align-items:start }
.contacto{ list-style:none;margin:2.5rem 0 0;padding:0;border-top:1px solid var(--linea) }
.contacto li{ display:grid;grid-template-columns:6.5rem 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--linea-2);color:var(--tinta-2) }
.contacto span{ font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-3);padding-top:.2rem }
.contacto a{ text-decoration:none;border-bottom:1px solid var(--linea);transition:border-color .2s,color .2s }
.contacto a:hover{ color:var(--ambar);border-color:var(--ambar) }

.form{
  display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.2rem;
  border:1px solid var(--linea);padding:clamp(1.5rem,3vw,2.5rem);background:rgba(3,16,28,.3);
}
.campo{ display:grid;grid-column:span 2;border:0;padding:0;margin:0;min-width:0 }
.campo--mitad{ grid-column:span 1 }
.campo--full{ grid-column:span 2 }
.campo label,.campo legend{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--tinta-3);margin-bottom:.6rem;padding:0;
}
.campo label i{ font-style:normal;text-transform:none;letter-spacing:.02em;opacity:.7 }
.campo input,.campo textarea{
  width:100%;font-family:var(--sans);font-size:1rem;color:var(--tinta);
  background:transparent;border:0;border-bottom:1.5px solid var(--linea);
  padding:.65rem 0;border-radius:0;transition:border-color .2s,background-color .2s;
}
.campo textarea{ resize:vertical;line-height:1.55 }
.campo input::placeholder,.campo textarea::placeholder{ color:rgba(169,201,214,.55) }
.campo input:hover,.campo textarea:hover{ border-color:var(--tinta-3) }
.campo input:focus,.campo textarea:focus{ outline:0;border-color:var(--ambar) }
.campo input[type="date"]{ color-scheme:dark }
.campo input[aria-invalid="true"]{ border-color:var(--alerta) }
.error{ font-family:var(--mono);font-size:.68rem;color:var(--alerta);margin-top:.45rem;min-height:1em }

.chips{ display:flex;flex-wrap:wrap;gap:.5rem }
.chips label{ margin:0 }
.chips input{ position:absolute;opacity:0;width:0;height:0 }
.chips span{
  display:block;padding:.55rem 1rem;border:1px solid var(--linea);cursor:pointer;
  font-size:.88rem;color:var(--tinta-2);transition:all .2s ease;
}
.chips label:hover span{ border-color:var(--tinta-3);color:var(--tinta) }
.chips input:checked + span{ background:var(--ambar);border-color:var(--ambar);color:#04121f;font-weight:700 }
.chips input:focus-visible + span{ outline:2px solid var(--ambar);outline-offset:3px }

.check{ display:flex;align-items:flex-start;gap:.7rem;font-family:var(--sans)!important;font-size:.9rem!important;
  letter-spacing:0!important;text-transform:none!important;color:var(--tinta-2)!important;margin:0!important;cursor:pointer }
.check input{ width:18px;height:18px;flex:0 0 auto;margin-top:.1rem;accent-color:var(--ambar) }
.form__estado{ grid-column:span 2;font-family:var(--mono);font-size:.8rem;color:var(--ambar);min-height:1.2em }
.form__estado[data-tipo="error"]{ color:var(--alerta) }

/* ==========================================================================
   Parada de seguridad (pie)
   ========================================================================== */
.parada{
  border-top:1px solid var(--linea);margin-top:var(--paso);
  padding:clamp(2.5rem,5vw,4rem) var(--marco) 3rem;
  max-width:var(--max);margin-inline:auto;
}
.parada__cab{ display:flex;align-items:baseline;gap:1.2rem;margin-bottom:3rem }
.parada__cota{ font-family:var(--mono);font-size:1.6rem;font-weight:700;color:var(--ambar) }
.parada__cab p{ font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-3) }
.parada__cols{ display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:2.5rem }
.parada__cols b{ display:block;font-size:.95rem;margin-bottom:.9rem }
.parada__cols p{ font-size:.88rem;line-height:1.7;color:var(--tinta-2) }
.parada__cols nav{ display:grid;gap:.6rem;align-content:start }
.parada__cols nav a,.parada__cols p a{ font-size:.88rem;color:var(--tinta-2);text-decoration:none;transition:color .2s }
.parada__cols nav a:hover,.parada__cols p a:hover{ color:var(--ambar) }
.parada__demo{ margin-top:1.2rem;font-family:var(--mono);font-size:.66rem!important;line-height:1.7;color:var(--tinta-3)!important;opacity:.8 }

/* ==========================================================================
   Aparición al entrar en cuadro
   ========================================================================== */
@media (prefers-reduced-motion:no-preference){
  .zona:not(.hero) .cota,
  .zona:not(.hero) .seccion-cab,
  .zona:not(.hero) .split > *,
  .zona:not(.hero) .tabla-wrap,
  .zona:not(.hero) .carta > *,
  .zona:not(.hero) .reserva > *{
    opacity:0;transform:translateY(22px);
    transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);
  }
  .zona:not(.hero) .split > *:nth-child(2),
  .zona:not(.hero) .carta > *:nth-child(2),
  .zona:not(.hero) .reserva > *:nth-child(2){ transition-delay:.1s }
  .zona.visible .cota,.zona.visible .seccion-cab,.zona.visible .split > *,
  .zona.visible .tabla-wrap,.zona.visible .carta > *,.zona.visible .reserva > *{ opacity:1;transform:none }
}

/* ==========================================================================
   Adaptación
   ========================================================================== */
@media (max-width:1180px){
  .sonda{ display:none }
}
@media (max-width:980px){
  .hero{ min-height:auto;padding-bottom:16vh }
  .hero__grid{ grid-template-columns:1fr;align-items:start }
  .hero__parte{ max-width:520px }
  .split,.carta,.reserva{ grid-template-columns:1fr }
  .split--inv .split__a{ order:0 }
  .cita{ border-left:0;border-top:1px solid var(--linea);padding:1.8rem 0 0 }
  .carta__mapa{ order:-1 }
  .parada__cols{ grid-template-columns:1fr 1fr }
}
@media (max-width:760px){
  .nav,.topbar__cta{ display:none }
  .burger{ display:block;margin-left:auto }
  .brand__sub{ display:none }
  .form{ grid-template-columns:1fr }
  .campo,.campo--mitad,.campo--full,.form__estado{ grid-column:span 1 }
  .parte__datos{ grid-template-columns:1fr 1fr }
  .bitacora li{ padding-left:4.5rem }
  .bitacora li::before{ left:3.4rem }
  .parada__cols{ grid-template-columns:1fr;gap:2rem }
  .datos-centro > div{ grid-template-columns:1fr;gap:.35rem }
  .contacto li{ grid-template-columns:1fr;gap:.2rem }
}
@media (max-width:420px){
  .hero__acciones .btn{ width:100% }
}
