
@font-face{font-family:"Caslon JM";src:url(/assets/fonts/libre-caslon-text-latin-400-normal.woff2?v=6564df5c) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Caslon JM";src:url(/assets/fonts/libre-caslon-text-latin-700-normal.woff2?v=882609d7) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans JM";src:url(/assets/fonts/public-sans-latin-wght-normal.woff2?v=e4c9b081) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Allura JM";src:url(/assets/fonts/allura-latin-400-normal.woff2?v=9ff52664) format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{
  --fondo:#FAF8F4;--blanco:#FFFFFF;--grafito:#2B2A29;--grafito-2:#3E3C3A;--tinta:#2B2A29;--texto-2:#5F5A53;
  --bronce:#8A5A22;--oro:#E0BE6A;--oro-claro:#F6E18A;--oro-osc:#B78744;--linea:#E7E2D9;--campo:#8C877D;
  --dorado:linear-gradient(100deg,#976228 0%,#B78744 22%,#E0BE6A 48%,#F6E18A 62%,#E0BE6A 76%,#B78744 100%);
  --dorado-texto:linear-gradient(100deg,#7E5220 0%,#9E6C2E 45%,#B07E3C 60%,#7E5220 100%);
  --serif:"Caslon JM","Libre Caslon Text",Georgia,"Times New Roman",serif;
  --sans:"Public Sans JM","Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --script:"Allura JM","Allura","Brush Script MT",cursive;
  --ancho:74rem;--radio:16px
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--fondo);color:var(--tinta);font-family:var(--sans);font-size:1.0625rem;line-height:1.6}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0;text-wrap:balance}
h1{font-size:clamp(2.4rem,1.3rem + 3.6vw,4rem);letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,1.4rem + 1.6vw,2.7rem)}
h3{font-size:1.2rem}
p{margin:0 0 1rem;max-width:65ch}
a{color:var(--tinta);text-decoration-color:var(--oro-osc);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--bronce);outline-offset:3px}
::selection{background:#F3E3B5;color:var(--tinta)}
.sr{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:1rem;top:-4rem;background:var(--blanco);color:var(--tinta);padding:.6rem 1rem;z-index:20}
.skip:focus{top:1rem}
.wrap{max-width:var(--ancho);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.pendiente{background:#FFF0B3;box-shadow:0 0 0 1px #C9A227;padding:0 .3em;border-radius:2px}
.num{font-variant-numeric:tabular-nums}
.ico{width:1.6rem;height:1.6rem}
.circulo{display:inline-grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--grafito);color:var(--oro);flex:none;box-shadow:inset 0 0 0 4px var(--grafito),inset 0 0 0 5px var(--oro-osc)}

/* cabecera */
.cab{background:var(--grafito);color:#fff;border-bottom:2px solid transparent;border-image:var(--dorado) 1}
.cab-in{display:flex;align-items:center;gap:2rem;min-height:5.25rem}
.marca{display:flex;align-items:center;gap:.8rem;color:#fff;text-decoration:none}
.marca img{width:3.6rem;height:3.6rem}
.marca-txt{font-weight:800;font-size:1.05rem;line-height:1.05;letter-spacing:.03em;text-transform:uppercase}
.nav{display:flex;gap:1.75rem;margin-left:auto}
.nav a{color:#D9D4CB;text-decoration:none}
.nav a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--oro)}
.cab :focus-visible,.pie :focus-visible,.barra-movil :focus-visible{outline-color:var(--oro)}
@media (max-width:860px){.nav{display:none}.cab-tel{margin-left:auto}}
@media (max-width:420px){.marca-txt{font-size:.9rem}.cab-tel{padding:.6rem .8rem}}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.4rem;border-radius:999px;border:1.5px solid var(--grafito);font:inherit;font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer}
.btn-pri{background:var(--grafito);color:#fff}
.btn-pri:hover{background:var(--grafito-2);border-color:var(--grafito-2)}
.btn-sec{background:transparent;color:var(--tinta)}
.btn-sec:hover{background:var(--blanco)}
.btn-claro{background:transparent;color:var(--oro-claro);border-color:var(--oro-osc)}
.btn-claro:hover{background:rgba(224,190,106,.12)}
.acciones{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}

/* portada */
.hero{padding-block:clamp(3rem,7vw,6rem) clamp(2.5rem,5vw,4.5rem)}
.hero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2.5rem,5vw,5rem);align-items:center}
@media (max-width:900px){.hero-in{grid-template-columns:1fr}}
.lema{font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bronce);margin-bottom:1.1rem}
.trazo{display:block;width:min(14rem,55%);height:auto;margin:1rem 0 1.4rem}
.lead{font-size:1.2rem;color:var(--texto-2);max-width:40ch}
.foto{margin:0}
.foto img{width:100%;border-radius:var(--radio);aspect-ratio:832/585;object-fit:cover}
.eslogan{margin:0 0 .6rem auto;max-width:none;text-align:right;font-family:var(--script);font-size:clamp(2.2rem,1.6rem + 1.8vw,3.1rem);line-height:1.1;padding-bottom:.1em;color:var(--bronce);background:var(--dorado-texto);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transform:rotate(-4deg);transform-origin:right bottom}
.miga{font-size:.95rem;color:var(--texto-2);margin-bottom:1.25rem}
.miga a{color:var(--texto-2)}

