@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-0.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-1.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-2.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-3.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-4.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--ink:#172832;--paper:#F6F5F1;--copper:#C48B65;--slate:#263E47;--stone:#DADBD5;--muted:#566269;--white:#fff;--line:#d4d7d3;--h1:clamp(1.875rem,1.35rem + 1.45vw,3.25rem);--h2:clamp(1.5rem,1.2rem + .9vw,2.25rem);--h3:clamp(1.25rem,1.12rem + .35vw,1.5rem);--body:clamp(1rem,.96rem + .15vw,1.0625rem);--max:1280px;--gutter:clamp(18px,3vw,48px);--space:clamp(56px,7vw,104px);--radius:4px;--ease:cubic-bezier(.2,.65,.3,1);--shadow:0 12px 36px #1728320b}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--body)/1.65 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,ul,ol,blockquote,figure{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:break-word}h1{font-size:var(--h1);line-height:1.15}h2{font-size:var(--h2);line-height:1.25}h3{font-size:var(--h3);line-height:1.35}p{max-width:72ch}p+p{margin-top:1em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.65}button{background:none;border:0}a,button{touch-action:manipulation}svg{width:22px;height:22px;flex-shrink:0}img{display:block;width:100%;height:auto;max-width:100%;object-fit:cover}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #9b5f36;outline-offset:5px}.container{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding-block:var(--space)}.small{font-size:.875rem;line-height:1.6}.muted{color:var(--muted)}.lead{font-size:clamp(1rem,.95rem + .25vw,1.125rem);color:var(--muted);line-height:1.7}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.14em;font-size:.69rem;line-height:1.6;font-weight:700;margin-bottom:20px}.eyebrow>span{width:26px;height:1px;background:var(--copper);flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:14px 22px;min-height:50px;line-height:1.45;font-size:.9375rem;font-weight:600;border:1px solid transparent;border-radius:var(--radius);transition:background .25s,color .25s,box-shadow .25s;max-width:100%;text-align:center}.button svg{width:19px;transition:transform .25s var(--ease)}.button:hover svg{transform:translateX(3px)}.primary{background:var(--ink);color:var(--white)}.primary:hover{background:var(--slate);box-shadow:var(--shadow)}.secondary{border-color:var(--line);background:transparent;color:var(--ink)}.secondary:hover{background:#e9e9e3;border-color:var(--muted)}.light{background:var(--paper);color:var(--ink)}.button-row{display:flex;gap:12px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:.9375rem;font-weight:600;text-decoration:underline;text-decoration-color:#9aaca9;text-underline-offset:7px;transition:color .25s}.text-link:hover{color:#805333}.text-link svg{width:18px}.text-button{padding:8px 0;text-decoration:underline;font-size:.8125rem}.skip-link{position:fixed;z-index:40;top:8px;left:12px;padding:12px 20px;background:var(--ink);color:white;transform:translateY(-150%)}.skip-link:focus{transform:none}.preview-bar{text-align:center;background:#eae6df;color:#5f5145;font-size:.6875rem;letter-spacing:.04em;padding:5px var(--gutter)}.topline{background:var(--ink);color:#e5e6df;font-size:.6875rem;letter-spacing:.035em}.topline .container{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px}.topline a{display:flex;align-items:center;gap:8px;min-height:34px}.topline svg{width:13px;height:13px}.site-header{position:relative;z-index:12;background:var(--paper);border-bottom:1px solid var(--line);transition:box-shadow .25s}.site-header.scrolled{box-shadow:0 4px 24px #1728320c}.header-inner{display:flex;align-items:center;gap:18px;min-height:116px}.brand{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0}.brand img{width:138px;height:91px;object-fit:contain;object-position:left center}.brand-caption{display:none;font-size:9px;letter-spacing:.1em}.site-header nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.15vw,20px);flex:1;font-size:.755rem;font-weight:600}.site-header nav>a{white-space:nowrap;position:relative;min-height:44px;display:flex;align-items:center}.site-header nav>a:after{position:absolute;bottom:7px;left:0;right:0;content:'';height:1px;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav>a:hover:after,.site-header nav>a[aria-current]:after{transform:scaleX(1)}.header-wa{border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;width:44px;height:44px;flex-shrink:0}.header-wa:hover{background:#e3e8e0}.menu-toggle{display:none}.nav-dropdown{position:relative}.nav-dropdown summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:5px;white-space:nowrap}.nav-dropdown summary::-webkit-details-marker{display:none}.dropdown-links{position:absolute;right:0;top:100%;min-width:210px;padding:12px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}.dropdown-links a{display:block;padding:9px 12px;min-height:44px}.dropdown-links a:hover,.dropdown-links a[aria-current]{background:#e9e9e2}.hero{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(32px,5vw,72px);padding-block:48px 62px;align-items:center}.hero-copy{padding-block:18px}.hero h1{max-width:13ch;margin-bottom:24px}.hero .lead{max-width:45ch;margin-bottom:30px}.hero .button{font-size:.875rem;padding-inline:18px;gap:12px}.hero-whatsapp{display:flex;align-items:center;gap:9px;width:fit-content;font-size:.75rem;margin-top:24px;min-height:44px}.hero-whatsapp svg{width:17px}.hero-whatsapp svg:last-child{width:13px}.hero-bottom{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:20px;margin-top:42px;padding-top:16px;font-size:.625rem;letter-spacing:.12em;text-transform:uppercase}.hero-image{position:relative;overflow:hidden;background:var(--stone)}.hero-image>img{height:492px;object-position:center}.vertical-label{position:absolute;right:12px;top:24px;writing-mode:vertical-rl;letter-spacing:.2em;font-size:.57rem;color:var(--ink);background:#f6f5f1db;padding:14px 5px}.hero-image-note{display:flex;align-items:center;gap:12px;margin-top:18px;font-size:.6875rem;line-height:1.5}.hero-image-note>span:last-child{margin-left:auto;color:var(--muted);letter-spacing:.09em}.dot{background:var(--copper);width:7px;height:7px;border-radius:50%;flex-shrink:0}.commitments{background:var(--ink);color:var(--paper);padding-block:34px}.commitments .container{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.commitments article{display:flex;gap:18px}.commitments article+article{border-left:1px solid #f6f5f12a;padding-left:30px}.benefit-index{color:var(--copper);font-size:.75rem;padding-top:3px}.commitments h3{font-size:.9375rem;letter-spacing:0;font-weight:600;margin-bottom:9px}.commitments p{font-size:.75rem;color:#c9d0ce;line-height:1.7}.intro-section{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(32px,8vw,120px);align-items:center}.intro-images{max-width:480px;position:relative}.intro-images>img{height:420px;object-position:center}.image-label{position:absolute;right:-24px;bottom:24px;background:var(--paper);border:1px solid var(--line);padding:20px 30px;font-size:.8125rem;letter-spacing:.01em}.intro-copy h2{max-width:24ch;margin-bottom:24px}.intro-copy>p:not(.eyebrow){font-size:1rem;color:var(--muted)}.intro-copy .text-link{margin-top:24px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:38px}.section-heading>div:first-child{max-width:720px}.section-heading h2{max-width:28ch}.section-heading p:not(.eyebrow){color:var(--muted);margin-top:18px;font-size:1rem}.section-heading .eyebrow{margin-bottom:14px}.section-heading>.button{flex-shrink:0}.services-section{background:#eeeee8;border-block:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.service-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s;min-width:0;display:flex;flex-direction:column}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-image{height:250px;display:block;position:relative;overflow:hidden}.card-image>img{height:100%;transition:transform .5s var(--ease)}.service-card:hover .card-image img{transform:scale(1.025)}.card-index{position:absolute;top:16px;left:16px;width:34px;height:34px;display:grid;place-items:center;background:#f6f5f1e8;font-size:.65rem;border-radius:50%}.card-body{padding:26px;display:flex;flex-direction:column;flex:1}.card-body h3{font-size:1.25rem;letter-spacing:-.03em;margin-bottom:14px}.card-body>p{color:var(--muted);font-size:.875rem;margin-bottom:20px}.card-body .text-link{font-size:.8125rem;margin-top:auto;justify-content:space-between}.service-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 26px;margin-top:26px}.service-shortcuts a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;border-bottom:1px solid var(--line);font-size:.8125rem}.service-shortcuts svg{width:15px}.project-grid{display:grid;grid-template-columns:1.16fr 1fr;gap:32px;align-items:start}.project-card:nth-child(2){margin-top:65px}.project-image{height:380px;overflow:hidden;position:relative}.project-image>img{height:100%;transition:transform .5s}.project-card:hover img{transform:scale(1.025)}.round-arrow{position:absolute;bottom:20px;right:20px;border-radius:50%;background:var(--paper);width:44px;height:44px;display:grid;place-items:center}.project-title{padding-top:20px;display:flex;justify-content:space-between}.project-title h3{font-size:1.25rem;margin-top:6px}.why-section{background:var(--ink);color:var(--paper)}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.why-grid h2{margin-bottom:20px}.why-grid p:not(.eyebrow){color:#d0d7d3;font-size:1rem;margin-bottom:26px}.check-list{list-style:none;padding:0}.check-list>li{display:flex;gap:15px;align-items:flex-start;padding-block:16px;border-bottom:1px solid #ffffff25;font-size:.9375rem}.check-list svg{color:var(--copper);width:20px;margin-top:2px}.dark-checks>li{border-color:var(--line)}.dark-checks svg{color:#775035}.process-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;counter-reset:step}.process-grid li{border-top:1px solid var(--line);padding-top:22px}.process-grid li>span{display:block;color:#8c5c3d;font-size:.75rem;letter-spacing:.05em;margin-bottom:24px}.process-grid h3{font-size:1.125rem;letter-spacing:-.015em;margin-bottom:12px}.process-grid p{font-size:.875rem;color:var(--muted)}.zone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 36px}.zone-link{display:flex;align-items:center;gap:18px;min-height:88px;border-bottom:1px solid var(--line)}.zone-link>span:nth-child(2){font-size:1.125rem;font-weight:500}.zone-link>svg{margin-left:auto;width:18px;transition:transform .25s}.zone-link:hover svg{transform:translate(2px,-2px)}.zone-number{font-size:.625rem;color:#8a6349;letter-spacing:.05em}.reviews-section{background:#eceee9;border-block:1px solid var(--line)}.carousel-controls{display:flex;gap:10px}.carousel-controls button{border:1px solid #9caaa5;border-radius:50%;width:44px;height:44px}.carousel-controls button:hover{background:var(--white)}.rating-line{display:flex;align-items:center;gap:20px;margin-bottom:30px}.rating-line>strong{font-size:2.5rem;font-weight:600;line-height:1}.rating-line strong span{font-size:1rem;color:var(--muted);margin-left:5px}.rating-line p{font-size:.75rem;color:var(--muted)}.review-stars{color:#976022;letter-spacing:.14em;font-size:.875rem}.review-track{display:flex;overflow:auto;gap:22px;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px 2px 16px}.review-card{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start;background:var(--paper);border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;min-width:0}.review-card blockquote{font-size:.875rem;margin:18px 0 24px;line-height:1.8}.review-person{display:flex;align-items:center;gap:12px;margin-top:auto}.avatar{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;background:#e3e6de;border-radius:50%;font-size:.875rem}.review-person strong{font-size:.6875rem;font-weight:700;display:block}.review-person div>span{display:block;font-size:.625rem;color:var(--muted)}.google-g{font-size:1.125rem;font-weight:800;color:#346cc7;margin-left:auto}.review-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:20px 0 16px}.external-block{margin-top:22px}.external-block .small{margin-top:8px;max-width:68ch}.external-mount{margin-top:20px}.external-mount:empty{display:none}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-section .section-heading{align-self:start}.faq-list details{border-top:1px solid var(--line);padding-block:22px}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.faq-list summary{display:flex;align-items:center;gap:20px;justify-content:space-between;min-height:30px;font-size:.9375rem;font-weight:600}.faq-list summary svg{width:16px;height:16px;flex-shrink:0}.faq-list details[open] summary svg{transform:none}.faq-list p{padding-top:18px;color:var(--muted);font-size:.875rem}.contact-section{background:#e9eae4;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,7vw,100px)}.contact-grid h2{margin-bottom:24px}.contact-grid>div:first-child>p:not(.eyebrow){color:var(--muted);font-size:.9375rem}.contact-phone{display:flex;align-items:center;gap:22px;font-size:clamp(1.5rem,2vw,2rem);font-weight:500;letter-spacing:-.03em;margin-top:32px;min-height:44px}.contact-grid .button{margin-top:24px}.contact-grid .text-link{display:flex;width:fit-content;font-size:.875rem;overflow-wrap:anywhere}.contact-hours{margin-top:42px;padding-top:24px;border-top:1px solid #cbd0c7}.contact-hours h3{font-size:.9375rem;letter-spacing:0;margin-bottom:12px}.contact-hours p{font-size:.8125rem;color:var(--muted);margin:3px 0}.form-panel{padding:32px;background:var(--paper);border:1px solid #d0d4cd;border-radius:var(--radius);min-width:0}.form-heading{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:26px}.form-heading h3{font-size:1.25rem}.form-heading>span{font-size:.625rem;color:var(--muted)}.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}label{display:flex;flex-direction:column;gap:7px;font-size:.8125rem;font-weight:600;min-width:0}input,select,textarea{border:1px solid #adb7b0;border-radius:var(--radius);min-height:46px;padding:10px 12px;background:transparent;color:var(--ink);width:100%;font-weight:400;font-size:1rem;min-width:0;line-height:1.5}select{padding-right:26px}textarea{resize:vertical;min-height:110px}input::placeholder,textarea::placeholder{color:#69766f;font-size:.875rem}.span-2{grid-column:1/-1}.checkbox{display:flex;flex-direction:row;gap:11px;align-items:flex-start;font-weight:400;font-size:.75rem;line-height:1.6}.checkbox input{appearance:auto;width:18px;height:18px;min-height:18px;flex-shrink:0;margin:3px 0 0;accent-color:var(--ink)}.checkbox a{text-decoration:underline;text-underline-offset:3px}.file-label input{font-size:.6875rem;padding:10px;min-width:0}.file-label .small{font-size:.6875rem;font-weight:400;color:var(--muted)}.honeypot{position:absolute;left:-10000px;opacity:0}.form-preview-note{font-size:.75rem;color:#6e512a;line-height:1.6;margin-top:20px}.form-status{font-size:.8125rem;margin-top:16px}.form-status:empty{display:none}.form-status.error{color:#8c3023}.form-status.success{color:#2e5c40}.tally-option{border-top:1px solid var(--line);padding-top:16px}.tally-option iframe{width:100%;border:0;min-height:600px}.footer{background:var(--ink);color:var(--paper);padding-top:64px;padding-bottom:100px}.footer-grid{display:grid;grid-template-columns:1.25fr .85fr .85fr 1.05fr;gap:40px}.footer .brand{display:inline-flex;margin-top:-16px;background:var(--paper);padding:6px 14px;border-radius:var(--radius)}.footer .brand img{width:140px;height:90px}.footer p{font-size:.75rem;color:#bec9c5;margin-top:18px;line-height:1.8}.footer h2{font-size:.8125rem;letter-spacing:.02em;margin-bottom:18px;font-weight:600}.footer-grid>div>a:not(.brand){display:block;width:fit-content;font-size:.75rem;margin-block:10px;overflow-wrap:anywhere}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.footer .footer-wa{display:flex!important;align-items:center;gap:8px;color:#e9d0bd;margin-top:20px!important}.footer-wa svg{width:16px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:42px;padding-top:22px;border-top:1px solid #ffffff25;font-size:.6875rem;color:#b9c5bf}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.footer-bottom .text-button{font-size:.6875rem}.floating-wa{position:fixed;z-index:15;bottom:24px;right:max(20px,env(safe-area-inset-right));background:#1d5f4b;color:#fff;border:1px solid #ffffff66;box-shadow:0 5px 20px #0002;padding:13px 17px;border-radius:32px;display:flex;align-items:center;gap:9px;min-height:50px;font-size:.8125rem}.floating-wa svg{width:22px}.floating-wa:hover{background:#184e3e}.breadcrumbs{padding-block:22px;font-size:.6875rem;color:var(--muted)}.breadcrumbs ol{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 12px}.breadcrumbs li+li:before{content:'/';margin-right:12px;color:#8c9890}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.page-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding-block:18px 40px}.page-hero-copy h1{margin-bottom:22px;max-width:21ch}.page-hero .lead{margin-bottom:26px}.page-hero-image{position:relative;overflow:hidden}.page-hero-image>img{height:380px}.image-caption{display:block;color:var(--muted);font-size:.625rem;padding-top:9px}.page-title{padding-block:38px 26px}.page-title h1{margin-bottom:22px}.page-title>p:not(.eyebrow){max-width:65ch;color:var(--muted)}.page-title .small{margin-top:18px}.local-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:70px}.local-intro h2{margin-bottom:20px}.local-intro>div>p:not(.eyebrow){font-size:1rem;color:var(--muted)}.local-note{padding:28px;border-left:2px solid var(--copper);background:#eeeee7}.local-note h3{font-size:1.125rem}.local-note ul{padding-left:18px;font-size:.875rem;color:var(--muted);margin-top:16px}.local-note li{margin-top:10px}.source-notice{background:#eee6d8;border:1px solid #d2bea0;padding:18px 24px;font-size:.8125rem;color:#5e4a2c}.prose{max-width:75ch}.prose h2{margin-top:38px;margin-bottom:20px}.prose h2:first-child{margin-top:0}.prose h3{margin-top:26px;margin-bottom:14px;font-size:1.25rem}.prose p{color:var(--muted);font-size:1rem;line-height:1.85}.prose ul{padding-left:22px;margin-block:20px;font-size:.9375rem;color:var(--muted)}.prose li{margin-bottom:8px}.original-content>.prose:first-child{max-width:85ch}.local-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-block:42px 64px}.local-service-grid article{border-top:1px solid var(--line);padding-top:20px}.local-service-grid h3{font-size:1.125rem;margin-bottom:12px}.local-service-grid p{font-size:.8125rem;color:var(--muted)}.local-full-copy{margin-inline:auto;max-width:900px}.local-full-copy h2{padding-top:32px;border-top:1px solid var(--line)}.source-archive{border:1px solid var(--line);background:#eeeee8;padding:22px 28px}.source-archive>summary{font-size:.875rem;font-weight:600;min-height:44px;display:flex;align-items:center}.source-archive>summary:after{content:'+';margin-left:auto;font-size:1.5rem}.source-archive[open]>summary:after{content:'−'}.source-archive .prose{padding-top:28px}.source-archive .prose h2{font-size:1.5rem}.service-detail{display:grid;grid-template-columns:1fr .95fr;gap:70px;align-items:start}.scope-panel{background:#eeeee7;padding:30px}.scope-panel h2{font-size:1.5rem;margin-bottom:16px}.scope-panel li{font-size:.875rem}.scope-panel .small{margin-top:18px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}.container .photo-grid{width:100%}.photo-grid .photo-button{height:320px}.photo-grid:has(>.photo-button:only-child){grid-template-columns:1fr}.photo-grid:has(>.photo-button:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.photo-button{position:relative;padding:0;overflow:hidden;background:var(--stone);display:block;width:100%;border-radius:var(--radius)}.photo-button img{height:100%;transition:transform .4s var(--ease)}.photo-button:hover img{transform:scale(1.025)}.photo-plus{position:absolute;right:16px;bottom:16px;border-radius:50%;background:var(--paper);display:grid;place-items:center;width:38px;height:38px}.photo-plus svg{width:17px}.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-block:20px}.filter-button{min-height:44px;padding:10px 20px;font-size:.8125rem;border:1px solid var(--line);border-radius:25px}.filter-button.active{color:white;background:var(--ink);border-color:var(--ink)}.filter-status{margin-bottom:26px;color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;align-items:start}.portfolio-item .photo-button{height:320px}.portfolio-item:nth-child(3n+2) .photo-button{height:390px}.portfolio-item>p{font-size:.75rem;color:var(--muted);margin-top:12px}.portfolio-item[hidden]{display:none}.error-page{min-height:55vh;padding-block:90px}.error-page .button{margin-top:32px}.legal-copy{padding-bottom:50px}dialog{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:var(--paper);color:var(--ink);max-width:calc(100% - 32px)}dialog::backdrop{background:#172832b8;backdrop-filter:blur(4px)}dialog h2{font-size:1.5rem;margin-bottom:18px}dialog p{font-size:.875rem;margin-bottom:20px}#cookie-dialog{max-width:540px}#cookie-dialog .button{margin:6px 6px 6px 0}#lightbox{width:min(1100px,calc(100vw - 24px));height:min(850px,calc(100dvh - 24px));background:var(--ink);color:white;border:0;padding:64px 64px 40px;overflow:hidden}#lightbox[open]{display:flex;align-items:center;justify-content:center}#lightbox figure{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;gap:18px}#lightbox figure img{width:100%;height:calc(100% - 50px);min-height:0;object-fit:contain}#lightbox figcaption{font-size:.8125rem;text-align:center;max-width:65ch}#lightbox button{position:absolute;color:white;display:grid;place-items:center;width:44px;height:44px;font-size:1.5rem;border:1px solid #ffffff44;border-radius:50%;z-index:1}#lightbox .lightbox-close{right:12px;top:12px}#lightbox .lightbox-prev{left:8px;top:calc(50% - 22px)}#lightbox .lightbox-next{right:8px;top:calc(50% - 22px)}#lightbox .lightbox-counter{position:absolute;top:22px;left:24px;font-size:.75rem}.comparison{position:relative;height:450px;overflow:hidden}.comparison>div{position:absolute;inset:0}.comparison img{height:100%}.comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.before-label,.after-label{position:absolute;top:16px;padding:5px 12px;background:var(--paper);font-size:.75rem}.before-label{left:16px}.after-label{right:16px}.comparison-control{margin-top:18px;max-width:600px}.comparison-control input{accent-color:var(--ink);padding:0}.hero-copy{animation:hero-in .6s var(--ease) both}.hero-visual{animation:hero-in .65s .08s var(--ease) both}@keyframes hero-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}.reveal.is-prepared{opacity:1;transform:none}.reveal.is-prepared.is-visible{animation:section-in .68s cubic-bezier(.22,1,.36,1) both}@keyframes section-in{from{opacity:.25;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(min-width:1800px){.header-inner{min-height:126px}.hero{padding-block:56px 72px}.hero-image>img{height:540px}}
@media(max-width:1199px){.header-inner{min-height:100px;justify-content:space-between}.brand img{height:78px;width:130px}.menu-toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--radius);order:3}.header-wa{margin-left:auto}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:18px var(--gutter) 26px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);font-size:.9375rem;max-height:calc(100dvh - 140px);overflow:auto}.site-header nav.is-open{display:block}.site-header nav>a{border-bottom:1px solid var(--line);padding:9px 0;min-height:47px;white-space:normal}.site-header nav>a:after{display:none}.nav-dropdown{border-bottom:1px solid var(--line)}.nav-dropdown summary{min-height:47px;justify-content:space-between}.dropdown-links{position:static;box-shadow:none;border:0;background:#eeeee7;margin-bottom:12px}.header-inner{gap:12px}.hero{gap:36px}.hero-image>img{height:480px}.hero h1{font-size:clamp(2rem,4vw,2.75rem)}.hero .button-row{flex-direction:column;align-items:flex-start}.commitments .container{gap:22px}.commitments article+article{padding-left:20px}.service-grid{gap:18px}.card-body{padding:20px}.card-image{height:220px}.footer-grid{gap:24px;grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1;display:flex;gap:24px;flex-wrap:wrap;align-items:center}.footer-grid>div:last-child h2{width:100%;margin-bottom:0}.footer-grid>div:last-child p{margin:0}.footer-grid>div:last-child a{margin:0!important}.review-card{flex-basis:calc((100% - 22px)/2)}.faq-section{gap:42px}.page-hero{gap:36px}.contact-grid{gap:34px}.form-panel{padding:24px}.service-detail{gap:40px}.local-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){:root{--gutter:20px;--space:58px;--h1:clamp(1.875rem,1.6rem + 1.15vw,2.25rem);--h2:clamp(1.5rem,1.35rem + .65vw,1.75rem)}.topline .container>span{font-size:.5625rem}.topline a{font-size:.625rem;white-space:nowrap}.preview-bar{font-size:.625rem;padding-block:4px}.header-inner{min-height:91px}.brand img{width:120px;height:80px}.hero{grid-template-columns:1fr;padding-top:24px;padding-bottom:34px;gap:26px}.hero-copy{padding:8px 0 0}.hero h1{font-size:var(--h1);max-width:20ch;margin-bottom:18px}.eyebrow{font-size:.625rem;margin-bottom:16px;gap:10px}.hero .lead{font-size:1rem;max-width:48ch;margin-bottom:24px}.hero .button-row{flex-direction:row;align-items:stretch;gap:10px}.hero .button{flex:1;gap:10px;padding:12px 14px;font-size:.8125rem}.hero-whatsapp{font-size:.6875rem;margin-top:16px;gap:7px}.hero-bottom{display:none}.hero-image>img{height:330px}.hero-image-note{margin-top:12px;font-size:.625rem}.vertical-label{font-size:.5rem;right:10px;top:16px}.commitments{padding-block:30px}.commitments .container{grid-template-columns:1fr;gap:22px}.commitments article{gap:16px}.commitments article+article{border-left:0;padding-left:0;border-top:1px solid #f6f5f12a;padding-top:22px}.commitments p{font-size:.8125rem;max-width:60ch}.intro-section{grid-template-columns:1fr;gap:38px}.intro-images{max-width:none;width:calc(100% - 12px)}.intro-images>img{height:340px}.image-label{right:-12px;bottom:22px;font-size:.75rem;padding:16px 24px}.intro-copy h2{max-width:28ch;margin-bottom:18px}.intro-copy>p:not(.eyebrow){font-size:1rem}.section-heading{display:block;margin-bottom:28px}.section-heading>.button{margin-top:22px}.section-heading h2{max-width:28ch}.section-heading p:not(.eyebrow){font-size:.9375rem}.service-grid{grid-template-columns:1fr;gap:24px}.card-image{height:260px}.card-body{padding:24px}.card-body p{font-size:.9375rem}.card-body .text-link{font-size:.875rem}.service-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.service-shortcuts a{font-size:.75rem;line-height:1.5;padding:12px 0;align-items:flex-start;min-height:64px}.service-shortcuts svg{margin-top:3px;flex-shrink:0}.project-grid{grid-template-columns:1fr;gap:32px}.project-card:nth-child(2){margin-top:0}.project-image{height:330px}.why-grid{grid-template-columns:1fr;gap:34px}.check-list li{font-size:.9375rem}.why-grid .button{margin-top:0}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.process-grid li>span{margin-bottom:16px}.process-grid h3{font-size:1.0625rem}.process-grid p{font-size:.8125rem}.zone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.zone-link{gap:10px;min-height:75px}.zone-link>span:nth-child(2){font-size:.9375rem}.zone-link svg{width:16px}.zone-number{font-size:.5625rem}.review-card{flex-basis:calc(100% - 12px);padding:24px}.review-card blockquote{font-size:.9375rem}.review-person strong{font-size:.75rem}.review-person div>span{font-size:.6875rem}.reviews-section .section-heading{display:flex;gap:16px;align-items:flex-end}.reviews-section .section-heading h2{max-width:19ch}.carousel-controls{gap:6px;flex-shrink:0}.carousel-controls button{width:40px;height:40px}.rating-line{gap:16px}.rating-line p{font-size:.6875rem}.rating-line>strong{font-size:2rem}.review-actions{gap:12px;align-items:flex-start;flex-direction:column}.review-actions .button{font-size:.8125rem}.faq-section{grid-template-columns:1fr;gap:0}.faq-list details{padding-block:20px}.faq-list summary{font-size:.9375rem}.faq-list p{font-size:.9375rem}.contact-grid{grid-template-columns:1fr;gap:34px}.contact-grid .text-link{font-size:.875rem}.contact-hours{margin-top:28px}.contact-phone{margin-top:24px}.form-panel{padding:24px 18px}.form-heading{gap:10px;align-items:flex-start}.form-heading>span{display:none}.form-fields{gap:16px;grid-template-columns:1fr}.form-fields>*{grid-column:auto}.form-panel .button[type=submit]{width:100%;font-size:.8125rem;padding-inline:12px}.contact-grid h2{margin-bottom:20px}.desktop-break{display:none}.floating-wa{right:16px;bottom:max(16px,env(safe-area-inset-bottom));min-width:48px;min-height:48px;padding:12px}.floating-wa span{display:none}body.form-focused .floating-wa,body.dialog-open .floating-wa{display:none}.footer{padding-top:48px;padding-bottom:90px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 22px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{display:block;grid-column:1/-1}.footer-grid>div:last-child>a{margin-block:12px!important}.footer-grid>div:last-child h2{margin-bottom:18px}.footer p{font-size:.8125rem}.footer-grid>div>a:not(.brand){font-size:.8125rem;margin-block:12px}.footer h2{font-size:.875rem}.footer-bottom{display:block;margin-top:32px}.footer-bottom>div{margin-top:20px;gap:10px 18px}.breadcrumbs{padding-block:18px;font-size:.625rem}.page-hero{grid-template-columns:1fr;gap:28px;padding-top:12px;padding-bottom:20px}.page-hero .lead{font-size:1rem}.page-hero-copy h1{max-width:24ch;font-size:var(--h1)}.page-hero .button{font-size:.8125rem;gap:10px;padding:12px 16px}.page-hero-image>img{height:300px}.image-caption{font-size:.5625rem}.page-title{padding-block:24px 16px}.page-title p:not(.eyebrow){font-size:1rem}.local-intro,.service-detail{grid-template-columns:1fr;gap:30px}.local-note{padding:24px}.local-note h3{font-size:1.125rem}.local-note ul{font-size:.875rem}.source-notice{padding:18px;font-size:.8125rem}.local-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px;margin-block:32px 44px}.local-service-grid h3{font-size:1.0625rem}.local-service-grid p{font-size:.875rem}.prose h2{font-size:1.5rem}.prose h3{font-size:1.25rem}.prose p{font-size:1rem}.source-archive{padding:18px}.source-archive summary{font-size:.8125rem;gap:12px}.photo-grid,.photo-grid:has(>.photo-button:nth-child(2):last-child){grid-template-columns:1fr;gap:18px}.photo-grid .photo-button{height:310px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.portfolio-item .photo-button,.portfolio-item:nth-child(3n+2) .photo-button{height:240px}.portfolio-item>p{font-size:.6875rem}.filter-button{font-size:.75rem;padding-inline:16px}.scope-panel{padding:24px}.scope-panel li{font-size:.875rem}.error-page{padding-block:70px}.comparison{height:300px}#lightbox{padding:58px 38px 36px}#lightbox figcaption{font-size:.6875rem}#lightbox button{width:34px;height:40px;font-size:1.125rem}#lightbox .lightbox-prev{left:3px}#lightbox .lightbox-next{right:3px}}
@media(max-width:359px){:root{--gutter:18px}.topline .container>span{font-size:.5rem}.topline a{font-size:.5625rem}.hero .button-row{flex-direction:column}.hero .button{width:100%;font-size:.8755rem}.hero-whatsapp{font-size:.625rem}.hero-image>img{height:290px}.hero-image-note{font-size:.5625rem}.service-shortcuts{grid-template-columns:1fr}.zone-grid{grid-template-columns:1fr}.reviews-section .section-heading{display:block}.carousel-controls{margin-top:20px}.portfolio-grid{grid-template-columns:1fr}.portfolio-item .photo-button,.portfolio-item:nth-child(3n+2) .photo-button{height:300px}.local-service-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.form-panel{padding:22px 14px}.footer-grid{grid-template-columns:1fr}.footer-grid>div{grid-column:auto!important}.header-inner{gap:10px}.header-wa{width:42px;height:42px}.brand img{width:112px;height:78px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal.is-prepared{opacity:1;transform:none}}
@media print{.site-header,.topline,.preview-bar,.floating-wa,.footer,.button,.external-block{display:none}.container{width:100%}.reveal{opacity:1!important;transform:none!important}body{background:white;color:black}.section{padding-block:24px}}
.home-extra-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 42px;padding-block:38px 6px}.home-extra-services article{border-top:1px solid var(--line);padding-top:22px}.home-extra-services h3{font-size:1.125rem;margin-bottom:12px}.home-extra-services p{font-size:.875rem;color:var(--muted)}@media(max-width:767px){.home-extra-services{grid-template-columns:1fr;gap:26px}.home-extra-services h3{font-size:1.125rem}.home-extra-services p{font-size:.9375rem}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.commitments article,.commitments article>div{min-width:0;overflow-wrap:anywhere}.zone-link>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.zone-link{min-width:0}
/* Navigation and local FAQ adjustments; all other page styles remain unchanged. */
.site-header .nav-dropdown .dropdown-links{max-height:calc(100dvh - 150px);overflow-y:auto}
/* H1: única entrada suave en portada, landings, servicios y páginas interiores.
   El contenedor deja de animarse para evitar dos movimientos superpuestos. */
@media(prefers-reduced-motion:no-preference){
 .hero-copy{animation:none}
 .page-hero-copy.reveal.is-prepared.is-visible{animation:none}
 .hero h1,.page-title h1,.page-hero-copy h1{animation:er-h1-entrance .92s cubic-bezier(.22,1,.36,1) both}
 .page-hero-image{animation:hero-photo-arrive .68s .08s ease-out both}
 @keyframes er-h1-entrance{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
 @keyframes hero-photo-arrive{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
}
/* FAQs: apertura de altura mediante WAAPI (app.js), con fallback <details> nativo.
   Icono + a − uniforme sin rotar el SVG completo. */
.faq-list summary{transition:color .32s ease}
.faq-list details[open] summary{color:#305e58}
.faq-list .faq-vertical{transition:opacity .3s ease}
.faq-list details[open] .faq-vertical{opacity:0}

/* El menú de localidades de escritorio/tablet conserva su efecto previo.
   En teléfono la apertura de altura se anima en app.js durante 540 ms. */
@media(prefers-reduced-motion:no-preference) and (min-width:768px){
 .nav-dropdown[open] .dropdown-links{animation:dropdown-arrive .2s ease-out both}
 @keyframes dropdown-arrive{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){
 .faq-list details::details-content{transition:none!important}
 .nav-dropdown[open] .dropdown-links{animation:none!important}
}

/* Mantiene disponible la navegación sin fijar las barras superiores. */
@media screen {
  .site-header { position: sticky; top: 0; }
  .header-inner { transition: min-height .22s ease, gap .22s ease; }
  .brand img { transition: width .22s ease, height .22s ease; }
  .site-header.scrolled { box-shadow: 0 8px 24px #17283214; }
  .site-header.scrolled .header-inner { min-height: 78px; }
  .site-header.scrolled .brand img { width: 112px; height: 66px; }
  .site-header.scrolled .header-wa { width: 42px; height: 42px; }
  html { scroll-padding-top: 100px; }
}
@media screen and (max-width: 1199px) {
  .site-header.scrolled .header-inner { min-height: 72px; }
  .site-header.scrolled .brand img { width: 106px; height: 62px; }
  .site-header.scrolled .menu-toggle { width: 42px; height: 42px; }
  .site-header nav { z-index: 1; }
  html { scroll-padding-top: 92px; }
}
@media screen and (max-width: 359px) {
  .site-header.scrolled .header-inner { min-height: 66px; }
  .site-header.scrolled .brand img { width: 96px; height: 58px; }
  html { scroll-padding-top: 86px; }
}
@media (prefers-reduced-motion: reduce) {
  .header-inner, .brand img { transition: none; }
}

/* Dos ondas proporcionales al botón: ovaladas en escritorio/tablet,
   circulares cuando WhatsApp se reduce al icono en móvil. */
.floating-wa{isolation:isolate}
.floating-wa::before,.floating-wa::after{
  content:"";position:absolute;top:50%;left:50%;
  width:calc(100% + 10px);height:calc(100% + 10px);
  border:2px solid #25d366;border-radius:999px;
  pointer-events:none;z-index:-1;opacity:0;
  animation:whatsapp-wave 3s ease-out infinite
}
.floating-wa::after{animation-delay:1.5s}
@keyframes whatsapp-wave{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}
  12%{opacity:.65}
  75%,100%{opacity:0;transform:translate(-50%,-50%) scale(1.65)}
}
@media(prefers-reduced-motion:reduce){.floating-wa::before,.floating-wa::after{display:none;animation:none}}

/* One coherent scroll language across every page; headings get stronger emphasis. */
@media(prefers-reduced-motion:no-preference){
 .scroll-title-visible{animation:section-title-arrive .72s cubic-bezier(.22,1,.36,1) both}
 @keyframes section-title-arrive{from{opacity:.15;transform:translateY(20px)}to{opacity:1;transform:none}}
}


/* Indicador de localidades SOLO para teléfono: el <summary> completo es táctil.
   Desktop/tablet conservan el chevrón y la navegación anteriores. */
@media screen and (max-width:767px){
  .site-header nav .nav-dropdown summary{min-height:60px;gap:16px}
  .site-header nav .nav-dropdown summary > span[aria-hidden="true"]{
    display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;
    font-size:0;line-height:0;
  }
  .site-header nav .nav-dropdown summary > span[aria-hidden="true"]::after{
    content:"";display:block;width:14px;height:14px;
    border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);
    transform:translateY(-3px) rotate(45deg);
    transition:transform .36s cubic-bezier(.22,1,.36,1);
  }
  .site-header nav .nav-dropdown[open] summary > span[aria-hidden="true"]::after{
    transform:translateY(4px) rotate(225deg);
  }
}

/* Onda de entrada del menú hamburguesa, solo móvil y solo al abrir.
   Usa opacidad/transform: no modifica la maquetación ni carga librerías. */
@media screen and (max-width:767px) and (prefers-reduced-motion:no-preference){
  .site-header nav.is-open{
    animation:er-mobile-panel .32s ease-out both;
  }
  .site-header nav.is-open > :is(a,.nav-dropdown){
    animation:er-mobile-link-wave .46s cubic-bezier(.22,1,.36,1) both;
  }
  .site-header nav.is-open > :nth-child(1){animation-delay:0s}
  .site-header nav.is-open > :nth-child(2){animation-delay:.065s}
  .site-header nav.is-open > :nth-child(3){animation-delay:.13s}
  .site-header nav.is-open > :nth-child(4){animation-delay:.195s}
  .site-header nav.is-open > :nth-child(5){animation-delay:.26s}
  @keyframes er-mobile-panel{
    from{opacity:.8;transform:translate3d(0,-8px,0)}
    to{opacity:1;transform:translate3d(0,0,0)}
  }
  @keyframes er-mobile-link-wave{
    from{opacity:0;transform:translate3d(0,-15px,0)}
    to{opacity:1;transform:translate3d(0,0,0)}
  }
}

/* Jerarquía tipográfica de escritorio (>1199px).
   Los valores base de tablet y móvil permanecen exactamente iguales. */
@media screen and (min-width:1200px){
  :root{
    --h1:calc(clamp(1.875rem,1.35rem + 1.45vw,3.25rem) + 5px);
    --h2:calc(clamp(1.5rem,1.2rem + .9vw,2.25rem) + 3px);
    --h3:calc(clamp(1.25rem,1.12rem + .35vw,1.5rem) + 2px);
    --body:calc(clamp(1rem,.96rem + .15vw,1.0625rem) + 2px);
  }
  /* Texto de contenido, no navegación, botones, insignias ni formularios. */
  .lead{font-size:calc(clamp(1rem,.95rem + .25vw,1.125rem) + 2px)}
  .prose p,
  .intro-copy>p:not(.eyebrow),
  .local-intro>div>p:not(.eyebrow),
  .page-title>p:not(.eyebrow){font-size:calc(1rem + 2px)}
  .local-service-grid p{font-size:calc(.8125rem + 2px)}
  .local-service-grid h3,.local-note h3{font-size:calc(1.125rem + 2px)}
  .local-note ul,.faq-list p,.review-card blockquote,.card-body>p{font-size:calc(.875rem + 2px)}
  .prose h2{font-size:calc(1.5rem + 3px)}
  .prose h3{font-size:calc(1.25rem + 2px)}
}


/* Menú de zonas: panel amplio inspirado en el patrón editorial de navegación,
   con componentes y fotografías propios de Espacio Reformas. */
.mega-zones-kicker,.mega-zones-right{display:none}

/* Desktop real: el panel ocupa todo el ancho del encabezado, no solo el enlace. */
@media screen and (min-width:1200px){
  /* Nuestro header no cambia: solo anclamos el panel al contenedor existente. */
  .site-header .header-inner{position:relative}
  .site-header .nav-dropdown{position:static}
  .site-header .nav-dropdown:not([open])>.mega-zones{display:none}
  .site-header .nav-dropdown>summary{gap:5px}
  .site-header .nav-dropdown[open]>summary{color:var(--slate)}
  .site-header .nav-dropdown>.mega-zones{
    position:absolute;top:100%;left:0;right:0;
    width:min(1050px,calc(100% - 48px));margin-inline:auto;
    padding:clamp(24px,2.5vw,38px);
    min-width:0;max-height:calc(100dvh - 134px);
    background:#faf9f6;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 28px 46px #17283222;
    display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.9fr);
    gap:clamp(22px,3vw,50px);
    overflow-x:hidden;overflow-y:auto;
    overscroll-behavior:contain;
  }
  .mega-zones-left{min-width:0}
  .mega-zones-kicker{
    display:block;margin:0 0 19px;
    text-transform:uppercase;letter-spacing:.16em;
    color:var(--muted);font-size:.7rem;font-weight:700;
  }
  .mega-zones-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:clamp(22px,3vw,52px);
    counter-reset:mega-zone;
  }
  .site-header nav .mega-zones-grid>a.mega-zone-link{
    counter-increment:mega-zone;
    display:grid;grid-template-columns:31px minmax(0,1fr);
    grid-template-rows:auto auto;align-content:center;column-gap:9px;
    min-width:0;min-height:83px;padding:14px 5px;
    background:transparent;border-top:1px solid var(--line);
    color:var(--ink);font-size:1rem;font-weight:650;line-height:1.35;
    transition:background-color .22s,color .22s;
  }
  .site-header nav .mega-zones-grid>a.mega-zone-link::before{
    content:counter(mega-zone,decimal-leading-zero);
    grid-column:1;grid-row:1 / span 2;align-self:start;
    color:var(--muted);font-size:.7rem;font-weight:500;margin-top:5px;
  }
  .site-header nav .mega-zones-grid>a.mega-zone-link::after{
    content:attr(data-description);grid-column:2;grid-row:2;
    display:block;color:#69737a;font-size:.79rem;font-weight:400;
    letter-spacing:0;line-height:1.55;margin-top:5px;
  }
  .site-header nav .mega-zones-grid>a.mega-zone-link:hover,
  .site-header nav .mega-zones-grid>a.mega-zone-link:focus-visible,
  .site-header nav .mega-zones-grid>a.mega-zone-link[aria-current]{
    background:#f0f0ea;color:#214f55;
  }
  .mega-zones-right{
    display:flex;flex-direction:column;min-width:0;gap:17px;
  }
  .mega-zones-image{display:block;overflow:hidden;border-radius:0;aspect-ratio:1.65}
  .mega-zones-image img{
    display:block;width:100%;height:100%;object-fit:cover;
    transition:transform .45s ease;
  }
  .mega-zones-image:hover img{transform:scale(1.025)}
  .mega-zones-contact{
    display:flex;align-items:end;justify-content:space-between;gap:15px;
  }
  .mega-zones-contact>div{display:grid;gap:7px}
  .mega-zones-contact>div>span{
    text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;
    color:var(--muted);
  }
  .mega-zones-phone{font-size:1.06rem;font-weight:600;color:var(--ink)}
  .mega-zones-cta{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    padding:14px 18px;min-height:49px;white-space:nowrap;
    background:var(--ink);color:var(--white);border-radius:0;
    font-size:.79rem;font-weight:600;transition:background .2s;
  }
  .mega-zones-cta:hover,.mega-zones-cta:focus-visible{background:#315158}
  .mega-zones-cta svg{width:16px;height:16px}
  /* Evitar que los estilos genéricos del antiguo dropdown deformen
     la fotografía, el número de teléfono o el botón del panel. */
  .site-header nav .mega-zones a.mega-zones-image{
    display:block;padding:0;min-height:0;background:transparent;
  }
  .site-header nav .mega-zones a.mega-zones-phone{
    display:inline;padding:0;min-height:0;background:transparent;
  }
  .site-header nav .mega-zones a.mega-zones-cta{
    display:inline-flex;min-height:49px;padding:14px 18px;
    background:var(--ink);color:var(--white);
  }
  .site-header nav .mega-zones a.mega-zones-cta:hover,
  .site-header nav .mega-zones a.mega-zones-cta:focus-visible{
    background:#315158;color:#fff;
  }
}
@media screen and (min-width:1200px) and (max-width:1360px){
  .mega-zones-contact{align-items:stretch;flex-direction:column;gap:12px}
  .mega-zones-cta{align-self:start}
}
/* Tablet y teléfonos: se conservan las filas del acordeón actual.
   No cargamos la imagen del panel en esos tamaños. */
@media screen and (max-width:1199px){
  .mega-zones-grid{display:grid;grid-template-columns:1fr}
  .mega-zones-right,.mega-zones-kicker{display:none}
}
@media (prefers-reduced-motion:no-preference) and (min-width:1200px){
  .site-header .nav-dropdown[open]>.mega-zones{animation:er-mega-open .26s cubic-bezier(.22,1,.36,1) both}
  @keyframes er-mega-open{
    from{opacity:0;transform:translate3d(0,-8px,0)}
    to{opacity:1;transform:translate3d(0,0,0)}
  }
}
@media (prefers-reduced-motion:reduce){
  .mega-zones-image img,.site-header .nav-dropdown[open]>.mega-zones{animation:none!important;transition:none!important}
}

/* Cabecera editorial recortada, con margen exterior SOLO en escritorio.
   Mantener el logo, los enlaces y el tamaño del contenido ya aprobado. */
@media screen and (min-width:1200px){
  .site-header{
    width:min(1340px,calc(100% - 48px));
    margin:12px auto 14px;
    border:1px solid var(--line);
    border-radius:18px;
  }
  /* Pequeña separación visual entre cabecera y panel desplegable. */
  .site-header .nav-dropdown>.mega-zones{top:calc(100% + 18px)}
  /* Puente invisible para que el hover no se cierre al cruzar el espacio. */
  .site-header .nav-dropdown[open]>summary{position:relative}
  .site-header .nav-dropdown[open]>summary::after{
    content:"";position:absolute;top:100%;left:-12px;right:-12px;
    height:70px;pointer-events:auto
  }
}


/* Navegación móvil editorial de Espacio Reformas (solo teléfono).
   Reutiliza Manrope, el azul del pie de página y el acordeón original.
   No afecta al megamenú de escritorio ni a tablet. */
.site-header nav .mobile-nav-footer,
.site-header nav>a.mobile-nav-only{display:none}
@media screen and (max-width:767px){
  body.mobile-nav-open{overflow:hidden}
  body.mobile-nav-open .site-header{z-index:1000}
  body.mobile-nav-open .floating-wa{display:none}
  .site-header #main-nav{
    position:fixed;inset:0;top:0;left:0;right:0;
    width:100%;height:100vh;height:100dvh;max-height:none;
    overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
    padding:calc(72px + env(safe-area-inset-top)) max(22px,5vw)
      calc(28px + env(safe-area-inset-bottom));
    margin:0;border:0;box-shadow:none;border-radius:0;
    background:var(--ink);color:var(--paper);
    font-family:Manrope,Arial,sans-serif;
    font-size:1rem;line-height:1.3;
    flex:none;z-index:1001;
    scrollbar-width:thin;scrollbar-color:#78858a transparent;
  }
  .site-header #main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}
  /* En el panel deslizable nunca se comprimen las filas ni el acordeón.
     Cuando se abren las ciudades, crece el contenido y aparece scroll interno. */
  .site-header #main-nav > :is(a,.nav-dropdown,.mobile-nav-footer){flex-shrink:0}
  .site-header #main-nav{counter-reset:mobile-menu}
  .site-header #main-nav>a,
  .site-header #main-nav>.nav-dropdown{counter-increment:mobile-menu}
  .site-header #main-nav>a,
  .site-header #main-nav>.nav-dropdown>summary{
    display:flex;align-items:center;gap:13px;
    min-height:74px;padding:13px 0;
    border:0;border-bottom:1px solid #ffffff36;
    background:transparent;color:var(--paper);
    font-size:clamp(1.6rem,7.4vw,2.15rem);font-weight:500;
    letter-spacing:-.035em;line-height:1.13;
    text-decoration:none;white-space:normal;
  }
  .site-header #main-nav>a.mobile-nav-only{display:flex}
  .site-header #main-nav>a::before,
  .site-header #main-nav>.nav-dropdown>summary::before{
    content:counter(mobile-menu,decimal-leading-zero);
    flex:0 0 28px;align-self:center;
    color:var(--copper);font-size:.78rem;font-weight:600;
    letter-spacing:.03em;line-height:1;
  }
  .site-header #main-nav>a::after{display:none}
  .site-header #main-nav>.nav-dropdown{padding:0;border:0}
  .site-header #main-nav>.nav-dropdown>summary{
    width:100%;justify-content:flex-start;
  }
  .site-header #main-nav>.nav-dropdown>summary>span[aria-hidden="true"]{
    margin-left:auto;display:grid;place-items:center;
    flex:0 0 46px;width:46px;height:46px;
  }
  .site-header #main-nav>.nav-dropdown>summary>span[aria-hidden="true"]::after{
    width:14px;height:14px;border-width:3px;border-color:var(--paper);
  }
  .site-header #main-nav .dropdown-links.mega-zones{
    position:static;display:block;min-width:0;
    padding:5px 0 18px 42px;margin:0;
    background:transparent;border:0;border-radius:0;
    box-shadow:none;max-height:none;overflow:visible;
  }
  .site-header #main-nav .mega-zones-grid{
    display:grid;grid-template-columns:1fr;gap:0;
  }
  .site-header #main-nav .mega-zone-link{
    display:flex;align-items:center;min-height:47px;
    padding:9px 8px 9px 0;margin:0;
    border-bottom:1px solid #ffffff24;background:transparent;
    color:#e1e6e3;font-size:1.02rem;font-weight:500;
    letter-spacing:0;line-height:1.45;
  }
  .site-header #main-nav .mega-zone-link:hover,
  .site-header #main-nav .mega-zone-link:focus-visible{color:#fff;background:#ffffff12}
  .site-header #main-nav .mega-zones-right,
  .site-header #main-nav .mega-zones-kicker{display:none}
  .site-header #main-nav .mobile-nav-footer{
    display:flex;flex-direction:column;align-items:stretch;
    gap:17px;margin-top:auto;padding-top:33px;min-width:0;
  }
  .site-header #main-nav .mobile-nav-reviews{
    display:flex;align-items:center;flex-wrap:wrap;gap:9px;
    min-height:37px;padding:0;border:0;
    font-size:.91rem;font-weight:400;letter-spacing:0;
    line-height:1.45;color:#bbc8c6;
  }
  .site-header #main-nav .mobile-nav-reviews strong{
    color:var(--paper);font-size:1.05rem;font-weight:650;
  }
  .site-header #main-nav .mobile-nav-review-sep{color:#87948f}
  .site-header #main-nav .mobile-nav-google{
    font-size:1.45rem;line-height:1;font-weight:800;
    background:conic-gradient(#4285f4 0deg 80deg,#34a853 80deg 160deg,#fbbc05 160deg 235deg,#ea4335 235deg 300deg,#4285f4 300deg 360deg);
    color:transparent;background-clip:text;-webkit-background-clip:text;
  }
  .site-header #main-nav .mobile-nav-phone{
    width:fit-content;min-height:43px;padding:0;border:0;
    font-size:clamp(1.55rem,7vw,2.05rem);
    font-weight:500;letter-spacing:-.035em;color:var(--paper);
  }
  .site-header #main-nav .mobile-nav-quote{
    display:flex;align-items:center;justify-content:space-between;
    min-height:57px;padding:15px 18px;
    border:1px solid #ffffff80;border-radius:3px;
    background:var(--paper);color:var(--ink);
    font-size:1rem;font-weight:650;letter-spacing:-.01em;line-height:1.35;
  }
  .site-header .menu-toggle:focus-visible,
  .site-header #main-nav a:focus-visible,
  .site-header #main-nav summary:focus-visible{
    outline:2px solid var(--copper);outline-offset:4px;
  }
}
@media screen and (max-width:767px) and (max-height:720px){
  .site-header #main-nav>a,
  .site-header #main-nav>.nav-dropdown>summary{min-height:66px}
  .site-header #main-nav .mobile-nav-footer{gap:11px;padding-top:22px}
}

