:root{--gold:#c58c43;--gold-dark:#9a682b;--ink:#17202a;--muted:#5d6874;--paper:#fff;--soft:#f5f6f7;--line:#dfe3e7;--green:#168947;--radius:16px;--shadow:0 14px 35px rgba(18,27,35,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}img{max-width:100%;height:auto;display:block}a{color:inherit}.container{width:min(1140px,calc(100% - 40px));margin-inline:auto}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;padding:.8rem 1rem;background:#fff;color:#111}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:0 5px 18px rgba(0,0,0,.06)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:138px;max-height:58px;object-fit:contain}.main-nav ul{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.main-nav a{text-decoration:none;font-weight:700;font-size:.9rem}.main-nav a:hover,.main-nav a:focus-visible{color:var(--gold-dark)}.menu-toggle{display:none;border:0;background:transparent;font:700 1rem system-ui;padding:.7rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.15rem;border:2px solid transparent;border-radius:10px;background:var(--gold);color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.button:hover,.button:focus-visible{background:var(--gold-dark)}.button-outline{background:transparent;border-color:#fff}.button-outline:hover,.button-outline:focus-visible{background:#fff;color:var(--ink)}.button-whatsapp{background:var(--green)}.button-whatsapp:hover,.button-whatsapp:focus-visible{background:#0d6f37}.hero{position:relative;overflow:hidden;background:linear-gradient(95deg,rgba(12,17,22,.95),rgba(12,17,22,.67)),url('../images/background/bg1.jpg') center/cover;color:#fff}.hero-grid{min-height:610px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:40px;padding-block:90px}.eyebrow{display:block;margin-bottom:.8rem;color:#e4b678;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem}.hero h1,.page-hero h1{max-width:760px;margin:.2rem 0 1rem;font-size:clamp(2.35rem,5vw,4.4rem);line-height:1.08}.hero p{max-width:650px;font-size:1.18rem;color:#eef1f4}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.7rem}.hero-image img{filter:drop-shadow(0 25px 30px rgba(0,0,0,.35))}.trust-strip{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}.trust-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;list-style:none;margin:0;padding:22px 0}.trust-list li{font-weight:750;text-align:center}.section{padding:88px 0}.section-soft{background:var(--soft)}.section-dark{background:#141a20;color:#fff}.section-title{max-width:720px;margin:0 auto 42px;text-align:center}.section-title h2{margin:.2rem 0 .7rem;font-size:clamp(1.8rem,4vw,2.75rem);line-height:1.2}.section-title p{color:var(--muted)}.section-dark .section-title p{color:#c6ccd1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(18,27,35,.07)}.card img{width:100%;aspect-ratio:16/10;object-fit:cover}.card-body{padding:24px}.card h3{margin:0 0 8px;font-size:1.25rem}.card p{margin:0 0 18px;color:var(--muted)}.text-link{color:var(--gold-dark);font-weight:800}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.split h2{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.2}.split-media{display:grid;grid-template-columns:1.4fr .8fr;gap:12px;align-items:end}.split-media img{width:100%;border-radius:var(--radius);object-fit:cover;box-shadow:var(--shadow)}.check-list{padding:0;list-style:none}.check-list li{position:relative;margin:.8rem 0;padding-left:28px}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--gold-dark);font-weight:900}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery a{position:relative;border-radius:12px;overflow:hidden;background:#111}.gallery img{width:100%;height:220px;object-fit:cover;transition:transform .25s}.gallery a:hover img,.gallery a:focus-visible img{transform:scale(1.04);opacity:.8}.gallery span{position:absolute;left:12px;bottom:10px;color:#fff;font-weight:800;text-shadow:0 2px 8px #000}.area-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;list-style:none;padding:0}.area-list li{padding:.6rem .9rem;border:1px solid #47515a;border-radius:999px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.contact-links{display:grid;gap:12px;margin-top:25px}.contact-links a{font-weight:800;color:#fff}.form-card{padding:30px;background:#fff;color:var(--ink);border-radius:var(--radius)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field-full{grid-column:1/-1}label{display:block;margin-bottom:6px;font-weight:750}input,textarea{width:100%;padding:12px 14px;border:1px solid #abb3bb;border-radius:8px;font:inherit}textarea{min-height:130px;resize:vertical}input:focus,textarea:focus{outline:3px solid rgba(197,140,67,.3);border-color:var(--gold-dark)}.consent{display:flex;gap:10px;align-items:flex-start}.consent input{width:auto;margin-top:6px}.hp{position:absolute!important;left:-10000px!important}.form-status{min-height:28px;margin:.7rem 0;font-weight:700}.form-status.success{color:#08783a}.form-status.error{color:#b42318}.site-footer{padding:55px 0 110px;background:#0c1116;color:#d9dee2}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.site-footer h2,.site-footer h3{color:#fff}.site-footer ul{list-style:none;padding:0}.site-footer a{color:#e9c28e}.legal{padding-top:25px;margin-top:30px;border-top:1px solid #343b42}.floating-actions{position:fixed;right:22px;bottom:20px;z-index:900;display:flex;flex-direction:column;gap:10px}.floating-actions a{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#2466d1;color:#fff;text-decoration:none;font-weight:900;box-shadow:var(--shadow)}.floating-actions .wa{background:var(--green)}.page-hero{padding:92px 0;background:linear-gradient(90deg,rgba(12,17,22,.95),rgba(12,17,22,.65)),url('../images/background/page-title.jpg') center/cover;color:#fff}.breadcrumbs{font-size:.9rem}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:48px}.prose h2{margin-top:2.2rem;font-size:1.8rem}.prose h3{margin-top:1.5rem}.prose img{border-radius:var(--radius);margin:1.5rem 0}.sidebar{align-self:start;position:sticky;top:105px;padding:24px;background:var(--soft);border-radius:var(--radius)}.sidebar ul{padding-left:18px}.faq details{padding:16px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:800}.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.related a{padding:18px;background:var(--soft);border-radius:10px;color:var(--ink);font-weight:800}.policy{max-width:820px}.policy h2{margin-top:2rem}
@media(max-width:900px){.main-nav{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;border-bottom:1px solid var(--line)}.main-nav.open{display:block}.main-nav ul{display:block;padding:12px 20px}.main-nav a{display:block;padding:12px}.menu-toggle{display:block}.header-call{display:none}.hero-grid,.split,.contact-grid,.content-layout{grid-template-columns:1fr}.hero-grid{min-height:auto}.hero-image{display:none}.cards{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.sidebar{position:static}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.container{width:min(100% - 28px,1140px)}.section{padding:64px 0}.cards,.footer-grid,.related,.form-grid{grid-template-columns:1fr}.trust-list{grid-template-columns:1fr;gap:8px}.gallery img{height:170px}.field-full{grid-column:auto}.floating-actions{right:12px;bottom:12px}.floating-actions a{width:48px;height:48px}.hero-grid{padding-block:72px}.hero h1{font-size:2.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
:focus-visible{outline:3px solid #f2b866;outline-offset:3px}

/* Accessible services dropdown */
.main-nav .nav-dropdown{position:relative}
.main-nav>ul{gap:4px}
.main-nav>ul>li>a,.main-nav .submenu-toggle{display:flex;min-height:44px;align-items:center;padding:10px 13px;border-radius:9px}
.main-nav>ul>li>a:hover,.main-nav>ul>li>a:focus-visible,.main-nav>ul>li>a[aria-current="page"]{background:var(--soft)}
.main-nav .submenu-toggle{gap:9px;border:0;background:transparent;color:inherit;font:700 .9rem system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer}
.main-nav .submenu-toggle:hover,.main-nav .submenu-toggle:focus-visible{color:var(--gold-dark)}
.main-nav .submenu-arrow{width:8px;height:8px;margin-top:-4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}
.main-nav .submenu{position:absolute;top:calc(100% + 16px);left:0;z-index:1100;display:none;min-width:260px;padding:8px;gap:0;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.main-nav .submenu:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.main-nav .submenu li{width:100%}
.main-nav .submenu a{display:block;padding:10px 12px;border-radius:8px;white-space:nowrap}
.main-nav .submenu a:hover,.main-nav .submenu a:focus-visible{background:var(--soft)}
.main-nav .nav-dropdown:hover>.submenu,.main-nav .nav-dropdown:focus-within>.submenu,.main-nav .nav-dropdown.submenu-open>.submenu{display:flex}
.main-nav .nav-dropdown.submenu-open>.submenu-toggle .submenu-arrow{margin-top:4px;transform:rotate(225deg)}

@media(max-width:900px){.main-nav .submenu-toggle{width:100%;justify-content:space-between;padding:12px}.main-nav .submenu{position:static;display:none;min-width:0;margin:0 12px 8px;padding:4px 8px;background:var(--soft);border:0;box-shadow:none}.main-nav .submenu:before{display:none}.main-nav .nav-dropdown:hover>.submenu,.main-nav .nav-dropdown:focus-within>.submenu{display:none}.main-nav .nav-dropdown.submenu-open>.submenu{display:block}.main-nav .submenu a{padding:10px 12px}}

/* Keyboard and touch friendly gallery lightbox */
body.lightbox-open{overflow:hidden}
.gallery a{cursor:zoom-in}
.gallery-lightbox{position:fixed;inset:0;z-index:5000;display:grid;grid-template-columns:minmax(48px,1fr) minmax(0,1200px) minmax(48px,1fr);align-items:center;gap:16px;padding:32px;background:rgba(5,8,12,.94);backdrop-filter:blur(8px)}
.gallery-lightbox[hidden]{display:none}
.lightbox-content{grid-column:2;margin:0;display:flex;min-width:0;max-height:calc(100vh - 64px);flex-direction:column;align-items:center;justify-content:center}
.lightbox-content img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 130px);object-fit:contain;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.lightbox-content figcaption{display:flex;width:100%;justify-content:space-between;gap:20px;padding:14px 4px 0;color:#fff;font-weight:750}
.lightbox-counter{flex:none;color:#d9dee2}
.lightbox-close,.lightbox-nav{border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.lightbox-close:hover,.lightbox-close:focus-visible,.lightbox-nav:hover,.lightbox-nav:focus-visible{background:var(--gold)}
.lightbox-close{position:absolute;top:20px;right:22px;width:48px;height:48px;border-radius:50%;font-size:2rem;line-height:1}
.lightbox-nav{display:grid;place-items:center;width:54px;height:72px;border-radius:12px;font-size:2.6rem;line-height:1}
.lightbox-prev{grid-column:1;justify-self:end}.lightbox-next{grid-column:3;justify-self:start}
@media(max-width:700px){.gallery-lightbox{grid-template-columns:52px minmax(0,1fr) 52px;gap:4px;padding:70px 8px 18px}.lightbox-content{grid-column:1/-1;grid-row:1}.lightbox-content img{max-height:calc(100vh - 170px)}.lightbox-content figcaption{padding-inline:8px;font-size:.9rem}.lightbox-nav{position:absolute;top:50%;width:46px;height:58px;transform:translateY(-50%)}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{top:12px;right:12px}}

/* Contact page and embedded map */
.map-section{padding:70px 0;background:var(--soft)}
.map-heading{margin-bottom:26px;text-align:center}
.map-heading h2{margin:.2rem 0 .6rem;font-size:clamp(1.8rem,4vw,2.6rem)}
.map-heading p{margin:0;color:var(--muted)}
.map-frame{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.map-embed{display:block;width:100%;height:520px;border:0}
.contact-links address{margin:0;color:#fff;font-style:normal}
@media(max-width:700px){.map-section{padding:52px 0}.map-embed{height:380px}}

/* Corporate site footer */
.site-footer{padding:0;background:#0a1016;color:#cbd3da;border-top:4px solid var(--gold)}
.footer-main{display:grid;grid-template-columns:1.35fr .75fr .9fr 1.15fr;gap:54px;padding-top:70px;padding-bottom:58px}
.footer-company{max-width:330px}
.footer-logo{display:inline-flex;width:172px;padding:8px 12px;background:#fff;border-radius:10px}
.footer-logo img{width:100%;height:auto;object-fit:contain}
.footer-summary{max-width:310px;margin:22px 0;color:#b9c2c9;line-height:1.75}
.footer-actions{display:flex;flex-wrap:wrap;gap:10px}
.footer-actions a{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:8px 14px;border:1px solid #48535d;border-radius:8px;color:#fff;text-decoration:none;font-size:.88rem;font-weight:800}
.footer-actions .footer-action-call{background:var(--gold);border-color:var(--gold)}
.footer-actions .footer-action-whatsapp{background:#137c42;border-color:#137c42}
.footer-actions a:hover,.footer-actions a:focus-visible{filter:brightness(1.12);transform:translateY(-1px)}
.footer-column h2{margin:4px 0 20px;color:#fff;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}
.footer-column ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.footer-column a{color:#cbd3da;text-decoration:none}
.footer-column li a{display:inline-block;padding:2px 0}
.footer-column a:hover,.footer-column a:focus-visible{color:#efc184}
.footer-contact p,.footer-contact address{display:grid;gap:2px;margin:0 0 14px;color:#e4e8eb;font-style:normal;line-height:1.55}
.footer-contact span{color:#89949e;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.footer-contact .footer-instagram{display:inline-block;margin-top:6px;color:#efc184;font-weight:800}
.footer-bottom{border-top:1px solid #25303a;background:#070c11}
.footer-bottom-inner{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:30px;padding-right:120px}
.footer-bottom p{margin:0;color:#99a4ad;font-size:.88rem}
.footer-meta{display:grid;gap:3px}
.footer-credit a{color:#efc184;font-weight:750;text-decoration:none}
.footer-credit a:hover,.footer-credit a:focus-visible{text-decoration:underline}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:24px}
.footer-bottom a{color:#bfc7ce;text-decoration:none;font-size:.84rem}
.footer-bottom a:hover,.footer-bottom a:focus-visible{color:#efc184}
@media(max-width:1050px){.footer-main{grid-template-columns:1.2fr 1fr 1fr;gap:40px}.footer-contact{grid-column:2/-1}.footer-bottom-inner{padding-right:100px}}
@media(max-width:700px){.footer-main{grid-template-columns:1fr 1fr;gap:38px 24px;padding-top:52px;padding-bottom:44px}.footer-company{grid-column:1/-1}.footer-contact{grid-column:1/-1}.footer-bottom-inner{min-height:0;flex-direction:column;align-items:flex-start;padding-top:24px;padding-right:70px;padding-bottom:100px}.footer-bottom nav{gap:12px 20px}}
@media(max-width:440px){.footer-main{grid-template-columns:1fr}.footer-company,.footer-contact{grid-column:auto}}

/* Optional analytics consent */
.cookie-banner{position:fixed;right:20px;bottom:20px;z-index:6000;display:flex;width:min(620px,calc(100% - 40px));align-items:center;gap:24px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.28);color:var(--ink)}
.cookie-banner[hidden]{display:none}
.cookie-banner strong{display:block;margin-bottom:4px;font-size:1.05rem}
.cookie-banner p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}
.cookie-banner a{color:var(--gold-dark);font-weight:750}
.cookie-actions{display:flex;flex:none;gap:8px}
.cookie-actions button,.cookie-preferences{border:1px solid #aab2ba;border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;font:700 .86rem system-ui,-apple-system,"Segoe UI",sans-serif}
.cookie-actions button{min-height:42px;padding:8px 13px}
.cookie-actions .cookie-accept{border-color:var(--gold);background:var(--gold);color:#fff}
.cookie-actions button:hover,.cookie-actions button:focus-visible{filter:brightness(.94)}
.cookie-preferences{padding:0;border:0;background:transparent;color:#bfc7ce;font-weight:400}
.cookie-preferences:hover,.cookie-preferences:focus-visible{color:#efc184}
@media(max-width:650px){.cookie-banner{right:12px;bottom:12px;width:calc(100% - 24px);align-items:stretch;flex-direction:column;gap:16px}.cookie-actions{justify-content:flex-end}}

/* Roof and restoration themed cursor for precise pointing devices */
@media(pointer:fine){html,body{cursor:url('../images/cursor-roof-hammer.svg') 2 2,auto}a,button,summary,label,select,[role="button"]{cursor:url('../images/cursor-roof-hammer.svg') 2 2,pointer}input,textarea,[contenteditable="true"]{cursor:text}}