/* ventajas */
.franja{background:var(--blanco);border-block:1px solid var(--linea);padding-block:2rem}
.ventajas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem 2rem}
.ventajas li{display:flex;align-items:center;gap:1rem;font-weight:600;line-height:1.3}
@media (max-width:900px){.ventajas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.ventajas{grid-template-columns:1fr}}

/* secciones */
.sec{padding-block:clamp(3.5rem,7vw,6rem)}
.sec-blanca{background:var(--blanco);border-block:1px solid var(--linea)}
.sec h2{margin-bottom:.8rem}
.sec-intro{color:var(--texto-2);font-size:1.1rem;max-width:58ch;margin-bottom:2.25rem}

/* servicios */
.servicios-marco{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden}
.servicios{width:100%;border-collapse:collapse}
.servicios th,.servicios td{padding:1.1rem 1.5rem;text-align:left;vertical-align:top;border-top:1px solid var(--linea)}
.servicios thead th{font-size:.875rem;font-weight:600;color:var(--texto-2);border-top:0;background:#F3F0EA;padding-block:.75rem}
.servicios tbody th{font-family:var(--serif);font-weight:400;font-size:1.3rem;line-height:1.25;width:27%}
.servicios .mod{white-space:nowrap;color:var(--bronce);font-weight:600;font-variant-numeric:tabular-nums;width:1%}
.servicios thead .mod{color:var(--texto-2)}
@media (max-width:720px){
  .servicios thead{display:none}
  .servicios tr{display:block;padding:1.1rem 1.25rem;border-top:1px solid var(--linea)}
  .servicios tbody tr:first-child{border-top:0}
  .servicios th,.servicios td{display:block;padding:0;border:0;width:auto!important}
  .servicios td{margin-top:.3rem}
  .servicios .mod{white-space:normal;margin-top:.5rem;font-size:.95rem}
  .servicios .mod::before{content:"Se presenta: ";color:var(--texto-2);font-weight:400}
}

/* pasos */
.pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;counter-reset:paso}
.pasos li{counter-increment:paso;border-top:1px solid var(--linea);padding-top:1.25rem}
.pasos li::before{content:counter(paso);display:block;font-family:var(--serif);font-size:2.4rem;line-height:1.1;color:var(--bronce);background:var(--dorado-texto);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.6rem;width:max-content}
.pasos h3{margin-bottom:.5rem}
.pasos p{color:var(--texto-2);margin:0}
@media (max-width:900px){.pasos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.pasos{grid-template-columns:1fr}}

/* tarjetas: plazo, horario y zona */
.tarjetas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:start}
@media (max-width:820px){.tarjetas{grid-template-columns:1fr}}
.tarjeta{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);padding:1.75rem}
.tarjeta p{margin:0}
.tarjeta-t{font-family:var(--sans);font-size:.85rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-2)}
.plazo-fecha{font-family:var(--serif);font-size:clamp(2.1rem,1.6rem + 1.8vw,2.8rem);line-height:1.1;margin-top:.6rem!important}
.plazo-cuenta{font-weight:600;font-size:1.1rem;margin-top:.5rem!important;color:var(--bronce)}
.plazo-periodo{color:var(--texto-2)}
.filas{width:100%;border-collapse:collapse;margin-top:1.1rem;font-size:.975rem}
.filas th,.filas td{text-align:left;padding:.6rem 0;border-top:1px solid var(--linea);vertical-align:top}
.plazo .filas th{width:3.5rem;font-weight:700}
.plazo .filas td.fecha{text-align:right;white-space:nowrap;font-weight:600;color:var(--bronce);padding-left:1rem}
.nota-traslado{border-left:2px solid var(--oro-osc);padding-left:.75rem;color:var(--tinta)!important}
.horario .filas th{font-weight:400}
.horario .filas td{text-align:right;font-weight:700;white-space:nowrap}
.horario-cab{display:flex;align-items:center;gap:1rem}
.nota{font-size:.875rem;color:var(--texto-2);margin-top:1rem!important}

.zona-tarjeta h2{font-family:var(--serif);font-size:1.5rem;margin-bottom:1.1rem}
.lista-ico{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.lista-ico li{display:flex;gap:.9rem;align-items:flex-start;line-height:1.45}
.lista-ico .circulo{width:2.6rem;height:2.6rem}
.lista-ico .ico{width:1.3rem;height:1.3rem}

/* zonas */
.grupos{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:2rem 3rem}
@media (max-width:900px){.grupos{grid-template-columns:1fr}}
.grupo h3{font-family:var(--sans);font-size:.95rem;font-weight:600;color:var(--texto-2);margin-bottom:.8rem}
.zonas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.75rem}
.zonas a{display:block;background:var(--blanco);border:1px solid var(--linea);border-radius:12px;padding:.9rem 1.1rem;text-decoration:none;font-family:var(--serif);font-size:1.2rem;line-height:1.25}
.zonas a:hover{border-color:var(--oro-osc)}
.zonas small{display:block;font-family:var(--sans);font-size:.85rem;color:var(--texto-2);margin-top:.15rem}

