:root{
  --tinta:#1f1f1f;
  --texto:#3c3c3c;
  --suave:#767676;
  --linea:#e4e2df;
  --fondo:#ffffff;
  --fondo-alt:#f7f5f2;
  --acento:#e2864f;
  --acento-osc:#b8622f;
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
  --ancho:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--fondo);color:var(--texto);font:17px/1.7 var(--serif);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--acento-osc)}
a:hover{color:var(--tinta)}
.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 24px}

/* Cabecera */
.cabecera{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--linea)}
.cabecera .contenedor{display:flex;align-items:center;justify-content:space-between;height:72px}
.cabecera .logo img{height:38px;width:auto}
.menu{display:flex;gap:28px;font:500 15px var(--sans);letter-spacing:.02em}
.menu a{color:var(--tinta);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.menu a:hover,.menu a[aria-current="page"]{border-color:var(--acento)}

/* Portada */
.portada{position:relative;min-height:62vh;display:flex;align-items:flex-end;color:#fff;background:#2d2d2d url(../img/bosque.webp) center/cover no-repeat}
.portada::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,.25),rgba(20,20,20,.72))}
.portada .contenedor{position:relative;padding-top:120px;padding-bottom:72px}
.portada h1{font:300 clamp(36px,6vw,64px)/1.1 var(--sans);margin:0 0 18px;letter-spacing:-.01em}
.portada p{font-size:clamp(17px,2vw,20px);max-width:620px;margin:0 0 30px;color:#eee}
.boton{display:inline-block;font:600 15px var(--sans);text-decoration:none;color:#fff;background:var(--acento);padding:13px 26px;border-radius:2px;transition:background .2s}
.boton:hover{background:var(--acento-osc);color:#fff}
.boton.sec{background:transparent;border:1px solid currentColor;color:var(--tinta)}
.boton.sec:hover{background:var(--tinta);color:#fff}

/* Secciones numeradas */
.seccion{padding:96px 0;border-bottom:1px solid var(--linea)}
.seccion.alt{background:var(--fondo-alt)}
.rejilla{display:grid;grid-template-columns:220px 1fr 1.25fr;gap:56px;align-items:start}
.titulo .num{display:block;font:300 44px/1 var(--sans);color:var(--tinta);padding-bottom:14px;margin-bottom:16px;border-bottom:2px solid var(--acento);width:64px}
.titulo h2{font:300 30px/1.25 var(--sans);color:var(--tinta);margin:0}
.foto img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(15%)}
.cuerpo h3{font:600 14px var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--suave);margin:0 0 18px}
.cuerpo p{margin:0 0 18px;text-align:left}
.lista{list-style:none;margin:0;padding:0}
.lista li{position:relative;padding:7px 0 7px 22px;border-bottom:1px solid var(--linea)}
.lista li::before{content:"";position:absolute;left:0;top:19px;width:10px;height:2px;background:var(--acento)}
.mas{margin-top:26px}

/* Contacto */
.datos{list-style:none;margin:0 0 28px;padding:0}
.datos li{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--linea)}
.datos svg{flex:0 0 22px;width:22px;height:22px;stroke:var(--acento-osc);fill:none;stroke-width:1.6;margin-top:4px}
.datos strong{display:block;font:600 13px var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--suave)}
.datos a{color:var(--tinta);text-decoration:none}
.datos a:hover{color:var(--acento-osc)}
.acciones{display:flex;flex-wrap:wrap;gap:12px}
.mapa{display:block;position:relative}
.mapa img{aspect-ratio:4/5;object-fit:cover}
.mapa span{position:absolute;left:12px;bottom:12px;background:#fff;font:600 13px var(--sans);padding:8px 12px;color:var(--tinta)}

/* Página Especialidades */
.cab-pagina{padding:88px 0 40px;border-bottom:1px solid var(--linea)}
.cab-pagina h1{font:300 clamp(34px,5vw,52px)/1.15 var(--sans);color:var(--tinta);margin:0 0 14px}
.cab-pagina p{max-width:680px;margin:0}
.grupos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:48px 56px;padding:64px 0 96px}
.grupo h2{font:600 15px var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--tinta);margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid var(--acento)}

/* Texto legal */
.legal{max-width:760px;padding:64px 24px 96px}
.legal h2{font:600 20px var(--sans);color:var(--tinta);margin:36px 0 10px}
.pendiente{background:#fff4d6;padding:0 4px}

/* Pie */
.pie{background:#1f1f1f;color:#bdbdbd;font:14px/1.6 var(--sans);padding:48px 0}
.pie .contenedor{display:flex;flex-wrap:wrap;gap:24px 48px;justify-content:space-between;align-items:center}
.pie img{height:34px;width:auto}
.pie a{color:#e6e6e6;text-decoration:none}
.pie a:hover{color:var(--acento)}
.pie nav{display:flex;flex-wrap:wrap;gap:20px}

@media (max-width:900px){
  .rejilla{grid-template-columns:1fr;gap:28px}
  .foto img,.mapa img{aspect-ratio:16/10}
  .seccion{padding:64px 0}
}
@media (max-width:560px){
  .contenedor{padding:0 16px}
  .cabecera .logo img{height:30px}
  .menu{gap:16px;font-size:14px}
  .menu a:first-child{display:none}
  .foto img[src*="almudena"]{aspect-ratio:4/5}
  .titulo .num{font-size:36px}
  .titulo h2{font-size:26px}
}
