*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,Roboto,Arial;background:#f7fafc;color:#0a0a0a;overflow-x:hidden}
html{overflow-x:hidden}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.container > div + div{margin-top:10px}
div + div{margin-top:10px}
.site-header{background:var(--primary);color:#fff;margin-bottom:10px}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;position:relative}
.brand{display:flex;align-items:center;color:#fff;text-decoration:none;font-weight:600}
.brand img{height:40px}
.brand span{margin-left:8px}
h1{color:var(--primary)}
.nav{display:flex;gap:12px;align-items:center}
.nav-menu{display:flex;gap:12px;align-items:center}
.nav-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;font-size:20px;line-height:1;cursor:pointer}
.nav-link{color:#fff;text-decoration:none;padding:8px 12px;border-radius:8px}
.nav-link.btn{background:var(--accent);color:#001}
.site-footer{background:var(--primary);color:#fff;margin-top:40px}
.site-footer .container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:20px 16px}
.footer-left{justify-self:start}
.footer-center{justify-self:center;display:flex;gap:14px;align-items:center}
.footer-right{justify-self:end;display:flex;gap:10px;align-items:center}
.btn{display:inline-block;background:var(--secondary);color:#001;padding:10px 16px;border-radius:10px;text-decoration:none}
.btn-outline{display:inline-block;border:2px solid var(--secondary);color:var(--secondary);padding:8px 14px;border-radius:10px;text-decoration:none}
.hero{padding:40px 0;background:linear-gradient(120deg,var(--primary),var(--secondary));color:#fff;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}
.hero-content{max-width:760px;margin:0 auto;padding:0 16px}
.hero-inner{display:grid;grid-template-columns:1fr 380px;align-items:center;gap:20px;max-width:1100px;margin:0 auto;padding:0 16px}
.hero-visual{display:flex;justify-content:flex-end}
.hero-visual img{width:100%;max-width:360px;height:240px;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.25))}
@media (max-width:860px){
  .hero-inner{grid-template-columns:1fr}
  .hero-visual{justify-content:center;margin-top:12px}
  .hero-visual img{max-width:300px;height:200px}
}
.hero h1{font-size:clamp(24px,4vw,40px);margin:0 0 8px;color:#fff}
.hero p{font-size:clamp(16px,2.4vw,20px);margin:0 0 16px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.features{padding:30px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.grid > div{margin-top:0}
.card{
  background: linear-gradient(120deg,var(--primary),var(--secondary));
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}
.section-title{margin:24px 0 8px}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.gallery-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}
.gallery-item img{width:100%;height:160px;object-fit:cover;display:block}
.page-title{margin:20px 0}
.about-top-image{width:100%;max-height:420px;object-fit:cover;border-radius:12px;margin-bottom:16px}
.about-empty{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}
.about-text{color:var(--primary);font-size:clamp(18px,2.2vw,22px);line-height:1.5}
.about-text h2{margin:0 0 12px;color:var(--primary);font-size:clamp(22px,2.6vw,28px)}
.about-text p{margin:0 0 12px}
.about-text .phone-line{color:var(--secondary);font-weight:600}
.about-logo-wrap{display:flex;justify-content:center;align-items:center}
.about-logo{width:100%;max-width:420px;height:auto;object-fit:contain}
.inline-logo{height:24px;width:auto;margin-left:8px;vertical-align:middle}
@media (max-width:860px){
  .about-empty{grid-template-columns:1fr}
  .about-logo{max-width:300px}
}
.form{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}
.form-accent{
  border-left:6px solid var(--secondary);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  background: linear-gradient(120deg,var(--primary),var(--secondary));
  color:#fff;
}
.form-accent label{color:#fff}
.form-accent input,.form-accent textarea{
  border-color:#cbd5e1;
  background:#fff;
  color:#001;
}
.form-accent input::placeholder,.form-accent textarea::placeholder{color:#6b7280}
.form-accent input:focus,.form-accent textarea:focus{
  outline:none;
  border-color:var(--secondary);
  box-shadow:0 0 0 3px rgba(249,113,17,.2)
}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.form-grid .full{grid-column:1/-1}
label{display:flex;flex-direction:column;gap:6px}
input,textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;font-size:14px}
.alert{background:#d1fae5;color:#065f46;border:1px solid #10b981;padding:10px 12px;border-radius:10px;margin-bottom:12px}
.center{display:flex;justify-content:center;margin:14px 0}
@media (max-width:640px){
  .nav{gap:0;position:relative}
  .nav-toggle{display:inline-flex}
  .nav-menu{display:none;position:absolute;top:calc(100% + 10px);right:0;flex-direction:column;align-items:stretch;gap:6px;min-width:200px;padding:10px;border-radius:12px;background:var(--primary);box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:1000}
  .nav.is-open .nav-menu{display:flex}
  .nav-link{padding:10px 12px;white-space:nowrap}
}
.banner{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}
.banner img{width:100%;height:360px;object-fit:cover;display:block}
.service-cta{margin-top:24px;padding:28px 0;background:linear-gradient(120deg,var(--primary),var(--secondary));color:#fff}
.service-cta-inner{display:grid;gap:18px;align-items:center;justify-items:center;text-align:center}
.service-cta h2{margin:0;color:#fff;font-size:clamp(22px,3vw,30px)}
.service-cta p{margin:0;color:#fff;font-size:clamp(16px,2.2vw,20px)}
.service-cta-kicker{opacity:.95}
.service-cta-link{display:inline-block;color:#fff;text-decoration:none;font-weight:700;font-size:clamp(18px,2.4vw,22px)}
.service-cta-link:hover{text-decoration:underline}
.service-cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
/* Slider (slicer) */
.slider{position:relative;max-width:900px;margin:16px auto;border-radius:12px;overflow:hidden;background:#fff;border:1px solid #e5e7eb}
.slider-track{display:flex;transition:transform .4s ease}
.slide{min-width:100%;height:300px;display:flex;align-items:center;justify-content:center;background:#000}
@media (max-width:640px){.slide{height:220px}}
.slide img{width:100%;height:100%;object-fit:cover}
.slider-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.8);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.slider-nav.prev{left:10px}
.slider-nav.next{right:10px}
.slider-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;gap:6px;justify-content:center}
.slider-dots button{width:8px;height:8px;border-radius:50%;border:none;background:#ddd;cursor:pointer}
.slider-dots button.active{background:var(--secondary)}
@media (max-width:640px){.slide{height:260px}}
/* Servicios: imágenes a ancho completo */
.service-images{
  display:block;
  margin-top: 24px;
}
.service-images img{
  display:block;
  width:100%;
  max-width: 100%;
  height: 50vh;
  object-fit: contain;
  background: #000;
  border-radius: 8px;
}
@media (max-width: 640px){
  .service-images img{
    height: 40vh;
    border-radius: 6px;
  }
}
/* Full-bleed para sacar padding del container en esta sección */
.full-bleed{
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}
.social{display:flex;gap:10px;align-items:center}
.social img{width:22px;height:22px;object-fit:contain;display:block}
.info-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin-top:16px}
.info-section .section-title{color:var(--primary);font-size:clamp(20px,2.6vw,28px)}
.info-section p{color:var(--primary);font-size:clamp(16px,2.2vw,20px);margin:6px 0}
.info-section h3.section-title{color:var(--secondary)}
.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:16px}
.contact-card{
  background: linear-gradient(120deg,var(--primary),var(--secondary));
  color:#fff;
  border:none;
  border-radius:12px;
  padding:12px;
  display:flex;
  align-items:center;
  gap:10px;
  box-shadow:0 6px 16px rgba(0,0,0,.12)
}
.contact-card .icon{font-size:20px;color:#fff}
.contact-card a{color:#fff;text-decoration:none}
.contact-card a:hover{text-decoration:underline}
.contact-card img{
  width:24px;height:24px;object-fit:contain;
  background:#fff;border-radius:50%;padding:4px
}