/* quién */
.quien-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:2.5rem 4.5rem;align-items:center}
.quien-in > img{border-radius:var(--radio);width:100%;aspect-ratio:616/630;object-fit:cover}
.quien-firma{font-weight:600;margin:1.5rem 0 0}
.quien-firma+.quien-cargo{margin:0}
.quien-cargo{color:var(--texto-2)}
.quien-pie{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:.5rem}
.sello{display:block;width:7.5rem;flex:none}
.sello img{width:100%;height:auto}
.sello img,.pie-sello-img img{transition:transform .2s}
.sello:hover img,.pie-sello-img:hover img{transform:translateY(-2px)}
@media (max-width:860px){.quien-in{grid-template-columns:1fr}.quien-in > img{max-width:30rem}}

/* texto local de zona */
.local-in{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:2.5rem 4rem;align-items:start}
@media (max-width:900px){.local-in{grid-template-columns:1fr}}
.cercanas{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;list-style:none;padding:0;margin:.75rem 0 0}
.cercanas a{font-family:var(--serif);font-size:1.2rem}

/* contacto */
.contacto-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:2.5rem 4rem;align-items:start}
@media (max-width:900px){.contacto-in{grid-template-columns:1fr}}
.datos{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1.25rem;margin:0}
.datos dt{font-weight:600;color:var(--texto-2)}
.datos dd{margin:0}
.form{background:var(--fondo);border:1px solid var(--linea);border-radius:var(--radio);padding:1.75rem}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
@media (max-width:560px){.dos{grid-template-columns:1fr}}
.campo{margin-bottom:1rem}
.campo label{display:block;font-weight:600;font-size:.95rem;margin-bottom:.35rem}
.campo input,.campo textarea{width:100%;font:inherit;color:var(--tinta);background:#fff;padding:.75rem .9rem;border:1px solid var(--campo);border-radius:10px}
.campo textarea{resize:vertical}
.check{display:flex;gap:.65rem;align-items:flex-start;font-size:.95rem;margin:.25rem 0 1.25rem}
.check input{width:1.15rem;height:1.15rem;margin-top:.25rem;flex:none;accent-color:var(--grafito)}
.info-rgpd{font-size:.8125rem;color:var(--texto-2);margin:1.1rem 0 0}

/* textos legales */
.legal{padding-block:clamp(2.5rem,5vw,4rem)}
.legal .wrap{max-width:48rem}
.legal h1{font-size:clamp(2rem,1.5rem + 1.8vw,2.8rem);margin-bottom:1.5rem}
.legal h2{font-size:1.4rem;margin:2rem 0 .6rem}

/* pie */
.pie{background:var(--grafito);color:#D9D4CB;padding-block:3.5rem 3rem;font-size:.95rem}
.pie a{color:#fff;text-decoration-color:var(--oro)}
.pie-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,.8fr);gap:2.5rem 3rem}
@media (max-width:900px){.pie-in{grid-template-columns:1fr}}
.pie-logo{width:12rem;height:auto;margin-bottom:1.25rem}
.pie h2{font-family:var(--sans);font-size:.85rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--oro);margin-bottom:.8rem}
.pie ul{list-style:none;margin:0;padding:0}
.pie li{margin-bottom:.35rem}
.pie-zonas{columns:2;column-gap:2rem}
.pie p{margin-bottom:.5rem}
.pie-asoc{color:var(--oro);font-size:.875rem;margin:0!important}
.pie-sello{display:flex;align-items:center;gap:.9rem;margin:.9rem 0 1rem}
.pie-sello-img{display:block;width:4.25rem;flex:none}
.pie-sello-img img{width:100%;height:auto}
.pie-legal{max-width:none;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid #45423F;color:#ADA79D;font-size:.875rem}

/* barra de llamada en móvil */
.barra-movil{display:none;position:fixed;left:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:10;gap:.65rem}
.barra-movil a{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;text-decoration:none;background:var(--grafito);color:var(--oro);box-shadow:0 6px 18px rgba(0,0,0,.28),inset 0 0 0 4px var(--grafito),inset 0 0 0 5px var(--oro-osc)}
.barra-movil a:first-child{background:var(--dorado);color:var(--grafito);box-shadow:0 6px 18px rgba(0,0,0,.28)}
.barra-movil .ico{width:1.5rem;height:1.5rem}
@media (max-width:860px){.barra-movil{display:flex}.pie{padding-bottom:6.5rem}}
