:root{--bg:#f6f7f8;--surface:#fff;--text:#16324a;--text-muted:#5a6b78;--border:#dde2e6;--input-border:#aab4bb;--accent:#18394a;--accent-dark:#0f2530;--accent-bg:#eaeef1;--dark:#18394a;--blue:#2f6fed;--blue-dark:#1d54c4;--blue-bg:#eaf1fd;--success:#3a7d44;--whatsapp:#25d366;--font-heading:"Poppins", sans-serif;--font-body:"Inter", system-ui, sans-serif;font:16px/1.6 var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}h1,h2,h3{font-family:var(--font-heading);margin:0 0 .5em;font-weight:700;line-height:1.15}p{margin:0 0 1em}a{color:var(--accent-dark)}button{font:inherit}.lead-form{background:var(--surface);border:1px solid var(--border);border-radius:20px;width:100%;max-width:480px;padding:32px;box-shadow:0 20px 45px -15px #18394a40}.lead-form-badge{background:var(--blue-bg);width:52px;height:52px;color:var(--blue);border-radius:50%;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.lead-form h3{font-size:22px}.lead-form .field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.lead-form .field{margin-bottom:16px}.lead-form label{color:var(--text-muted);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.lead-form input,.lead-form select,.lead-form textarea{border:1.5px solid var(--input-border);width:100%;font:inherit;background:var(--surface);color:var(--text);border-radius:10px;padding:12px 14px}.lead-form input::placeholder,.lead-form textarea::placeholder{color:#9aa5ac}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}.lead-form textarea{resize:vertical;min-height:80px}.lead-form button{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-size:16px;font-weight:700;transition:background .15s;display:inline-flex}.lead-form button:hover:not(:disabled){background:var(--blue-dark)}.lead-form button:disabled{opacity:.6;cursor:not-allowed}.lead-form .status{text-align:center;margin-top:14px;font-size:14px}.lead-form .status.ok{color:var(--success)}.lead-form .status.error{color:var(--accent-dark)}@media (width<=480px){.lead-form .field-row{grid-template-columns:1fr}}.landing header{background:var(--surface);border-bottom:1px solid var(--border);z-index:40;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:12px 24px;display:flex}.logo-img{flex-shrink:0;width:auto;height:56px;display:block}.nav-links{flex:1;justify-content:center;gap:28px;display:flex}.nav-links a{color:var(--text);font-size:15px;font-weight:600;text-decoration:none;transition:color .15s}.nav-links a:hover{color:var(--blue)}@media (width<=900px){.nav-links{display:none}}.whatsapp-btn{background:var(--dark);color:#fff;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:8px 18px 8px 10px;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s;display:inline-flex}.whatsapp-btn:hover{background:var(--accent-dark)}.whatsapp-icon{width:26px;height:26px;display:block}.hero{background-position:50%;background-size:cover;padding:0;position:relative;overflow:hidden}.hero-overlay{background:linear-gradient(100deg,#05080c59 0%,#05080c1a 45%,#05080c00 70%);position:absolute;inset:0}.hero-ring{pointer-events:none;border:1px solid #ffffff2e;border-radius:50%;width:420px;height:420px;position:absolute;top:50%;left:-80px;transform:translateY(-50%)}.hero-ring:before{content:"";border:1px solid #ffffff1f;border-radius:50%;position:absolute;inset:40px}@media (width<=860px){.hero-ring{display:none}}.hero-content{grid-template-columns:1fr .85fr;align-items:center;gap:24px;max-width:720px;margin:0 auto 0 24px;padding:56px 0;display:grid;position:relative}.hero .lead-form{max-width:360px;padding:24px}@media (width<=860px){.hero-content{grid-template-columns:1fr;max-width:100%;margin:0;padding:40px 20px}.hero .lead-form{max-width:none}}.eyebrow{color:var(--blue);letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px;font-size:14px;font-weight:700}.eyebrow.center{text-align:center}.hero .eyebrow{color:#8fb3c7}.hero h1{color:#fff;font-size:44px}.hero h1 .text-blue{color:#6ba3f5}@media (width<=860px){.hero h1{font-size:32px}}.hero p.lead{color:#dbe3e8;max-width:46ch;font-size:18px}.hero-badges{flex-wrap:wrap;gap:20px;margin-top:28px;display:flex}.hero-badge{color:#e7edf1;align-items:center;gap:10px;font-size:13px;line-height:1.3;display:flex}.hero-badge strong{color:#fff}.hero-badge-icon{background:var(--blue);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.trust-bar{background:var(--dark);flex-wrap:wrap;justify-content:center;gap:40px;max-width:none;margin:0;padding:32px 24px;display:flex}.trust-stat{align-items:center;gap:14px;display:flex}.trust-icon{color:#fff;background:#ffffff1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.trust-stat strong{font-family:var(--font-heading);color:#fff;font-size:26px;display:block}.trust-stat span{color:#b9c6cf;font-size:13px}section.block{max-width:1100px;margin:0 auto;padding:56px 24px}section.block h2{text-align:center;margin-bottom:8px;font-size:28px}section.block .subtitle{text-align:center;color:var(--text-muted);max-width:60ch;margin:0 auto 40px}.services-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:0 auto;display:grid}@media (width<=860px){.services-grid{grid-template-columns:1fr}}.service-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.service-photo{background-position:50%;background-size:cover;height:200px;position:relative}.service-icon{background:var(--blue);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:absolute;top:14px;left:14px;box-shadow:0 6px 14px -4px #0006}.service-card h3{margin:16px 24px 6px;font-size:18px}.service-card p{color:var(--text-muted);margin:0 24px 20px;font-size:15px}.zones{background:var(--accent-bg)}.zones-grid{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.zone-pill{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:10px 24px;font-weight:700}.cta-split{grid-template-columns:1fr 1fr;align-items:start;gap:48px;display:grid}@media (width<=860px){.cta-split{grid-template-columns:1fr}}.cta-split .copy h2{text-align:left}.trust-list{margin:24px 0 0;padding:0;list-style:none}.trust-list li{border-bottom:1px solid var(--border);gap:10px;padding:10px 0;display:flex}.gallery-tabs{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:28px;display:flex}.gallery-tab{background:var(--surface);border:1.5px solid var(--border);color:var(--text-muted);font:inherit;cursor:pointer;border-radius:999px;padding:8px 18px;font-size:14px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.gallery-tab:hover{border-color:var(--input-border)}.gallery-tab.active{background:var(--blue);border-color:var(--blue);color:#fff}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (width<=860px){.gallery-grid{grid-template-columns:1fr}}.gallery-item{aspect-ratio:4/3;border-radius:14px;overflow:hidden;box-shadow:0 10px 25px -12px #18394a4d}.gallery-item img{object-fit:cover;width:100%;height:100%;display:block}.proceso{background:var(--accent-bg)}.proceso-grid{grid-template-columns:repeat(2,1fr);gap:24px;max-width:760px;margin:0 auto;display:grid}@media (width<=780px){.proceso-grid{grid-template-columns:1fr}}.proceso-item{border-radius:12px;position:relative;overflow:hidden}.proceso-item img{object-fit:cover;width:100%;height:220px;display:block}.proceso-item span{color:#fff;background:#0f1c26d9;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;position:absolute;bottom:12px;left:12px}.faq-list{flex-direction:column;gap:12px;max-width:720px;margin:0 auto;display:flex}.faq-list details{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 20px}.faq-list summary{font-weight:600;font-family:var(--font-heading);cursor:pointer}.faq-list p{color:var(--text-muted);margin:12px 0 0}.final-cta{max-width:560px}footer{background:var(--dark);text-align:center;color:#b9c6cf;padding:32px 24px;font-size:14px}.whatsapp-float{z-index:50;align-items:center;gap:10px;text-decoration:none;display:flex;position:fixed;bottom:24px;right:24px}.whatsapp-float-label{color:var(--text);text-align:right;background:#fff;border-radius:12px;padding:8px 14px;font-size:12px;font-weight:700;line-height:1.25;box-shadow:0 10px 20px -8px #00000040}@media (width<=640px){.whatsapp-float-label{display:none}}.whatsapp-float-icon{filter:drop-shadow(0 10px 18px #00000059);flex-shrink:0;width:56px;height:56px;display:block}.admin{background:var(--bg);min-height:100vh}.admin-topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.admin-logo{width:auto;height:44px;display:block}.logout-btn{border:1.5px solid var(--input-border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .15s}.logout-btn:hover{background:var(--accent-bg)}.admin-content{max-width:1100px;margin:0 auto;padding:32px 24px}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-box{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;width:100%;max-width:380px;padding:40px 36px;box-shadow:0 10px 30px -12px #18394a33}.login-logo{width:auto;height:56px;margin:0 auto 20px;display:block}.login-box h2{margin-bottom:24px;font-size:20px}.login-box form{text-align:left}.login-box .field{margin-bottom:16px}.login-box label{color:var(--text-muted);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.login-box input{border:1.5px solid var(--input-border);width:100%;font:inherit;background:var(--surface);color:var(--text);border-radius:10px;padding:11px 14px}.login-box input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.login-box button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:4px;padding:13px;font-size:15px;font-weight:700;transition:background .15s}.login-box button:hover:not(:disabled){background:var(--accent-dark)}.login-error{color:#b3261e;text-align:center;margin-top:12px;font-size:14px}.loading-text{color:var(--text-muted);text-align:center;padding:40px 0}.leads-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;overflow:hidden}.leads-table th,.leads-table td{text-align:left;border-bottom:1px solid var(--border);padding:14px 16px;font-size:14px}.leads-table tbody tr:last-child td{border-bottom:none}.leads-table tbody tr:hover{background:var(--accent-bg)}.leads-table th{background:var(--dark);color:#fff;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.leads-table select{font:inherit;cursor:pointer;border:none;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:700}.badge.nuevo{color:#18394a;background:#dbe7ef}.badge.contactado{color:#92601b;background:#fdedd3}.badge.presupuestado{color:#4c3d8f;background:#e4e0f3}.badge.ganado{color:#1f6b3d;background:#dcf0e1}.badge.perdido{color:#a02b26;background:#f6dede}.obra-form{align-items:center;gap:8px;display:flex}.obra-form input{border:1.5px solid var(--input-border);width:100px;font:inherit;border-radius:8px;padding:7px 10px}.obra-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600}.obra-form button:hover:not(:disabled){background:var(--accent-dark)}.summary-bar{flex-wrap:wrap;gap:20px;margin-bottom:24px;display:flex}.summary-bar .stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex:1;min-width:160px;padding:20px 24px}.summary-bar .stat strong{font-family:var(--font-heading);color:var(--accent);font-size:26px;display:block}.summary-bar .stat span{color:var(--text-muted);font-size:13px}
