:root{--bg:#FEFDFD;--gris:#E6E7E8;--cielo:#91D8F7;--azul:#00AFEF;--profundo:#00668F;--suave:#EDF8FD;--tinta:#2B2D31;--serif:"Cormorant Garamond","Luthon Southard Serif",Georgia,serif;--sans:"Jost","Century Gothic",Arial,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{font-family:var(--sans);color:var(--tinta);background:var(--bg);line-height:1.6;font-size:1.0625rem}
img{max-width:100%;display:block}
a{color:var(--profundo)}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.12}
h2{font-size:clamp(2.25rem,4.3vw,3.2rem);margin-bottom:1.25rem}
h3{font-size:1.55rem;margin-bottom:.35rem}
section{padding:clamp(3.5rem,8vw,6.5rem) 0}
.btn{display:inline-block;padding:.85rem 1.6rem;border-radius:3px;font-weight:500;text-decoration:none;border:2px solid var(--profundo);transition:background .2s,color .2s}
.btn-p{background:var(--profundo);color:#fff}.btn-p:hover{background:#004d6b;border-color:#004d6b}
.btn-s{color:var(--profundo)}.btn-s:hover{background:var(--suave)}
header{position:sticky;top:0;z-index:10;background:rgba(254,253,253,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--gris)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--tinta);font-family:var(--serif);font-weight:600;font-size:1.4rem}
.brand img{height:44px;width:auto}
nav{display:flex;align-items:center;gap:1.6rem}
nav a:not(.btn){text-decoration:none;color:var(--tinta)}nav a:not(.btn):hover{color:var(--profundo)}
nav .btn{padding:.55rem 1.1rem}
.hero{background:var(--suave)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding-block:clamp(3rem,7vw,5.5rem)}
.hero-logo{display:grid;place-items:center}.hero-logo img{width:min(380px,80%);height:auto}
.hero h1{font-size:clamp(2.9rem,6.6vw,5.2rem);margin-bottom:1.2rem}
.hero p{max-width:34rem;font-size:1.2rem;margin-bottom:2rem}
.acciones{display:flex;flex-wrap:wrap;gap:.8rem}
.sobre .wrap>div{max-width:780px}
.enc{max-width:780px}

.sobre p+p{margin-top:1rem}
.datos{list-style:none;padding:0;margin-top:1.8rem;border-top:2px solid var(--cielo)}
.datos li{padding:.7rem 0;border-bottom:1px solid var(--gris)}
.atiende{background:var(--suave)}
.lista{display:grid;grid-template-columns:repeat(2,1fr);gap:0 3rem;margin-top:2rem}
.lista div{padding:1.2rem 0;border-top:2px solid var(--cielo)}
.lista div:last-child{grid-column:1/-1}
.proc{margin-top:2.5rem;padding-top:1.5rem;border-top:2px solid var(--azul)}
.proc ul{columns:2;column-gap:3rem;padding-left:1.2rem;margin-top:.8rem}
.aviso{margin-top:2.5rem;padding:1.1rem 1.3rem;background:#fff;border-left:5px solid var(--azul)}
.cita{background:var(--profundo);color:#fff}
.cita h2{color:#fff}.cita a{color:#fff}
.cita .wrap>div{max-width:780px}
.tel{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3.5vw,2.6rem);text-decoration:none;margin:.2rem 0 1.2rem}
.cita .btn-p{background:#fff;color:var(--profundo);border-color:#fff}.cita .btn-p:hover{background:var(--suave)}
.ubic .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:2.5rem;align-items:stretch}
.ubic address{font-style:normal;margin-bottom:1.4rem}
iframe{width:100%;min-height:360px;border:0;background:var(--gris)}
footer{background:var(--profundo);color:#fff;padding:3.2rem 0 1.8rem;font-size:.97rem}
footer a{color:#fff}
.pie{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2.5rem 3.5rem;align-items:start}
.pie h3{font-size:1.4rem;margin-bottom:.9rem;color:#fff}
.firma{line-height:1.7}.firma strong{font-family:var(--serif);font-size:1.6rem;font-weight:600}
.cmo{display:block;width:min(230px,100%);height:auto;margin:1.1rem 0 1.4rem}
.redes{display:flex;gap:.55rem}
.redes a{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--profundo);transition:background .2s}
.redes a:hover{background:var(--cielo)}
.redes a::after{content:"";position:absolute;inset:-6px}
.redes svg{width:18px;height:18px;fill:currentColor}
.pie address{font-style:normal;line-height:1.7}
.horario{margin-top:.6rem;opacity:.9}
.tel-pie{display:inline-block;margin:.9rem 0 1.2rem;font-family:var(--serif);font-size:1.7rem;font-weight:600;text-decoration:none}
.btn-wa{display:inline-block;padding:.8rem 1.6rem;border-radius:999px;background:#25D366;color:#073b1b!important;font-weight:500;text-decoration:none;transition:background .2s}
.btn-wa:hover{background:#5fe38c}
.cedulas div{padding:.65rem 0;border-top:1px solid rgba(255,255,255,.28)}
.cedulas div:last-child{border-bottom:1px solid rgba(255,255,255,.28)}
.cedulas dt{opacity:.88;font-size:.92rem}
.cedulas dd{margin:0;font-weight:500;font-size:1.1rem;letter-spacing:.02em}
.cofe{margin-top:1rem;font-size:.92rem;opacity:.92}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 2rem;margin-top:2.4rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.3);font-size:.9rem}
.legal .nota{opacity:.85}
.nav-wa{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#128C7E;color:#fff;transition:background .2s}
.nav-wa:hover{background:#0c6b5f}
.nav-wa svg,.wa svg{fill:currentColor}.nav-wa svg{width:22px;height:22px}
.wa{position:fixed;right:1.1rem;bottom:calc(1.1rem + env(safe-area-inset-bottom,0px));z-index:20;width:58px;height:58px;display:grid;place-items:center;background:#128C7E;color:#fff;border-radius:50%;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.wa svg{width:32px;height:32px}
@media(max-width:820px){nav a:not(.btn){display:none}.hero .wrap,.sobre .wrap,.cita .wrap,.ubic .wrap,.lista{grid-template-columns:1fr}footer{padding-bottom:5rem}.proc ul{columns:1}.legal{flex-direction:column}.hero-logo img{width:170px}.brand span{font-size:1.15rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
