@import"https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap";:root{--ink: #182522;--ink-soft: #41555a;--brand: #1d4038;--brand-deep: #112b26;--accent: #c88d43;--surface: #f3efe8;--paper: #fffdf9;--line: #e1d7cc;--shadow: rgba(24, 37, 34, .08);--shadow-strong: rgba(24, 37, 34, .14);--step-0: clamp(1rem, .96rem + .2vw, 1.1rem);--step-1: clamp(1.2rem, 1.12rem + .35vw, 1.5rem);--step-2: clamp(1.55rem, 1.42rem + .58vw, 2rem);--step-3: clamp(2rem, 1.76rem + 1.05vw, 2.8rem);--step-4: clamp(2.7rem, 2.22rem + 1.7vw, 4rem);--step-5: clamp(3.2rem, 2.6rem + 2.1vw, 5rem);--container: min(1200px, calc(100% - 2rem) )}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Source Sans 3",Arial,sans-serif;background:linear-gradient(180deg,#f9f6f1,#fff 18%,#fff);color:var(--ink);line-height:1.6;font-size:1.0625rem;padding-bottom:4.5rem}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,input,textarea,select,a{transition:all .2s ease}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(36,70,59,.35);outline-offset:2px}p,ul,ol,figure{margin:0}h1,h2,h3,h4{font-family:Archivo,Segoe UI,sans-serif;line-height:1.1;letter-spacing:-.04em;margin:0}h1{font-size:clamp(2.5rem,1.9rem + 2vw,4.5rem)}h2{font-size:clamp(2rem,1.5rem + 1.4vw,3rem)}h3{font-size:var(--step-1)}.container{width:var(--container);margin:0 auto}.section{padding:clamp(4rem,6vw,6rem) 0}.section-label{color:var(--brand);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;margin-bottom:.85rem}.surface-section{background:linear-gradient(180deg,#f3efe8d9,#f3efe88c)}.utility-bar{background:#132b27;color:#ffffffe0;border-bottom:1px solid rgba(255,255,255,.08)}.utility-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.6rem}.utility-links{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.utility-link,.utility-note{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:700}.utility-note{opacity:.8}.site-header{position:sticky;top:0;z-index:20;background:#fffdf9e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:82px}.brand{display:inline-flex;align-items:center;gap:.75rem;min-width:0}.brand-logo{display:block;height:clamp(3.2rem,3.8vw,4.8rem);width:auto;max-width:min(100%,300px);opacity:1}.brand-logo--footer{height:clamp(2.6rem,2.8vw,3.2rem)}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:2.3rem;height:2.3rem;border-radius:.55rem;background:var(--brand);color:var(--paper);font-size:.8rem;font-weight:800}.brand-text{font-size:.9rem;font-weight:700;max-width:220px;line-height:1.2}.main-nav{display:flex;align-items:center;gap:1.1rem}.nav-link,.nav-button,.dropdown-link{color:var(--ink);font-weight:600;opacity:.8}.nav-link.active,.nav-button:hover,.dropdown-link:hover{color:var(--brand);opacity:1}.services-menu{position:relative}.nav-button{border:none;background:none;padding:.3rem 0;cursor:pointer;font-weight:600}.service-dropdown{position:absolute;top:calc(100% + .75rem);left:0;min-width:260px;background:var(--paper);border:1px solid var(--line);border-radius:.8rem;box-shadow:0 16px 40px var(--shadow);display:none;padding:.5rem;flex-direction:column}.services-menu.open .service-dropdown{display:flex}.dropdown-link{padding:.7rem .75rem;border-radius:.5rem}.dropdown-link:hover{background:var(--surface)}.header-actions{display:flex;align-items:center;gap:.9rem}.header-phone{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;color:var(--brand)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.92rem 1.45rem;font-weight:700;border:1px solid transparent;cursor:pointer;text-decoration:none;letter-spacing:-.02em}.button-primary{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-deep) 100%);color:var(--paper);box-shadow:0 14px 30px #1d40382e}.button-primary:hover{background:linear-gradient(135deg,var(--brand-deep) 0%,var(--brand) 100%);transform:translateY(-1px)}.button-secondary{background:transparent;border-color:var(--brand);color:var(--brand)}.button-secondary.light{border-color:#ffffffb3;color:var(--paper)}.button-secondary:hover{background:#24463b0d}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;border-radius:.5rem;padding:.5rem;cursor:pointer}.header-phone-button{display:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid var(--line);border-radius:.7rem;background:var(--paper);color:var(--brand)}.mobile-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11141380;z-index:60;display:none}.mobile-drawer{position:absolute;top:0;right:0;width:min(88vw,360px);height:100dvh;background:var(--paper);box-shadow:-14px 0 30px #0f151724;display:flex;flex-direction:column;transform:translate(0);transition:transform .2s ease;overflow:hidden}.mobile-drawer-header{padding:.8rem 1rem .7rem;border-bottom:1px solid var(--line);background:#ffffffb8}.mobile-brand{display:inline-flex;align-items:center;width:fit-content}.mobile-brand-logo{display:block;height:2.8rem;width:auto;max-width:220px}.mobile-nav{flex:1;overflow-y:auto;padding:.5rem 0 1rem}.mobile-nav-list{display:flex;flex-direction:column}.mobile-nav-row,.mobile-subnav-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 1.25rem;min-height:3.5rem;border:none;border-top:1px solid var(--line);background:transparent;color:var(--ink);font-size:1.125rem;font-weight:500;text-align:left;cursor:pointer}.mobile-nav-row:first-child{border-top:0}.mobile-nav-row.active,.mobile-subnav-item.active{color:var(--brand);border-left:3px solid var(--brand);padding-left:1rem;background:#1d40380a}.mobile-nav-row:focus-visible,.mobile-subnav-item:focus-visible,.menu-toggle:focus-visible,.header-phone-button:focus-visible,.mobile-whatsapp-link:focus-visible,.mobile-drawer-actions .button:focus-visible{outline:3px solid rgba(36,70,59,.28);outline-offset:-2px}.mobile-nav-row--button{font-weight:500}.mobile-chevron{transition:transform .2s ease}.mobile-nav-row--button.expanded .mobile-chevron{transform:rotate(180deg)}.mobile-subnav{display:flex;flex-direction:column;background:#f3efe880}.mobile-subnav-item{min-height:3rem;border-top:1px solid rgba(24,37,34,.08);padding-left:2.1rem;font-size:1rem;font-weight:400;color:var(--ink-soft)}.mobile-drawer-actions{border-top:1px solid var(--line);background:var(--paper);padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.7rem}.mobile-drawer-cta-row{display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:center}.mobile-whatsapp-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:3rem;padding:0 .9rem;border-radius:.75rem;background:#25d366;color:#fff;font-weight:700}@media (max-width: 900px){.main-nav,.header-phone,.header-quote-button{display:none}.header-phone-button,.menu-toggle,.mobile-drawer-backdrop{display:inline-flex}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}.header-actions{gap:.6rem}.header-inner{min-height:72px}.mobile-drawer-backdrop{display:block}body{padding-bottom:0}}@media (prefers-reduced-motion: reduce){.mobile-drawer,.mobile-chevron,*{transition-duration:.01ms!important}}.main-content{min-height:60vh}.hero-section{position:relative;padding:4.5rem 0 3.25rem}.hero-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgba(200,141,67,.12),transparent 28%),linear-gradient(180deg,#f3efe8b3,#fff0);pointer-events:none}.hero-grid,.split-layout,.contact-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,3vw,3rem);align-items:center;position:relative;z-index:1}.hero-copy{display:flex;flex-direction:column;gap:1.1rem}.hero-kicker{color:var(--brand);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.hero-text{font-size:1.1rem;max-width:38rem;color:var(--ink-soft)}.hero-actions,.inline-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.hero-microcopy{display:flex;flex-wrap:wrap;gap:1rem;color:var(--ink);font-weight:700;margin-top:.5rem}.hero-microcopy span{display:inline-flex;align-items:center;gap:.35rem;background:#ffffffb3;border:1px solid var(--line);border-radius:999px;padding:.45rem .8rem}.hero-media img,.image-panel img,.project-card img,.service-card img,.gallery-item img,.before-after-grid img{width:100%;border-radius:1.25rem;object-fit:cover;border:1px solid var(--line);background:var(--surface);box-shadow:0 18px 38px #101f1e14}.placeholder-image{display:grid;place-items:center;gap:.7rem;width:100%;min-height:220px;padding:1.5rem;border-radius:1.25rem;border:1px solid var(--line);background:linear-gradient(135deg,#f2f0ec,#e7ece8);color:var(--ink-soft);text-align:center}.placeholder-image svg{opacity:.7}.hero-placeholder,.image-panel-placeholder,.project-card-image,.service-card-image{min-height:240px;border-radius:1.25rem}.hero-media{position:relative}.hero-media img{aspect-ratio:16 / 10;background:linear-gradient(135deg,#1d403814,#c88d431f)}.image-panel img,.project-card img,.service-card img{aspect-ratio:4 / 3}.section-heading{display:flex;flex-direction:column;gap:.55rem;margin-bottom:2rem}.section-heading h2{max-width:720px}.split-heading{flex-direction:row;justify-content:space-between;align-items:end;gap:1rem}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.feature-card{background:#ffffffc7;border:1px solid var(--line);border-radius:1.2rem;padding:1.35rem 1.1rem;box-shadow:0 12px 22px #1825220a}.feature-badge{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:999px;background:#1d403814;color:var(--brand);font-size:.72rem;font-weight:800;margin-bottom:.9rem}.feature-card h3{margin-bottom:.5rem}.feature-card p{color:var(--ink-soft)}.card-grid,.process-grid,.values-grid,.testimonial-grid,.gallery-grid,.filter-row,.area-list,.trust-strip{display:grid;gap:1.25rem}.card-grid.three-up,.process-grid,.testimonial-grid,.values-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card,.project-card,.testimonial-card,.value-card,.contact-card,.info-card,.faq-item,.help-box{background:#ffffffd6;border:1px solid var(--line);border-radius:1.15rem;overflow:hidden;box-shadow:0 12px 24px #1825220a}.service-card,.project-card{transition:transform .2s ease,box-shadow .2s ease}.service-card:hover,.project-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px #18252214}.card-body{padding:1.2rem 1.1rem 1.35rem;display:flex;flex-direction:column;gap:.7rem}.card-body h3{font-size:1.35rem;letter-spacing:-.03em}.meta-tag{display:inline-flex;align-items:center;align-self:flex-start;padding:.3rem .6rem;border-radius:999px;background:#24463b14;font-size:.75rem;font-weight:700;color:var(--brand)}.text-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--brand);font-weight:700}.text-link:hover{transform:translate(2px)}.process-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.process-item{border:1px solid var(--line);border-radius:1rem;padding:1.2rem 1rem;background:linear-gradient(180deg,#f3efe8e6,#ffffffb3)}.process-item h3{font-size:1.04rem}.step-number{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:999px;background:var(--brand);color:var(--paper);font-size:.82rem;font-weight:800;margin-bottom:.9rem}.testimonial-card{padding:1.3rem}.testimonial-card p{font-size:1.08rem;margin-bottom:1rem}.testimonial-card footer{display:flex;flex-direction:column;gap:.15rem;color:var(--ink)}.area-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.area-pill{display:flex;align-items:center;justify-content:center;min-height:3.2rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-weight:700}.supporting-copy{margin-top:1.2rem;max-width:44rem}.trust-strip{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.trust-strip span{display:flex;align-items:center;justify-content:center;min-height:3.2rem;border:1px solid var(--line);border-radius:.7rem;background:var(--paper);font-weight:700}.cta-band{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-deep) 100%);color:var(--paper)}.cta-box{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(1.25rem,2vw,1.7rem);border:1px solid rgba(255,255,255,.12);border-radius:1.35rem}.page-hero{padding:4rem 0 2rem}.page-hero-special{padding-bottom:1rem}.narrow{max-width:760px}.service-summary,.contact-summary,.project-summary{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.summary-pill,.contact-summary span{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.5rem .8rem;background:#ffffffbf;color:var(--ink);font-weight:700}.mini-stat{display:flex;flex-direction:column;gap:.2rem;min-width:150px;padding:.85rem .95rem;border:1px solid var(--line);border-radius:1rem;background:#ffffffbf}.mini-stat strong{font-size:1.1rem;color:var(--brand)}.mini-stat span{color:var(--ink-soft);font-size:.9rem}.align-center{text-align:center}.filter-row{grid-template-columns:repeat(auto-fit,minmax(110px,max-content));margin-bottom:1.8rem}.filter-chip{border:1px solid var(--line);background:var(--paper);padding:.7rem 1rem;border-radius:999px;cursor:pointer;font-weight:700;color:var(--ink)}.filter-chip.active{background:var(--brand);color:var(--paper);border-color:var(--brand)}.project-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--ink);font-size:.82rem}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-item{border:1px solid var(--line);border-radius:1rem;background:transparent;padding:0;overflow:hidden;cursor:pointer}.gallery-item img{aspect-ratio:4 / 3;border-radius:0;border:none}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1012b8;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:40}.lightbox-content{position:relative;background:var(--paper);border-radius:1rem;max-width:min(900px,calc(100vw - 2rem));width:100%;padding:1rem}.lightbox-content img{width:100%;max-height:78vh;object-fit:contain;border-radius:.8rem}.lightbox-close,.lightbox-controls button{border:none;background:#1e2a321a;border-radius:999px;width:2.5rem;height:2.5rem;cursor:pointer}.lightbox-close{position:absolute;top:.8rem;right:.8rem}.lightbox-controls{display:flex;justify-content:center;gap:.75rem;margin-top:1rem}.before-after-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.before-after-grid h3{margin-bottom:.7rem}.check-list,.contact-list,.hours-list,.footer-links{list-style:none;padding:0;margin:0}.check-list{display:flex;flex-direction:column;gap:.8rem;margin-top:1.1rem}.check-list li,.contact-list li,.hours-list li{display:flex;align-items:center;gap:.6rem}.check-list li{background:#ffffffb3;border:1px solid var(--line);border-radius:999px;padding:.65rem .8rem;width:fit-content;max-width:100%}.list-tight{gap:.5rem}.ordered-list{margin:1rem 0 0 1.5rem;display:flex;flex-direction:column;gap:.8rem}.faq-wrap,.faq-list{display:grid;gap:1rem}.faq-item{padding:1rem 1.2rem}.faq-item summary{list-style:none;cursor:pointer;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.faq-item summary::-webkit-details-marker{display:none}.faq-item p{margin-top:.8rem;color:#1e2a32d1}.contact-layout{align-items:start}.contact-card,.info-card{padding:1.5rem}.contact-info{display:grid;gap:1rem}.contact-list,.hours-list{display:flex;flex-direction:column;gap:.8rem}.contact-list a,.contact-list span,.hours-list li{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink)}.hours-list li{justify-content:space-between;gap:1rem}.quote-form{display:flex;flex-direction:column;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.quote-form label{display:flex;flex-direction:column;gap:.45rem;font-weight:600}.quote-form input,.quote-form textarea,.quote-form select{width:100%;border:1px solid var(--line);border-radius:.7rem;padding:.8rem .9rem;min-height:3rem;background:var(--paper)}.quote-form textarea{resize:vertical}.field-error{color:#9b2c2c;font-size:.8rem}.consent-row{flex-direction:row!important;align-items:flex-start!important;gap:.7rem}.consent-row input{width:auto;min-height:auto;margin-top:.2rem}.submit-button{width:fit-content}.form-status{min-height:1.7rem}.success-message{color:var(--brand);font-weight:700}.error-message{color:#9b2c2c;font-weight:700}.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.help-box{padding:2rem;text-align:center}.site-footer{background:#11211d;color:#ffffffd1;padding:4rem 0 1.5rem}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:2rem}.footer-brand-block,.footer-links,.contact-links{display:flex;flex-direction:column;gap:.8rem}.footer-brand{color:var(--paper)}.footer-copy{max-width:28rem}.site-footer h3{color:var(--paper);margin-bottom:.5rem;font-size:1.05rem}.footer-links a,.footer-links span,.contact-links a,.contact-links span{color:#fffc;display:inline-flex;align-items:center;gap:.5rem}.footer-company-details{padding-top:1rem;margin-top:1.25rem;border-top:1px solid rgba(255,255,255,.1);color:#ffffffb8}.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.5rem;margin-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.accreditation-row,.social-links{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem}.accreditation-row span{color:#fffc;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:.35rem .7rem}.social-links a{display:inline-flex;align-items:center;justify-content:center;width:2.3rem;height:2.3rem;border-radius:999px;background:#ffffff14;color:var(--paper)}.footer-bottom{padding-top:1.2rem;text-align:center;color:#ffffffb8}.legal-copy{display:flex;flex-direction:column;gap:1rem;max-width:760px}.page-loading{min-height:40vh;display:grid;place-items:center;font-weight:700;color:var(--brand)}@media (max-width: 980px){.main-nav,.header-phone,.header-actions .button-primary{display:none}.menu-toggle,.mobile-menu,.mobile-call-bar{display:block}.header-inner{min-height:72px}.card-grid.three-up,.process-grid,.testimonial-grid,.values-grid,.gallery-grid,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid,.split-layout,.contact-layout,.cta-box,.form-grid{grid-template-columns:1fr;display:grid}.cta-box{align-items:start}body{padding-bottom:5.5rem}}@media (max-width: 640px){.section{padding:4rem 0}.hero-section{padding-top:3rem}.card-grid.three-up,.process-grid,.testimonial-grid,.values-grid,.gallery-grid,.footer-grid,.before-after-grid{grid-template-columns:1fr}.split-heading{flex-direction:column;align-items:start}.brand-text{max-width:160px;font-size:.76rem}.mobile-call-bar{display:grid}.cta-actions,.hero-actions,.inline-actions{flex-direction:column;align-items:stretch}.button,.mobile-call-button{width:100%}.utility-inner{flex-direction:column;justify-content:center;padding:.5rem 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
