
@font-face{font-family:"Cormorant";src:url(/estatico/fuentes/cormorant-garamond-latin-wght-normal.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Cormorant";src:url(/estatico/fuentes/cormorant-garamond-latin-wght-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url(/estatico/fuentes/jost-latin-wght-normal.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Pinyon";src:url(/estatico/fuentes/pinyon-script-latin-400-normal.woff2) format("woff2");font-display:swap}
:root{
  --negro:#0d0c0a;--negro-2:#1b1812;--oro:#d5b830;--oro-hondo:#7a6512;--marfil:#f3ecd7;--marfil-2:#e9dfc2;
  --nota:#c9c1a8;--tinta:#1a1712;--gris:#4f4734;--turquesa:#2f7f86;--turquesa-hondo:#1f5f65;
  --serif:"Cormorant",Georgia,serif;--sans:"Jost",system-ui,sans-serif;--firma:"Pinyon","Cormorant",cursive;
  --borde:clamp(16px,5vw,72px);
}
*{box-sizing:border-box;margin:0}
html{background:var(--negro);color:var(--marfil);font:400 18px/1.55 var(--sans);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--negro)}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px}
.claro :focus-visible{outline-color:var(--oro-hondo)}
.saltar{position:absolute;left:8px;top:-60px;background:var(--oro);color:var(--negro);padding:10px 16px;z-index:9}
.saltar:focus{top:8px}
h2{font:500 clamp(2.5rem,5.4vw,4.6rem)/.95 var(--serif);letter-spacing:-.02em}
h2 em{font-style:italic;color:var(--oro)}
.claro h2 em{color:var(--oro-hondo)}
h3{font:500 1.7rem/1.05 var(--serif);letter-spacing:-.01em}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:999px;font:500 1rem/1 var(--sans);text-decoration:none;border:0;cursor:pointer;transition:background-color .2s,color .2s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn-oro{background:var(--oro);color:var(--negro)}
.btn-oro:hover{background:#e6cb45}
.btn-negro{background:var(--negro);color:var(--oro)}
.btn-negro:hover{background:#2a2518}
.btn-linea{background:transparent;color:var(--marfil);box-shadow:inset 0 0 0 1.5px var(--nota)}
.btn-linea:hover{color:var(--oro);box-shadow:inset 0 0 0 1.5px var(--oro)}
.claro{background:var(--marfil);color:var(--tinta)}
.seccion{padding:clamp(80px,10vw,168px) var(--borde)}
.dentro{max-width:1240px;margin:0 auto}
.entrada{font-size:1.15rem;max-width:40ch;margin-top:20px}

/* Cabecera */
.cab{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:24px;padding:12px var(--borde);background:var(--negro)}
.cab .marca{display:flex;align-items:center;gap:12px;text-decoration:none;min-height:44px}
.cab .marca img{width:48px}
.cab .marca span{font:500 1.05rem/1.1 var(--serif)}
.cab nav{margin-left:auto;display:flex;gap:28px;align-items:center}
.cab nav a:not(.btn){text-decoration:none;font-size:.95rem;padding:10px 0}
.cab nav a:not(.btn):hover{color:var(--oro)}

/* Portada */
.portada{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,80px);align-items:end;padding:clamp(32px,5vw,72px) var(--borde) clamp(64px,8vw,120px);max-width:1440px;margin:0 auto}
.portada h1{font:500 clamp(2.9rem,5.6vw,5.8rem)/.95 var(--serif);letter-spacing:-.03em}
.portada h1 em{font-style:italic;color:var(--oro)}
.portada h1 .etq{display:block;font:500 .95rem/1.2 var(--sans);letter-spacing:.02em;color:var(--oro);margin-bottom:18px}
.portada .frase{margin-top:28px;font-size:1.2rem;max-width:36ch}
.portada .acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hoy{margin-top:36px;display:flex;gap:14px;align-items:center;font-size:.95rem;color:var(--nota)}
.hoy b{color:var(--marfil);font-weight:500}
.portada figure{position:relative}
.portada figure img.foto{width:100%;aspect-ratio:4/5;object-fit:cover}
.portada figcaption{font-size:.85rem;color:var(--nota);margin-top:12px;text-align:right}

/* Servicios */
.servicios .rejilla{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,120px);align-items:start}
.carta{display:grid;gap:0}
.carta .fila{display:grid;grid-template-columns:1fr auto;gap:8px 24px;padding:22px 0;border-bottom:1.5px solid var(--marfil-2)}
.carta .fila:first-child{padding-top:0}
.carta .nombre{font:500 1.6rem/1.1 var(--serif)}
.carta .precio{font:500 1.6rem/1.1 var(--serif);color:var(--oro-hondo);white-space:nowrap}
.carta .precio small{font:400 .9rem var(--sans);color:var(--gris)}
.carta .desc{grid-column:1/-1;color:var(--gris);font-size:1rem}
.suple{margin-top:36px}
.suple h3{margin-bottom:12px}
.suple ul{list-style:none;padding:0;columns:2;column-gap:32px}
.suple li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;break-inside:avoid;font-size:1rem}
.suple li span:last-child{color:var(--oro-hondo);font-weight:500;white-space:nowrap}

