/* Fuentes servidas desde la propia web (antes Google Fonts): sin petición a
   terceros y precargadas, así no hay salto de maquetación al cambiar de fuente.
   Subconjunto latin: cubre español, inglés, alemán y francés. */
@font-face{font-family:'Inter';font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/playfair-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/playfair-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ============================================================
   VviewCanarias — Sistema de diseño
   Paleta validada con Mónica (2026-06-11)
   ============================================================ */
:root{
  --vv-primary:#3E9BCD; --vv-deep:#2B6E93; --vv-darker:#1E4E69;
  --vv-soft:#8AC4E6;    --vv-mist:#DCEDF7;
  --vv-cta:#F0A02E;     --vv-ctadeep:#B87400;
  --vv-bg:#F8FBFD;      --vv-ink:#3A3A3A;  --vv-muted:#5F6A72;
  --vv-night:#12242F;   --vv-nightsoft:#1C3542;
  --vv-r:12px;          --vv-rlg:20px;
}

html{scroll-behavior:smooth}
body{background:var(--vv-bg);color:var(--vv-ink);-webkit-font-smoothing:antialiased}

/* ---------- Tipografía luxury ---------- */
.font-display{font-feature-settings:"lnum" 1}
.display-xl{font-size:clamp(2.6rem,6.2vw,5.2rem);line-height:1.03;letter-spacing:-.02em;font-weight:500}
.display-lg{font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;letter-spacing:-.015em;font-weight:500}
.display-md{font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.18;letter-spacing:-.01em;font-weight:500}
.lead{font-size:clamp(1.02rem,1.5vw,1.18rem);line-height:1.7;color:var(--vv-muted);max-width:60ch}
.eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--vv-deep)}
.eyebrow--light{color:var(--vv-soft)}

/* Filete decorativo bajo los títulos de sección */
.rule::after{content:"";display:block;width:56px;height:2px;margin-top:1.1rem;
  background:linear-gradient(90deg,var(--vv-cta),transparent)}
.rule--center::after{margin-left:auto;margin-right:auto;
  background:linear-gradient(90deg,transparent,var(--vv-cta),transparent)}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  min-height:48px;padding:.85rem 1.6rem;border-radius:999px;
  font-weight:600;font-size:.94rem;cursor:pointer;border:1px solid transparent;
  transition:background-color .25s,color .25s,border-color .25s,box-shadow .25s;
  text-decoration:none;white-space:nowrap}
.btn:focus-visible{outline:2px solid var(--vv-cta);outline-offset:3px}
.btn--cta{background:var(--vv-cta);color:#2B2B2B;box-shadow:0 8px 22px rgba(240,160,46,.32)}
.btn--cta:hover{background:#E0910F;box-shadow:0 12px 30px rgba(240,160,46,.42)}
.btn--solid{background:var(--vv-primary);color:#fff}
.btn--solid:hover{background:var(--vv-deep)}
.btn--ghost{background:transparent;color:var(--vv-deep);border-color:rgba(62,155,205,.45)}
.btn--ghost:hover{background:var(--vv-mist);border-color:var(--vv-primary)}
.btn--onDark{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.32);
  backdrop-filter:blur(8px)}
.btn--onDark:hover{background:rgba(255,255,255,.2)}

/* ---------- Tarjetas ---------- */
.card{background:#fff;border-radius:var(--vv-r);overflow:hidden;
  box-shadow:0 10px 30px rgba(18,36,47,.08);
  transition:box-shadow .3s,transform .3s}
.card:hover{box-shadow:0 20px 50px rgba(18,36,47,.16);transform:translateY(-4px)}
.card__media{position:relative;overflow:hidden;background:var(--vv-mist)}
.card__media img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.card:hover .card__media img{transform:scale(1.06)}
/* Velo de marca. Con fotos reales basta un matiz mínimo: más carga
   apagaba las imágenes de las viviendas. */
.card__media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(160deg,rgba(62,155,205,.05),rgba(18,36,47,.10))}

.chip{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:.35rem;
  padding:.34rem .7rem;border-radius:999px;background:rgba(255,255,255,.94);
  font-size:.7rem;font-weight:700;letter-spacing:.02em;color:var(--vv-darker);
  box-shadow:0 2px 8px rgba(18,36,47,.14)}

/* ---------- Header ---------- */
.site-header{transition:background-color .3s,box-shadow .3s,backdrop-filter .3s}
.site-header[data-scrolled="true"]{background:rgba(248,251,253,.92);
  backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(18,36,47,.08)}
.navlink{position:relative;padding:.4rem 0;font-size:.92rem;font-weight:500;
  transition:color .25s}
.navlink::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;
  background:var(--vv-cta);transition:width .28s}
.navlink:hover::after,.navlink[aria-current="page"]::after{width:100%}

/* ---------- Scroll reveal (Motion-Driven) ---------- */
.reveal{opacity:0;transform:translateY(22px);
  transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
.reveal.is-in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.09s}
.reveal[data-delay="2"]{transition-delay:.18s}
.reveal[data-delay="3"]{transition-delay:.27s}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .card:hover{transform:none}
  .card:hover .card__media img{transform:none}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:min(92vh,880px);display:flex;align-items:flex-end;
  overflow:hidden;background:var(--vv-night)}
.hero__media{position:absolute;inset:0}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(18,36,47,.62) 0%,rgba(18,36,47,.22) 38%,rgba(18,36,47,.86) 100%)}
.hero__scrim::after{content:"";position:absolute;inset:0;
  background:radial-gradient(70% 55% at 15% 75%,rgba(62,155,205,.34),transparent 70%)}