/* Onda escalonada de los seis enlaces reales, sin franja duplicada. */
@media screen and (max-width:767px) and (prefers-reduced-motion:no-preference){
  .site-header nav.is-open > :nth-child(1){animation-delay:0s}
  .site-header nav.is-open > :nth-child(2){animation-delay:.065s}
  .site-header nav.is-open > :nth-child(3){animation-delay:.13s}
  .site-header nav.is-open > :nth-child(4){animation-delay:.195s}
  .site-header nav.is-open > :nth-child(5){animation-delay:.26s}
  .site-header nav.is-open > :nth-child(6){animation-delay:.325s}
}


/* Botón hamburguesa / CERRAR: el único control de apertura y cierre.
   La marca y CERRAR son fijos fuera del contenido que se desplaza. */
.menu-toggle .hamburger-lines,.menu-toggle .mobile-menu-label{display:none}
@media screen and (max-width:767px){
  .site-header .menu-toggle{
    position:relative;z-index:1003;
    display:grid;place-items:center;overflow:visible;
    width:44px;height:44px;padding:0;
  }
  .site-header .menu-toggle>svg{display:none}
  .site-header .menu-toggle .hamburger-lines{
    display:flex;flex-direction:column;justify-content:center;align-items:center;
    gap:5px;width:24px;height:24px;
    transition:opacity .2s ease,transform .24s ease;
  }
  .site-header .menu-toggle .hamburger-lines span{
    display:block;width:23px;height:2px;border-radius:1px;background:var(--ink);
  }
  .site-header .menu-toggle .mobile-menu-label{
    display:block;position:absolute;opacity:0;pointer-events:none;
    transform:translateY(6px);transition:opacity .26s ease,transform .32s ease;
    color:var(--paper);font-family:Manrope,Arial,sans-serif;
    font-size:.83rem;font-weight:500;letter-spacing:.16em;line-height:1;
    white-space:nowrap;
  }
  body.mobile-nav-open .site-header .menu-toggle{
    position:fixed;top:calc(26px + env(safe-area-inset-top));
    right:max(22px,env(safe-area-inset-right));z-index:1005;
    width:82px;height:44px;padding:0;
    background:transparent;border-color:transparent;
  }
  /* Fondo opaco fijo detrás de la marca y CERRAR.
     Los enlaces del panel nunca pueden taparlos al desplazarse. */
  body.mobile-nav-open .site-header::before{
    content:"";position:fixed;top:0;left:0;right:0;
    height:calc(72px + env(safe-area-inset-top));
    background:var(--ink);pointer-events:none;z-index:1004;
  }
  body.mobile-nav-open .site-header .menu-toggle .hamburger-lines{
    opacity:0;transform:translateY(-5px) scale(.88);
  }
  body.mobile-nav-open .site-header .menu-toggle .mobile-menu-label{
    opacity:1;transform:translateY(0);
  }
  /* Números, textos y CTA legibles también en móviles estrechos/plegados. */
  .site-header #main-nav>a,
  .site-header #main-nav>.nav-dropdown>summary{overflow-wrap:anywhere;min-width:0}
  .site-header #main-nav .mobile-nav-quote{overflow-wrap:anywhere}
}
@media screen and (max-width:359px){
  .site-header #main-nav{padding-left:16px;padding-right:16px}
  .site-header #main-nav>a,
  .site-header #main-nav>.nav-dropdown>summary{
    gap:8px;font-size:clamp(1.38rem,7.2vw,1.7rem);
  }
}
@media (prefers-reduced-motion:reduce){
  .site-header .menu-toggle .hamburger-lines,
  .site-header .menu-toggle .mobile-menu-label{transition:none!important}
}

