:root{--brand:#0A5AF7;--brand-ink:#103a8b;--bg:#ffffff;--panel:#ffffff;--text:#0f172a;--muted:#475569;--accent:#22c55e;--whatsapp:#22c35e;--outline:#e5e7eb}
*{box-sizing:border-box}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth}
body{margin:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:#ffffff}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--outline)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-weight:600}
.brand-logo{height:56px;width:auto;object-fit:contain}
.brand-logo.small{height:30px}
.brand-text{display:none}
.nav{display:flex;gap:18px}
.nav a{color:var(--muted);text-decoration:none;font-weight:500;padding:10px 12px;border-radius:8px}
.nav a:hover{color:var(--text);background:rgba(10,90,247,.10)}
.nav a.highlight{color:#fff;background:linear-gradient(135deg,var(--brand),#5ba2ff)}
.nav-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid #223258;background:#0d152c;color:#fff}
.hero{position:relative;padding:120px 0 80px;background:linear-gradient(180deg,rgba(10,90,247,.08),transparent)}
.hero .container{display:grid;grid-template-columns:1.1fr 0.9fr;align-items:center;gap:28px}
.hero .hero-content{max-width:760px}
.hero h1{font-weight:700;font-size:clamp(32px,5.4vw,48px);line-height:1.1;margin:0 0 12px;color:#0f172a}
.lead{color:var(--muted);font-size:clamp(18px,2.6vw,20px);margin-bottom:24px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.badge{display:inline-flex;align-items:flex-start;gap:12px;padding:8px 12px;background:#eef2ff;color:#0a3ef7;border-radius:999px;font-weight:600;margin:12px 0 10px}
.badge-img{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid #ffffff;box-shadow:0 2px 6px rgba(16,24,40,.12);margin-top:-6px}
.badge-img-large{width:clamp(90px,30%,160px);height:auto;border-radius:16px;border:1px solid var(--outline);box-shadow:0 10px 24px rgba(16,24,40,.06);margin-bottom:12px}
.hero-inline-image{display:flex;justify-content:flex-start}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.stat{background:#ffffff;border:1px solid var(--outline);border-radius:14px;padding:12px;text-align:center;color:#0f172a}
.stat b{display:block;font-size:20px;color:#0A5AF7}
.hero-visual{position:relative;border:1px solid var(--outline);border-radius:18px;overflow:hidden;background:
  linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.2)),
  url('images/home.png');
background-size:cover;background-position:center;min-height:380px}
.visual-strip{position:absolute;bottom:12px;left:12px;right:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.thumb{height:84px;border-radius:12px;border:1px solid var(--outline);background-size:cover;background-position:center}
.thumb.t1{background-image:url('images/work1.jpg'),url('https://images.unsplash.com/photo-1497032205916-ac775f0649ae?auto=format&fit=crop&w=600&q=60')}
.thumb.t2{background-image:url('images/work2.jpg'),url('https://images.unsplash.com/photo-1520975918316-35a35f635bce?auto=format&fit=crop&w=600&q=60')}
.thumb.t3{background-image:url('images/work3.jpg'),url('https://images.unsplash.com/photo-1542326676-2d3563b0fe19?auto=format&fit=crop&w=600&q=60')}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:14px;text-decoration:none;font-weight:700;letter-spacing:.2px;transition:.2s;border:1px solid transparent}
.btn.primary{background:linear-gradient(135deg,var(--brand),#5ba2ff);color:#fff}
.btn.primary:hover{filter:saturate(120%)}
.btn.outline{border-color:#d0d8e2;background:#ffffff;color:#0f172a}
.btn.outline:hover{background:#f1f5f9}
.btn.whatsapp{background:linear-gradient(135deg,var(--whatsapp),#41e483);color:#042412}
.section{padding:80px 0}
.section.alt{background:linear-gradient(180deg,rgba(10,90,247,.06),transparent)}
.section h2{font-size:clamp(24px,3.6vw,32px);margin:0 0 12px}
.section .sub{color:var(--muted);margin-bottom:24px}
.subhead{margin:28px 0 10px;color:#334155;font-weight:600}
.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;padding:0;margin:8px 0 12px;list-style:disc inside}
.features li{color:#334155}
.tags{display:flex;flex-wrap:wrap;gap:10px}
.tag{padding:8px 12px;border:1px solid var(--outline);background:#f1f5f9;color:#0A5AF7;border-radius:999px;font-weight:600}
.grid{display:grid;gap:14px}
.grid.services{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.why{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.contact{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{border:1px solid var(--outline);background:#ffffff;border-radius:18px;padding:20px;color:var(--text);min-height:84px;display:flex;align-items:center;box-shadow:0 10px 24px rgba(16,24,40,.06)}
.service{gap:12px}
.icon{width:26px;height:26px;color:#0A5AF7;flex-shrink:0}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-card{background:#ffffff;border:1px solid var(--outline);border-radius:18px;overflow:hidden;box-shadow:0 12px 26px rgba(16,24,40,.08);transition:.25s}
.service-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(16,24,40,.10)}
.service-img{width:100%;height:180px;object-fit:cover}
.service-info{position:relative;background:#0b3f66;color:#ffffff;padding:16px 16px 18px;border-top:1px solid var(--outline);border-bottom-left-radius:18px;border-bottom-right-radius:18px}
.service-info h3{margin:0 0 6px;font-size:18px;color:#ffffff}
.service-info p{margin:0;color:#e6edf6}
.service-chip{position:absolute;left:16px;top:-22px;width:44px;height:44px;border-radius:999px;background:#f59e0b;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(16,24,40,.12);color:#fff;border:2px solid #fff}
.service-chip svg{width:24px;height:24px}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.step{border:1px solid var(--outline);border-radius:18px;background:#ffffff;padding:18px;box-shadow:0 10px 24px rgba(16,24,40,.06)}
.step-icon{width:48px;height:48px;border-radius:999px;background:linear-gradient(135deg,#0A5AF7,#5ba2ff);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.step-title{font-weight:700;margin-bottom:6px}
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
.contact-card{border:1px solid var(--outline);background:#ffffff;border-radius:16px;padding:18px;color:var(--text)}
.contact-lines{display:grid;gap:10px;margin-bottom:12px}
.line{display:flex;align-items:center;justify-content:space-between;border:1px dashed var(--outline);border-radius:12px;padding:10px}
.line span{color:#64748b}
.line a{color:#0f172a;text-decoration:none}
.line a:hover{color:#000}
.contact-buttons{display:flex;flex-wrap:wrap;gap:10px}
.accordion{margin-top:16px;display:grid;gap:10px}
.accordion details{border:1px solid var(--outline);background:#ffffff;border-radius:16px;padding:6px;box-shadow:0 8px 18px rgba(16,24,40,.05)}
.accordion summary{cursor:pointer;padding:12px 14px;font-weight:600;color:var(--text)}
.accordion summary::after{content:"+";float:right;color:#0A5AF7}
.accordion details[open] summary::after{content:"–"}
.accordion .content{padding:0 14px 12px;color:#334155}
.accordion .content ul{list-style:disc inside;margin:6px 0}
.estimate-form{margin-top:8px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-grid input,.form-grid select,.form-grid textarea{background:#ffffff;color:#0f172a;border:1px solid var(--outline);border-radius:12px;padding:14px;font:inherit;box-shadow:0 4px 10px rgba(16,24,40,.04)}
.form-actions{display:flex;gap:12px;margin-top:12px}
.site-footer{padding:32px 0;border-top:1px solid var(--outline);background:#f8fafc}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-links{display:flex;gap:14px;margin:12px 0}
.copy{color:#64748b;font-size:14px}
.floating-cta{position:fixed;right:20px;bottom:20px;display:flex;gap:10px}
.hero-art{position:absolute;inset:0;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(40px);opacity:.25}
.blob.b1{width:360px;height:360px;background:#dbeafe;left:-80px;top:-60px}
.blob.b2{width:260px;height:260px;background:#bfdbfe;right:10%;top:-40px}
.blob.b3{width:240px;height:240px;background:#93c5fd;left:40%;bottom:-80px}
.reveal{opacity:0;transform:translateY(10px);transition:.5s}
.reveal.visible{opacity:1;transform:none}
@media (max-width:960px){.grid.services,.grid.why,.grid.contact{grid-template-columns:repeat(2,minmax(0,1fr))}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hero .container{grid-template-columns:1fr}}
@media (max-width:640px){.brand-text{display:inline}.nav{display:none}.nav.open{display:flex;flex-direction:column;position:absolute;right:24px;top:64px;background:#ffffff;border:1px solid var(--outline);border-radius:12px;padding:10px}.nav-toggle{display:inline-flex}.grid.services,.grid.why,.grid.contact{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.hero{padding:72px 0 60px}.brand-logo{height:40px}.hero-art{display:none}.features{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-inline-image{justify-content:center}}
.testimonial-slider{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}
.testimonial-viewport{overflow:auto;scroll-snap-type:x mandatory}
.testimonial-track{display:flex;gap:12px}
.testimonial-card{min-width:320px;scroll-snap-align:start;border:1px solid var(--outline);border-radius:16px;padding:18px;background:#ffffff;box-shadow:0 8px 18px rgba(16,24,40,.05)}
.ts-prev,.ts-next{width:40px;height:40px;border:1px solid var(--outline);border-radius:12px;background:#ffffff;color:#0A5AF7;font-weight:700}
.stars{color:#f59e0b;font-weight:700;margin-bottom:6px}
.author{color:#64748b;margin-top:8px;font-weight:600}
.cta-banner{background:linear-gradient(180deg,#f8fafc,#eef2ff);padding:40px 0;border-top:1px solid var(--outline);border-bottom:1px solid var(--outline)}
.cta-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gallery-grid img{width:100%;height:220px;object-fit:cover;border-radius:16px;border:1px solid var(--outline);box-shadow:0 8px 18px rgba(16,24,40,.05);transition:.25s}
.gallery-grid img:hover{transform:translateY(-2px);filter:saturate(115%)}