/* Barra de búsqueda flotante */
.searchbar{background:rgba(255,255,255,.97);border-radius:var(--vv-rlg);
  box-shadow:0 24px 60px rgba(18,36,47,.28);backdrop-filter:blur(10px)}
.searchbar label{font-size:.7rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--vv-muted)}
.searchbar input,.searchbar select{width:100%;border:0;background:transparent;
  font-size:.95rem;color:var(--vv-ink);padding:.2rem 0;font-family:inherit}
.searchbar input:focus,.searchbar select:focus{outline:none}
.searchbar .field{padding:.9rem 1.15rem;border-radius:var(--vv-r);transition:background-color .25s}
.searchbar .field:focus-within{background:var(--vv-mist)}
.searchbar .divider{width:1px;background:rgba(18,36,47,.1);align-self:stretch;margin:.7rem 0}

/* Campos de fecha del buscador: abren el calendario propio, nunca el nativo */
#fechasWrap input[type=text]{cursor:pointer}
.hero-cal-pop{position:absolute;top:calc(100% + 14px);left:0;z-index:40;background:#fff;
  border-radius:var(--vv-rlg);box-shadow:0 24px 60px rgba(18,36,47,.28);padding:1.5rem;
  width:min(560px,92vw);animation:calAparece .18s ease both}
@media(max-width:639px){.hero-cal-pop{left:50%;transform:translateX(-50%)}}
.cal-nav-titulo{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--vv-muted)}
.hero-cal-pop .cal-meses{grid-template-columns:1fr 1fr;gap:1.6rem}
@media(max-width:639px){.hero-cal-pop .cal-meses{grid-template-columns:1fr}}

/* ---------- Filtros de catálogo ---------- */
.tab{padding:.6rem 1.25rem;border-radius:999px;font-size:.88rem;font-weight:600;
  color:var(--vv-muted);cursor:pointer;border:1px solid transparent;
  transition:background-color .25s,color .25s,border-color .25s;min-height:44px}
.tab:hover{color:var(--vv-deep);background:var(--vv-mist)}
.tab[aria-selected="true"]{background:var(--vv-darker);color:#fff}
.tab:focus-visible{outline:2px solid var(--vv-cta);outline-offset:2px}

/* ---------- Utilidades ---------- */
.container-vv{width:100%;max-width:1240px;margin-inline:auto;padding-inline:1.25rem}
@media(min-width:768px){.container-vv{padding-inline:2rem}}
.section{padding-block:clamp(3.5rem,8vw,7rem)}
.hairline{height:1px;background:linear-gradient(90deg,transparent,rgba(18,36,47,.14),transparent)}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100}
.skip-link:focus{left:1rem;top:1rem;padding:.75rem 1.25rem;background:#fff;
  border-radius:var(--vv-r);box-shadow:0 8px 24px rgba(18,36,47,.2)}
[hidden]{display:none!important}

/* ---------- Header sobre un hero OSCURO (antes de hacer scroll) ----------
   Solo en páginas marcadas con data-header="over-dark" en el <body>.
   En páginas de cabecera clara el texto debe seguir siendo oscuro. */