/* Suscripción */
.suscripcion{background:var(--negro)}
.susc-cab{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,120px);align-items:end}
.normas{list-style:none;padding:0;display:grid;gap:14px;font-size:1.05rem}
.normas li{padding-left:28px;position:relative}
.normas li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border-radius:50%;background:var(--oro)}
.calc{margin-top:clamp(48px,6vw,88px);display:grid;grid-template-columns:.8fr 1.2fr;gap:0;background:var(--negro-2)}
.calc .elige{padding:clamp(24px,4vw,48px)}
.calc fieldset{border:0;padding:0;margin:0 0 26px}
.calc legend{font-size:.95rem;color:var(--nota);margin-bottom:10px}
.opciones{display:flex;flex-wrap:wrap;gap:8px}
.opciones label{position:relative}
.opciones input{position:absolute;opacity:0;inset:0}
.opciones span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;box-shadow:inset 0 0 0 1.5px #5b543f;cursor:pointer;color:var(--marfil)}
.opciones input:checked+span{background:var(--oro);color:var(--negro);box-shadow:none}
.opciones input:focus-visible+span{outline:2px solid var(--oro);outline-offset:3px}
.planes{display:grid;grid-template-columns:1fr 1fr}
.plan{padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;gap:12px}
.plan.lux{background:var(--marfil);color:var(--tinta)}
.plan h3{font-size:2rem}
.plan .cifra{font:500 clamp(3.4rem,6vw,5.2rem)/.9 var(--serif);letter-spacing:-.03em}
.plan .cifra small{font:400 1rem var(--sans)}
.plan.lux .cifra{color:var(--oro-hondo)}
.plan .familia{font-size:.95rem;color:var(--nota)}
.plan.lux .familia{color:var(--gris)}
.plan ul{padding-left:18px;font-size:1rem}
.tabla-completa{margin-top:28px;font-size:.95rem;color:var(--nota)}
.tabla-completa summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.tabla-completa table{border-collapse:collapse;width:100%;max-width:720px;margin-top:8px}
.tabla-completa th,.tabla-completa td{text-align:left;padding:8px 10px;border-bottom:1px solid #3a3424}
.tabla-completa td:nth-child(n+3){text-align:right}

/* Trabajos */
.trabajos .tira{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:12px;margin-top:48px}
.trabajos .tira img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.trabajos .tira img:first-child{grid-row:span 2;aspect-ratio:auto}
.trabajos .pie-foto{margin-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--gris)}

