*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0b1120;color:#111827;line-height:1.6}main{min-height:100vh;background:radial-gradient(circle at top,#111827 0,#020617 55%,#020617 100%)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}.section{padding:64px 0}.section-alt{background:#fffdf7}.section-form{background:radial-gradient(circle at top,#020617 0,#020617 100%)}.section-dark{background:#020617;color:#f9fafb}.grid-2{display:grid;grid-gap:24px;gap:24px}@media (min-width:900px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.hero{position:relative;background-image:url(/hero.jpg);background-size:cover;background-position:50%;background-repeat:no-repeat;padding:56px 0 40px}.shamrock{position:absolute;top:18px;font-size:1.7rem;animation:floatY 12s ease-in-out infinite;z-index:1}.shamrock-left{left:16px}.shamrock-right{right:16px;animation-delay:3s}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(12px)}}.hero-inner{position:relative;z-index:2;display:grid;grid-gap:32px;gap:32px;align-items:flex-start;color:#f9fafb}@media (min-width:900px){.hero-inner{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}.hero-text{max-width:640px;text-shadow:0 2px 6px rgba(15,23,42,.8)}.hero-title{font-size:2.8rem;line-height:1.05;margin-bottom:6px}.hero-r{color:#dc2626}.hero-tag{letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:700;color:#4ade80;margin-bottom:18px}.hero-lead{font-size:1.05rem;color:#f9fafb;margin-bottom:16px}.hero-weather-label{font-size:.9rem;margin-bottom:4px;color:#e5e7eb}.hero-weather-row{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px}.hero-weather-shamrock{font-size:1.3rem}.weather-chip{padding:6px 16px;border-radius:999px;font-size:.86rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.weather-chip-green{background:#16a34a;color:#ecfdf5}.hero-strong{font-weight:700}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.hero-bullets{list-style:disc;margin-left:18px;font-size:.95rem;color:#f9fafb}.hero-bullets li+li{margin-top:4px}.hero-note{font-size:.8rem;color:#f97373;margin-top:8px}.hero-side-card{background:rgba(15,23,42,.94);color:#f9fafb;padding:18px 18px 16px;border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.7)}.hero-side-card h2{font-size:1.1rem;margin-bottom:6px}.hero-side-card p{font-size:.9rem}.hero-side-list{margin-top:10px;font-size:.9rem}.hero-side-list p+p{margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:999px;font-weight:600;font-size:.96rem;cursor:pointer;border:2px solid transparent;transition:transform .08s ease,box-shadow .08s ease,background-color .15s ease}.btn,.btn:hover{text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn-primary{background:#f97316;color:#111827;box-shadow:0 12px 30px rgba(249,115,22,.45)}.btn-primary:hover{background:#fb923c}.btn-outline{background:hsla(0,0%,100%,.98);border-color:#f97316;color:#c2410c}.btn-outline:hover{background:#fffbeb}.btn-storm{margin-top:12px;width:100%;background:#dc2626;color:#f9fafb;box-shadow:0 14px 30px rgba(220,38,38,.5)}.btn-storm:hover{background:#ef4444}.btn-full{width:100%;margin-top:12px}.card{background:#fff;border-radius:20px;padding:20px 18px 18px;box-shadow:0 16px 40px rgba(15,23,42,.08);border:1px solid rgba(148,163,184,.25)}.card h2{font-size:1.3rem;margin-bottom:8px}.card-dark{background:#020617;border-color:rgba(55,65,81,.8);color:#f9fafb}.muted{color:#4b5563}.small{font-size:.9rem}.smallest{font-size:.82rem}.green-text{color:#16a34a}.brand-inline{font-weight:600}.reviews-grid{display:grid;grid-gap:20px;gap:20px}@media (min-width:900px){.reviews-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}.review-card{background:#020617;color:#f9fafb;border:none}.review-label{font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;color:#fdba74;margin-bottom:10px}.review-text{font-size:.98rem;margin-bottom:10px}.review-author{font-size:.9rem;color:#d1d5db}.review-follow{font-size:.86rem;margin-top:8px;color:#e5e7eb}.weather-pills{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 8px}.pill{border-radius:999px;padding:6px 16px;border:none;font-size:.88rem;font-weight:600}.pill-green{background:#22c55e;color:#064e3b}.pill-yellow{background:#facc15;color:#78350f}.pill-orange{background:#fb923c;color:#7c2d12}.pill-red{background:#f97373;color:#7f1d1d}.section-form .card-dark{box-shadow:0 18px 40px rgba(0,0,0,.7)}.section-form h2{color:#f9fafb}.section-form .muted{color:#d1d5db}.estimate-form{display:grid;grid-gap:12px;gap:12px;margin-top:10px}.field-label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:#f9fafb}.field-input{border-radius:999px;border:1px solid #4b5563;padding:9px 14px;font:inherit;background:#020617;color:#f9fafb}textarea.field-input{border-radius:16px;resize:vertical}.field-input:focus{outline:2px solid #fb923c;outline-offset:1px}.calc-result{margin-top:8px;font-size:.95rem}.section-dark .muted{color:#9ca3af}.list{list-style:disc;margin-left:18px;margin-top:6px}.list li+li{margin-top:4px}.footer{display:flex;flex-direction:column;gap:16px;margin-top:32px;color:#f9fafb}.footer a{color:#bfdbfe}@media (min-width:720px){.footer{flex-direction:row;justify-content:space-between;align-items:center}}.footer-name{font-size:1.3rem;font-weight:700}.footer-contact p{font-size:.9rem}.footer-buttons{display:flex;gap:10px;margin-top:8px}.footer-call{background:#22c55e;color:#052e16}.footer-call:hover{background:#4ade80}.footer-whatsapp{background:#0ea5e9;color:#f9fafb}.footer-whatsapp:hover{background:#38bdf8}.wa-floating{position:fixed;right:18px;bottom:24px;width:60px;height:60px;border-radius:999px;background:radial-gradient(circle at 30% 20%,#bbf7d0 0,#22c55e 35%,#15803d 100%);display:flex;align-items:center;justify-content:center;font-size:1.7rem;box-shadow:0 18px 40px rgba(22,163,74,.7);z-index:50}@media (max-width:600px){.hero{padding-top:40px}.hero-title{font-size:2.2rem}.hero-side-card{margin-top:4px}}