@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:400;src:url(assets/fonts/lato-v25-latin-regular.woff2) format("woff2")}
@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:700;src:url(assets/fonts/lato-v25-latin-700.woff2) format("woff2")}
@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:600;src:url(assets/fonts/montserrat-v31-latin-600.woff2) format("woff2")}
@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:700;src:url(assets/fonts/montserrat-v31-latin-700.woff2) format("woff2")}
@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:800;src:url(assets/fonts/montserrat-v31-latin-800.woff2) format("woff2")}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto;display:block}
ul{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,p{margin:0 0 1rem}
:root{--color-primary:#faad43;--color-light:#f2f2f2;--color-dark:#404040;--color-black:#0d0d0d;--color-white:#fff;--header-h:125px}
body{font-family:"Lato","Segoe UI",system-ui,-apple-system,sans-serif;background:var(--color-light);color:var(--color-dark);margin:0;line-height:1.6}
h1,h2,h3,h4{font-family:"Montserrat","Segoe UI",system-ui,-apple-system,sans-serif;font-weight:700}
.container{max-width:1500px;margin-inline:auto;padding-inline:2rem}
section[id]{scroll-margin-top:var(--header-h)}
.btn{display:inline-block;padding:.75rem 1.5rem;font-weight:600;border-radius:8px;text-decoration:none;text-align:center;transition:.25s ease;font-size:1rem;cursor:pointer}
.btn-primary{background:var(--color-primary);color:var(--color-black);border:2px solid var(--color-primary)}
.btn-primary:hover{background:var(--color-black);color:var(--color-primary)}
.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}
.btn-secondary:hover{background:var(--color-primary);color:var(--color-black)}
.header{background:var(--color-black);color:var(--color-white);display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;position:sticky;top:0;z-index:50;box-shadow:0 2px 6px rgba(0,0,0,.3);border-bottom:1px solid rgba(255,255,255,.05)}
.heroSection{min-height:90vh;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-white);background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)),url(./imagenes/fondo2.jpg) center/cover no-repeat;padding:6rem 1rem}
.heroSection-content{max-width:800px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}
.heroSection h1{font-size:3rem;margin:0}
.heroSection p{font-size:1.25rem;line-height:1.6;margin:0}
.heroSection .btn{font-size:1.2rem;padding:1rem 2rem;border-radius:10px}
.heroSection .highlight{color:var(--color-primary)}
.heroSection-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}100%{opacity:1;transform:translateY(0)}}
.heroSection h1,.heroSection p,.heroSection .btn{opacity:0;animation:fadeUp 1s ease forwards}
.heroSection h1{animation-delay:.3s}
.heroSection p{animation-delay:.6s}
.heroSection .btn{animation-delay:.9s}
#services{margin-top:50px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;padding:0 1rem 1rem}
.card{background:var(--color-white);border:1px solid #ececec;border-radius:12px;padding:1.25rem;box-shadow:0 2px 12px rgba(0,0,0,.04);transition:.3s ease;display:flex;flex-direction:column;gap:.75rem;overflow:hidden}
.card:hover{transform:translateY(-5px);box-shadow:0 6px 20px rgba(0,0,0,.15)}
.foto{width:100%;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--color-light);margin:0}
.foto img{width:100%;height:100%;object-fit:cover;display:block}
.card h4{margin:.25rem 0 0;font-size:1.05rem;line-height:1.25}
.card p{margin:0;color:#4b4b4b}
.about{padding:2rem 1rem;display:grid;grid-template-columns:.9fr 1.1fr;grid-template-areas:"image content";column-gap:2rem;align-items:center}
.about-image{grid-area:image;border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.about-image img{width:100%;height:auto;object-fit:cover;display:block}
.about-content{grid-area:content;display:flex;flex-direction:column;gap:2rem}
.about-content .badge{align-self:flex-start;width:fit-content;margin:0;display:inline-flex;align-items:center;gap:.5rem;background:var(--color-primary);color:var(--color-black);padding:.5rem 1rem;border-radius:999px;font-weight:600}
.about-content h3{margin:0;line-height:1.25}
.about-content p{margin:0;line-height:1.55;max-width:75ch}
.features{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.4rem;margin-top:.4rem}
.features li{display:grid;grid-template-columns:36px 1fr;align-items:flex-start;gap:.5rem}
.features .icon{font-size:1.4rem;line-height:1}
.testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:2rem;align-items:center;justify-items:center;padding:3rem 2rem;background:var(--color-white)}
.testimonials figure{margin:0;display:flex;align-items:center;justify-content:center;padding:.5rem}
.testimonials img{width:clamp(90px,12vw,140px);height:auto;object-fit:contain;filter:grayscale(100%);opacity:.8;transition:filter .3s ease,opacity .3s ease,transform .2s ease}
.testimonials img:hover{filter:none;opacity:1;transform:translateY(-2px)}
#contact{margin-top:30px}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1rem}
.contact .card:hover{transform:translateY(-3px);box-shadow:0 4px 16px rgba(0,0,0,.1)}
.map-container iframe{width:100%;height:300px;border:none;border-radius:12px;margin-top:2rem;margin-bottom:5rem}
.telefonos{color:inherit;text-decoration:none;font-weight:600}
.telefonos:hover{color:var(--color-primary)}
.footer{background:var(--color-black);color:#fff;padding:16px}
.footer-content{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;text-align:center}
.footer p{margin:0;line-height:1}
.social-icons{display:flex;gap:14px}
.social-icons a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px}
.social-icons svg{width:22px;height:22px;display:block;fill:#fff;transition:fill .3s ease}
.social-icons a:hover svg{fill:var(--color-primary)}
@media(max-width:1024px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:repeat(2,1fr)}.heroSection h1{font-size:2.5rem}.heroSection p{font-size:1.1rem}.testimonials{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}}
@media(max-width:900px){.about{grid-template-columns:1fr;grid-template-areas:"image" "content";row-gap:1rem;align-items:start}.about-content .badge{align-self:stretch;text-align:center}.features{grid-template-columns:1fr}}
@media(max-width:640px){:root{--header-h:110px}.header{flex-wrap:nowrap;justify-content:space-between;align-items:center;padding:.5rem 1rem;position:relative}.logo img{height:55px;width:auto}.nav{display:none;width:100%;text-align:center;background:var(--color-black);position:absolute;top:100%;left:0}.nav.active{display:block}.nav-list{flex-direction:column;gap:1.5rem;padding:2rem 0}.cards{grid-template-columns:1fr}.foto{aspect-ratio:16/9}.contact-grid{grid-template-columns:1fr}.testimonials{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:2rem 1.25rem}.testimonials img{width:clamp(80px,22vw,120px)}.heroSection{min-height:70vh;padding:4rem 1rem}.heroSection h1{font-size:2rem}.heroSection p{font-size:1rem}.heroSection .btn{font-size:1rem;padding:.75rem 1.5rem}}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--color-white);font-size:2rem;line-height:1}
.icon-close{display:none}
@media(max-width:640px){.nav-toggle{display:block}.nav-toggle.active .icon-hamburger{display:none}.nav-toggle.active .icon-close{display:inline}}
.nav-list{display:flex;gap:1.5rem}
.nav-list a{color:var(--color-white);text-decoration:none;font-weight:500;position:relative;padding-bottom:5px;transition:color .3s ease}
.nav-list a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--color-primary);transition:width .3s ease}
.nav-list a:hover{color:var(--color-primary)}
.nav-list a:hover::after{width:100%}
.nav-list a.active,.nav-list a[aria-current=page]{color:var(--color-primary)}
.nav-list a.active::after,.nav-list a[aria-current=page]::after{width:100%}