body[data-header="over-dark"] .site-header:not([data-scrolled="true"]) :is(.navlink,.brand-word,#langBtn,#menuToggle){color:#fff}
body[data-header="over-dark"] .site-header:not([data-scrolled="true"]) .brand-accent{color:var(--vv-soft)}
body[data-header="over-dark"] .site-header:not([data-scrolled="true"]) :is(#langBtn,#menuToggle):hover{background:rgba(255,255,255,.16)}
/* El menú móvil mantiene su fondo claro y su texto oscuro */
#mobileMenu a{color:var(--vv-ink)}
#mobileMenu a.btn--cta{color:#2B2B2B}

/* ---------- Firma InMotion Creative (misma que en Navalia) ---------- */
.im-logo{transition:transform .3s ease, filter .3s ease}
.im-kicker{font-size:.68rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase}
.im-name{position:relative;
  font-family:'Inter',system-ui,sans-serif;font-size:.72rem;font-weight:500;
  letter-spacing:.19em;text-transform:uppercase;
  background:linear-gradient(90deg,#ffffff,#b9a3ff);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  opacity:.7;transition:opacity .3s ease}
/* Subrayado que crece desde el centro al pasar el ratón */
.im-name::after{content:"";position:absolute;left:50%;bottom:-3px;
  width:0;height:1px;background:linear-gradient(90deg,#8a5cf6,#b9a3ff);
  transform:translateX(-50%);transition:width .3s ease}
.im-arrow{opacity:0;transform:translate(-3px,3px);
  transition:opacity .3s ease, transform .3s ease;color:#b9a3ff}
.im-sign:hover .im-name{opacity:1}
.im-sign:hover .im-name::after{width:100%}
.im-sign:hover .im-logo{transform:translateY(-1px) scale(1.06);
  filter:drop-shadow(0 3px 9px rgba(138,92,246,.55))}
.im-sign:hover .im-arrow{opacity:1;transform:translate(0,0)}
@media (prefers-reduced-motion:reduce){
  .im-logo,.im-name::after,.im-arrow{transition:opacity .2s ease}
  .im-sign:hover .im-logo{transform:none}
  .im-sign:hover .im-arrow{transform:none}
}

/* ---------- Solicitud de reserva ---------- */
.sol-fondo{position:fixed;inset:0;z-index:60;background:rgba(11,26,36,.62);
  backdrop-filter:blur(4px);display:grid;place-items:center;padding:1.2rem;
  animation:solEntra .25s ease both;overflow-y:auto}
.sol-caja{position:relative;background:#fff;border-radius:var(--vv-rlg);width:100%;max-width:620px;
  padding:clamp(1.6rem,4vw,2.6rem);box-shadow:0 30px 80px rgba(11,26,36,.35);
  animation:solSube .3s cubic-bezier(.2,.6,.2,1) both;margin:auto}
.sol-cerrar{position:absolute;top:.9rem;right:1.1rem;width:40px;height:40px;border:0;background:none;
  font-size:28px;line-height:1;color:var(--vv-muted);cursor:pointer;border-radius:50%;
  transition:background-color .25s,color .25s}
.sol-cerrar:hover{background:var(--vv-mist);color:var(--vv-ink)}
.sol-lab{display:block;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--vv-muted);margin-bottom:.4rem}
.sol-inp{width:100%;padding:.8rem .9rem;border:1px solid rgba(18,36,47,.16);border-radius:var(--vv-r);
  font:inherit;background:#fff;transition:border-color .25s,box-shadow .25s}
.sol-inp:focus{outline:none;border-color:var(--vv-primary);box-shadow:0 0 0 4px rgba(62,155,205,.15)}
.sol-nota{font-size:.8rem;color:var(--vv-muted);line-height:1.55;margin-top:1.1rem}
.sol-error{background:#FBEDEC;color:#B3261E;padding:.7rem .9rem;border-radius:var(--vv-r);
  font-size:.85rem;margin-top:.9rem}
.sol-ok{width:56px;height:56px;margin:0 auto 1.1rem;border-radius:50%;display:grid;place-items:center;
  background:#E3F3EA;color:#1B7A4B}
@keyframes solEntra{from{opacity:0}}
@keyframes solSube{from{opacity:0;transform:translateY(16px)}}

/* ---------- Calendario de disponibilidad ---------- */
.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.3rem}
.cal-fl{width:42px;height:42px;border-radius:50%;border:1px solid rgba(18,36,47,.12);background:#fff;
  font-size:19px;line-height:1;color:var(--vv-deep);cursor:pointer;display:grid;place-items:center;
  transition:background-color .2s,border-color .2s,transform .15s;box-shadow:0 1px 2px rgba(18,36,47,.05)}
.cal-fl:hover{background:var(--vv-primary);border-color:var(--vv-primary);color:#fff;transform:scale(1.06)}
.cal-fl:active{transform:scale(.96)}
.cal-leyenda2{display:flex;gap:1.2rem;font-size:.76rem;color:var(--vv-muted);font-weight:500}
.cal-leyenda2 span{display:flex;align-items:center;gap:.4rem}
.cal-p{width:12px;height:12px;border-radius:50%;display:inline-block}
.cal-p.libre{background:#fff;border:1.5px solid var(--vv-primary)}
.cal-p.ocu{background:rgba(18,36,47,.12);border:1.5px solid rgba(18,36,47,.12)}

.cal-meses{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:640px){.cal-meses{grid-template-columns:1fr 1fr;gap:2.4rem}}
.cal-mes{animation:calAparece .3s ease both}
@keyframes calAparece{from{opacity:0;transform:translateY(4px)}}
.cal-titulo{font-family:'Playfair Display',serif;font-size:1.1rem;text-align:center;margin-bottom:1rem;
  color:var(--vv-darker)}
.cal-sem,.cal-rej{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-sem{margin-bottom:.3rem}
.cal-sem span{text-align:center;font-size:.66rem;font-weight:700;letter-spacing:.09em;
  color:var(--vv-muted)}
.cal-rej{gap:3px 0;row-gap:4px}
.cal-h{aspect-ratio:1}
.cal-d{aspect-ratio:1;border:0;background:none;font:500 .85rem Inter,sans-serif;color:var(--vv-ink);
  cursor:pointer;transition:background-color .16s,color .16s,transform .12s;position:relative}
.cal-d.si:hover{background:var(--vv-mist);border-radius:50%;transform:scale(1.06)}
.cal-d.hoy:not(.ini):not(.fin)::after{content:'';position:absolute;bottom:5px;left:50%;
  transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--vv-cta)}
.cal-d.no{color:rgba(18,36,47,.24);cursor:not-allowed;background:none}
.cal-d.no::after{content:'';position:absolute;inset:38%;border-top:1.5px solid rgba(18,36,47,.22);
  transform:rotate(-14deg)}
.cal-d.medio{background:var(--vv-mist)}
.cal-d.ini,.cal-d.fin{background:var(--vv-primary);color:#fff;font-weight:700;border-radius:50%;z-index:1}
/* Conecta visualmente el círculo de entrada/salida con el tramo intermedio.
   Solo cuando ya hay rango completo (contenedor .en-rango): un único día
   elegido no debe mostrar ninguna franja suelta. */
.en-rango .cal-d.ini:not(.fin)::before{content:'';position:absolute;top:0;bottom:0;right:0;width:50%;
  background:var(--vv-mist);z-index:-1}
.en-rango .cal-d.fin:not(.ini)::before{content:'';position:absolute;top:0;bottom:0;left:0;width:50%;
  background:var(--vv-mist);z-index:-1}
.cal-info{margin-top:1.2rem;font-weight:600;color:var(--vv-darker);text-align:center;font-size:.95rem}

/* ---------- Páginas legales ---------- */
.legal-doc{max-width:52rem}
.legal-doc h2{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--vv-darker);
  margin:2.6rem 0 1rem}
.legal-doc h2:first-of-type{margin-top:0}
.legal-doc h3{font-weight:700;font-size:1.02rem;color:var(--vv-darker);margin:1.6rem 0 .6rem}
.legal-doc p,.legal-doc li{color:var(--vv-muted);line-height:1.75;font-size:.97rem}
.legal-doc p+p{margin-top:.9rem}
.legal-doc ul{list-style:disc;padding-left:1.3rem;margin:.8rem 0}
.legal-doc li+li{margin-top:.5rem}
.legal-doc table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.88rem}
.legal-doc th{text-align:left;padding:.7rem .9rem;background:var(--vv-mist);color:var(--vv-darker);
  font-weight:700;border-bottom:1px solid rgba(18,36,47,.1)}
.legal-doc td{padding:.7rem .9rem;border-bottom:1px solid rgba(18,36,47,.08);color:var(--vv-muted)}
.legal-pendiente{background:#FDECC8;color:#6B4A0A;padding:.1em .45em;border-radius:5px;
  font-weight:700;font-size:.92em;white-space:normal}

/* Resumen de fechas elegidas */
.fechas-elegidas{background:var(--vv-mist);color:var(--vv-darker);font-weight:600;text-align:center;
  padding:.7rem .9rem;border-radius:var(--vv-r);margin-bottom:.9rem;font-size:.92rem}

/* Desglose del importe total (alojamiento + limpieza) */
.desglose-total{border:1px solid rgba(18,36,47,.1);border-radius:var(--vv-r);
  padding:.9rem 1rem;margin-bottom:1.1rem;font-size:.86rem;color:var(--vv-muted)}
.desglose-total > div{padding:.25rem 0}
.desglose-total dd{font-weight:600;color:var(--vv-darker)}
.desglose-total__linea{border-top:1px solid rgba(18,36,47,.1);margin-top:.4rem;padding-top:.55rem!important}
.desglose-total__linea dt,.desglose-total__linea dd{font-weight:700;color:var(--vv-darker);font-size:.98rem}

/* En móvil, barra fija con la selección para no perder el botón */
.barra-fechas{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;
  align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;
  background:rgba(255,255,255,.97);backdrop-filter:blur(10px);
  box-shadow:0 -8px 30px rgba(18,36,47,.16);animation:solSube .3s cubic-bezier(.2,.6,.2,1) both}
.barra-fechas span{font-weight:600;color:var(--vv-darker);font-size:.88rem}
.barra-fechas .btn{padding:.7rem 1.2rem;font-size:.85rem}
@media(max-width:1023px){.barra-fechas{display:flex}}

/* Aviso de idioma (app.js · initLangSuggest) */
.lang-suggest{position:fixed;z-index:60;left:50%;bottom:1rem;transform:translateX(-50%);
  display:flex;align-items:center;gap:.75rem;max-width:calc(100% - 2rem);width:max-content;
  padding:.6rem .6rem .6rem 1.1rem;border-radius:999px;background:#12242F;color:#fff;
  font:500 .875rem/1.35 Inter,system-ui,sans-serif;box-shadow:0 20px 50px rgba(18,36,47,.25)}
.lang-suggest a{flex:none;padding:.45rem .9rem;border-radius:999px;background:#F0A02E;color:#12242F;font-weight:700;text-decoration:none}
.lang-suggest a:hover{background:#fff}
.lang-suggest button{flex:none;width:2rem;height:2rem;border-radius:999px;color:#fff;opacity:.7;font-size:1.25rem;line-height:1;cursor:pointer}
.lang-suggest button:hover{opacity:1;background:rgba(255,255,255,.1)}
@media (max-width:520px){.lang-suggest{border-radius:16px;flex-wrap:wrap;bottom:.75rem}}

/* ============================================================
   VviewCanarias — Temas por modalidad
   Cada página tiene su propia personalidad visual.
   Se cargan sobre app.css, que aporta el sistema común.
   ============================================================ */

/* ══════════════════════════════════════════════════════════
   1 · VACACIONAL — cálido, luminoso, orgánico
   Fondo crema, esquinas muy redondeadas, acento naranja.
   ══════════════════════════════════════════════════════════ */
[data-theme="sun"]{
  --vv-bg:#FFFDF9;
  --page-accent:var(--vv-cta);
  --page-accent-deep:var(--vv-ctadeep);
  --vv-r:24px; --vv-rlg:32px;
}
[data-theme="sun"] body{background:#FFFDF9}
[data-theme="sun"] .card{border-radius:24px}
[data-theme="sun"] .eyebrow{color:var(--vv-ctadeep)}
[data-theme="sun"] .rule::after{background:linear-gradient(90deg,var(--vv-cta),transparent)}
[data-theme="sun"] .btn--ghost{color:var(--vv-ctadeep);border-color:rgba(240,160,46,.5)}
[data-theme="sun"] .btn--ghost:hover{background:#FDF3E3;border-color:var(--vv-cta)}

/* Sección de fondo cálido para alternar ritmo */
.warm-band{background:linear-gradient(180deg,#FDF3E3,#FFFDF9)}

/* Pasos numerados con línea de unión */
.steps{counter-reset:step}
.step{position:relative;padding-left:4.5rem;counter-increment:step}
.step::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:-.35rem;
  font-family:var(--font-head,"Playfair Display",serif);font-size:2.6rem;line-height:1;
  color:var(--vv-cta);opacity:.55}
.step:not(:last-child)::after{content:"";position:absolute;left:1.35rem;top:3rem;bottom:-2.2rem;
  width:1px;background:linear-gradient(180deg,rgba(240,160,46,.5),transparent)}

/* Tarjeta de vivienda "estancia": foto grande, esquinas suaves */
.stay-card .card__media{aspect-ratio:5/4}
.stay-card .card__media::after{background:linear-gradient(170deg,rgba(240,160,46,.05),rgba(18,36,47,.10))}

/* ══════════════════════════════════════════════════════════
   2 · FLEX LIVING — sobrio, funcional, de producto
   Fondo azul frío, esquinas rectas, rejilla y datos.
   ══════════════════════════════════════════════════════════ */
[data-theme="calm"]{
  --vv-bg:#F4F8FB;
  --page-accent:var(--vv-primary);
  --page-accent-deep:var(--vv-darker);
  --vv-r:8px; --vv-rlg:12px;
}
[data-theme="calm"] body{background:#F4F8FB}
[data-theme="calm"] .card{border-radius:8px;box-shadow:0 1px 3px rgba(18,36,47,.07),0 0 0 1px rgba(18,36,47,.06)}
[data-theme="calm"] .card:hover{box-shadow:0 12px 32px rgba(18,36,47,.13),0 0 0 1px rgba(62,155,205,.35);transform:none}
[data-theme="calm"] .btn{border-radius:8px}
[data-theme="calm"] .rule::after{background:linear-gradient(90deg,var(--vv-primary),transparent)}

/* Fila de vivienda: formato lista, no tarjeta */
.flat-row{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;
  background:#fff;border:1px solid rgba(18,36,47,.09);border-radius:8px;padding:1rem;
  transition:border-color .25s,box-shadow .25s}
.flat-row:hover{border-color:rgba(62,155,205,.55);box-shadow:0 10px 26px rgba(18,36,47,.10)}
.flat-row__media{width:132px;height:104px;border-radius:6px;overflow:hidden;flex-shrink:0;background:var(--vv-mist)}
.flat-row__media img{width:100%;height:100%;object-fit:cover}
@media(max-width:720px){
  .flat-row{grid-template-columns:1fr;gap:1rem}
  .flat-row__media{width:100%;height:190px}
}

/* Especificaciones en rejilla monoespaciada */
.spec{display:flex;flex-direction:column;gap:.15rem}
.spec dt{font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--vv-muted)}
.spec dd{font-size:.95rem;font-weight:600;color:var(--vv-darker);font-variant-numeric:tabular-nums}

/* Tabla comparativa */
.cmp{width:100%;border-collapse:separate;border-spacing:0;background:#fff;
  border:1px solid rgba(18,36,47,.1);border-radius:8px;overflow:hidden}
.cmp th,.cmp td{padding:1rem 1.15rem;text-align:left;border-bottom:1px solid rgba(18,36,47,.07);font-size:.94rem}
.cmp thead th{background:var(--vv-darker);color:#fff;font-size:.76rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700}
.cmp tbody tr:last-child td{border-bottom:0}
.cmp td:first-child{font-weight:600;color:var(--vv-ink)}
.cmp .yes{color:#1B7A4B;font-weight:600}
.cmp .no{color:var(--vv-muted)}
.cmp .col-us{background:rgba(62,155,205,.07)}
/* En la cabecera oscura, la columna destacada usa el azul de marca:
   el resaltado claro dejaba el texto blanco casi ilegible. */
.cmp thead th.col-us{background:var(--vv-primary);color:#fff}

/* ══════════════════════════════════════════════════════════
   3 · RODAJES — cinematográfico, oscuro, alto contraste
   Fondo noche, filos rectos, tipografía grande.
   ══════════════════════════════════════════════════════════ */
[data-theme="cinema"]{
  --vv-bg:#0E1A21;
  --vv-ink:#F2F6F8;
  --vv-muted:#95A5AE;
  --page-accent:var(--vv-cta);
  --vv-r:0px; --vv-rlg:0px;
}
[data-theme="cinema"] body{background:#0E1A21;color:#F2F6F8}
[data-theme="cinema"] .lead{color:#95A5AE}
[data-theme="cinema"] .eyebrow{color:var(--vv-cta)}
[data-theme="cinema"] .rule::after{background:linear-gradient(90deg,var(--vv-cta),transparent)}
[data-theme="cinema"] .site-header[data-scrolled="true"]{background:rgba(14,26,33,.92);
  box-shadow:0 1px 0 rgba(255,255,255,.1)}
[data-theme="cinema"] .site-header :is(.navlink,.brand-word,#langBtn,#menuToggle){color:#F2F6F8}
[data-theme="cinema"] .site-header .brand-accent{color:var(--vv-soft)}
[data-theme="cinema"] .site-header :is(#langBtn,#menuToggle):hover{background:rgba(255,255,255,.14)}
[data-theme="cinema"] .btn--ghost{color:#F2F6F8;border-color:rgba(255,255,255,.35)}
[data-theme="cinema"] .btn--ghost:hover{background:rgba(255,255,255,.12);border-color:var(--vv-cta)}
[data-theme="cinema"] #mobileMenu{background:#16262F;border-color:rgba(255,255,255,.12)}
[data-theme="cinema"] #mobileMenu a{color:#F2F6F8;border-color:rgba(255,255,255,.12)}
[data-theme="cinema"] #langMenu{background:#16262F;color:#F2F6F8}
[data-theme="cinema"] #langMenu button:hover{background:rgba(255,255,255,.1)}
[data-theme="cinema"] .hairline{background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent)}

/* Marco de encuadre: filos de cámara */
.frame{position:relative;padding:2.5rem}
.frame::before,.frame::after{content:"";position:absolute;width:26px;height:26px;
  border-color:var(--vv-cta);border-style:solid}
.frame::before{top:0;left:0;border-width:2px 0 0 2px}
.frame::after{bottom:0;right:0;border-width:0 2px 2px 0}

/* Catálogo de localizaciones embebido de InMotion Creative */
.rodajes-iframe-wrap{border:1px solid rgba(255,255,255,.12);background:#16262F;overflow:hidden}
.rodajes-iframe-wrap iframe{width:100%;height:85vh;min-height:560px;max-height:900px;
  border:0;display:block}

/* Mosaico de localizaciones */
.mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
@media(min-width:900px){
  .mosaic{grid-template-columns:repeat(4,1fr);grid-auto-rows:200px}
  .mosaic__item--wide{grid-column:span 2}
  .mosaic__item--tall{grid-row:span 2}
}
/* Sin localizaciones cargadas, el bloque de aviso ocupa el ancho completo
   y no queda encajonado en una fila de 200px de la rejilla. */
.mosaic--empty{display:block}
.mosaic__item{position:relative;overflow:hidden;background:#16262F;min-height:200px;
  border:1px solid rgba(255,255,255,.1);cursor:pointer}
.mosaic__item img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.06);
  transition:transform .7s cubic-bezier(.2,.6,.2,1),filter .5s}
.mosaic__item:hover img{transform:scale(1.07);filter:grayscale(0) contrast(1)}
.mosaic__item::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(14,26,33,.9));pointer-events:none}
.mosaic__caption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:1.1rem 1.25rem}
.mosaic__caption h3{font-family:"Playfair Display",serif;font-size:1.15rem;color:#fff;margin-bottom:.3rem}
.mosaic__tags{display:flex;flex-wrap:wrap;gap:.35rem}
.mosaic__tags span{font-size:.63rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--vv-cta);border:1px solid rgba(240,160,46,.45);padding:.16rem .45rem}

/* Franja cinemascope 2.39:1 */
.scope{aspect-ratio:2.39/1;min-height:340px;position:relative;overflow:hidden}
.scope img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) contrast(1.08)}

/* Ficha de capacidad de producción */
.capability{border-top:1px solid rgba(255,255,255,.14);padding-top:1.5rem}
.capability h3{font-family:"Playfair Display",serif;font-size:1.3rem;color:#fff;margin-bottom:.6rem}

/* ---------- Cabecera de página interior (común) ---------- */
.page-hero{position:relative;overflow:hidden;padding-block:clamp(8rem,14vw,11rem) clamp(3rem,6vw,5rem)}
.page-hero__media{position:absolute;inset:0}
.page-hero__media img{width:100%;height:100%;object-fit:cover}

/* Migas */
.crumbs{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:500}
.crumbs a{transition:color .25s}
.crumbs svg{width:14px;height:14px;opacity:.6}

/* ══════════════════════════════════════════════════════════
   DESTINOS — editorial, imágenes satélite protagonistas
   ══════════════════════════════════════════════════════════ */
.dest-hero{padding-block:clamp(9rem,17vw,14rem) clamp(2rem,5vw,4rem)}
.dest-hero__t{font-size:clamp(3.2rem,11vw,8rem);line-height:.95;letter-spacing:.06em;
  text-transform:uppercase;font-weight:400}
.dest-hero__s{font-size:clamp(1.3rem,3vw,2.1rem);font-style:italic;color:var(--vv-deep);
  margin-top:1.2rem;font-weight:400}

/* Imagen satélite */
.sat{position:relative;border-radius:var(--vv-rlg);overflow:hidden;background:#0B1A24;
  aspect-ratio:16/9;box-shadow:0 30px 80px rgba(11,26,36,.30)}
@media(max-width:640px){.sat{aspect-ratio:4/5}}
.sat img{width:100%;height:100%;object-fit:cover;filter:brightness(1.08) saturate(1.06);
  transform:scale(1.03);transition:transform 1.4s cubic-bezier(.2,.6,.2,1)}
.sat:hover img{transform:scale(1.07)}
.sat__scrim{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,26,36,.22) 0%,transparent 34%,rgba(11,26,36,.55) 78%,rgba(11,26,36,.80) 100%)}
.sat__label{position:absolute;left:clamp(1.4rem,4vw,3.2rem);bottom:clamp(1.4rem,4vw,3rem);
  right:clamp(1.4rem,4vw,3rem);color:#fff}
.sat__name{font-size:clamp(2.4rem,7vw,5.4rem);line-height:1;letter-spacing:.04em;
  text-transform:uppercase;font-weight:400}
.sat__lema{font-size:clamp(1rem,2.2vw,1.6rem);font-style:italic;color:var(--vv-soft);margin-top:.5rem}
.sat__credit{position:absolute;top:.9rem;right:1.1rem;font-size:.62rem;letter-spacing:.06em;
  color:rgba(255,255,255,.55);max-width:48%;text-align:right}

.zona{font-size:clamp(1.4rem,3vw,2rem);text-transform:uppercase;letter-spacing:.13em;font-weight:400}
.zona__guia{font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--vv-deep);white-space:nowrap;transition:color .25s}
.zona__guia:hover{color:var(--vv-cta)}
.sitio{border-left:1px solid rgba(18,36,47,.12);padding-left:1.25rem;transition:border-color .3s}
.sitio:hover{border-color:var(--vv-cta)}

/* Filtros: scroll horizontal elegante en móvil */
.filtros{display:flex;gap:.6rem;overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;padding-bottom:.4rem}
.filtros::-webkit-scrollbar{display:none}
.filtros .tab{flex:0 0 auto}

.destino{display:flex;flex-direction:column;gap:.4rem;padding:1.5rem 1.4rem;background:#fff;
  border:1px solid rgba(18,36,47,.10);border-radius:var(--vv-r);
  transition:border-color .3s,transform .3s,box-shadow .3s;
  animation:destIn .5s cubic-bezier(.2,.6,.2,1) both;animation-delay:calc(var(--i)*.06s)}
.destino:hover{border-color:var(--vv-cta);transform:translateY(-3px);box-shadow:0 14px 34px rgba(18,36,47,.12)}
.destino__n{font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--vv-soft)}
.destino__t{font-size:1.35rem;color:var(--vv-ink)}
.destino__go{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--vv-deep);opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s}
.destino:hover .destino__go{opacity:1;transform:none}
@keyframes destIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Mapa */
.mapa__isla{position:relative;border-radius:var(--vv-r);overflow:hidden;background:#0B1A24}
.mapa__isla img{width:100%;height:auto;display:block;filter:saturate(.85) contrast(1.05)}
.mapa__scrim{position:absolute;inset:0;background:rgba(11,26,36,.20);pointer-events:none}
.pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.5rem;
  padding:.4rem;cursor:pointer;background:none;border:0;z-index:2}
.pin__dot{width:9px;height:9px;border-radius:50%;background:var(--vv-cta);flex:0 0 auto;
  box-shadow:0 0 0 0 rgba(240,160,46,.55);transition:transform .3s,box-shadow .3s}
.pin__name{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;
  white-space:nowrap;opacity:0;transform:translateX(-4px);transition:opacity .3s,transform .3s;
  text-shadow:0 1px 6px rgba(0,0,0,.8)}
.pin:hover .pin__name,.pin.is-on .pin__name,.pin:focus-visible .pin__name{opacity:1;transform:none}
.pin:hover .pin__dot,.pin.is-on .pin__dot{transform:scale(1.5);box-shadow:0 0 0 7px rgba(240,160,46,.22)}
.pin:focus-visible{outline:2px solid var(--vv-cta);outline-offset:2px;border-radius:999px}
.mapa__info{background:#fff;border:1px solid rgba(18,36,47,.10);border-radius:var(--vv-r);
  padding:clamp(1.6rem,3vw,2.4rem);position:sticky;top:7rem}
@media(max-width:1023px){.mapa__info{position:static;margin-top:1rem}}

*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-10{bottom:2.5rem}.left-3{left:.75rem}.right-0{right:0}.right-3{right:.75rem}.right-8{right:2rem}.top-0{top:0}.top-3{top:.75rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[1\]{z-index:1}.col-span-full{grid-column:1/-1}.mx-auto{margin-left:auto;margin-right:auto}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mt-12{margin-top:-3rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-11{margin-bottom:2.75rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mb-9{margin-bottom:2.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-11{margin-top:2.75rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-auto{margin-top:auto}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.\!min-h-\[44px\]{min-height:44px!important}.min-h-\[240px\]{min-height:240px}.min-h-\[420px\]{min-height:420px}.min-h-\[44px\]{min-height:44px}.w-11{width:2.75rem}.w-12{width:3rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-36{width:9rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[720px\]{min-width:720px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[13ch\]{max-width:13ch}.max-w-\[14ch\]{max-width:14ch}.max-w-\[15ch\]{max-width:15ch}.max-w-\[16ch\]{max-width:16ch}.max-w-\[22ch\]{max-width:22ch}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-px{gap:1px}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-10{row-gap:2.5rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-3\.5{row-gap:.875rem}.gap-y-9{row-gap:2.25rem}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-vv{border-radius:12px}.rounded-vvlg{border-radius:20px}.border{border-width:1px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-black\/10{border-color:rgba(0,0,0,.1)}.border-black\/5{border-color:rgba(0,0,0,.05)}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/15{border-color:hsla(0,0%,100%,.15)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.bg-black\/5{background-color:rgba(0,0,0,.05)}.bg-current{background-color:currentColor}.bg-transparent{background-color:transparent}.bg-vv-bg{--tw-bg-opacity:1;background-color:rgb(248 251 253/var(--tw-bg-opacity,1))}.bg-vv-cta{--tw-bg-opacity:1;background-color:rgb(240 160 46/var(--tw-bg-opacity,1))}.bg-vv-darker{--tw-bg-opacity:1;background-color:rgb(30 78 105/var(--tw-bg-opacity,1))}.bg-vv-mist{--tw-bg-opacity:1;background-color:rgb(220 237 247/var(--tw-bg-opacity,1))}.bg-vv-mist\/60{background-color:rgba(220,237,247,.6)}.bg-vv-night{--tw-bg-opacity:1;background-color:rgb(18 36 47/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-vv-mist{--tw-gradient-from:#dcedf7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,237,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white\/50{--tw-gradient-from:hsla(0,0%,100%,.5) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-2{padding:.5rem!important}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.\!px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}.\!py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.\!py-2\.5{padding-top:.625rem!important;padding-bottom:.625rem!important}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.pb-0{padding-bottom:0}.pb-10{padding-bottom:2.5rem}.pb-11{padding-bottom:2.75rem}.pb-14{padding-bottom:3.5rem}.pb-24{padding-bottom:6rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-5{padding-left:1.25rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-28{padding-top:7rem}.pt-32{padding-top:8rem}.pt-36{padding-top:9rem}.pt-4{padding-top:1rem}.pt-7{padding-top:1.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-body{font-family:Inter,system-ui,sans-serif}.font-display{font-family:Playfair Display,Georgia,serif}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[\.64rem\]{font-size:.64rem}.text-\[\.68rem\]{font-size:.68rem}.text-\[\.7rem\]{font-size:.7rem}.text-\[1\.02rem\]{font-size:1.02rem}.text-\[1\.05rem\]{font-size:1.05rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.not-italic{font-style:normal}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-\[\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-white\/75{color:hsla(0,0%,100%,.75)!important}.\!text-white\/80{color:hsla(0,0%,100%,.8)!important}.text-\[\#2B2B2B\]{--tw-text-opacity:1;color:rgb(43 43 43/var(--tw-text-opacity,1))}.text-vv-cta{--tw-text-opacity:1;color:rgb(240 160 46/var(--tw-text-opacity,1))}.text-vv-cta\/60{color:rgba(240,160,46,.6)}.text-vv-ctadeep{--tw-text-opacity:1;color:rgb(184 116 0/var(--tw-text-opacity,1))}.text-vv-darker{--tw-text-opacity:1;color:rgb(30 78 105/var(--tw-text-opacity,1))}.text-vv-deep{--tw-text-opacity:1;color:rgb(43 110 147/var(--tw-text-opacity,1))}.text-vv-ink{--tw-text-opacity:1;color:rgb(58 58 58/var(--tw-text-opacity,1))}.text-vv-muted{--tw-text-opacity:1;color:rgb(95 106 114/var(--tw-text-opacity,1))}.text-vv-primary{--tw-text-opacity:1;color:rgb(62 155 205/var(--tw-text-opacity,1))}.text-vv-soft{--tw-text-opacity:1;color:rgb(138 196 230/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/15{color:hsla(0,0%,100%,.15)}.text-white\/35{color:hsla(0,0%,100%,.35)}.text-white\/50{color:hsla(0,0%,100%,.5)}.text-white\/60{color:hsla(0,0%,100%,.6)}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/75{color:hsla(0,0%,100%,.75)}.text-white\/85{color:hsla(0,0%,100%,.85)}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.shadow-lift{--tw-shadow:0 20px 50px rgba(18,36,47,.16);--tw-shadow-colored:0 20px 50px var(--tw-shadow-color)}.shadow-lift,.shadow-soft{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-soft{--tw-shadow:0 10px 30px rgba(18,36,47,.08);--tw-shadow-colored:0 10px 30px var(--tw-shadow-color)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-250{transition-duration:.25s}.\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}.last\:border-0:last-child{border-width:0}.hover\:bg-vv-mist:hover{--tw-bg-opacity:1;background-color:rgb(220 237 247/var(--tw-bg-opacity,1))}.hover\:text-vv-cta:hover{--tw-text-opacity:1;color:rgb(240 160 46/var(--tw-text-opacity,1))}.hover\:text-vv-ctadeep:hover{--tw-text-opacity:1;color:rgb(184 116 0/var(--tw-text-opacity,1))}.hover\:text-vv-deep:hover{--tw-text-opacity:1;color:rgb(43 110 147/var(--tw-text-opacity,1))}.hover\:text-vv-soft:hover{--tw-text-opacity:1;color:rgb(138 196 230/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-vv-cta:focus{--tw-border-opacity:1;border-color:rgb(240 160 46/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.group[open] .group-open\:rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:from-vv-cta{--tw-gradient-from:#f0a02e var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,160,46,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.group:hover .group-hover\:text-vv-ctadeep{--tw-text-opacity:1;color:rgb(184 116 0/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-vv-deep{--tw-text-opacity:1;color:rgb(43 110 147/var(--tw-text-opacity,1))}.aria-\[current\=true\]\:font-bold[aria-current=true]{font-weight:700}.aria-\[current\=true\]\:text-vv-deep[aria-current=true]{--tw-text-opacity:1;color:rgb(43 110 147/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:row-span-2{grid-row:span 2/span 2}.sm\:-mt-14{margin-top:-3.5rem}.sm\:mt-0{margin-top:0}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:h-\[460px\]{height:460px}.sm\:w-auto{width:auto}.sm\:min-w-\[190px\]{min-width:190px}.sm\:max-w-\[9rem\]{max-width:9rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-stretch{align-items:stretch}.sm\:self-stretch{align-self:stretch}.sm\:\!rounded-vv{border-radius:12px!important}.sm\:border-l{border-left-width:1px}.sm\:p-14{padding:3.5rem}.sm\:p-16{padding:4rem}.sm\:p-2\.5{padding:.625rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:pb-20{padding-bottom:5rem}.sm\:pl-5{padding-left:1.25rem}.sm\:pt-32{padding-top:8rem}.sm\:pt-36{padding-top:9rem}.sm\:pt-44{padding-top:11rem}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[2fr_1fr_1fr\]{grid-template-columns:2fr 1fr 1fr}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-28{top:7rem}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.15fr_1fr\]{grid-template-columns:1.15fr 1fr}.lg\:grid-cols-\[1\.2fr_1fr\]{grid-template-columns:1.2fr 1fr}.lg\:grid-cols-\[1\.45fr_1fr\]{grid-template-columns:1.45fr 1fr}.lg\:grid-cols-\[1\.4fr_1fr\]{grid-template-columns:1.4fr 1fr}.lg\:grid-cols-\[1\.6fr_1fr\]{grid-template-columns:1.6fr 1fr}.lg\:grid-cols-\[1fr_1\.1fr\]{grid-template-columns:1fr 1.1fr}.lg\:grid-cols-\[1fr_1\.2fr\]{grid-template-columns:1fr 1.2fr}.lg\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}}