/* ═══════════════════════════════════════════════════════════════════ ROCHAT ARTISANS — Design System CSS Serrurier Canton de Vaud ═══════════════════════════════════════════════════════════════════ *//* ── 1. DESIGN TOKENS ────────────────────────────────────────────── */:root{--green:#00B074;--green-pale:#E8F8F2;--green-bg:#D1F2E6;--navy:#1B3A5C;--navy-light:#2A4F7A;--black:#121212;--black-soft:rgba(18, 18, 18, 0.75);--white:#FFFFFF;--grey-light:#F5F8F7;--radius:8px}/* ── 2. RESET & BASE ─────────────────────────────────────────────── */*, *::before, *::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'Inter', sans-serif;font-size:16px;line-height:1.6;color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased}h1, h2, h3, h4, h5, h6{font-family:'Montserrat', sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:0.5px;line-height:1.2}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}ul{list-style:none}/* ── 3. UTILITIES ────────────────────────────────────────────────── */.container{max-width:1200px;margin:0 auto;padding:0 24px}.section-eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--green);margin-bottom:12px;text-align:center}.section-title{font-size:clamp(28px, 3.5vw, 40px);margin-bottom:16px;text-align:center}.section-desc{font-size:16px;color:var(--black-soft);max-width:560px;line-height:1.7;text-align:center;margin-left:auto;margin-right:auto}/* Fade-up animation */.fade-up{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease, transform 0.6s ease}.fade-up.visible{opacity:1;transform:translateY(0)}/* Skip link */.skip-link{position:absolute;top:-100px;left:16px;background:var(--black);color:var(--white);padding:8px 16px;border-radius:var(--radius);z-index:100000}.skip-link:focus{top:16px}/* ── 4. ANNOUNCE BAR ─────────────────────────────────────────────── */.announce-bar{background:var(--navy);color:var(--white);text-align:center;font-size:13px;font-weight:600;padding:10px 24px;letter-spacing:0.3px}/* ── 5. NAVBAR ───────────────────────────────────────────────────── */.navbar{position:sticky;top:0;z-index:9999;background:rgba(255, 255, 255, 0.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0, 0, 0, 0.06);padding:0}.navbar .container{display:flex;align-items:center;justify-content:space-between;height:64px}.navbar-logo{display:flex;align-items:center;gap:8px;font-family:'Montserrat', sans-serif;font-weight:800;font-size:20px;text-transform:uppercase}.navbar-logo-img{height:44px;width:auto}.logo-dot{color:var(--green)}.navbar-links{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}.navbar-links a{font-size:14px;font-weight:600;color:var(--black);transition:color 0.2s}.navbar-links a:hover{color:var(--green)}.navbar-cta{background:var(--green) !important;color:var(--white) !important;padding:10px 20px !important;border-radius:50px;font-weight:700 !important;font-size:14px !important;transition:background 0.2s !important}.navbar-cta:hover{background:var(--navy) !important}.navbar-wa{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#25D366;color:var(--white) !important;transition:background 0.2s, transform 0.2s}.navbar-wa:hover{background:#1DA851;transform:scale(1.05)}.sticky-cta{display:none}.sticky-cta .sticky-phone,.sticky-cta .sticky-wa{flex:1;text-align:center}.sticky-cta .sticky-wa{background:#25D366;color:var(--white)}/* Dropdown */.nav-dropdown{position:relative}.nav-dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--white);border-radius:12px;box-shadow:0 12px 40px rgba(0, 0, 0, 0.1);padding:12px;min-width:220px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.2s, transform 0.2s;transform:translateX(-50%) translateY(8px)}.nav-dropdown:hover .nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.nav-dropdown-menu a{display:block;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500}.nav-dropdown-menu a:hover{background:var(--green-pale);color:var(--green)}/* Zones mega dropdown */.zones-mega{min-width:480px;padding:20px}.zones-mega-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--black-soft);margin-bottom:12px}.zones-mega-grid{display:grid;grid-template-columns:repeat(5, 1fr);gap:4px}.zones-mega-grid a{padding:8px 10px;text-align:center;font-size:13px;border-radius:6px}/* Hamburger (CSS-only) */.nav-toggle-checkbox{display:none}.navbar-burger{display:none;cursor:pointer;padding:8px;z-index:10001;position:relative}.navbar-burger span{display:block;width:22px;height:2px;background:var(--black);margin:5px 0;transition:transform 0.3s, opacity 0.3s}.mobile-only-li{display:none}.mobile-sub-li{display:none}.desktop-dropdown{display:block}/* ── 6. HERO ─────────────────────────────────────────────────────── */.hero{position:relative;overflow:hidden;background:var(--green-pale);padding:80px 0 100px;text-align:center}.hero h1{font-size:clamp(32px, 4.5vw, 56px);margin-bottom:24px;max-width:800px;margin-left:auto;margin-right:auto}.hero-google-badge{display:inline-flex;align-items:center;gap:10px;background:var(--white);border-radius:50px;padding:8px 20px;margin-bottom:24px;box-shadow:0 2px 12px rgba(0, 0, 0, 0.06)}.hero-google-stars{display:flex;align-items:center;gap:6px}.hero-features{display:flex;gap:32px;margin:32px 0;flex-wrap:wrap;justify-content:center}.hero-feature{display:flex;align-items:center;gap:12px;background:var(--white);border-radius:12px;padding:12px 20px;box-shadow:0 2px 8px rgba(0, 0, 0, 0.04)}.hero-feature-icon{font-size:24px;flex-shrink:0}.hero-feature-text{font-size:14px;font-weight:600;text-align:left;display:flex;flex-direction:column;line-height:1.3}.hero-feature-text strong{font-size:16px;font-weight:800}.hero-feature-text span{font-size:12px;font-weight:600;opacity:0.7}.hero-bullets{list-style:none;max-width:500px;margin:24px auto;text-align:left}.hero-bullets li{display:flex;align-items:flex-start;gap:10px;padding:6px 0;font-size:15px}.hero-bullets .check{color:var(--green);font-weight:700;flex-shrink:0;margin-top:2px}.hero-cta-btn{display:inline-block;padding:16px 36px;background:var(--green);color:var(--white);border-radius:50px;font-family:'Montserrat', sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:0.5px;transition:all 0.2s}.hero-cta-btn:hover{background:var(--navy);transform:translateY(-2px)}.hero-cta-btn .arrow{margin-left:8px}.hero-sub-cta{display:flex;gap:24px;margin-top:20px;font-size:13px;color:var(--black-soft);font-weight:600;flex-wrap:wrap}/* Hero Split (for ville pages) */.hero-split{background:var(--navy);color:var(--white);padding:80px 0 100px;position:relative;overflow:hidden}.hero-split .container{display:block}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.hero-left h1{color:var(--white);text-align:left}.h1-accent{color:var(--green);display:block}.hero-desc{font-size:16px;color:rgba(255, 255, 255, 0.7);line-height:1.7;margin-bottom:24px}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255, 255, 255, 0.1);border-radius:50px;padding:8px 16px;margin-bottom:20px;font-size:13px;font-weight:600}.hero-badge .stars{color:#FBBC05}.hero-ctas{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.btn{display:inline-block;padding:14px 28px;border-radius:50px;font-family:'Montserrat', sans-serif;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:0.5px;transition:all 0.2s}.btn-primary{background:var(--green);color:var(--white)}.btn-primary:hover{background:#00C882;transform:translateY(-2px)}.btn-secondary{background:transparent;color:var(--white);border:2px solid rgba(255, 255, 255, 0.3)}.btn-secondary:hover{border-color:var(--white)}.btn-outline{background:transparent;color:var(--black);border:2px solid var(--black)}.btn-outline:hover{background:var(--black);color:var(--white)}.hero-trust-icons{display:flex;gap:20px;font-size:13px;color:rgba(255, 255, 255, 0.6);font-weight:600;flex-wrap:wrap}.hero-split .hero-feature{background:rgba(255, 255, 255, 0.08);border:1px solid rgba(255, 255, 255, 0.1);color:var(--white)}.hero-split .hero-feature strong{color:var(--white)}.hero-split .hero-feature span{color:rgba(255, 255, 255, 0.6)}.hero-service-cards{display:flex;flex-direction:column;gap:12px}.mini-card{background:rgba(255, 255, 255, 0.08);border:1px solid rgba(255, 255, 255, 0.1);border-radius:16px;padding:20px;cursor:pointer;transition:background 0.2s, transform 0.2s;text-decoration:none;color:var(--white)}.mini-card:hover{background:rgba(255, 255, 255, 0.12);transform:translateX(4px)}.mini-card-icon{font-size:24px;margin-bottom:8px}.mini-card h3{font-size:14px;margin-bottom:4px}.mini-card p{font-size:13px;color:rgba(255, 255, 255, 0.6);line-height:1.5}.mini-card-price{display:inline-block;margin-top:8px;background:var(--green);color:var(--white);padding:4px 12px;border-radius:50px;font-size:12px;font-weight:700}/* ── 7. TRUST MARQUEE ────────────────────────────────────────────── */.trust-marquee{overflow:hidden;background:var(--white);border-top:1px solid rgba(0, 0, 0, 0.06);border-bottom:1px solid rgba(0, 0, 0, 0.06);padding:14px 0}.trust-marquee-inner{display:flex;gap:40px;animation:marquee 25s linear infinite;white-space:nowrap}.trust-marquee-inner span{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--black);text-transform:uppercase;letter-spacing:0.5px}.trust-marquee-inner .dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}/* ── 8. SERVICES GRID ────────────────────────────────────────────── */.services-section{padding:80px 0}.services-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:2px;margin-top:40px;background:rgba(0, 0, 0, 0.06);border-radius:16px;overflow:hidden}.service-card{background:var(--white);padding:32px 24px;display:flex;flex-direction:column;transition:background 0.2s}.service-card:hover{background:var(--green-pale)}.service-icon{font-size:32px;margin-bottom:16px}.service-card h3{font-size:15px;margin-bottom:8px;font-family:'Montserrat', sans-serif;font-weight:700;text-transform:uppercase}.service-card p{font-size:14px;color:var(--black-soft);line-height:1.6;flex:1}.service-arrow{font-size:18px;color:var(--green);margin-top:12px;transition:transform 0.2s}.service-card:hover .service-arrow{transform:translateX(4px)}/* Services 4 cols (for service-ville pages) */.services-grid-4{grid-template-columns:repeat(4, 1fr)}/* ── 9. WHY SECTION ──────────────────────────────────────────────── */.why-section{padding:80px 0}.why-v2{padding:80px 0;background:var(--navy);color:var(--white)}.why-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:0;margin-top:40px;border:1px solid rgba(18, 18, 18, 0.1);border-radius:16px;overflow:hidden}.why-v2 .why-grid{border-color:rgba(255, 255, 255, 0.1)}.why-card{padding:40px 24px;text-align:center;border-right:1px solid rgba(18, 18, 18, 0.1)}.why-v2 .why-card{border-right-color:rgba(255, 255, 255, 0.1)}.why-card:last-child{border-right:none}.why-number{font-family:'Montserrat', sans-serif;font-size:42px;font-weight:900;color:var(--green);margin-bottom:8px}.why-card h3{font-size:14px;margin-bottom:8px;text-transform:uppercase}.why-card p{font-size:13px;color:var(--black-soft);line-height:1.6}.why-v2 .why-card p{color:rgba(255, 255, 255, 0.6)}/* ── 10. COMPARE SECTION ─────────────────────────────────────────── */.compare-section{padding:80px 0;background:var(--green-pale)}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;max-width:800px}.compare-col{background:var(--white);border-radius:16px;padding:32px;box-shadow:0 2px 16px rgba(0, 0, 0, 0.04)}.compare-col h3{font-size:16px;margin-bottom:20px;font-family:'Montserrat', sans-serif;font-weight:700}.compare-col ul{list-style:none}.compare-col li{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:14px;line-height:1.5;border-bottom:1px solid rgba(0, 0, 0, 0.04)}.compare-check{color:var(--green);font-weight:700;flex-shrink:0}.compare-cross{color:#E74C3C;font-weight:700;flex-shrink:0}/* ── 11. PROXIMITY SECTION ───────────────────────────────────────── */.proximity-v2{padding:80px 0}.proximity-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.proximity-text{font-size:15px;line-height:1.8;color:var(--black-soft);margin-bottom:24px}.photo-placeholder{background:var(--grey-light);border-radius:16px;padding:60px 32px;text-align:center;color:var(--black-soft);font-size:14px;display:flex;flex-direction:column;align-items:center;gap:12px}.pricing-title{font-family:'Montserrat', sans-serif;font-weight:800;font-size:18px;text-transform:uppercase;margin-bottom:20px}.pricing-cards{display:flex;flex-direction:column;gap:12px}.pricing-card{background:var(--white);border:1px solid rgba(0, 0, 0, 0.08);border-radius:16px;padding:24px;position:relative;transition:transform 0.2s, box-shadow 0.2s}.pricing-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.08)}.pricing-card.featured{border-color:var(--green);box-shadow:0 4px 20px rgba(0, 176, 116, 0.12)}.pricing-badge{position:absolute;top:-10px;right:16px;background:var(--green);color:var(--white);padding:4px 14px;border-radius:50px;font-size:11px;font-weight:700;text-transform:uppercase}.pricing-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--black-soft);margin-bottom:4px}.pricing-price{font-family:'Montserrat', sans-serif;font-size:32px;font-weight:900;color:var(--green)}.pricing-mention{font-size:13px;color:var(--black-soft);margin-bottom:12px}.pricing-card ul{list-style:none;margin-top:12px;border-top:1px solid rgba(0, 0, 0, 0.06);padding-top:12px}.pricing-card li{font-size:14px;color:var(--black-soft);padding:3px 0}.pricing-cta{display:inline-block;margin-top:12px;font-size:13px;font-weight:700;color:var(--green)}.pricing-cta:hover{color:var(--navy)}/* ── 12. REVIEWS ─────────────────────────────────────────────────── */.reviews-v2{padding:60px 0;overflow:hidden}.reviews-ticker{overflow:hidden;padding:24px 0}.reviews-ticker-inner{display:flex;gap:20px;animation:marquee 40s linear infinite}.review-card{flex-shrink:0;width:320px;background:var(--white);border:1px solid rgba(0, 0, 0, 0.06);border-radius:16px;padding:24px}.review-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.review-avatar{width:40px;height:40px;border-radius:50%;background:var(--green-pale);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:var(--green)}.review-name{font-weight:700;font-size:14px}.review-location{font-size:12px;color:var(--black-soft)}.review-stars{color:#FBBC05;font-size:14px;letter-spacing:1px;margin-bottom:8px}.review-text{font-size:14px;color:var(--black-soft);line-height:1.6}.review-badge{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:11px;font-weight:600;color:var(--black-soft)}/* Reviews grid (full section) */.reviews-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:20px;margin-top:40px}/* ── 13. ZONES ───────────────────────────────────────────────────── */.zones-section{padding:80px 0}.zones-v2{padding:80px 0;background:var(--grey-light)}.zones-grid, .zones-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;justify-content:center}.zone-pill{display:inline-block;padding:10px 18px;background:var(--white);border:1px solid rgba(0, 0, 0, 0.08);border-radius:50px;font-size:13px;font-weight:600;transition:all 0.2s}.zone-pill:hover{background:var(--green);color:var(--white);border-color:var(--green)}.zone-current{background:var(--green) !important;color:var(--white) !important;border-color:var(--green) !important}/* ── 14. FAQ ─────────────────────────────────────────────────────── */.faq-v2{padding:80px 0;background:var(--green-pale)}.faq-list{max-width:800px;margin-top:40px}.faq-item{border-bottom:1px solid rgba(0, 0, 0, 0.08);padding:20px 0}.faq-item summary{font-weight:700;font-size:16px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-toggle{font-size:20px;color:var(--green);transition:transform 0.3s}.faq-item[open] .faq-toggle{transform:rotate(45deg)}.faq-answer{padding-top:12px;font-size:15px;color:var(--black-soft);line-height:1.7}/* ── 15. CTA FINAL ───────────────────────────────────────────────── */.cta-final{background:var(--navy);color:var(--white);padding:80px 0;text-align:center}.cta-final h2{color:var(--white);font-size:clamp(24px, 3vw, 36px);margin-bottom:12px}.cta-final p{color:rgba(255, 255, 255, 0.7);font-size:16px;margin-bottom:32px}.cta-final-btn{display:inline-block;padding:16px 36px;background:var(--green);color:var(--white);border-radius:50px;font-family:'Montserrat', sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;transition:all 0.2s}.cta-final-btn:hover{background:#00C882;transform:translateY(-2px)}.cta-v2{background:var(--navy);color:var(--white);padding:80px 0;text-align:center}.cta-v2 h2{color:var(--white);margin-bottom:12px}.cta-v2 p{color:rgba(255, 255, 255, 0.7);margin-bottom:32px;max-width:500px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}/* ── 16. FOOTER ──────────────────────────────────────────────────── */.footer{background:var(--grey-light);padding:60px 0 24px;border-top:1px solid rgba(0, 0, 0, 0.06)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}.footer-brand-name{font-family:'Montserrat', sans-serif;font-weight:800;font-size:20px;text-transform:uppercase;margin-bottom:12px}.footer-brand p{font-size:14px;color:var(--black-soft);line-height:1.6}.footer-social{display:flex;gap:12px;margin-top:16px}.footer-social a{width:32px;height:32px;border-radius:50%;background:rgba(0, 0, 0, 0.06);display:flex;align-items:center;justify-content:center;color:var(--black-soft);transition:all 0.2s}.footer-social a:hover{background:var(--green);color:var(--white)}.footer-col h4{font-family:'Montserrat', sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.footer-col ul{list-style:none}.footer-col li{margin-bottom:8px}.footer-col a{font-size:14px;color:var(--black-soft);transition:color 0.2s}.footer-col a:hover{color:var(--green)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid rgba(0, 0, 0, 0.06);font-size:13px;color:var(--black-soft)}.footer-bottom a{color:var(--black-soft);transition:color 0.2s}.footer-bottom a:hover{color:var(--green)}/* ── 17. STICKY CTA (mobile) ────────────────────────────────────── */.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99999;padding:0;background:transparent}.sticky-cta a{display:block;text-align:center;color:var(--white);font-family:'Montserrat', sans-serif;font-weight:800;font-size:15px;text-transform:uppercase;padding:14px 8px}.sticky-cta{flex-direction:row}.sticky-cta .sticky-phone{background:var(--green)}.sticky-cta .sticky-wa{background:#25D366}/* ── 18. FIREFLIES ───────────────────────────────────────────────── */.has-fireflies{position:relative}.firefly{position:absolute;width:6px;height:6px;border-radius:50%;pointer-events:none;background:rgba(0, 176, 116, 0.5);animation:firefly-float 8s ease-in-out infinite, firefly-glow 3s ease-in-out infinite}.firefly:nth-child(2){animation-delay:-2s}.firefly:nth-child(3){animation-delay:-4s}.firefly:nth-child(4){animation-delay:-6s}.firefly:nth-child(5){animation-delay:-1s}@keyframes firefly-float{0%, 100%{transform:translateY(0) translateX(0);opacity:0}15%{opacity:1}50%{transform:translateY(-30px) translateX(15px);opacity:0.6}85%{opacity:1}}@keyframes firefly-glow{0%, 100%{box-shadow:0 0 4px rgba(0, 176, 116, 0.4)}50%{box-shadow:0 0 12px rgba(0, 176, 116, 0.8)}}/* ── 19. DEVIS MODAL ─────────────────────────────────────────────── */.devis-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px}.devis-modal-overlay{position:fixed;inset:0;background:rgba(0, 0, 0, 0.65);z-index:999999}.devis-modal-content{position:relative;z-index:1000000;background:var(--white);border-radius:20px;padding:40px 36px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0, 0, 0, 0.2);animation:modalIn 0.3s ease}@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}.devis-modal-close{position:absolute;top:16px;right:20px;background:none;border:none;font-size:28px;color:var(--black-soft);cursor:pointer;line-height:1;transition:color 0.2s}.devis-modal-close:hover{color:var(--black)}.devis-modal-header{display:flex;align-items:center;gap:16px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid rgba(0, 0, 0, 0.06)}.devis-modal-header h2{font-family:'Montserrat', sans-serif;font-weight:800;font-size:20px;text-transform:uppercase;margin:0}.devis-modal-header p{font-size:14px;color:var(--green);font-weight:600;margin:4px 0 0}.devis-modal-footer{display:flex;justify-content:center;gap:24px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(0, 0, 0, 0.06);flex-wrap:wrap}.devis-modal-footer span{font-size:13px;color:var(--black-soft);font-weight:600}/* ── CF7 GLOBAL ─────────────────────────────────────────────────── */.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"],.wpcf7 input[type="number"],.wpcf7 input[type="url"],.wpcf7 select,.wpcf7 textarea{width:100%;padding:16px 18px;border:1.5px solid rgba(0, 0, 0, 0.08);border-radius:12px;font-size:15px;font-family:'Inter', sans-serif;color:var(--black);transition:border-color 0.2s, box-shadow 0.2s, background 0.2s;background:var(--grey-light);box-sizing:border-box;-webkit-appearance:none;appearance:none}.wpcf7 select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231B3A5C'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:20px;padding-right:44px;cursor:pointer}.wpcf7 input::placeholder,.wpcf7 textarea::placeholder{color:rgba(18, 18, 18, 0.4)}.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:none;border-color:var(--green);background:var(--white);box-shadow:0 0 0 4px rgba(0, 176, 116, 0.12)}.wpcf7 label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;color:var(--black-soft)}.wpcf7 textarea{min-height:130px;resize:vertical;line-height:1.5}.wpcf7 p{margin-bottom:18px}.cf7-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cf7-row p{margin-bottom:0}.wpcf7 input[type="submit"],.wpcf7-submit{width:100%;padding:18px 32px;background:var(--green);color:var(--white) !important;border:none;border-radius:50px;font-family:'Montserrat', sans-serif;font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:background 0.2s, transform 0.2s, box-shadow 0.2s;box-shadow:0 4px 16px rgba(0, 176, 116, 0.25);margin-top:8px}.wpcf7 input[type="submit"]:hover,.wpcf7-submit:hover{background:#00C882;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0, 176, 116, 0.35)}/* Validation messages */.wpcf7-not-valid-tip{color:#E74C3C;font-size:13px;font-weight:600;margin-top:6px}.wpcf7-response-output{border:1.5px solid var(--green) !important;background:var(--green-pale);border-radius:12px;padding:16px 20px !important;margin:24px 0 0 !important;font-size:14px;font-weight:600;color:var(--black)}.wpcf7-mail-sent-ng .wpcf7-response-output,.wpcf7-validation-errors .wpcf7-response-output,.wpcf7-acceptance-missing .wpcf7-response-output{border-color:#E74C3C !important;background:rgba(231, 76, 60, 0.08);color:#E74C3C}.wpcf7 .wpcf7-not-valid{border-color:#E74C3C !important;background:rgba(231, 76, 60, 0.04)}.wpcf7-spinner{margin-left:12px}/* Contact page layout */.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start;max-width:1100px;margin:0 auto}.contact-form-box{background:var(--white);border-radius:24px;padding:40px;box-shadow:0 12px 40px rgba(0, 0, 0, 0.08);border:1px solid rgba(0, 0, 0, 0.04)}.contact-side{display:flex;flex-direction:column;gap:16px}.contact-card{background:var(--white);border-radius:16px;padding:24px;border:1px solid rgba(0, 0, 0, 0.06);transition:transform 0.2s, box-shadow 0.2s;text-decoration:none;color:var(--black);display:block}.contact-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.06)}.contact-card-icon{width:48px;height:48px;border-radius:12px;background:var(--green-pale);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:12px}.contact-card.is-whatsapp .contact-card-icon{background:rgba(37, 211, 102, 0.1);color:#25D366}.contact-card-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--black-soft);margin-bottom:4px}.contact-card-value{font-family:'Montserrat', sans-serif;font-size:18px;font-weight:800;color:var(--black)}.contact-card-desc{font-size:13px;color:var(--black-soft);margin-top:4px}@media (max-width:768px){.contact-grid{grid-template-columns:1fr;gap:24px}.contact-form-box{padding:28px 20px}}/* ── 20. BLOG CONTENT ────────────────────────────────────────────── */.blog-content h2{font-family:'Montserrat', sans-serif;font-size:24px;font-weight:800;margin:40px 0 16px;color:var(--black)}.blog-content h3{font-family:'Montserrat', sans-serif;font-size:20px;font-weight:700;margin:32px 0 12px;color:var(--black)}.blog-content p{margin-bottom:16px}.blog-content ul, .blog-content ol{margin:16px 0;padding-left:24px}.blog-content li{margin-bottom:8px}.blog-content strong{color:var(--black)}.blog-content a{color:var(--green);font-weight:600}.blog-content a:hover{text-decoration:underline}.blog-content blockquote{border-left:4px solid var(--green);margin:24px 0;padding:16px 24px;background:var(--green-pale);border-radius:0 12px 12px 0;font-style:italic}/* ── 21. RESPONSIVE ──────────────────────────────────────────────── *//* Steps grid 4 cols */.steps-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:24px;margin-top:40px}.step-card{background:var(--green-pale);border-radius:16px;padding:32px 24px;text-align:center}.step-number{font-family:'Montserrat', sans-serif;font-size:42px;font-weight:900;color:var(--green)}.step-card h3{font-size:15px;margin:12px 0 8px}.step-card p{font-size:14px;color:var(--black-soft);line-height:1.6}/* Brand pills */.brand-pills{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.brand-pill{display:inline-block;padding:10px 20px;background:var(--white);border:1px solid rgba(0, 0, 0, 0.08);border-radius:50px;font-size:14px;font-weight:700}/* ── 21. RESPONSIVE ──────────────────────────────────────────────── */@media (max-width:1024px){.services-grid{grid-template-columns:repeat(2, 1fr)}.services-grid-4{grid-template-columns:repeat(2, 1fr)}.why-grid{grid-template-columns:repeat(2, 1fr)}.why-card:nth-child(2){border-right:none}.footer-grid{grid-template-columns:1fr 1fr}.proximity-grid{grid-template-columns:1fr}.compare-grid{grid-template-columns:1fr;max-width:100%}.hero-split .hero-grid{grid-template-columns:1fr}.hero-split .hero-side{display:none}.hero-right{display:none}.steps-grid{grid-template-columns:repeat(2, 1fr)}.reviews-grid{grid-template-columns:repeat(2, 1fr)}}@media (max-width:768px){/* Navbar mobile */ .navbar-burger{display:block}.navbar-links{display:none !important;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#ffffff;padding:16px 24px 100px;max-height:calc(100vh - 64px);overflow-y:auto;box-shadow:0 12px 40px rgba(0, 0, 0, 0.15)}.nav-toggle-checkbox:checked ~ .navbar-links{display:flex !important}.nav-toggle-checkbox:checked ~ .navbar-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle-checkbox:checked ~ .navbar-burger span:nth-child(2){opacity:0}.nav-toggle-checkbox:checked ~ .navbar-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-links li{border-bottom:1px solid rgba(0, 0, 0, 0.06)}.navbar-links a{display:block;padding:14px 0;font-size:16px}.navbar-cta{text-align:center !important;margin-top:8px}.mobile-only-li{display:block !important}.mobile-sub-li{display:block !important}.desktop-dropdown{display:none !important}.mobile-sub-details summary{font-size:16px;font-weight:600;padding:14px 0;list-style:none;cursor:pointer}.mobile-sub-details summary::-webkit-details-marker{display:none}.mobile-sub-links{padding:0 0 12px 16px}.mobile-sub-links a{padding:8px 0 !important;font-size:14px !important}.mobile-zones-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:4px}.mobile-zones-grid a{text-align:center;padding:8px !important;background:var(--grey-light);border-radius:6px}/* Hero */ .hero{padding:40px 0 60px}.hero-split{padding:40px 0 60px}.hero h1{font-size:28px}.hero-split h1{font-size:26px}.hero-grid{grid-template-columns:1fr}.hero-side{display:none}.hero-features{gap:8px;justify-content:center}.hero-feature{padding:10px 14px}.hero-feature-text strong{font-size:14px}.hero-cta-btn{padding:14px 28px;font-size:14px;display:block;text-align:center}.hero-ctas{flex-direction:column;align-items:stretch}.hero-ctas .btn{text-align:center}.hero-trust-icons{justify-content:center;gap:12px;font-size:12px}.hero-google-badge{flex-wrap:wrap;justify-content:center;padding:8px 14px}.hero-google-stars{flex-wrap:wrap;justify-content:center;gap:4px}.hero-badge{font-size:12px;text-align:center}.hero-desc{font-size:14px}.hero-sub-cta{justify-content:center}.hero-left{text-align:center}/* Grids */ .steps-grid{grid-template-columns:1fr !important;max-width:400px;margin-left:auto;margin-right:auto}.services-grid, .services-grid-4{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr}.why-card{border-right:none;border-bottom:1px solid rgba(18, 18, 18, 0.1)}.why-v2 .why-card{border-bottom-color:rgba(255, 255, 255, 0.1)}.why-card:last-child{border-bottom:none}.compare-grid{grid-template-columns:1fr;max-width:100%}.proximity-grid{grid-template-columns:1fr}.reviews-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{flex-direction:column;gap:12px;text-align:center}[style*="grid-template-columns:1fr 1fr"], [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}[style*="grid-template-columns:repeat(2"], [style*="grid-template-columns:repeat(2"], [style*="grid-template-columns:repeat(3"], [style*="grid-template-columns:repeat(3"], [style*="grid-template-columns:repeat(4"], [style*="grid-template-columns:repeat(4"]{grid-template-columns:1fr !important}/* Sections */ .section-title{font-size:24px}.section-eyebrow{font-size:11px}.sticky-cta{display:flex !important}.navbar-wa{display:none}.devis-modal-content{padding:28px 20px;margin:12px}.devis-modal .cf7-row{grid-template-columns:1fr}.zones-mega{min-width:auto}/* Pricing */ .pricing-cards{gap:16px}.pricing-price{font-size:26px}/* Reviews */ .review-card{width:280px}/* Zones */ .zones-pills{gap:6px}.zone-pill{padding:8px 14px;font-size:12px}/* FAQ */ .faq-item summary{font-size:14px}/* Blog */ .blog-content{font-size:15px}}@media (max-width:480px){.container{padding:0 16px}.hero h1{font-size:24px}.hero-split h1{font-size:22px}.hero-features{flex-direction:column;align-items:center}.hero-feature{width:100%;max-width:280px;justify-content:center}.section-title{font-size:22px}.why-number{font-size:32px}.step-number{font-size:32px}.compare-col{padding:20px}.mobile-zones-grid{grid-template-columns:repeat(3, 1fr)}.brand-pills{justify-content:center}.brand-pill{padding:8px 14px;font-size:12px}}