@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(fonts/cormorant-garamond-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(fonts/cormorant-garamond-latin-500-normal.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: 'Cormorant Garamond';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(fonts/cormorant-garamond-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(fonts/cormorant-garamond-latin-600-normal.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: 'Cormorant Garamond';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(fonts/cormorant-garamond-latin-ext-700-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(fonts/cormorant-garamond-latin-700-normal.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: 'Cormorant Garamond';
  font-style: italic;
  font-display: swap;
  font-weight: 500;
  src: url(fonts/cormorant-garamond-latin-ext-500-italic.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-display: swap;
  font-weight: 500;
  src: url(fonts/cormorant-garamond-latin-500-italic.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: 'Cormorant Garamond';
  font-style: italic;
  font-display: swap;
  font-weight: 600;
  src: url(fonts/cormorant-garamond-latin-ext-600-italic.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-display: swap;
  font-weight: 600;
  src: url(fonts/cormorant-garamond-latin-600-italic.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: 'Jost';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(fonts/jost-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(fonts/jost-latin-400-normal.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: 'Jost';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(fonts/jost-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(fonts/jost-latin-500-normal.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: 'Jost';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(fonts/jost-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(fonts/jost-latin-600-normal.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: 'Jost';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url(fonts/jost-latin-ext-400-italic.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url(fonts/jost-latin-400-italic.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;
}

/* =====================================================================
   RbQUAL · hoja de estilos de la web
   ---------------------------------------------------------------------
   Paleta: noche (azul), lino y papel (marfil) y latón (oro viejo).
   Los cinco colores de las dimensiones (azulejo, hoja de naranjo, albero,
   nazareno y almagra) se reservan para los datos del método.
   Regla tipográfica: la cursiva de Cormorant es la voz del huésped.
   ===================================================================== */

:root{
  color-scheme: light;
  /* base */
  --noche:#0F1C2E; --noche-2:#172A44; --noche-3:#0A1422;
  --lino:#F7F3EC; --lino-2:#EEE7DB; --papel:#FDFBF7;
  --tinta:#18202E; --piedra:#5E5A54;
  --hilo:#E4DACB; --hilo-2:#CFBFA3;
  --laton:#B08D57; --laton-texto:#7D5D24; --laton-claro:#D8BE85; --champan:#E3CD9C;
  --sobre-oscuro:#F3EDE2; --sobre-oscuro-2:#C4BDB0; --sobre-oscuro-3:#A9A296;
  --linea-oscura:rgba(227,205,156,.22);
  /* dimensiones: color de marca (--dc) y color para texto sobre claro (--dt) */
  --azulejo:#31508A; --naranjo:#3B7360; --albero:#A87D2D; --nazareno:#6B4A72; --almagra:#A4513D;
  --naranjo-t:#356A55; --albero-t:#7E5E1C; --almagra-t:#94473A;
  /* tipografía */
  --serif:"Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;
  --sans:"Jost", "Futura", "Century Gothic", "Segoe UI", Arial, sans-serif;
  /* medidas */
  --maxw:1200px; --hdr:76px; --gutter:16px;
  --sec:clamp(76px, 5.5vw + 36px, 124px);
  --sombra-suave:0 1px 2px rgba(15,28,46,.05), 0 24px 48px -32px rgba(15,28,46,.35);
  --sombra-honda:0 2px 6px rgba(0,0,0,.18), 0 50px 90px -42px rgba(0,0,0,.75);
  --trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23C9A96E' stroke-opacity='.5' stroke-width='.8'%3E%3Ccircle cx='0' cy='0' r='18'/%3E%3Ccircle cx='72' cy='0' r='18'/%3E%3Ccircle cx='0' cy='72' r='18'/%3E%3Ccircle cx='72' cy='72' r='18'/%3E%3Ccircle cx='36' cy='36' r='18'/%3E%3Cpath d='M36 7 65 36 36 65 7 36Z'/%3E%3Cpath d='M36 22 50 36 36 50 22 36Z'/%3E%3C/g%3E%3C/svg%3E");
}
@media (min-width:720px){:root{--gutter:32px}}
@media (min-width:1280px){:root{--gutter:40px}}

.d1{--dc:var(--azulejo);--dt:var(--azulejo);--dl:#9DB4E0}
.d2{--dc:var(--naranjo);--dt:var(--naranjo-t);--dl:#8CC7AF}
.d3{--dc:var(--albero);--dt:var(--albero-t);--dl:#E2C27E}
.d4{--dc:var(--nazareno);--dt:var(--nazareno);--dl:#C5A6CB}
.d5{--dc:var(--almagra);--dt:var(--almagra-t);--dl:#E9A08C}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 20px)}
body{margin:0;background:var(--lino);color:var(--tinta);font:400 1.0625rem/1.7 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
b,strong{font-weight:500}
::selection{background:var(--champan);color:var(--noche)}
:focus-visible{outline:2px solid var(--laton);outline-offset:3px}
html.menu-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:10px;z-index:60;background:var(--noche);color:var(--sobre-oscuro);padding:10px 16px;text-decoration:none;border-radius:3px}
.skip:focus{left:max(16px, env(safe-area-inset-left,0px))}
.ic{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

/* ---------- estructura ---------- */
.wrap{width:100%;max-width:calc(var(--maxw) + 2 * var(--gutter));margin-inline:auto;
  padding-left:max(var(--gutter), env(safe-area-inset-left,0px));padding-right:max(var(--gutter), env(safe-area-inset-right,0px))}
.section{padding-block:var(--sec)}
.bg-lino{background:var(--lino)}
.bg-lino-2{background:var(--lino-2)}
.bg-noche{position:relative;isolation:isolate;overflow:hidden;background:var(--noche);color:var(--sobre-oscuro)}
.bg-noche::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(70% 55% at 60% 0%, rgba(227,205,156,.075), transparent 72%),
             radial-gradient(50% 60% at 0% 100%, rgba(49,80,138,.34), transparent 70%)}

/* ---------- tipografía ---------- */
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:500;color:inherit;text-wrap:balance}
h2{font-size:clamp(2.2rem, 1.5rem + 2.3vw, 3.55rem);line-height:1.07;letter-spacing:-.012em;color:var(--noche)}
h3{font-size:clamp(1.5rem, 1.32rem + .55vw, 1.8rem);line-height:1.18;font-weight:600;color:var(--noche)}
h4{font-size:1.45rem;line-height:1.2;font-weight:600;color:var(--noche)}
.bg-noche h2,.bg-noche h3{color:var(--sobre-oscuro)}
p{margin:0;text-wrap:pretty}
.lead{font-size:clamp(1.1rem, 1.02rem + .3vw, 1.24rem);line-height:1.65;color:var(--piedra);max-width:37em}
.bg-noche .lead{color:var(--sobre-oscuro-2)}
.small{font-size:.92rem;color:var(--piedra)}
.head{display:flex;flex-direction:column;gap:22px;max-width:48rem;margin-bottom:clamp(44px, 5vw, 76px)}
.head.center{margin-inline:auto;text-align:center;align-items:center}
.head.center .lead{margin-inline:auto}
.sub-h{font-size:clamp(1.65rem, 1.35rem + 1vw, 2.15rem);font-weight:500;margin-bottom:8px}
.stack{display:flex;flex-direction:column;gap:18px}

/* ---------- botones y enlaces ---------- */
.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:3px;border:1px solid transparent;
  font:500 1rem/1.2 var(--sans);letter-spacing:.015em;text-decoration:none;text-align:center;cursor:pointer;white-space:nowrap;
  transition:background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease}
.btn .ic{width:15px;height:15px;stroke-width:1.7}
.btn--laton{color:var(--noche);background:linear-gradient(180deg,#DFC892 0%,#C9A766 100%);border-color:#C29E5E;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 8px 18px -12px rgba(176,141,87,.75)}
.btn--laton:hover{background:linear-gradient(180deg,#E7D3A3 0%,#D2B172 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 12px 26px -12px rgba(176,141,87,.9)}
.btn--sm.btn--laton{box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.btn--claro{color:var(--sobre-oscuro);border-color:rgba(227,205,156,.45)}
.btn--claro:hover{background:rgba(227,205,156,.1);border-color:var(--champan)}
.btn--noche{color:var(--champan);background:var(--noche);border-color:var(--noche)}
.btn--noche:hover{background:var(--noche-2);border-color:var(--noche-2)}
.btn--noche:disabled{opacity:.7;cursor:progress}
.btn--linea{color:var(--noche);border-color:rgba(15,28,46,.32)}
.btn--linea:hover{background:var(--noche);border-color:var(--noche);color:var(--lino)}
.btn--sm{min-height:42px;padding:0 18px;font-size:.93rem}
.link{color:var(--noche);font-weight:500;text-decoration:underline;text-decoration-color:var(--laton);text-decoration-thickness:1px;text-underline-offset:5px;transition:text-decoration-color .2s, color .2s}
.link:hover{color:var(--laton-texto);text-decoration-color:currentColor}

/* ---------- cabecera ---------- */
.site-header{--hc:var(--tinta);--hb:var(--noche);
  position:fixed;top:0;left:0;right:0;z-index:40;padding-top:env(safe-area-inset-top,0px);color:var(--hc);
  background:rgba(247,243,236,.9);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--hilo);transition:background-color .4s ease, border-color .4s ease, box-shadow .4s ease}
.site-header.is-scrolled{box-shadow:0 12px 32px -26px rgba(15,28,46,.5)}
html.js .site-header.on-hero:not(.is-scrolled):not(.is-open){--hc:var(--sobre-oscuro);--hb:var(--sobre-oscuro);
  background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.site-header.is-open{--hc:var(--sobre-oscuro);--hb:var(--sobre-oscuro);background:var(--noche);border-bottom-color:var(--linea-oscura);
  -webkit-backdrop-filter:none;backdrop-filter:none} /* sin filtro: si no, el menú fijo quedaría encerrado en la cabecera */
main{display:block;padding-top:calc(var(--hdr) + env(safe-area-inset-top,0px))}
html.js body.home main{padding-top:0}

.hdr{display:flex;align-items:center;gap:28px;min-height:var(--hdr)}
.brand{display:inline-flex;align-items:center;gap:12px;font:600 1.72rem/1 var(--serif);letter-spacing:.01em;color:var(--hb);text-decoration:none;white-space:nowrap;transition:color .4s ease}
.brand-mark{position:relative;width:11px;height:11px;flex:none;transform:rotate(45deg);border:1px solid var(--laton)}
.brand-mark::after{content:"";position:absolute;inset:2px;background:var(--laton)}
.nav{margin-left:auto}
.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:30px}
.nav-list a{position:relative;display:block;padding:10px 0;font:400 .97rem/1.2 var(--sans);letter-spacing:.01em;color:var(--hc);text-decoration:none;transition:color .4s ease}
.nav-list a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--laton);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.nav-list a:hover::after,.nav-list a[aria-current="true"]::after{transform:scaleX(1)}
.nav-extra{display:none}
.hdr-actions{display:flex;align-items:center;gap:22px}
.hdr-demo{display:inline-flex;align-items:center;gap:7px;font:400 .97rem/1.2 var(--sans);color:var(--hc);text-decoration:none;white-space:nowrap;padding:10px 0;transition:color .25s ease}
.hdr-demo .ic{width:14px;height:14px;stroke-width:1.6}
.hdr-demo:hover{color:var(--laton)}
.hdr .btn .short{display:none}
.menu-btn{display:none;align-items:center;gap:10px;min-height:44px;padding:0 2px;background:none;border:0;color:var(--hc);font:500 .95rem/1 var(--sans);cursor:pointer}
.menu-ic{position:relative;display:block;width:22px;height:10px}
.menu-ic i{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .3s ease, top .3s ease}
.menu-ic i:first-child{top:0}
.menu-ic i:last-child{top:8.5px}
.is-open .menu-ic i:first-child{top:4.25px;transform:rotate(45deg)}
.is-open .menu-ic i:last-child{top:4.25px;transform:rotate(-45deg)}

@media (max-width:1239px){.hdr-demo{display:none}}
@media (max-width:1079px){
  .menu-btn{display:inline-flex}
  .hdr-actions{margin-left:auto;gap:16px}
  .nav{display:none;position:fixed;left:0;right:0;bottom:0;top:calc(var(--hdr) + env(safe-area-inset-top,0px));margin:0;overflow-y:auto;
    flex-direction:column;gap:36px;background:var(--noche);color:var(--sobre-oscuro);
    padding:8px max(var(--gutter), env(safe-area-inset-right,0px)) calc(40px + env(safe-area-inset-bottom,0px)) max(var(--gutter), env(safe-area-inset-left,0px))}
  .site-header.is-open .nav{display:flex;animation:menuIn .35s ease both}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-list a{font:500 clamp(1.75rem, 1.4rem + 1.6vw, 2.2rem)/1.2 var(--serif);padding:18px 0;color:var(--sobre-oscuro);border-bottom:1px solid var(--linea-oscura)}
  .nav-list a::after{display:none}
  .nav-list a[aria-current="true"]{color:var(--champan)}
  .nav-extra{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
  .nav-extra .nav-demo{display:inline-flex;align-items:center;gap:8px;color:var(--champan);text-decoration:none;font-size:1.05rem}
  .nav-extra .nav-demo .ic{width:15px;height:15px}
  .nav-extra .fine{font-size:.92rem;color:var(--sobre-oscuro-3)}
}
@media (max-width:560px){
  :root{--hdr:68px}
  .hdr{gap:14px}
  .brand{font-size:1.5rem;gap:10px}
  .hdr .btn .long{display:none}
  .hdr .btn .short{display:inline}
  .hdr .btn--sm{padding:0 14px;min-height:40px;font-size:.88rem}
  .menu-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
}
@media (max-width:340px){.brand{font-size:1.32rem}.hdr .btn--sm{padding:0 10px}}
@keyframes menuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ---------- portada ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--noche);color:var(--sobre-oscuro);
  padding-block:clamp(56px, 6vw, 88px) clamp(52px, 4.5vw, 80px)}
/* la portada deja asomar la franja siguiente: sin «falso final» en la primera pantalla */
html.js .home .hero{padding-top:calc(var(--hdr) + env(safe-area-inset-top,0px) + clamp(36px, 4.4vw, 76px))}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(42% 52% at 76% 44%, rgba(176,141,87,.17), transparent 72%),
             radial-gradient(55% 70% at 0% 100%, rgba(49,80,138,.42), transparent 70%),
             linear-gradient(180deg, #0C1726 0%, var(--noche) 40%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.2;
  background:var(--trama) 0 0/72px 72px;
  -webkit-mask-image:radial-gradient(38% 58% at 76% 46%, #000 10%, transparent 100%);mask-image:radial-gradient(38% 58% at 76% 46%, #000 10%, transparent 100%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(48px, 4.5vw, 88px);align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:28px;min-width:0}
.hero-kicker{display:inline-flex;align-items:center;gap:12px;font:500 .98rem/1.3 var(--sans);letter-spacing:.02em;color:var(--champan)}
.hero h1{font-size:clamp(2.65rem, 1.3rem + 3.3vw, 4.3rem);line-height:1.03;letter-spacing:-.018em;color:var(--sobre-oscuro)}
.hero h1 .respuesta{display:block;margin-top:.16em;font-style:italic;color:var(--champan)}
.hero .lead{color:var(--sobre-oscuro-2);max-width:33em}
.trust{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:.95rem;color:var(--sobre-oscuro-2)}
.trust li{display:inline-flex;align-items:center;gap:9px}
.trust .ic{width:16px;height:16px;color:var(--laton);stroke-width:1.8}
@media (max-width:1079px){
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{max-width:42rem}
  .hero::after{-webkit-mask-image:radial-gradient(60% 34% at 70% 78%, #000 10%, transparent 100%);mask-image:radial-gradient(60% 34% at 70% 78%, #000 10%, transparent 100%)}
}

/* la reseña anotada */
.spec{position:relative;margin:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 184px;gap:0 38px;align-items:end;padding-top:46px}
.spec-card{position:relative;background:var(--papel);color:var(--tinta);padding:34px 34px 26px;border-radius:2px;box-shadow:var(--sombra-honda)}
.spec-card::before{content:"";position:absolute;inset:9px;border:1px solid rgba(176,141,87,.42);pointer-events:none}
.spec-top{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-right:72px}
.stars{color:var(--laton);font-size:1rem;letter-spacing:3px;line-height:1}
.stars .off{color:var(--hilo-2)}
.spec-src{font-size:.86rem;color:var(--piedra)}
.spec-quote{margin:0;font:italic 500 clamp(1.45rem, 1.2rem + .7vw, 1.78rem)/1.32 var(--serif);color:var(--noche)}
.hl{color:inherit;padding:0 .04em;background-color:transparent;
  background-image:linear-gradient(transparent 58%, rgba(164,81,61,.26) 58%, rgba(164,81,61,.26) 94%, transparent 94%);
  background-repeat:no-repeat;background-size:100% 100%}
.spec-trad{margin-top:12px;font-size:.9rem;line-height:1.55;color:var(--piedra)}
.spec-cell{display:flex;align-items:center;gap:16px;margin-top:22px;padding-top:18px;border-top:1px solid var(--hilo)}
.mini35{display:grid;grid-template-columns:repeat(7,6px);grid-auto-rows:6px;gap:2px;flex:none}
.mini35 i{display:block;background:var(--hilo)}
.mini35 i.on{background:var(--almagra)}
.spec-cell p{display:flex;flex-direction:column;gap:2px;font-size:.84rem;line-height:1.3;color:var(--piedra)}
.spec-cell b{font:600 1.18rem/1.2 var(--serif);color:var(--noche)}
.seal{position:absolute;top:-58px;right:-36px;width:132px;height:132px;z-index:2;transform:rotate(-12deg);filter:drop-shadow(0 14px 18px rgba(0,0,0,.45))}
.seal .ring{font:500 8.4px var(--sans);letter-spacing:.14em;fill:var(--champan)}
.seal .frac{font:600 40px var(--serif);fill:var(--sobre-oscuro);font-feature-settings:"frac" 1, "lnum" 1}

.notes{display:flex;flex-direction:column;gap:22px;padding-bottom:26px}
.notes-h{display:inline-flex;align-items:center;gap:10px;font:600 1.2rem/1.2 var(--serif);color:var(--sobre-oscuro)}
.notes-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}
.note-i{position:relative;display:flex;flex-direction:column;gap:3px}
.note-i::before{content:"";position:absolute;right:calc(100% + 10px);top:1.85em;width:28px;height:1px;background:var(--laton);transform-origin:left center}
.note-i::after{content:"";position:absolute;right:calc(100% + 35.5px);top:calc(1.85em - 2.5px);width:6px;height:6px;border-radius:50%;background:var(--champan)}
.note-k{font-size:.84rem;color:var(--sobre-oscuro-3)}
.note-v{display:flex;align-items:baseline;gap:10px;font:500 1.3rem/1.2 var(--serif);color:var(--sobre-oscuro)}
.note-v i{width:7px;height:7px;flex:none;transform:rotate(45deg) translateY(-2px);background:var(--dl, var(--champan))}
.note-i.neg{--dl:#E9A08C}
.spec-cap{grid-column:1 / -1;margin-top:30px;font-size:.95rem;line-height:1.6;color:var(--sobre-oscuro-2);max-width:38em}

@media (max-width:1239px) and (min-width:1080px){
  .spec{grid-template-columns:minmax(0,1fr) 164px;gap:0 32px}
  .seal{width:118px;height:118px;top:-52px;right:-30px}
  .notes-h{font-size:1.08rem;white-space:nowrap}
  .note-i::before{width:22px}
  .note-i::after{right:calc(100% + 29.5px)}
}
@media (max-width:1079px){
  .spec{grid-template-columns:1fr;padding-top:52px;max-width:640px}
  .seal{right:-14px;top:-60px;width:116px;height:116px}
  .notes{padding:30px 0 0 22px;border-left:1px solid var(--laton);margin-left:34px}
  .notes-l{flex-direction:row;flex-wrap:wrap;gap:18px 34px}
  .note-i::before,.note-i::after{display:none}
}
@media (max-width:520px){
  .spec-card{padding:28px 24px 22px}
  .spec-top{padding-right:56px}
  .seal{right:-6px;top:-54px;width:100px;height:100px}
  .notes{margin-left:18px;padding-left:18px}
  .notes-l{flex-direction:column}
}
/* La secuencia de la portada termina en 1,2 s: el sello es el elemento más grande y,
   si tarda en aparecer, el navegador da la página por cargada cuando aparece. */
@media (prefers-reduced-motion:no-preference){
  .spec-card{animation:sube .55s .05s cubic-bezier(.2,.7,.2,1) both}
  .hl{animation:subraya .7s .35s cubic-bezier(.45,.05,.3,1) both}
  .notes-h{animation:aparece .35s .5s ease both}
  .note-i{animation:aparece .35s ease both}
  .note-i:nth-child(1){animation-delay:.6s}
  .note-i:nth-child(2){animation-delay:.7s}
  .note-i:nth-child(3){animation-delay:.8s}
  .note-i::before{animation:traza .35s ease both;animation-delay:inherit}
  .seal{animation:sello .45s .55s cubic-bezier(.2,.8,.25,1.15) both}
  .spec-cap{animation:aparece .35s .85s ease both}
}
@keyframes sube{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes subraya{from{background-size:0% 100%}to{background-size:100% 100%}}
@keyframes aparece{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes traza{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes sello{from{opacity:0;transform:rotate(-30deg) scale(1.25)}to{opacity:1;transform:rotate(-12deg) scale(1)}}

/* ---------- respaldo (franja bajo la portada) ---------- */
.cred{background:var(--lino);border-bottom:1px solid var(--hilo)}
.cred-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px 64px;align-items:center;padding-block:clamp(30px, 3vw, 44px)}
.cred-txt{font-size:1.02rem;color:var(--piedra);max-width:31em}
.cred-txt b{color:var(--noche);font-weight:500}
.cred-txt i{color:var(--noche)}
.cred-nums{list-style:none;margin:0;padding:0;display:flex}
.cred-nums li{display:flex;flex-direction:column;gap:8px;padding:2px 40px;border-left:1px solid var(--hilo-2)}
.cred-nums li:first-child{border-left:0;padding-left:0}
.cred-nums li:last-child{padding-right:0}
.cred-nums b{font:500 clamp(2.6rem, 2rem + 1.5vw, 3.3rem)/1 var(--serif);color:var(--noche);font-variant-numeric:lining-nums;white-space:nowrap}
.cred-nums span{font-size:.88rem;line-height:1.35;color:var(--piedra)}
@media (max-width:980px){.cred-in{grid-template-columns:1fr}}
@media (max-width:600px){
  .cred-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .cred-nums li{padding:0 12px}
  .cred-nums b{font-size:1.95rem}
  .cred-nums span{font-size:.8rem}
}

/* ---------- dos columnas con titular fijo ---------- */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px, 6vw, 112px);align-items:start}
.split-head{position:sticky;top:calc(var(--hdr) + 48px);display:flex;flex-direction:column;gap:22px}
@media (max-width:960px){.split{grid-template-columns:1fr}.split-head{position:static}}

/* ---------- qué hace: cuatro hechos con su cifra ---------- */
.hechos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:52px clamp(28px, 3vw, 48px)}
.hecho{position:relative;display:flex;flex-direction:column;gap:12px;padding-top:28px;border-top:1px solid var(--hilo-2);min-width:0;container-type:inline-size}
.hecho::before{content:"";position:absolute;left:0;top:-1px;width:48px;height:2px;background:var(--laton)}
.hecho-fig{margin-bottom:6px;font:500 clamp(2.9rem, 2.2rem + 1.6vw, 4.1rem)/.92 var(--serif);letter-spacing:-.02em;color:var(--noche);font-variant-numeric:lining-nums;white-space:nowrap}
@supports (width:1cqi){.hecho-fig{font-size:min(4.6rem, 24cqi)}}   /* «1 de cada 5» cabe siempre en su columna */
.hecho-fig.glifo{color:var(--laton)}
.hecho h3{font-size:clamp(1.38rem, 1.22rem + .45vw, 1.62rem)}
.hecho p:not(.hecho-fig){color:var(--piedra)}
@media (max-width:1100px){.hechos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.hechos{grid-template-columns:1fr;gap:44px}}

/* cómo funciona: tres pasos en una franja */
.flujo{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:20px clamp(24px, 3vw, 48px);align-items:start;margin-top:clamp(56px, 6vw, 84px);
  padding:clamp(24px, 3vw, 34px) clamp(22px, 3vw, 38px);background:var(--papel);border:1px solid var(--hilo);box-shadow:var(--sombra-suave)}
.flujo-h{font:500 1.7rem/1.1 var(--serif);color:var(--noche)}
.flujo ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px clamp(20px, 2.6vw, 40px)}
.flujo li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;min-width:0}
.flujo-n{font:500 2.5rem/.85 var(--serif);color:var(--laton-texto);font-variant-numeric:lining-nums}
.flujo li p{font-size:.98rem;line-height:1.55;color:var(--piedra)}
.flujo li b{color:var(--noche);font-weight:500}
@media (max-width:1000px){.flujo{grid-template-columns:1fr}}
@media (max-width:720px){.flujo ol{grid-template-columns:1fr}}

/* ---------- el método: índice ---------- */
.toc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--linea-oscura);border-bottom:1px solid var(--linea-oscura)}
.toc li{min-width:0}
.toc li + li{border-left:1px solid var(--linea-oscura)}
.toc a{display:flex;flex-direction:column;gap:12px;height:100%;padding:clamp(28px, 3vw, 44px) clamp(20px, 2.6vw, 40px) clamp(32px, 3.4vw, 48px);text-decoration:none;color:inherit;transition:background-color .3s ease}
.toc a:hover{background:rgba(227,205,156,.06)}
.toc-n{font:500 3.6rem/1 var(--serif);color:var(--champan)}
.toc-t{font:500 1.65rem/1.2 var(--serif);color:var(--sobre-oscuro);text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:6px;transition:text-decoration-color .3s ease}
.toc a:hover .toc-t{text-decoration-color:var(--laton)}
.toc-s{font-size:.97rem;color:var(--sobre-oscuro-2)}
@media (max-width:820px){.toc{grid-template-columns:1fr}.toc li + li{border-left:0;border-top:1px solid var(--linea-oscura)}.toc a{padding-inline:0}}

/* ---------- capítulos ---------- */
.ch-head{display:grid;grid-template-columns:clamp(84px, 10vw, 150px) minmax(0,1fr);gap:0 clamp(16px, 2.5vw, 36px);align-items:start;margin-bottom:clamp(48px, 5vw, 80px)}
.ch-n{font:500 clamp(4.4rem, 3rem + 4.2vw, 7.6rem)/.78 var(--serif);color:var(--laton);letter-spacing:-.02em}
.ch-copy{display:flex;flex-direction:column;gap:22px;max-width:50rem;min-width:0}
@media (max-width:640px){.ch-head{grid-template-columns:1fr;gap:18px}.ch-n{font-size:4.2rem}}

/* capítulo I: dimensiones */
.dimlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--hilo-2)}
.dimx{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.45fr) minmax(0,1fr);gap:clamp(16px, 3vw, 48px);align-items:start;padding:clamp(28px, 3vw, 40px) 0;border-bottom:1px solid var(--hilo-2)}
.dimx::before{content:"";position:absolute;left:0;top:-1px;width:56px;height:2px;background:var(--dc)}
.dimx-name{display:flex;gap:20px;align-items:flex-start;min-width:0}
.dimx-n{font:500 2.7rem/.9 var(--serif);color:var(--dt);min-width:1.1ch;font-variant-numeric:lining-nums}
.dimx .tech{display:block;font-size:.86rem;font-weight:500;letter-spacing:.01em;color:var(--dt);margin-bottom:4px}
.dimx h3{font-size:clamp(1.7rem, 1.4rem + .9vw, 2.2rem);font-weight:500}
.dimx-def{color:var(--tinta);padding-top:4px}
.dimx-q{font:italic 500 1.42rem/1.35 var(--serif);color:var(--noche)}
.dimx-q span{display:block;margin-bottom:4px;font:400 .86rem/1.4 var(--sans);font-style:normal;color:var(--piedra)}
@media (max-width:900px){.dimx{grid-template-columns:1fr;gap:12px}.dimx-def,.dimx-q{padding-left:calc(2.7rem + 20px)}}
@media (max-width:520px){.dimx-def,.dimx-q{padding-left:0}}
.pull{margin:clamp(64px, 7vw, 104px) auto 0;max-width:22ch;text-align:center;font:500 clamp(2rem, 1.4rem + 2vw, 3.1rem)/1.16 var(--serif);color:var(--noche);text-wrap:balance}
.pull::before{content:"";display:block;width:10px;height:10px;margin:0 auto 24px;transform:rotate(45deg);border:1px solid var(--laton)}

/* capítulo II: departamentos */
.clsf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.75fr);background:var(--papel);border:1px solid var(--hilo);box-shadow:var(--sombra-suave);margin-bottom:clamp(64px, 7vw, 104px)}
.clsf-q{padding:clamp(24px, 3vw, 36px);border-right:1px solid var(--hilo);display:flex;flex-direction:column;gap:10px;min-width:0}
.clsf-k{font-size:.84rem;font-weight:500;color:var(--laton-texto)}
.clsf-quote{font:italic 500 1.5rem/1.3 var(--serif);color:var(--noche)}
.trad{font-size:.9rem;color:var(--piedra)}
.clsf-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.clsf-steps li{position:relative;padding:clamp(22px, 2.6vw, 34px) clamp(16px, 2vw, 26px);display:flex;flex-direction:column;gap:6px;border-left:1px solid var(--hilo);min-width:0}
.clsf-steps li:first-child{border-left:0}
.clsf-steps li + li::before{content:"";position:absolute;left:-6px;top:50%;width:11px;height:11px;background:var(--papel);border-top:1px solid var(--hilo-2);border-right:1px solid var(--hilo-2);transform:translateY(-50%) rotate(45deg)}
.clsf-steps b{font:600 1.32rem/1.2 var(--serif);color:var(--noche)}
.clsf-steps small{font-size:.86rem;line-height:1.45;color:var(--piedra)}
.clsf-res{background:var(--noche)}
.clsf-res .clsf-k{color:var(--champan)}
.clsf-res b{color:var(--champan)}
.clsf-res small{color:var(--sobre-oscuro-2)}
@media (max-width:1060px){.clsf{grid-template-columns:1fr}.clsf-q{border-right:0;border-bottom:1px solid var(--hilo)}}
@media (max-width:640px){
  .clsf-steps{grid-template-columns:1fr}
  .clsf-steps li{border-left:0;border-top:1px solid var(--hilo)}
  .clsf-steps li:first-child{border-top:0}
  .clsf-steps li + li::before{left:50%;top:-6px;transform:translateX(-50%) rotate(135deg)}
}

.dx{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:28px clamp(28px, 4vw, 56px);align-items:start}
@media (max-width:1060px){.dx{grid-template-columns:1fr}}
.dx-top{grid-column:1 / -1;min-width:0}
.dx-main{min-width:0}
.dx-tabs{display:flex;flex-wrap:wrap;gap:0 30px;margin-top:22px;border-bottom:1px solid var(--hilo-2)}
.dx-tabs button{position:relative;flex:none;min-height:50px;padding:0;margin-bottom:-1px;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;
  font:500 .98rem/1 var(--sans);letter-spacing:.01em;color:var(--piedra);cursor:pointer;transition:color .2s ease, border-color .2s ease}
.dx-tabs button:hover{color:var(--noche)}
.dx-tabs button[aria-selected="true"]{color:var(--noche);border-bottom-color:var(--laton)}
@media (max-width:760px){
  .dx-tabs{flex-wrap:nowrap;overflow-x:auto;gap:0 24px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}
  .dx-tabs::-webkit-scrollbar{display:none}
}
.dx-panel{background:var(--papel);border:1px solid var(--hilo);padding:clamp(24px, 3vw, 38px);box-shadow:var(--sombra-suave)}
.dx-panel + .dx-panel{margin-top:16px}
.dx.is-tabs .dx-panel + .dx-panel{margin-top:0}
.dx:not(.is-tabs) .dx-top > .small{display:none}
.dx-panel h4{font-size:clamp(1.8rem, 1.5rem + 1vw, 2.3rem);font-weight:500;margin-bottom:10px}
.dx-panel:focus-visible{outline-offset:-2px}
.dx-rows{list-style:none;margin:0;padding:0}
.dx-rows li{display:grid;grid-template-columns:minmax(170px,.75fr) minmax(0,1.6fr);gap:6px 24px;padding:16px 14px;margin:0 -14px;border-bottom:1px solid var(--hilo);transition:background-color .5s ease}
.dx-rows li:last-child{border-bottom:0}
.dx-rows li.is-hl{background:rgba(227,205,156,.4)}
.dx-k{display:flex;flex-direction:column;gap:3px;min-width:0}
.dx-k b{display:flex;align-items:center;gap:10px;font:600 1.25rem/1.2 var(--serif);color:var(--noche)}
.dx-k b i{width:8px;height:8px;flex:none;background:var(--dc);transform:rotate(45deg)}
.dx-k small{font-size:.8rem;font-weight:500;color:var(--dt);padding-left:18px}
.dx-rows p{color:var(--tinta)}
@media (max-width:560px){.dx-rows li{grid-template-columns:1fr}.dx-rows p{padding-left:18px}}
.dx-foot{font-size:.86rem;color:var(--piedra);margin-top:14px}

.mx-fig{margin:0;background:var(--papel);border:1px solid var(--hilo);padding:clamp(20px, 2.6vw, 32px);box-shadow:var(--sombra-suave);min-width:0}
.mx-cap{font-size:.95rem;color:var(--piedra);margin-bottom:20px}
.mx-cap b{display:block;font:500 1.55rem/1.2 var(--serif);color:var(--noche);margin-bottom:6px}
.mx{border-collapse:separate;border-spacing:4px;margin-inline:auto}
.mx thead th{vertical-align:bottom;padding:0 0 8px;cursor:pointer}
.mx thead th span{display:block;margin:0 auto;writing-mode:vertical-rl;transform:rotate(180deg);font:400 .8rem/1 var(--sans);letter-spacing:.02em;color:var(--piedra);white-space:nowrap;transition:color .2s ease}
.mx thead th.is-col span{color:var(--laton-texto);font-weight:500}
.mx tbody th{font:500 .8rem/1.2 var(--sans);color:var(--tinta);text-align:right;padding-right:10px;white-space:nowrap}
.mx tbody th i{display:inline-block;width:7px;height:7px;background:var(--dc);transform:rotate(45deg);margin-right:9px;vertical-align:1px}
.mx .s{display:none}
.mx td{width:36px;height:36px;padding:0;border:1px solid var(--hilo);border-radius:2px;background:var(--lino);cursor:pointer;position:relative;transition:background-color .25s ease, border-color .25s ease}
.mx td:hover{border-color:var(--laton)}
.mx td.is-col{background:rgba(227,205,156,.5);border-color:rgba(176,141,87,.55)}
.mx td.is-ex::after{content:"";position:absolute;inset:0;margin:auto;width:10px;height:10px;background:var(--noche);transform:rotate(45deg)}
.mx-corner{border:0!important;background:none!important;cursor:default!important}
.mx-note{display:flex;gap:10px;align-items:center;font-size:.88rem;color:var(--piedra);margin-top:16px}
.ex-key{width:9px;height:9px;background:var(--noche);transform:rotate(45deg);flex:none}
@media (max-width:520px){.mx .l{display:none}.mx .s{display:inline}.mx td{width:30px;height:30px}.mx{border-spacing:3px}.mx tbody th{padding-right:6px}}

/* capítulo III: comparar */
.cmp{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px, 4.5vw, 72px);align-items:start;margin-bottom:clamp(64px, 7vw, 104px)}
@media (max-width:1060px){.cmp{grid-template-columns:1fr}.cmp-fig{max-width:760px}}
.cmp-fig{margin:0;background:var(--papel);border:1px solid var(--hilo);padding:clamp(20px, 2.6vw, 32px);box-shadow:var(--sombra-suave);min-width:0}
.cmp-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px, 2.6vw, 32px)}
@media (max-width:600px){.cmp-pair{grid-template-columns:1fr}}
.mini{min-width:0}
.mini-t{display:flex;align-items:center;gap:10px;font:600 1.35rem/1 var(--serif);color:var(--noche);margin-bottom:14px}
.mini-t::before{content:"";width:8px;height:8px;transform:rotate(45deg);border:1px solid var(--laton)}
.mini-g{display:grid;grid-template-columns:auto repeat(7,minmax(0,1fr));gap:3px;align-items:center}
.mini-g .h{font:400 .64rem/1 var(--sans);letter-spacing:.02em;color:var(--piedra);text-align:center;padding-bottom:5px}
.mini-g .r{display:flex;align-items:center;gap:6px;padding-right:7px;font:500 .66rem/1 var(--sans);letter-spacing:.01em;color:var(--tinta);white-space:nowrap}
.mini-g .r i{width:6px;height:6px;background:var(--dc);transform:rotate(45deg)}
.mini-g .c{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:2px;font-size:.8rem;line-height:1;color:var(--piedra)}
.c0{background:rgba(59,115,96,.24)}
.c1{background:rgba(164,81,61,.17)}
.c2{background:rgba(164,81,61,.38)}
.c3{background:rgba(164,81,61,.66)}
.cf{background:repeating-linear-gradient(135deg, rgba(176,141,87,.12) 0 3px, rgba(176,141,87,.42) 3px 4px)}
.cn{background:transparent;box-shadow:inset 0 0 0 1px var(--hilo)}
.mini-g .c.hl{outline:2px solid var(--noche);outline-offset:1px;position:relative;z-index:1}
.legend{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--hilo);display:flex;flex-wrap:wrap;gap:10px 24px;font-size:.84rem;color:var(--piedra)}
.legend li{display:flex;align-items:center;gap:7px}
.legend li .sw + .sw{margin-left:-4px}
.sw{width:14px;height:14px;display:inline-block;border-radius:2px}
.sw-hl{background:transparent;outline:2px solid var(--noche);outline-offset:-2px}
.cmp-fig figcaption{margin-top:16px;font-size:.93rem;color:var(--piedra)}
.cmp-fig figcaption b{color:var(--noche)}
.cmp-rules{min-width:0}
.rules{list-style:none;margin:18px 0 0;padding:0}
.rules li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:20px 0;border-bottom:1px solid var(--hilo-2)}
.rules li:first-child{border-top:1px solid var(--hilo-2)}
.rn{font:500 1.6rem/1.1 var(--serif);color:var(--laton-texto)}
.rules p{color:var(--piedra)}
.rules b{color:var(--noche)}
.axes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px clamp(24px, 3vw, 48px);margin-top:26px}
.axis{display:flex;flex-direction:column;gap:12px;padding-top:28px;border-top:1px solid var(--hilo-2);min-width:0}
.axis > .ic{width:28px;height:28px;color:var(--laton);stroke-width:1.15;margin-bottom:4px}
.axis h4{font-size:1.5rem}
.axis p{color:var(--piedra)}
.axis .axis-q{margin-top:auto;padding-top:16px;font:italic 500 1.22rem/1.35 var(--serif);color:var(--noche)}
@media (max-width:1100px){.axes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.axes{grid-template-columns:1fr;gap:40px}}
.cmp-cta{margin-top:clamp(48px, 5vw, 64px)}

/* ---------- para quién ---------- */
.who{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.who-col{display:flex;flex-direction:column;gap:18px;padding:6px clamp(24px, 3vw, 48px) 10px;border-left:1px solid var(--hilo-2);min-width:0}
.who-col:first-child{border-left:0;padding-left:0}
.who-col:last-child{padding-right:0}
.who-col > .ic{width:30px;height:30px;color:var(--laton);stroke-width:1.15}
@media (max-width:900px){
  .who{grid-template-columns:1fr}
  .who-col{border-left:0;padding:34px 0;border-top:1px solid var(--hilo-2)}
  .who-col:first-child{border-top:0;padding-top:0}
  .who-col:last-child{padding-bottom:0}
}
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.checklist li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;color:var(--tinta)}
.checklist .ic{width:17px;height:17px;color:var(--laton-texto);margin-top:5px;stroke-width:1.8}
.card-link{align-self:flex-start;margin-top:6px}

/* ---------- demo ---------- */
.demo-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(40px, 5vw, 88px);align-items:center}
@media (max-width:1079px){.demo-grid{grid-template-columns:1fr}}
.demo-copy{gap:22px}
.bg-noche .checklist li{color:var(--sobre-oscuro)}
.bg-noche .checklist .ic{color:var(--laton)}
.shot{display:block;min-width:0;text-decoration:none;background:var(--papel);border-radius:6px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(227,205,156,.28), var(--sombra-honda);transition:transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease}
.shot:hover{transform:translateY(-4px)}
.shot-bar{display:flex;align-items:center;gap:12px;padding:11px 16px;background:#ECE5D9;border-bottom:1px solid var(--hilo);font-size:.8rem;color:var(--piedra)}
.shot-bar .dots{display:flex;gap:6px}
.shot-bar .dots i{width:9px;height:9px;border-radius:50%;display:block;background:var(--hilo-2)}
.shot-bar .url{flex:1;min-width:0;max-width:340px;background:var(--papel);border-radius:4px;padding:3px 12px;font:400 .8rem/1.5 var(--sans);letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shot img{width:100%;aspect-ratio:1200/630;object-fit:cover;object-position:top left}
@media (min-width:1080px){
  .shot{margin-right:calc(-1 * max(var(--gutter), (100vw - var(--maxw)) / 2));border-radius:6px 0 0 6px}
  .shot:hover{transform:translateX(-6px)}
}

/* ---------- por qué y respaldo ---------- */
.science{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px, 5vw, 88px);align-items:start;margin-top:clamp(72px, 8vw, 120px);padding-top:clamp(56px, 6vw, 88px);border-top:1px solid var(--hilo-2)}
@media (max-width:900px){.science{grid-template-columns:1fr}}
.science-copy{gap:22px}
.science h2{font-size:clamp(2rem, 1.45rem + 1.8vw, 2.9rem)}
.science--solo{margin-top:0;padding-top:0;border-top:0;align-items:center}
.founder{display:flex;gap:20px;align-items:center;margin-top:12px}
.founder b{display:block;font:600 1.3rem/1.2 var(--serif);color:var(--noche)}
.avatar{width:68px;height:68px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:var(--noche);color:var(--champan);
  font:italic 500 1.55rem/1 var(--serif);box-shadow:0 0 0 1px var(--lino), 0 0 0 2px var(--laton)}
.pubs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pubs li{display:grid;grid-template-columns:4.8rem minmax(0,1fr);gap:20px;align-items:start;padding:24px 0;border-bottom:1px solid var(--hilo-2)}
.pubs li:first-child{border-top:1px solid var(--hilo-2)}
.pubs .y{font:500 1.9rem/1 var(--serif);color:var(--laton-texto)}
.pubs .t{font:500 1.38rem/1.28 var(--serif);color:var(--noche)}
.pubs .j{font-size:.9rem;color:var(--piedra);margin-top:8px}
.pubs .j i{color:var(--tinta)}
.pubs a{color:var(--noche);font-weight:500;text-decoration:underline;text-decoration-color:var(--laton);text-underline-offset:4px;overflow-wrap:anywhere;white-space:nowrap}
.pubs a:hover{color:var(--laton-texto)}
.pubs a .ic{width:12px;height:12px;stroke-width:1.8;vertical-align:-1px;margin-left:3px}

/* ---------- cómo empezar ---------- */
.offers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px, 2.4vw, 32px)}
@media (max-width:900px){.offers{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}
.offer{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(32px, 3.2vw, 44px);background:var(--papel);border:1px solid var(--hilo);box-shadow:var(--sombra-suave);min-width:0}
.offer::before{content:"";position:absolute;inset:8px;border:1px solid rgba(176,141,87,.32);pointer-events:none}
.offer-n{position:absolute;right:30px;top:22px;font:500 4.4rem/1 var(--serif);color:var(--hilo-2);font-variant-numeric:lining-nums}
.offer p{color:var(--piedra)}
.tag{align-self:flex-start;padding:5px 13px;border:1px solid;border-radius:999px;font-size:.84rem;font-weight:500;line-height:1.3}
.tag--free{color:var(--naranjo-t);border-color:rgba(59,115,96,.45)}
.tag--try{color:var(--laton-texto);border-color:rgba(125,93,36,.4)}
.tag--sub{color:var(--azulejo);border-color:rgba(49,80,138,.4)}
.center-actions{justify-content:center;margin-top:clamp(40px, 4vw, 56px)}

/* ---------- preguntas ---------- */
.faq-aside{gap:20px}
.faq-aside .small a{color:var(--noche);font-weight:500;text-decoration:underline;text-decoration-color:var(--laton);text-underline-offset:4px}
.faq{display:flex;flex-direction:column;border-top:1px solid var(--hilo-2)}
.faq details{border-bottom:1px solid var(--hilo-2)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font:500 1.45rem/1.3 var(--serif);color:var(--noche);transition:color .2s ease}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:16px;height:16px;
  background:linear-gradient(var(--laton),var(--laton)) center/16px 1.5px no-repeat, linear-gradient(var(--laton),var(--laton)) center/1.5px 16px no-repeat;
  transition:background-size .3s ease}
.faq details[open] summary::after{background-size:16px 1.5px, 1.5px 0}
.faq summary:hover{color:var(--laton-texto)}
.faq .a{padding:0 44px 26px 0;color:var(--piedra);max-width:40em}
@media (prefers-reduced-motion:no-preference){.faq details[open] .a{animation:aparece .35s ease both}}

/* ---------- contacto ---------- */
.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px, 5vw, 88px);align-items:start}
@media (max-width:980px){.contact{grid-template-columns:1fr}}
.contact-copy{gap:22px}
.contact h2{font-size:clamp(2.1rem, 1.45rem + 2.2vw, 3.25rem)}
.perks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.perks li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;color:var(--sobre-oscuro)}
.perks .ic{color:var(--laton);width:19px;height:19px;margin-top:4px;stroke-width:1.8}
.mailbox{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px;padding:18px 20px;border:1px solid var(--linea-oscura);border-radius:3px}
.mailbox .ic{color:var(--laton)}
.mailbox .addr{font:500 clamp(1.18rem, 1.05rem + .5vw, 1.4rem)/1.2 var(--serif);color:var(--sobre-oscuro);user-select:all;word-break:break-all}
@media (max-width:420px){.mailbox{gap:10px;padding:16px}}
.copy-btn{min-height:40px;padding:0 16px;border:1px solid var(--noche);border-radius:3px;background:transparent;color:var(--noche);font:500 .88rem/1 var(--sans);letter-spacing:.02em;cursor:pointer;transition:background-color .2s ease, color .2s ease}
.copy-btn:hover{background:var(--noche);color:var(--lino)}
.mailbox .copy-btn{margin-left:auto;border-color:rgba(227,205,156,.5);color:var(--champan)}
.mailbox .copy-btn:hover{background:rgba(227,205,156,.12);color:var(--champan)}
.form-card{position:relative;background:var(--papel);color:var(--tinta);padding:clamp(28px, 3.6vw, 52px);border-radius:2px;box-shadow:var(--sombra-honda)}
.form-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(176,141,87,.38);pointer-events:none}
.form-h{position:relative;font:500 clamp(1.6rem, 1.4rem + .6vw, 1.95rem)/1.2 var(--serif);color:var(--noche);margin-bottom:24px}
.form{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:640px){.form{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field.full{grid-column:1 / -1}
.field label{font:500 .9rem/1.3 var(--sans);color:var(--noche)}
.field label .opt{font-weight:400;color:var(--piedra)}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 14px;font:400 1rem/1.4 var(--sans);color:var(--noche);
  background:var(--lino);border:1px solid var(--hilo);border-radius:3px;transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease}
.field select{-webkit-appearance:none;appearance:none;padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%237D5D24' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center}
.field textarea{min-height:120px;resize:vertical}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--hilo-2)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--laton);background-color:var(--papel);box-shadow:0 0 0 3px rgba(227,205,156,.45)}
.field [aria-invalid="true"]{border-color:var(--almagra);box-shadow:0 0 0 3px rgba(164,81,61,.14)}
.err{font-size:.85rem;color:var(--almagra-t)}
.err:empty{display:none}
.err-row{grid-column:1 / -1}
.consent{grid-column:1 / -1;display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;font-size:.93rem;color:var(--piedra);cursor:pointer}
.consent input{width:18px;height:18px;margin-top:4px;accent-color:var(--noche);cursor:pointer}
.consent a{color:var(--noche);font-weight:500;text-decoration-color:var(--laton);text-underline-offset:3px}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-end{grid-column:1 / -1;margin-top:4px}
.form-end .btn{width:100%;min-height:56px;font-size:1.02rem}
.status{grid-column:1 / -1;padding:16px 18px;background:var(--lino);border:1px solid var(--hilo);border-radius:3px;display:flex;flex-direction:column;gap:12px;color:var(--tinta)}
.status.ok{background:rgba(59,115,96,.1);border-color:rgba(59,115,96,.4);color:var(--naranjo-t);font-weight:500}
.status textarea{width:100%;min-height:150px;font:400 .9rem/1.45 ui-monospace, Menlo, Consolas, monospace;color:var(--noche);background:var(--papel);border:1px solid var(--hilo);padding:10px}

/* ---------- pie ---------- */
.site-footer{position:relative;background:var(--noche-3);color:var(--sobre-oscuro-2);padding-block:clamp(64px, 7vw, 96px) calc(32px + env(safe-area-inset-bottom,0px));font-size:.95rem}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg, transparent, rgba(227,205,156,.45), transparent)}
.foot{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:clamp(28px, 4vw, 64px)}
@media (max-width:980px){.foot{grid-template-columns:repeat(3,minmax(0,1fr))}.foot-brand{grid-column:1 / -1}}
@media (max-width:600px){.foot{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1 / -1}}
.foot-brand{gap:16px;max-width:30rem}
.site-footer .brand{color:var(--sobre-oscuro)}
.foot-tag{font:italic 500 1.3rem/1.35 var(--serif);color:var(--sobre-oscuro)}
.foot-h{margin:0 0 16px;font:500 .95rem/1.2 var(--sans);letter-spacing:.02em;color:var(--champan)}
.foot-h-gap{margin-top:30px}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.foot a{color:var(--sobre-oscuro-2);text-decoration:none;transition:color .2s ease}
.foot a:hover{color:var(--champan)}
.fine{font-size:.88rem;line-height:1.6;color:var(--sobre-oscuro-3)}
.fine a{color:var(--sobre-oscuro-2)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;margin-top:clamp(40px, 5vw, 64px);padding-top:22px;border-top:1px solid rgba(227,205,156,.16);font-size:.85rem;color:var(--sobre-oscuro-3)}
.foot-disc{max-width:80ch}

/* ---------- páginas interiores (legales y 404) ---------- */
.page-hero{background:var(--lino-2);border-bottom:1px solid var(--hilo);padding-block:clamp(56px, 7vw, 112px) clamp(40px, 4.5vw, 64px)}
.page-hero .wrap{display:flex;flex-direction:column;gap:18px}
.page-hero .inner{max-width:46rem;display:flex;flex-direction:column;gap:18px}
.crumbs{font-size:.92rem;color:var(--piedra)}
.crumbs a{color:var(--noche);text-decoration:underline;text-decoration-color:var(--laton);text-underline-offset:4px}
.page-hero h1,.notfound h1{font-size:clamp(2.6rem, 1.6rem + 3vw, 4.4rem);line-height:1.04;letter-spacing:-.015em;color:var(--noche)}
.prose{display:flex;flex-direction:column;gap:clamp(34px, 4vw, 52px);max-width:46rem;min-width:0}
.prose section{display:flex;flex-direction:column;gap:12px}
.prose h2{font-size:clamp(1.7rem, 1.3rem + 1.2vw, 2.3rem)}
.prose p,.prose li{color:var(--piedra);max-width:40em}
.prose a{overflow-wrap:anywhere;color:var(--noche);text-decoration-color:var(--laton);text-underline-offset:3px}
.ph-tag{background:rgba(227,205,156,.55);color:var(--laton-texto);font-weight:500;padding:0 5px;border-radius:2px}
.note{font-size:.92rem;color:var(--piedra)}
.notfound{min-height:62vh;display:flex;align-items:center}
.notfound .inner{max-width:44rem;display:flex;flex-direction:column;gap:22px}
.notfound .code{font:500 clamp(5rem, 3rem + 8vw, 9rem)/1 var(--serif);color:var(--laton);letter-spacing:-.03em}

/* ---------- impresión ---------- */
@media print{
  .site-header,.hero::after,.seal,.menu-btn,.skip{display:none!important}
  main{padding-top:0!important}
  .bg-noche,.hero,.site-footer{background:#fff!important;color:#000!important}
  .bg-noche h2,.hero h1,.hero h1 .respuesta{color:#000!important}
}

/* =====================================================================
   Añadidos: el caso real (gráficos), los capítulos plegables y el sello
   ===================================================================== */

/* ---------- sello de la portada: el porcentaje en el centro ---------- */
.seal .frac{font-size:33px;letter-spacing:-.01em}
@media (max-width:520px){.seal{right:6px;top:-52px}}

/* ---------- capítulos plegables ---------- */
.ch-peek{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ch-peek li{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border:1px solid var(--hilo-2);border-radius:999px;
  font-size:.88rem;line-height:1.3;color:var(--tinta);background:rgba(253,251,247,.55)}
.ch-peek li i{width:7px;height:7px;flex:none;transform:rotate(45deg);background:var(--dc)}
.ch:not(.is-collapsed) .ch-peek{display:none}
.ch-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:48px;margin-top:4px;padding:0 22px;
  border:1px solid var(--noche);border-radius:3px;background:transparent;color:var(--noche);font:500 .97rem/1 var(--sans);cursor:pointer;
  transition:background-color .25s ease, color .25s ease}
.ch-toggle:hover{background:var(--noche);color:var(--lino)}
.ch-toggle .ic{width:16px;height:16px;stroke-width:1.8;transition:transform .3s ease}
.ch.is-open .ch-toggle .ic{transform:rotate(180deg)}
.ch.is-collapsed{padding-block:clamp(52px, 5vw, 84px)}
.ch.is-collapsed .ch-head{margin-bottom:0}
@media (prefers-reduced-motion:no-preference){.ch.is-open .ch-body{animation:aparece .5s ease both}}

/* ---------- un caso real ---------- */
.caso .head{max-width:54rem}
.caso-kicker{font:500 .95rem/1.3 var(--sans);letter-spacing:.02em;color:var(--champan)}
.caso h2 em{font-style:italic;color:var(--laton-claro)}
.cz-panel{min-width:0;background:rgba(255,255,255,.035);border:1px solid rgba(227,205,156,.16);border-radius:6px;padding:clamp(18px, 2.2vw, 26px)}
.cz-big{margin:0}
.cz-bighead{display:flex;justify-content:space-between;align-items:center;gap:14px 22px;flex-wrap:wrap;margin-bottom:12px}
.bg-noche .cz-h{font:500 clamp(1.45rem, 1.2rem + .8vw, 1.85rem)/1.15 var(--serif);color:var(--sobre-oscuro)}
.cz-chips{display:flex;flex-wrap:wrap;gap:8px}
.cz-chip{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:6px 13px;border-radius:999px;border:1px solid rgba(227,205,156,.22);
  background:transparent;color:var(--sobre-oscuro-2);font:500 .86rem/1 var(--sans);cursor:pointer;transition:border-color .2s ease, background-color .2s ease, color .2s ease}
.cz-chip i{width:16px;height:3px;border-radius:2px;flex:none}
.cz-chip b{font-weight:600;color:var(--sobre-oscuro);font-variant-numeric:tabular-nums}
.cz-chip:hover{border-color:rgba(227,205,156,.5)}
.cz-chip[aria-pressed="true"]{border-color:var(--laton);background:rgba(185,134,48,.16);color:var(--sobre-oscuro)}
.cz-plot{position:relative}
.cz-chart{position:relative;border-radius:4px}
.cz-chart svg{display:block;width:100%;height:auto;overflow:visible}
.cz-chart:focus-visible{outline:2px solid var(--laton);outline-offset:6px}
.cz-ax{font:400 11px var(--sans);fill:var(--sobre-oscuro-3)}
.cz-band{font:500 10.5px var(--sans);fill:var(--champan);letter-spacing:.03em}
.cz-bandr{fill:rgba(216,190,133,.075)}
.cz-grid{stroke:rgba(243,237,226,.07)}
.cz-base{stroke:rgba(243,237,226,.22)}
.cz-lead{stroke:rgba(243,237,226,.35);fill:none}
.cz-ring{stroke:var(--noche);stroke-width:2}
.cz-endl{font:400 13.5px var(--sans);fill:var(--sobre-oscuro-2)}
.cz-endl .cz-v{font-weight:600;fill:var(--sobre-oscuro)}
.cz-endl.is-hero{font-weight:600;fill:var(--sobre-oscuro)}
.cz-note{font:400 12px var(--sans);fill:var(--champan)}
.cz-gap{font:400 11px var(--sans);fill:var(--sobre-oscuro-3)}
.cz-cross{stroke:rgba(243,237,226,.38);stroke-width:1}
.cz-chart .is-dim{opacity:.55}
.cz-tip{position:absolute;z-index:3;top:18px;left:0;min-width:210px;max-width:250px;padding:12px 14px;border-radius:6px;pointer-events:none;
  background:rgba(10,20,34,.96);border:1px solid rgba(227,205,156,.3);box-shadow:0 18px 40px -18px rgba(0,0,0,.85);font-size:.85rem;line-height:1.35;color:var(--sobre-oscuro-2)}
.cz-tip .t{display:block;font-weight:600;color:var(--sobre-oscuro);margin-bottom:8px}
.cz-tip ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.cz-tip li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center}
.cz-tip li i{width:9px;height:9px;border-radius:2px}
.cz-tip li b{color:var(--sobre-oscuro);font-weight:600;font-variant-numeric:tabular-nums}
.cz-tip li.is-hero span{color:var(--sobre-oscuro);font-weight:500}
.cz-tip .nn{display:block;margin-top:8px;font-size:.76rem;color:var(--sobre-oscuro-3)}
.cz-cap{margin-top:12px;font-size:.86rem;color:var(--sobre-oscuro-3)}
.cz-tabla{margin-top:8px}
.cz-tabla summary{display:inline-flex;align-items:center;gap:8px;padding:8px 0;cursor:pointer;list-style:none;font:500 .92rem var(--sans);color:var(--champan)}
.cz-tabla summary::-webkit-details-marker{display:none}
.cz-tabla summary::before{content:"+";display:inline-flex;justify-content:center;width:18px;height:18px;line-height:17px;border:1px solid rgba(227,205,156,.45);border-radius:3px;font-size:.9rem}
.cz-tabla[open] summary::before{content:"−"}
.cz-scroll{overflow-x:auto;margin-top:6px;-webkit-overflow-scrolling:touch}
.cz-tabla table{width:100%;min-width:640px;border-collapse:collapse;font-size:.84rem;color:var(--sobre-oscuro-2);font-variant-numeric:tabular-nums}
.cz-tabla th,.cz-tabla td{padding:7px 10px;border-bottom:1px solid rgba(227,205,156,.12);text-align:right;white-space:nowrap}
.cz-tabla th:first-child{text-align:left}
.cz-tabla thead th{color:var(--sobre-oscuro);font-weight:500;font-size:.8rem}
.cz-tabla tbody th{font-weight:400;color:var(--sobre-oscuro-2)}
.cz-row{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:14px;margin:14px 0}
@media (max-width:1000px){.cz-row{grid-template-columns:1fr 1fr}.cz-lost{grid-column:1 / -1}}
@media (max-width:600px){.cz-row{grid-template-columns:1fr}}
.cz-kpi,.cz-lost{display:flex;flex-direction:column}
.bg-noche .cz-lab{font:500 .92rem/1.35 var(--sans);letter-spacing:.01em;color:var(--sobre-oscuro-2)}
.cz-big-n{margin-top:10px;font:600 clamp(2.8rem, 2.2rem + 1.8vw, 3.8rem)/1 var(--sans);letter-spacing:-.01em;color:var(--sobre-oscuro)}
.cz-big-n small{margin-left:6px;font:500 1rem var(--sans);color:var(--sobre-oscuro-3)}
.cz-star{font-size:.72em;color:var(--laton-claro)}
.cz-delta{margin-top:7px;font:500 .9rem/1.3 var(--sans)}
.cz-delta.up{color:#8FD3B0}
.cz-delta.flat{color:var(--sobre-oscuro-2)}
.cz-delta.down{color:#E9A08C}
.cz-mini{margin-top:auto;padding-top:16px}
.cz-mini svg{display:block;width:100%;height:auto}
.cz-say{margin:8px 0 14px;font:500 italic 1.32rem/1.25 var(--serif);color:var(--champan)}
.cz-bar{display:flex;gap:2px;height:16px;margin-bottom:12px;border-radius:4px;overflow:hidden}
.cz-leg{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cz-leg li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:.88rem;color:var(--sobre-oscuro-2)}
.cz-leg li i{width:9px;height:9px;border-radius:2px}
.cz-leg li:first-child span{color:var(--sobre-oscuro);font-weight:500}
.cz-leg b{color:var(--sobre-oscuro);font-weight:600;font-variant-numeric:tabular-nums}
.cz-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media (max-width:1100px){.cz-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.cz-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:340px){.cz-tiles{grid-template-columns:1fr}}
@media (max-width:520px){.cz-chip{min-height:34px;padding:5px 10px;font-size:.8rem;gap:7px}.cz-chip i{width:12px}.cz-tile{padding:14px 13px 12px}.cz-val b{font-size:1.9rem}}
.cz-tile{position:relative;display:flex;flex-direction:column;min-width:0;padding:16px 16px 14px;border-radius:6px;background:rgba(255,255,255,.03);border:1px solid rgba(227,205,156,.14)}
.cz-tile header{display:flex;gap:10px;align-items:flex-start;min-height:2.7rem}
.cz-tile header i{width:9px;height:9px;flex:none;margin-top:.55rem;transform:rotate(45deg)}
.bg-noche .cz-tile h4{font:600 1.22rem/1.1 var(--serif);color:var(--sobre-oscuro)}
.cz-tile small{display:block;margin-top:3px;font-size:.74rem;color:var(--sobre-oscuro-3)}
.cz-val{margin-top:10px}
.cz-val b{font:600 2.5rem/1 var(--sans);color:var(--sobre-oscuro)}
.cz-val span{margin-left:3px;font:500 .85rem var(--sans);color:var(--sobre-oscuro-3)}
.cz-q{margin-top:8px;font:500 .82rem/1.35 var(--sans);color:var(--champan)}
.cz-peso{display:flex;flex-direction:column;gap:2px;margin-top:auto;padding-top:14px;font-size:.78rem;line-height:1.4;color:var(--sobre-oscuro-2)}
.cz-peso b{color:var(--sobre-oscuro);font-weight:600}
.cz-track{display:block;height:4px;margin-top:7px;border-radius:2px;overflow:hidden;background:rgba(243,237,226,.1)}
.cz-track span{display:block;height:100%}
.cz-tile.is-prio{border:1.5px solid #B98630;background:linear-gradient(180deg, rgba(185,134,48,.16), rgba(185,134,48,.03));
  box-shadow:0 0 0 4px rgba(185,134,48,.1), 0 18px 40px -20px rgba(185,134,48,.55)}
.cz-flag{position:absolute;top:-10px;right:12px;padding:5px 8px;border-radius:3px;background:#B98630;color:var(--noche);font:600 .66rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.cz-nd{margin-top:10px;font:500 .95rem var(--sans);color:var(--sobre-oscuro-2)}
.cz-ndp{margin-top:6px;font-size:.8rem;line-height:1.45;color:var(--sobre-oscuro-3)}
.cz-calc{margin:6px 0 14px;max-width:62rem;font-size:.86rem;line-height:1.6;color:var(--sobre-oscuro-2)}
.cz-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;margin-top:clamp(32px, 3.5vw, 44px);padding-top:clamp(28px, 3vw, 36px);border-top:1px solid var(--linea-oscura)}
.cz-cta-t{font:italic 500 clamp(1.6rem, 1.3rem + 1vw, 2.1rem)/1.15 var(--serif);color:var(--champan)}
/* el dibujo de las líneas, una vez, al aparecer */
.cz-chart.is-drawing .cz-line{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:czTraza 1.1s cubic-bezier(.3,.7,.3,1) forwards}
.cz-chart.is-drawing .cz-fade{opacity:0;animation:czAparece .4s .75s ease forwards}
@keyframes czTraza{to{stroke-dashoffset:0}}
@keyframes czAparece{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.cz-chart.is-drawing .cz-line{stroke-dashoffset:0}.cz-chart.is-drawing .cz-fade{opacity:1}}
@media print{.cz-chips,.cz-tip{display:none!important}.ch-body[hidden]{display:block!important}}

/* =====================================================================
   RbQUAL · propuesta v2: lo que se toma de la versión de Lovable
   Foto en la portada, entrada escalonada, tarjeta que flota, cinta en
   movimiento, cifras que cuentan y tarjetas que responden al ratón.
   Todo se queda quieto con «reducir movimiento».
   ===================================================================== */

/* ---------- portada con foto (generada por IA, sin nombres ni rótulos) ---------- */
.hero-foto{position:absolute;inset:0;z-index:-3;overflow:hidden;background:var(--noche)}
.hero-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;transform-origin:72% 45%}
.hero--foto::before{background:
   linear-gradient(90deg, rgba(10,20,34,.95) 0%, rgba(11,22,37,.88) 36%, rgba(13,25,42,.66) 62%, rgba(15,28,46,.58) 100%),
   linear-gradient(180deg, rgba(10,20,34,.55) 0%, rgba(10,20,34,0) 22%, rgba(15,28,46,0) 70%, rgba(15,28,46,.94) 100%)}
.hero--foto::after{display:none}
@media (max-width:1079px){
  .hero-foto{bottom:auto;height:min(100%, 1000px)}
  .hero-foto::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(180deg, rgba(15,28,46,0), var(--noche))}
  .hero--foto::before{background:linear-gradient(180deg, rgba(10,20,34,.8) 0%, rgba(12,23,38,.84) 50%, rgba(15,28,46,.9) 75%, var(--noche) 100%)}
}

/* ---------- entrada escalonada del texto, foto que se asienta y tarjeta que flota ---------- */
@media (prefers-reduced-motion:no-preference){
  .hero-copy > *{animation:sube .6s cubic-bezier(.2,.7,.2,1) both}
  .hero-copy > :nth-child(2){animation-delay:.08s}
  .hero-copy > :nth-child(3){animation-delay:.16s}
  .hero-copy > :nth-child(4){animation-delay:.24s}
  .hero-copy > :nth-child(5){animation-delay:.32s}
  .hero-foto img{animation:asienta 14s cubic-bezier(.2,.6,.3,1) both}
  .spec-card{animation:sube .55s .05s cubic-bezier(.2,.7,.2,1) both, flota 7s 1.6s ease-in-out 3}
}
@keyframes asienta{from{transform:scale(1.07)}to{transform:none}}
@keyframes flota{0%,100%{transform:none}50%{transform:translateY(-7px)}}

/* ---------- cinta: lo que dicen los huéspedes y la casilla en la que cae ---------- */
.cinta{padding-block:22px 20px;border-bottom:1px solid var(--hilo)}
.cinta-cab{display:flex;align-items:center;justify-content:center;gap:10px 18px;flex-wrap:wrap;margin-bottom:14px}
.cinta-t{font:500 .78rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--laton-texto);text-align:center}
.cinta-pausa{min-height:30px;padding:0 12px;border:1px solid var(--hilo-2);border-radius:999px;background:transparent;color:var(--piedra);
  font:500 .78rem/1 var(--sans);letter-spacing:.02em;cursor:pointer;transition:background-color .2s ease, color .2s ease}
.cinta-pausa:hover{background:var(--noche);border-color:var(--noche);color:var(--lino)}
.cinta-vp{overflow:hidden;-webkit-mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent)}
.cinta-pista{display:flex;width:max-content}
.cinta-l{display:flex;gap:46px;margin:0;padding:0 46px 0 0;list-style:none}
.cinta-l li{display:flex;align-items:baseline;gap:14px;white-space:nowrap}
.cinta-l i{font:italic 500 1.36rem/1.25 var(--serif);color:var(--noche)}
.cinta-l span{display:inline-flex;align-items:center;gap:8px;font:500 .84rem/1.2 var(--sans);color:var(--piedra)}
.cinta-l span::before{content:"";width:7px;height:7px;flex:none;transform:rotate(45deg);background:var(--dc)}
@media (prefers-reduced-motion:no-preference){
  .cinta-pista{animation:cinta 70s linear infinite}
  .cinta:hover .cinta-pista,.cinta:focus-within .cinta-pista,.cinta.is-paused .cinta-pista{animation-play-state:paused}
}
@media (prefers-reduced-motion:reduce){
  .cinta-vp{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .cinta-l[aria-hidden="true"]{display:none}
}
@keyframes cinta{to{transform:translateX(-50%)}}
@media (max-width:600px){.cinta-l i{font-size:1.2rem}.cinta-l{gap:34px;padding-right:34px}}

/* ---------- cifras que cuentan (en reposo muestran la cifra final) ---------- */
.num{display:inline-block;font-variant-numeric:tabular-nums}
.cred-nums b{font-variant-numeric:tabular-nums lining-nums}

/* ---------- ciclo de cuatro pasos ---------- */
.flujo ol{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1180px){.flujo{grid-template-columns:1fr}.flujo ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.flujo ol{grid-template-columns:1fr}}

/* ---------- tarjetas y botones que responden al ratón ---------- */
.btn{transition:background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease}
.hecho::before{transition:width .5s cubic-bezier(.2,.7,.2,1)}
.hecho-fig{transition:color .35s ease}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .btn:hover{transform:translateY(-1px)}
  .hecho:hover::before{width:100%}
  .hecho:hover .hecho-fig{color:var(--laton-texto)}
  .offer,.cz-tile,.dx-panel{transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .35s ease}
  .offer:hover{transform:translateY(-5px);box-shadow:0 2px 4px rgba(15,28,46,.06), 0 34px 54px -30px rgba(15,28,46,.45)}
  .cz-tile:hover{transform:translateY(-4px);border-color:rgba(227,205,156,.34)}
}

