:root{--black:#070707;--panel:#101010;--red:#d71720;--red2:#a90f15;--white:#f4f2ee;--paper:#ebe9e4;--muted:#aaa7a0;--line:#2a2927;--green:#21b75b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}.page-loader{position:fixed;inset:0;z-index:999;background:#050505;display:grid;place-items:center;transition:opacity .55s,visibility .55s}.page-loader.hidden{opacity:0;visibility:hidden}.loader-logo{font-family:Oswald;font-size:38px;font-weight:700;letter-spacing:.22em;position:relative}.loader-logo span{position:absolute;height:3px;background:var(--red);left:0;bottom:-12px;width:0;animation:load 1.2s ease forwards}@keyframes load{to{width:100%}}.site-header{position:fixed;z-index:90;top:0;left:0;right:0;height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(4,4,4,.94),rgba(4,4,4,.58));backdrop-filter:blur(18px);transition:.3s}.site-header.scrolled{height:76px;background:rgba(5,5,5,.94)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:62px}.brand-mark svg{fill:none;stroke:#eee;stroke-width:4.8;stroke-linecap:square;stroke-linejoin:miter}.brand-mark .accent{stroke:var(--red)}.brand-mark .clad{stroke:var(--red);stroke-width:2.4}.brand-type strong{font-family:Oswald;display:block;font-size:27px;line-height:.95;letter-spacing:.18em}.brand-type small{font-size:9px;color:#bbb;letter-spacing:.22em}.main-nav{display:flex;align-items:center;gap:34px;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.main-nav>a:not(.nav-cta){color:#c7c5c0;position:relative}.main-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--red);transition:.25s}.main-nav>a:hover:after{right:0}.nav-cta{background:var(--red);padding:15px 19px}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px}.menu-toggle b{display:none}.hero{min-height:100svh;position:relative;display:flex;align-items:center;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('assets/hero.webp') center 54%/cover no-repeat;animation:heroZoom 14s ease-in-out infinite alternate}@keyframes heroZoom{to{transform:scale(1.055)}}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,3,3,.95) 0%,rgba(3,3,3,.74) 46%,rgba(3,3,3,.18) 80%),linear-gradient(0deg,rgba(3,3,3,.88),transparent 50%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 72%)}.hero-content{position:relative;z-index:3;width:min(980px,86vw);margin-left:7vw;padding:135px 0 150px}.eyebrow{font-size:11px;letter-spacing:.25em;text-transform:uppercase;font-weight:800;display:flex;align-items:center;gap:13px;margin:0 0 23px}.eyebrow span{width:38px;height:2px;background:var(--red)}.eyebrow.dark{color:#222}.hero h1,h2,h3{font-family:Oswald,sans-serif;text-transform:uppercase;margin:0;line-height:.96}.hero h1{font-size:clamp(64px,8.3vw,126px);letter-spacing:-.035em;max-width:1000px}.hero h1 em,h2 em{font-style:normal;color:var(--red)}.hero-copy{max-width:680px;font-size:18px;line-height:1.75;color:#d0cec9;margin:29px 0 38px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.btn{min-height:56px;padding:0 25px;border:1px solid transparent;display:inline-flex;justify-content:center;align-items:center;gap:25px;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.08em;cursor:pointer;transition:.25s}.btn span{font-size:18px}.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:#ef1e28;transform:translateY(-2px)}.btn-whatsapp{background:var(--green)}.btn-whatsapp:hover{filter:brightness(1.08);transform:translateY(-2px)}.btn-outline{border-color:#555;background:transparent}.btn-outline:hover{border-color:var(--red);background:var(--red)}.btn-ghost{background:transparent;border-color:#aaa;color:#222}.hero-rail{position:absolute;z-index:4;bottom:0;right:0;width:min(720px,60vw);display:grid;grid-template-columns:repeat(3,1fr);background:rgba(7,7,7,.88);backdrop-filter:blur(12px);border-top:1px solid #333;border-left:1px solid #333}.hero-rail div{padding:22px 25px;border-right:1px solid #333}.hero-rail small{display:block;color:var(--red);font-weight:800;margin-bottom:8px}.hero-rail strong{font-size:12px;line-height:1.5}.scroll-cue{position:absolute;z-index:4;left:7vw;bottom:27px;font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#aaa;display:flex;align-items:center;gap:12px}.scroll-cue span{width:31px;height:1px;background:#aaa}.light-section{background:var(--paper);color:#111}.dark-section{background:#0a0a0a}.section-wrap{width:min(1500px,86vw);margin:auto}.intro{padding:120px 0}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end}.intro h2,.section-heading h2,.featured h2,.proof h2,.area-copy h2,.quote h2{font-size:clamp(48px,6vw,86px);letter-spacing:-.025em}.intro-copy p{font-size:17px;line-height:1.85;color:#5b5954;margin:0 0 30px}.text-link{text-transform:uppercase;font-size:12px;letter-spacing:.08em;font-weight:800;display:inline-flex;align-items:center;gap:18px}.text-link span{font-size:20px;color:var(--red)}.services{padding:120px 0}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:60px}.section-heading>p{max-width:520px;color:#a5a29c;line-height:1.75}.section-heading.dark>p{color:#625f59}.service-list{position:relative;width:64%;z-index:2}.service-row{display:grid;grid-template-columns:70px 1fr 55px;align-items:center;gap:20px;padding:31px 0;border-top:1px solid #2c2c2c;transition:.3s;cursor:default}.service-row:last-child{border-bottom:1px solid #2c2c2c}.service-row:hover{padding-left:18px;border-color:#555}.service-row .number{color:var(--red);font-size:12px;font-weight:800}.service-row h3{font-size:clamp(26px,3vw,44px);margin-bottom:8px}.service-row p{color:#9f9d97;margin:0;line-height:1.55}.service-row>a{width:49px;height:49px;border:1px solid #444;display:grid;place-items:center;font-size:21px;transition:.25s}.service-row:hover>a{background:var(--red);border-color:var(--red)}.service-preview{position:absolute;right:7vw;margin-top:-520px;width:31vw;height:500px;overflow:hidden}.service-preview img{height:100%;object-fit:cover;transition:opacity .3s,transform .55s}.service-preview.changing img{opacity:.15;transform:scale(1.04)}.preview-label{position:absolute;left:18px;bottom:18px;background:rgba(0,0,0,.78);padding:10px 12px;text-transform:uppercase;font-size:9px;letter-spacing:.12em}.featured{min-height:760px;display:grid;grid-template-columns:1.25fr .75fr;background:#111}.featured-image{min-height:760px;overflow:hidden}.featured-image img{height:100%;object-fit:cover}.featured-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#151515,#090909)}.featured-copy p:not(.eyebrow){color:#aaa;line-height:1.8;max-width:570px}.project-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:32px 0;border-top:1px solid #333;border-bottom:1px solid #333}.project-facts span{padding:18px 15px 18px 0}.project-facts small,.project-facts b{display:block}.project-facts small{color:#888;font-size:9px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}.project-facts b{font-size:13px}.projects{padding:120px 0}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.filters button{border:1px solid #b8b4ac;background:transparent;padding:11px 17px;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.07em;cursor:pointer}.filters button.active,.filters button:hover{background:#111;color:#fff;border-color:#111}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:290px;gap:16px}.project-card{border:0;padding:0;position:relative;overflow:hidden;background:#111;cursor:pointer}.project-card.tall{grid-row:span 2}.project-card.wide{grid-column:span 2}.project-card img{height:100%;object-fit:cover;transition:.6s}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent 55%)}.project-card:hover img{transform:scale(1.045)}.project-card>span{position:absolute;z-index:2;left:22px;right:22px;bottom:21px;text-align:left;color:#fff}.project-card small,.project-card strong{display:block}.project-card small{text-transform:uppercase;color:#e2dfd8;font-size:9px;letter-spacing:.12em}.project-card strong{font-family:Oswald;text-transform:uppercase;font-size:24px;margin-top:6px}.project-card.hidden{display:none}.proof{padding:120px 0}.proof-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.proof-copy>p:not(.eyebrow){color:#a4a19a;line-height:1.8;max-width:520px}.proof-points{display:grid;grid-template-columns:1fr 1fr}.proof-points article{padding:32px;border-top:1px solid #333;border-left:1px solid #333}.proof-points b{color:var(--red);font-size:12px}.proof-points h3{font-size:23px;margin:17px 0 12px}.proof-points p{color:#999;line-height:1.65;font-size:14px;margin:0}.areas{display:grid;grid-template-columns:1fr 1fr;background:var(--red)}.area-image{min-height:690px}.area-image img{height:100%;object-fit:cover}.area-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}.area-copy .eyebrow span{background:#fff}.area-copy h2 em{color:#111}.area-copy>p:not(.eyebrow){line-height:1.75;max-width:530px}.area-tags{display:grid;grid-template-columns:1fr 1fr;margin-top:28px}.area-tags span{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.38);font-weight:700;font-size:13px}.quote{padding:120px 0}.quote-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.quote-intro>p:not(.eyebrow,.contact-email){color:#5b5954;line-height:1.8}.whatsapp-card{display:flex;flex-direction:column;background:var(--green);color:#fff;padding:25px;margin:30px 0 18px;transition:.25s}.whatsapp-card:hover{transform:translateY(-3px)}.whatsapp-card span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.whatsapp-card strong{font-size:21px;margin:8px 0}.whatsapp-card b{font-size:13px}.contact-email{font-size:13px}.contact-email a{text-decoration:underline}.quote-builder{background:#111;color:#fff;padding:38px;border:1px solid #333;min-height:570px}.step-indicator{display:flex;align-items:center;margin-bottom:50px}.step-indicator span{width:34px;height:34px;border:1px solid #555;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800}.step-indicator span.active{background:var(--red);border-color:var(--red)}.step-indicator i{height:1px;background:#444;flex:1}.form-step{display:none}.form-step.active{display:block;animation:formIn .35s ease}@keyframes formIn{from{opacity:0;transform:translateX(12px)}}.step-label{text-transform:uppercase;color:var(--red);font-size:10px;letter-spacing:.12em;font-weight:800}.form-step h3{font-size:36px;margin-bottom:27px}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:28px}.service-options input{position:absolute;opacity:0}.service-options span{display:flex;align-items:center;min-height:64px;padding:14px;border:1px solid #3c3c3c;font-size:13px;cursor:pointer;transition:.2s}.service-options input:checked+span{border-color:var(--red);background:rgba(215,23,32,.16)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field-grid label{display:flex;flex-direction:column;gap:8px;text-transform:uppercase;font-size:10px;letter-spacing:.09em;font-weight:800}.field-grid .full{grid-column:1/-1}.field-grid input,.field-grid select,.field-grid textarea{background:#080808;color:#fff;border:1px solid #444;padding:15px;width:100%}.step-buttons{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.lightbox{position:fixed;inset:0;z-index:150;background:rgba(0,0,0,.94);display:none;place-items:center;padding:5vw}.lightbox.open{display:grid}.lightbox img{max-width:1200px;max-height:85vh;object-fit:contain}.lightbox-close{position:absolute;right:30px;top:22px;background:none;border:0;font-size:48px;cursor:pointer}.floating-whatsapp{position:fixed;z-index:95;right:23px;bottom:23px;display:flex;align-items:center;gap:10px;background:var(--green);padding:13px 17px;border-radius:30px;font-size:12px;font-weight:800;box-shadow:0 12px 35px rgba(0,0,0,.35)}.floating-whatsapp svg{width:23px;height:23px;fill:#fff}.back-top{position:fixed;right:30px;bottom:90px;z-index:94;width:43px;height:43px;border:1px solid #555;background:#111;color:#fff;opacity:0;visibility:hidden;transition:.25s;cursor:pointer}.back-top.show{opacity:1;visibility:visible}footer{padding:60px 7vw 25px;background:#050505}.footer-top{display:grid;grid-template-columns:1fr 1fr auto;gap:50px;align-items:center;padding-bottom:45px;border-bottom:1px solid #252525}.footer-top>p{max-width:470px;color:#888;line-height:1.7}.text-link.light{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:24px;color:#777;font-size:11px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1050px){.main-nav{gap:20px}.service-list{width:100%}.service-preview{display:none}.featured{grid-template-columns:1fr}.featured-image{min-height:560px}.featured-copy{padding:80px 7vw}.proof-grid,.quote-layout{grid-template-columns:1fr}.areas{grid-template-columns:1fr}.area-image{min-height:520px}.footer-top{grid-template-columns:1fr 1fr}.footer-top .text-link{grid-column:1/-1}}@media(max-width:800px){.site-header{height:74px;padding:0 20px}.site-header.scrolled{height:68px}.brand-mark{width:48px}.brand-type strong{font-size:21px}.brand-type small{font-size:7px}.menu-toggle{display:block}.main-nav{display:none;position:fixed;inset:74px 0 0;background:#080808;flex-direction:column;align-items:flex-start;padding:55px 9vw;gap:28px;font-size:17px}.main-nav.open{display:flex}.nav-cta{width:100%;text-align:center}.hero-content{margin-left:24px;width:calc(100% - 48px);padding-top:115px}.hero h1{font-size:clamp(54px,15vw,82px)}.hero-copy{font-size:16px}.hero-rail{left:0;right:0;width:100%}.hero-rail div{padding:15px 12px}.hero-rail strong{font-size:9px}.scroll-cue{display:none}.section-wrap{width:calc(100% - 48px)}.intro,.services,.projects,.proof,.quote{padding:80px 0}.intro-grid,.section-heading{display:block}.intro-copy,.section-heading>p{margin-top:32px}.service-row{grid-template-columns:42px 1fr 45px}.service-row p{font-size:13px}.featured-image{min-height:440px}.project-grid{grid-template-columns:1fr 1fr;grid-auto-rows:250px}.project-card.tall{grid-row:span 1}.project-card.wide{grid-column:span 2}.proof-points{grid-template-columns:1fr}.proof-points article{border-left:0;padding-left:0}.area-copy{padding:75px 24px}.area-tags{grid-template-columns:1fr}.quote-builder{padding:25px}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.floating-whatsapp span{display:none}.floating-whatsapp{padding:14px}.back-top{right:25px}}@media(max-width:520px){.hero-actions .btn{width:100%}.hero-rail div:nth-child(3){display:none}.hero-rail{grid-template-columns:1fr 1fr}.project-facts{grid-template-columns:1fr}.project-facts span{border-bottom:1px solid #333}.project-grid{grid-template-columns:1fr;grid-auto-rows:290px}.project-card.wide{grid-column:span 1}.service-options,.field-grid{grid-template-columns:1fr}.field-grid .full{grid-column:1}.step-buttons{flex-direction:column-reverse}.step-buttons .btn{width:100%}.quote-builder{min-height:620px}.area-image{min-height:390px}}

/* Customer reviews */
.reviews{padding:120px 0;background:radial-gradient(circle at 85% 5%,rgba(215,23,32,.12),transparent 28%),#080808}
.reviews-heading{text-align:center;max-width:760px;margin:0 auto 52px}
.reviews-heading .eyebrow{justify-content:center}
.reviews-heading h2{margin:10px 0 18px}
.reviews-heading>p:not(.eyebrow){color:#aaa;line-height:1.7}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review-card{display:flex;flex-direction:column;min-height:330px;padding:28px;background:linear-gradient(145deg,#151515,#0d0d0d);border:1px solid #353535;border-bottom:2px solid var(--red);border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.25)}
.review-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}
.stars{color:var(--red);font-size:23px;letter-spacing:3px;line-height:1}
.review-top small{color:#999;white-space:nowrap}
.review-card>p{font-size:16px;line-height:1.55;color:#f1f1f1;margin:0 0 24px}
.reviewer{display:flex;align-items:center;gap:14px;margin-top:auto}
.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--red),#771015);color:#fff;font-weight:800;font-size:20px}
.reviewer div{display:flex;flex-direction:column;gap:4px}.reviewer strong{font-size:16px}.reviewer small{color:#999}
@media(max-width:1050px){.review-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.reviews{padding:80px 0}.review-grid{grid-template-columns:1fr}.review-card{min-height:0}.review-card>p{font-size:15px}}

/* Approved Option 5 logo */
.brand-logo{display:block;width:290px;max-height:76px;object-fit:contain;object-position:left center}
.site-header.scrolled .brand-logo{width:250px;max-height:62px}
.footer-logo{width:330px;max-height:130px}
.loader-logo{width:min(520px,78vw);font-size:0;letter-spacing:0}
.loader-logo img{width:100%;height:auto;display:block}
.loader-logo span{bottom:-14px}
@media(max-width:800px){.brand-logo{width:205px;max-height:56px}.site-header.scrolled .brand-logo{width:190px;max-height:50px}.footer-logo{width:270px;max-height:110px}}
@media(max-width:390px){.brand-logo{width:180px}.site-header{padding-left:14px;padding-right:14px}}

.hidden-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.form-success{background:#111;color:#fff;border-left:5px solid #df1723;padding:24px 26px;font-size:18px;line-height:1.5;margin:0 0 20px;box-shadow:0 14px 35px rgba(0,0,0,.12)}
