:root{--red:#e31b23;--red-dark:#b90e15;--ink:#151515;--muted:#666;--line:#e7e7e7;--paper:#fff;--soft:#f5f5f3;--radius:18px;--shadow:0 18px 50px rgba(0,0,0,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.section{padding:92px 0}.section.soft{background:var(--soft)}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--red);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}.eyebrow:before{content:"";width:34px;height:3px;background:var(--red)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.08}h1{font-size:clamp(2.7rem,6vw,5.8rem);letter-spacing:-.055em}h2{font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.045em;margin-bottom:22px}h3{font-size:1.35rem}.lead{font-size:1.15rem;color:var(--muted);max-width:720px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;border:1px solid transparent;font-weight:800;transition:.25s;cursor:pointer}.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-dark);transform:translateY(-2px)}.btn-outline{border-color:#fff;color:#fff}.btn-outline:hover{background:#fff;color:var(--ink)}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#333;transform:translateY(-2px)}
.topbar{background:#0b0b0b;color:#ddd;font-size:.86rem}.topbar .container{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:20px}.topbar-links{display:flex;gap:22px}.topbar a:hover{color:#fff}.header{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);z-index:50;border-bottom:1px solid rgba(0,0,0,.08)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between}.logo{width:211px;height:auto}.navlinks{display:flex;align-items:center;gap:30px}.navlinks a{font-weight:700;font-size:.94rem;position:relative}.navlinks a:not(.btn):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--red);transition:.25s}.navlinks a.active:after,.navlinks a:hover:after{right:0}.menu-toggle{display:none;width:46px;height:46px;border:0;border-radius:50%;background:var(--ink);color:#fff;font-size:1.3rem}
.hero{position:relative;height:min(760px,calc(100vh - 124px));min-height:610px;background:#111;overflow:hidden}.slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .7s}.slide.active{opacity:1;visibility:visible}.slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.56) 50%,rgba(0,0,0,.10) 100%);z-index:1}.slide-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-content{position:relative;z-index:2;color:#fff;max-width:820px}.hero h1{margin:15px 0 23px}.hero p{font-size:1.16rem;max-width:650px;color:#eee}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.slider-controls{position:absolute;z-index:3;right:max(24px,calc((100vw - 1180px)/2));bottom:38px;display:flex;gap:8px}.slider-controls button{width:48px;height:48px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(0,0,0,.2);color:#fff;font-size:1.2rem;cursor:pointer}.slider-controls button:hover{background:var(--red);border-color:var(--red)}
.intro-grid,.split{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}.image-frame{position:relative}.image-frame img{width:100%;min-height:520px;object-fit:cover;border-radius:var(--radius)}.image-frame:after{content:"SINCE 2008";position:absolute;left:-25px;bottom:35px;background:var(--red);color:#fff;font-size:1.15rem;font-weight:900;padding:22px 28px;border-radius:0 12px 12px 0;letter-spacing:.06em}.checks{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0}.check{display:flex;gap:10px;font-weight:700}.check span{color:var(--red)}
.heading-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.heading-row h2{margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{position:relative;min-height:370px;border-radius:var(--radius);overflow:hidden;background:#111;color:#fff}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.45s}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.06) 70%)}.service-card div{position:absolute;z-index:2;left:24px;right:24px;bottom:22px}.service-card small{color:#ddd}.service-card h3{margin:5px 0}.service-card:hover img{transform:scale(1.06)}
.stats{background:var(--red);color:#fff}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:34px 24px;border-right:1px solid rgba(255,255,255,.25)}.stat:last-child{border:0}.stat strong{display:block;font-size:2.5rem;line-height:1}.stat span{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature{padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.feature-num{font-size:.8rem;color:var(--red);font-weight:900}.feature h3{margin:14px 0 10px}.feature p{color:var(--muted);margin:0}.cta{background:var(--ink);color:#fff;border-radius:28px;padding:56px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{max-width:700px;margin:0}.cta em{color:var(--red);font-style:normal}
.page-hero{min-height:430px;display:flex;align-items:end;color:#fff;padding:80px 0;position:relative;background:#111 center/cover}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.22))}.page-hero .container{position:relative;z-index:1}.page-hero h1{font-size:clamp(2.8rem,6vw,5rem);margin:8px 0 0}.crumb{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#ddd}.crumb span{color:#ff5960}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.value{background:var(--ink);color:#fff;border-radius:var(--radius);padding:36px}.value:nth-child(2){background:var(--red)}.value p{color:#ddd;margin-bottom:0}.timeline{border-left:2px solid var(--line);padding-left:32px}.timeline-item{position:relative;margin-bottom:30px}.timeline-item:before{content:"";position:absolute;width:14px;height:14px;background:var(--red);border:5px solid #fff;box-shadow:0 0 0 1px var(--red);border-radius:50%;left:-40px;top:6px}.timeline-item h3{margin-bottom:6px}.timeline-item p{color:var(--muted)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:.25s}.product:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.product img{width:100%;aspect-ratio:4/3;object-fit:cover}.product-info{padding:25px}.product-info p{color:var(--muted)}.text-link{color:var(--red);font-weight:900}.text-link:hover{color:var(--red-dark)}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 17px;font-weight:800;cursor:pointer}.filter.active,.filter:hover{background:var(--red);border-color:var(--red);color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-item{border:0;background:none;padding:0;cursor:pointer;border-radius:14px;overflow:hidden;position:relative}.gallery-item img{width:100%;height:300px;object-fit:cover;transition:.4s}.gallery-item:after{content:"View";position:absolute;inset:auto 14px 14px auto;background:rgba(0,0,0,.75);color:#fff;padding:8px 14px;border-radius:999px;font-weight:800}.gallery-item:hover img{transform:scale(1.05)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:100;display:none;place-items:center;padding:30px}.lightbox.open{display:grid}.lightbox img{max-height:88vh;max-width:min(1100px,92vw)}.lightbox button{position:absolute;right:28px;top:24px;border:0;background:none;color:#fff;font-size:2.5rem;cursor:pointer}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px}.contact-panel{background:var(--ink);color:#fff;border-radius:var(--radius);padding:40px}.contact-panel h2{font-size:2.3rem}.contact-list{list-style:none;padding:0;margin:32px 0 0}.contact-list li{padding:18px 0;border-top:1px solid rgba(255,255,255,.15)}.contact-list small{display:block;color:#aaa;text-transform:uppercase;letter-spacing:.08em}.contact-list a:hover{color:#ff5a61}.form-card{border:1px solid var(--line);border-radius:var(--radius);padding:40px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}.field label{display:block;font-weight:800;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #d7d7d7;border-radius:10px;padding:14px;background:#fff;outline:none}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(227,27,35,.1)}.map{width:100%;height:430px;border:0}
.footer{background:#0c0c0c;color:#bbb;padding-top:70px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:55px;padding-bottom:55px}.footer-logo{filter:brightness(0) invert(1);width:205px;margin-bottom:20px}.footer h3{color:#fff}.footer-links{list-style:none;padding:0}.footer-links li{margin:9px 0}.footer a:hover{color:#fff}.footer-bottom{border-top:1px solid #262626;padding:21px 0}.footer-bottom .container{display:flex;justify-content:space-between;gap:20px;font-size:.88rem}.footer-bottom a{color:#fff}.whatsapp{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.28);font-size:.9rem}.whatsapp:hover{transform:scale(1.06)}
@media(max-width:960px){.navlinks{position:fixed;left:0;right:0;top:124px;background:#fff;display:none;flex-direction:column;align-items:stretch;padding:24px 30px;border-bottom:1px solid var(--line);gap:18px}.navlinks.open{display:flex}.navlinks .btn{width:100%}.menu-toggle{display:block}.intro-grid,.split,.contact-grid{grid-template-columns:1fr}.service-grid,.product-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.image-frame{order:-1}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:640px){.topbar .container{justify-content:center}.topbar-links{display:none}.nav{height:74px}.logo{width:176px}.navlinks{top:114px}.hero{height:680px;min-height:0}.hero p{font-size:1rem}.slider-controls{bottom:20px;right:20px}.section{padding:66px 0}.heading-row{display:block}.service-grid,.product-grid,.gallery-grid,.values{grid-template-columns:1fr}.service-card{min-height:340px}.stat-grid{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.25)}.checks,.field-grid{grid-template-columns:1fr}.cta{padding:34px;display:block}.cta .btn{margin-top:25px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom .container{display:block;text-align:center}.page-hero{min-height:350px}.form-card,.contact-panel{padding:28px}.gallery-item img{height:280px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* 2026 visual refinements */
body{font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif}
.eyebrow{gap:0}
.eyebrow:before{display:none}
.hero{height:min(760px,calc(100vh - 84px))}
.cta{position:relative;overflow:hidden;isolation:isolate}
.cta-image{min-height:300px;background-position:center;background-size:cover}
.cta-image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.45));z-index:-1}
.cta-image>*{position:relative;z-index:1}
.contact-panel.image-panel{position:relative;overflow:hidden;isolation:isolate;background-position:center;background-size:cover}
.contact-panel.image-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,0,0,.95),rgba(0,0,0,.58));z-index:-1}
.footer-logo{filter:none;width:225px;background:#fff;padding:13px 16px;border-radius:8px}
@media(max-width:960px){.navlinks{top:84px}}
@media(max-width:640px){.navlinks{top:74px}}

/* Centred hero and full-width animated image bands */
.slide:before{background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.48),rgba(0,0,0,.68))}
.hero-content{max-width:940px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hero-content .eyebrow{justify-content:center}
.hero-content p{margin-left:auto;margin-right:auto}
.hero-actions{justify-content:center}
.slide .hero-content>.eyebrow,.slide .hero-content>h1,.slide .hero-content>p,.slide .hero-content>.hero-actions{opacity:0;transform:translateY(28px)}
.slide.active .hero-content>.eyebrow{animation:heroTextIn .65s ease forwards .08s}
.slide.active .hero-content>h1{animation:heroTextIn .72s ease forwards .2s}
.slide.active .hero-content>p{animation:heroTextIn .72s ease forwards .34s}
.slide.active .hero-content>.hero-actions{animation:heroTextIn .72s ease forwards .48s}
section.section.soft:has(.cta-image){padding:0;background:#111}
.cta-image{width:100%;max-width:none;margin:0;border-radius:0;min-height:390px;padding-left:max(40px,calc((100vw - 1180px)/2));padding-right:max(40px,calc((100vw - 1180px)/2))}
.cta-image h2,.cta-image .btn{opacity:0;transform:translateY(30px)}
.cta-image.reveal-visible h2{animation:bandTextIn .8s cubic-bezier(.2,.75,.25,1) forwards}
.cta-image.reveal-visible .btn{animation:bandTextIn .8s cubic-bezier(.2,.75,.25,1) forwards .18s}
.image-panel .eyebrow,.image-panel h2,.image-panel>p,.image-panel .contact-list{opacity:0;transform:translateY(24px)}
.image-panel.reveal-visible .eyebrow{animation:bandTextIn .65s ease forwards}
.image-panel.reveal-visible h2{animation:bandTextIn .7s ease forwards .12s}
.image-panel.reveal-visible>p{animation:bandTextIn .7s ease forwards .24s}
.image-panel.reveal-visible .contact-list{animation:bandTextIn .7s ease forwards .36s}
#quote{padding:0}
#quote .contact-grid{width:100%;max-width:none;gap:0;align-items:stretch}
#quote .contact-panel,#quote .form-card{border-radius:0;border:0;padding-top:78px;padding-bottom:78px}
#quote .contact-panel{padding-left:max(40px,calc((100vw - 1180px)/2));padding-right:60px}
#quote .form-card{padding-left:70px;padding-right:max(40px,calc((100vw - 1180px)/2))}
@keyframes heroTextIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes bandTextIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:960px){#quote .contact-panel,#quote .form-card{padding:60px 40px}}
@media(max-width:640px){.hero-content{padding:0 10px}.cta-image{min-height:360px;padding:48px 24px}.cta-image h2{font-size:2.25rem}#quote .contact-panel,#quote .form-card{padding:48px 24px}}
@media(prefers-reduced-motion:reduce){.slide .hero-content>*,.cta-image h2,.cta-image .btn,.image-panel .eyebrow,.image-panel h2,.image-panel>p,.image-panel .contact-list{opacity:1!important;transform:none!important;animation:none!important}}

/* Footer-specific reversed logo */
.footer-logo{width:240px;max-width:100%;height:auto;background:transparent;padding:0;border-radius:0;filter:none}