/* ---------- página del método ---------- */
.metodo-top .head{gap:18px}
.metodo-top h1{font-size:clamp(2.4rem, 1.6rem + 2.6vw, 3.8rem);line-height:1.06;letter-spacing:-.012em;color:var(--sobre-oscuro)}
.cierre{padding-block:clamp(60px, 6vw, 96px)}
.cierre-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px 48px}
.cierre h2{font-size:clamp(2rem, 1.4rem + 1.8vw, 2.9rem);max-width:22ch}

/* ---------- página de contacto ---------- */
.contact h1{font-size:clamp(2.3rem, 1.5rem + 2.4vw, 3.5rem);line-height:1.08;letter-spacing:-.012em;color:var(--sobre-oscuro)}

/* ---------- la página en la que se está, marcada en el menú ---------- */
.nav-list a[aria-current="page"]::after{transform:scaleX(1)}
@media (max-width:1079px){.nav-list a[aria-current="page"]{color:var(--champan)}}

/* ---------- contacto: las columnas pueden estrecharse (un desplegable largo no ensancha la página) ---------- */
.contact > *{min-width:0}
.field select{text-overflow:ellipsis}

/* ---------- pantallas muy estrechas: los botones largos pueden partirse en dos líneas ---------- */
.form-end{min-width:0}
@media (max-width:420px){.btn{white-space:normal;line-height:1.25;padding-block:12px}}