/* Cómo trabaja */
.local{background:var(--turquesa);color:#fff}
.local .rejilla{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,6vw,110px);align-items:center}
.local h2 em{color:#fff}
.local .puntos{display:grid;gap:28px;margin-top:36px}
.local .puntos h3{font-size:1.9rem;margin-bottom:6px}
.local .puntos p{max-width:44ch}
.local .pend{display:inline-block;background:var(--turquesa-hondo);padding:2px 8px;font-size:.85rem;margin-top:6px}
.local figure img{width:100%;aspect-ratio:4/5;object-fit:cover}

/* Cita */
.cita .rejilla{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(32px,6vw,110px);align-items:start}
.tarjeta{position:relative;background:var(--marfil);color:var(--tinta);padding:clamp(24px,4.5vw,64px);min-height:560px;}
.cita.claro .tarjeta{background:#fbf7ea}
.tarjeta .paso .pregunta{font-size:2rem}
.tarjeta .para{font-size:3rem}
.tarjeta::before{content:"";position:absolute;inset:10px;border:1.5px solid var(--oro-hondo);pointer-events:none}
.tarjeta .tcab{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.tarjeta .tcab img{width:84px;filter:brightness(.42) sepia(1) saturate(2.4)}
.tarjeta .para{font:400 2.4rem/1.1 var(--firma);color:#5c4a08;min-height:1.2em}
.paso{display:none}
.paso.activo{display:block}
.paso .pregunta{font:500 1.5rem/1.15 var(--serif);margin-bottom:14px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{min-height:44px;padding:0 18px;border-radius:999px;border:0;background:var(--marfil-2);color:var(--tinta);font:500 .98rem var(--sans);cursor:pointer}
.chips button:hover,.chips button[aria-pressed="true"]{background:var(--negro);color:var(--oro)}
.campo{display:grid;gap:4px;margin-bottom:14px}
.campo label{font-size:.9rem;color:var(--gris)}
.campo input{min-height:48px;border:0;border-bottom:1.5px dotted #8a7d5c;background:transparent;font:400 1.15rem var(--sans);color:var(--tinta);padding:4px 2px}
.campo input:focus-visible{outline:2px solid var(--oro-hondo);outline-offset:4px}
.dias{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px}
.dias button{min-height:64px;border:0;background:var(--marfil-2);font:500 .9rem/1.2 var(--sans);cursor:pointer;color:var(--tinta)}
.dias button b{display:block;font:500 1.5rem/1 var(--serif)}
.dias button[aria-pressed="true"]{background:var(--negro);color:var(--oro)}
.dias button:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.resumen{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:1rem;margin-bottom:16px}
.resumen dt{color:var(--gris)}
.rgpd{font-size:.82rem;color:var(--gris);margin-top:14px}
.atras{background:none;border:0;color:var(--gris);text-decoration:underline;cursor:pointer;min-height:44px;font:inherit;font-size:.95rem}
.lado p+p{margin-top:14px}
.aviso-norma{margin-top:40px;background:var(--marfil-2);padding:28px}
.aviso-norma blockquote{font:italic 500 1.5rem/1.25 var(--serif);margin-top:10px}

/* Opiniones + vecinos + dónde */
.tres{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(24px,4vw,64px)}
.tres h3{color:var(--oro);font-size:2rem;margin-bottom:12px}
.tres .grande{font:500 4.6rem/.9 var(--serif);color:var(--oro)}
.tres p+p{margin-top:10px}
.tres a.enlace{display:inline-flex;min-height:44px;align-items:center;text-underline-offset:4px;text-decoration-color:var(--oro)}
.horario{width:100%;border-collapse:collapse;font-size:1rem}
.horario td{padding:6px 0;border-bottom:1px solid #2c281d}
.horario td:last-child{text-align:right}
.pendiente{display:inline-block;background:#3a3424;padding:2px 8px;font-size:.85rem}

.pie{padding:56px var(--borde);display:flex;flex-wrap:wrap;gap:16px 40px;align-items:center;font-size:.92rem;color:var(--nota);border-top:1px solid #2c281d}
.pie .firma{font:400 2.2rem/1 var(--firma);color:var(--oro);margin-right:auto}
.pie a{color:var(--nota);text-underline-offset:4px;padding:12px 0}

@media (max-width:900px){
  .cab nav a:not(.btn){display:none}
  .portada,.servicios .rejilla,.susc-cab,.calc,.local .rejilla,.cita .rejilla,.tres{grid-template-columns:1fr}
  .portada figure{order:-1}
  .planes{grid-template-columns:1fr}
  .trabajos .tira{grid-template-columns:1fr 1fr}
  .trabajos .tira img:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:4/5}
  .suple ul{columns:1}
}
@media (max-width:480px){
  .cab .marca span{display:none}
  .portada h1{font-size:2.3rem}
  .portada .acciones .btn{flex:1 1 100%}
  .dias{grid-template-columns:repeat(3,1fr)}
  .tabla-completa table{font-size:.8rem}
  .tabla-completa th,.tabla-completa td{padding:6px 3px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Reserva real */
.nota-calc{font-size:.9rem;color:var(--nota)}
.dias button small{display:block;font-size:.75rem}
.error{color:#8f1d12;font-size:.9rem;margin-top:4px}
.campo.mal input{border-bottom-color:#8f1d12}
.casilla{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;margin:10px 0;min-height:44px}
.casilla input{width:22px;height:22px;margin-top:2px;accent-color:var(--negro)}
.aviso{background:var(--marfil-2);padding:14px 16px;margin:10px 0;font-size:.95rem}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sin-js{background:var(--marfil-2);padding:16px;margin-top:12px}
.tabla-desliza{overflow-x:auto}
.mas{margin-top:10px}
/* Páginas sencillas: Mi cita y legales */
.pagina{max-width:760px;margin:0 auto;padding:clamp(48px,8vw,120px) var(--borde)}
.pagina h1{font:500 clamp(2.4rem,5vw,3.8rem)/1 var(--serif);letter-spacing:-.02em;margin-bottom:24px}
.pagina h2{font-size:2rem;margin:36px 0 10px}
.pagina p,.pagina li{max-width:65ch}
.pagina p+p{margin-top:12px}
.pagina ul{padding-left:20px}
.ficha-cita{background:var(--marfil);color:var(--tinta);padding:28px;margin:24px 0;position:relative}
.ficha-cita::before{content:"";position:absolute;inset:8px;border:1.5px solid var(--oro-hondo);pointer-events:none}
.ficha-cita .para{font:400 2.6rem/1.1 var(--firma);color:#5c4a08}
.ficha-cita dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin-top:10px}
.ficha-cita dt{color:var(--gris)}
.estado{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--oro);color:var(--negro);font-weight:500;font-size:.9rem}
.acciones-cita{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.acciones-cita form{display:inline}
.cambio{margin-top:28px}
.cambio select{min-height:48px;font:inherit;padding:0 10px;margin-right:8px}
.rot-para{font-size:.9rem;color:var(--gris)}
.portada .lema{margin-top:14px;font:500 1.2rem/1.3 var(--serif);letter-spacing:.02em;color:var(--nota)}