/* Marca fija del menú móvil: hermana del panel, nunca dentro del scroll.
   Sigue el patrón editorial de referencia sin mostrar otro botón de cierre. */
.mobile-nav-brand{display:none}
@media screen and (max-width:767px){
  body.mobile-nav-open .site-header .mobile-nav-brand{
    display:flex;align-items:center;
    position:fixed;top:calc(26px + env(safe-area-inset-top));
    left:max(22px,env(safe-area-inset-left));
    z-index:1005;height:44px;max-width:calc(100vw - 125px);
    font-family:Manrope,Arial,sans-serif;font-size:clamp(.72rem,3.5vw,.98rem);
    font-weight:700;letter-spacing:.085em;color:var(--paper);
    line-height:1.15;white-space:nowrap;
    pointer-events:none;
  }
}
@media screen and (max-width:359px){
  body.mobile-nav-open .site-header .mobile-nav-brand{
    left:max(16px,env(safe-area-inset-left));
    max-width:calc(100vw - 115px);
    font-size:.69rem;letter-spacing:.025em;
  }
}

/* Apertura descendente del panel como en la referencia visual,
   con una entrada escalonada de enlaces y sin alterar los acordeones. */
@media screen and (max-width:767px) and (prefers-reduced-motion:no-preference){
  .site-header #main-nav.is-open{
    animation:er-mobile-drop .56s cubic-bezier(.22,1,.36,1) both;
  }
  @keyframes er-mobile-drop{
    0%{clip-path:inset(0 0 100% 0);opacity:.92}
    100%{clip-path:inset(0 0 0 0);opacity:1}
  }
}
