@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');
:root { --forest:#183e32; --cream:#f6f3eb; --gold:#b8965b; --ink:#243a32; }
* { font-family:'DM Sans',Arial,sans-serif; }
body { color:var(--ink); }
h1,h2,h3 { font-family:'Libre Baskerville',Georgia,serif; font-weight:400; }
h1 span,h2 span { font-family:inherit; }
h2 u,h1 u { text-decoration:none; }
.contenedor-header { background:rgba(18,39,32,.97); border-bottom:1px solid rgba(184,150,91,.4); }
.contenedor-header header { max-width:1240px; padding:20px 0; flex-wrap:wrap; gap:16px 24px; }
.contenedor-header header h2 { font-family:'DM Sans',Arial,sans-serif; font-size:19px; font-weight:600; letter-spacing:1.5px; flex:1 0 auto; white-space:nowrap; }
.contenedor-header header h2 span { font-family:inherit; }
.contenedor-header header nav { order:3; flex-basis:100%; text-align:center; }
.contenedor-header header nav a { font-size:13px; padding:7px 14px; letter-spacing:.3px; }
.contenedor-header header nav a:hover,.contenedor-header header .redes a:hover { color:#e1c795; }
.contenedor-header .txtVerde,.contenedor-header .txtRojo,footer .txtVerde,footer .txtRojo { color:#e1c795; }
html { scroll-padding-top:140px; }
.inicio { background:linear-gradient(110deg,rgba(12,35,26,.83),rgba(14,28,22,.35)); }
.inicio .info h1 { font-size:clamp(2.2rem,6vw,4.8rem); line-height:1.3; letter-spacing:0; }
.inicio .info h1 .txtVerde { color:#d9e5d7; }
.inicio .info h1 .txtRojo { color:#ddc497; }
.inicio .info p { font-size:13px; letter-spacing:3px; line-height:1.8; }
.inicio .info .btn-mas { border-color:var(--gold); color:#e1c795; }
.nosotros { max-width:none; padding:90px max(24px,calc((100% - 980px)/2)); background:var(--cream); color:var(--ink); }
.nosotros .fila .col p { max-width:900px; font-size:18px; line-height:1.9; color:#4c5e54; }
.nosotros .fila .col .contenedor-titulo .info h2 { font-size:2.5rem; padding:0 0 30px; }
.linea { margin:0; border-color:#d9d5c8; height:1px; }
.servicios { background:var(--cream); color:var(--ink); padding-bottom:50px; }
.servicios .contenido-seccion .fila { padding:65px 24px 40px; }
.servicios .fila .col .contenedor-titulo .info { margin:0; }
.servicios .fila .col .contenedor-titulo .info h2,.opiniones .contenedor-titulo .info h2 { font-size:2.5rem; margin-top:12px; }
.servicios .fila .col .contenedor-titulo .info .frase,.opiniones .contenedor-titulo .info .frase { color:#8a6938; font-size:11px; font-weight:700; letter-spacing:3px; }
.container { gap:24px; margin:0 auto 24px; padding:0 24px; max-width:1150px; }
.card { width:calc((100% - 48px)/3); margin:0; border-radius:8px; overflow:hidden; box-shadow:0 8px 28px #1938290c; border:1px solid #e2dfd5; transition:transform .2s,box-shadow .2s; }
.card-image { height:205px; border-radius:0; margin-bottom:12px; }
.card h2 { font-family:'DM Sans',Arial,sans-serif; font-size:17px; font-weight:600; padding:16px 22px 8px; text-align:left; line-height:1.45; }
.card p { padding:0 22px 20px; color:#627067; line-height:1.7; font-size:15px; }
.card a { margin: auto 22px 24px; border-radius:4px; padding:13px 18px; background:var(--forest); font-size:11px; letter-spacing:1.4px; }
.card:hover { background:white; color:var(--ink); transform:translateY(-4px); box-shadow:0 14px 32px #19382918; cursor:default; }
.opiniones { background:#e9eee6; color:var(--ink); padding:75px 0; }
.opiniones .contenedor-titulo .info { margin:0; }
.opiniones .contenido-seccion { max-width:1120px; }
.reviews-controls { display:flex; gap:8px; justify-content:flex-end; margin-bottom:14px; }
.reviews-controls button { border:1px solid #c3cebf; border-radius:100px; background:transparent; color:var(--forest); cursor:pointer; min-width:44px; min-height:44px; padding:10px 17px; }
.reviews-controls button:hover { background:var(--forest); color:white; }
.slider { scrollbar-width:thin; scrollbar-color:#b5c2b0 transparent; padding-bottom:18px; }
.slide { width:330px; flex-basis:330px; padding:0 14px 0 0; perspective:none; }
.slide img { border-radius:8px; border:1px solid #d1d9ce; background:white; }
footer { background:#132e25; padding:40px 0; }
footer .info { max-width:1240px; font-size:13px; line-height:1.8; }
footer .info p { font-size:12px; letter-spacing:.5px; }
footer .col i { color:#c6a874; }
.btn-wsp { background:#24865b; bottom:22px; right:22px; }
.container-all { border-radius:8px; box-shadow:0 12px 45px #0002; margin-top:60px; margin-bottom:60px; background:var(--cream); }
.container-all p { font-weight:400; color:#4c5e54; line-height:1.85; }
.container-all .sub-title { font-size:28px; line-height:1.5; color:var(--forest); }
.gallery-title { background:var(--forest); margin:0; font-size:34px; padding:42px 16px; }
.gallery { background:var(--cream); padding:30px max(20px,calc((100% - 1200px)/2)); gap:24px; }
.gallery a img { border-radius:6px; box-shadow:0 8px 24px #0001; }
@media(max-width:900px) {
 .contenedor-header header { flex-wrap:nowrap; padding:16px 0; gap:10px; }
 .contenedor-header header h2 { font-size:clamp(12px,2.5vw,18px); letter-spacing:.8px; flex:1; }
 .contenedor-header header nav { flex-basis:auto; text-align:left; }
 nav.responsive { background:#183e32; }
 .contenedor-header header nav a { font-size:18px; padding:12px; }
 html { scroll-padding-top:85px; }
 .card { width:calc((100% - 24px)/2); }
}
@media(max-width:600px) {
 .contenedor-header { padding:0 12px; }
 .contenedor-header header h2 { letter-spacing:.3px; font-size:12px; }
 .nosotros { padding:55px 24px; }
 .nosotros .fila .col p { font-size:16px; }
 .container { padding:0 20px; }
 .card { width:100%; max-width:420px; }
 .card-image { height:210px; }
 .slide { width:280px; flex-basis:280px; }
 .container-all { padding:24px; margin:24px auto; }
 .gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px; }
}
