/* Scoped additions: existing hero, project images, content and gallery remain intact. */
html{scroll-behavior:smooth;scroll-padding-top:90px}body{overflow-wrap:break-word}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #79aeed;outline-offset:3px}[hidden]{display:none!important}header .brand-logo{display:block;flex:0 0 auto}header .brand-logo img{width:168px;max-height:48px;height:auto}header nav{gap:clamp(8px,1.2vw,20px);font-size:14px}header>.btn{white-space:nowrap;padding:12px 16px}header{gap:18px}.minimal-partner-text{font-size:10px!important;line-height:1.4!important;opacity:1;height:auto;overflow:visible;margin-top:10px!important}.lead .consent a{text-decoration:underline}.lead .consent{align-items:flex-start}.lead input[type=hidden]{display:none}.section-kicker{font-size:11px!important;font-weight:700;letter-spacing:2px;line-height:1.6}.blue-button{display:inline-flex;justify-content:center;align-items:center;gap:24px;background:#1164ce;color:#fff;border:1px solid transparent;border-radius:6px;padding:15px 25px;font-size:14px;font-weight:700;line-height:1.4;transition:background .2s,transform .2s}.blue-button:hover{background:#0954b2;transform:translateY(-2px)}.brands-section{padding:60px 4%;text-align:center;background:#f7f9fc}.brands-section h2{letter-spacing:1px;margin-bottom:30px}.brands-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.brand-card{display:flex;align-items:center;justify-content:center;min-height:120px;padding:20px;background:#fff;box-shadow:0 5px 20px #12335d0c;border-bottom:3px solid #1664c7;border-radius:6px}.brand-card img{max-width:100%;height:65px;object-fit:contain}.offers-band{max-width:none;margin:10px 0;padding:66px 4%;background:linear-gradient(100deg,#061d3aeb,#06346bd9),url('assets/project-images/exterior.jpg') center/cover;color:#fff;text-align:center}.offers-band h2{font-size:clamp(25px,3vw,38px);line-height:1.3;margin:14px 0}.offers-band p:not(.section-kicker){color:#e2eaf6;font-size:18px;margin:0 0 25px}.band-inner{max-width:1100px;margin:auto}.appointment-band{max-width:none;padding:62px 5%;margin:10px 0;background:linear-gradient(120deg,#052d64,#0b4c95);color:white}.appointment-inner{max-width:1150px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.appointment-copy h2{font-size:clamp(30px,3.5vw,48px);line-height:1.15;margin:22px 0}.appointment-copy>p:not(.section-kicker){font-size:20px;color:#e1ebfa}.appointment-copy .appointment-note{font-size:13px!important;line-height:1.7;max-width:340px;margin-top:25px}.video-column{justify-self:center;width:min(100%,282px);text-align:center}.vertical-video{aspect-ratio:9/16;background:#06172f;border:1px solid #ffffff35;border-radius:12px;overflow:hidden;box-shadow:0 20px 35px #00142945}.vertical-video iframe{display:block;width:100%;height:100%;border:0}.video-link{display:inline-block;color:#fff;font-size:12px;text-decoration:underline;margin-top:14px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:65px 6%;margin:10px auto;background:white}.contact-card{padding:35px;border:1px solid #e5eaf2;border-radius:18px;box-shadow:0 12px 35px #0b326611}.contact-card h2{color:#1056a8;font-size:30px;margin:10px 0 25px}.contact-fields{margin:0}.contact-fields>label:not(.enquiry-consent){display:block;font-size:13px;font-weight:700;margin:15px 0 8px}.contact-fields>input:not([type=hidden]){width:100%;min-width:0;padding:14px;border:1px solid #cdd7e5;border-radius:6px;background:#fafbfd;color:#17375e;font:inherit}.enquiry-consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0;font-size:11px;color:#52657a;line-height:1.6}.enquiry-consent input{margin:3px 0 0;flex-shrink:0;accent-color:#1164ce;width:16px;height:16px}.enquiry-consent a{text-decoration:underline}.contact-fields>.blue-button{width:100%}.form-feedback{font-size:12px;line-height:1.5;color:#9e2424}.form-feedback:empty{display:none}.contact-copy h2{font-size:clamp(28px,3vw,40px);line-height:1.2;margin:20px 0}.contact-copy p{color:#546780;line-height:1.85;font-size:15px}.contact-rule{display:block;background:#d0a23b;width:45px;height:3px}.contact-phone{display:inline-flex;gap:16px;font-size:16px;font-weight:bold;margin:12px 0;color:#0b55a6}.contact-copy .contact-disclosure{font-size:11px;line-height:1.7;margin-top:25px}.visit-dialog{position:fixed;inset:0;width:calc(100% - 32px);max-width:460px;max-height:calc(100dvh - 40px);overflow:auto;padding:35px;border:0;border-top:5px solid #1262c7;border-radius:14px;color:#163b6a;background:white;box-shadow:0 25px 80px #00132d55}.visit-dialog::backdrop{background:#00152bbb}.popup-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:38px;height:38px;padding:0;background:#eef3fa;color:#153f71;font-size:26px;border-radius:50%}.popup-logo{display:block;width:150px;height:auto;margin:0 0 20px}.visit-dialog h2{font-size:28px;margin:10px 0}.popup-intro{font-size:13px;line-height:1.6;color:#617188}.popup-disclosure{font-size:10px;line-height:1.5;color:#65748a;margin-bottom:0}.spam-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}button:disabled{opacity:.65;cursor:wait}.enquiry-error{padding:14px;border:1px solid #ebc8c8;background:#fff4f4;color:#8b2323;font-size:13px;line-height:1.6;border-radius:5px}.lead{scroll-margin-top:90px}
@media(max-width:1100px) and (min-width:801px){header nav{font-size:12px;gap:9px}header .brand-logo img{width:132px}header{gap:10px;padding-left:2%;padding-right:2%}.contact-section{gap:35px}.appointment-inner{gap:35px}}
@media(max-width:800px){header{justify-content:space-between;gap:10px}header .brand-logo img{width:140px}header>.btn{font-size:12px;padding:11px 15px}.offers-band{padding:44px 6%}.offers-band p:not(.section-kicker){font-size:16px}.appointment-band{padding:40px 6%}.appointment-inner{grid-template-columns:1fr;gap:30px}.appointment-copy h2{font-size:34px}.appointment-copy>p:not(.section-kicker){font-size:18px}.video-column{width:min(100%,260px)}.contact-section{grid-template-columns:1fr;gap:35px;padding:38px 6%}.contact-card{padding:24px}.contact-copy h2{font-size:32px}.brands-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.visit-dialog{padding:30px 24px}.popup-close{width:36px;height:36px}.popup-logo{width:135px}.contact-phone{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Revision 2: align both new bands with the existing 1400px site sections. */
.offers-band,.appointment-band{width:100%;max-width:1400px;margin:10px auto;padding-left:4%;padding-right:4%;box-sizing:border-box}
.band-inner,.appointment-inner{width:100%;max-width:none;margin-left:auto;margin-right:auto}
.video-host-note{color:#fff;font-size:14px;line-height:1.7;padding:25px;margin:0}
@media(max-width:800px){.offers-band,.appointment-band{padding-left:6%;padding-right:6%}}
noscript .vertical-video iframe{height:100%}

/* Revision 3: compact enquiry form and a clearer original hero photograph. */
@media(min-width:801px){
 .hero{min-height:clamp(540px,40.52vw,778px);gap:28px;background-size:cover!important;background-position:center!important}
 .heroText{flex:1;min-width:0;width:auto;max-width:850px;text-shadow:0 2px 3px rgba(0,12,30,.65)}
 .heroText h1{font-size:clamp(42px,4.1vw,64px);line-height:1.08;letter-spacing:-1px}
 .heroText h2{font-size:clamp(20px,1.7vw,27px);line-height:1.3}
 .heroText h3{font-size:clamp(17px,1.4vw,21px);line-height:1.4}
 .heroText .categories{font-size:clamp(16px,1.4vw,20px);line-height:1.65;margin:22px 0}
 .heroText p{font-size:14px;line-height:1.7}
 .heroText .btn{text-shadow:none;font-size:13px;padding:13px 16px}
 .hero .lead{flex:0 0 320px;width:320px;padding:20px}
 .hero .lead h2{font-size:22px;line-height:1.2;margin-bottom:8px}
 .hero .lead>p{font-size:12px;line-height:1.5;margin:0 0 10px}
 .hero .lead>input:not([type=hidden]),.hero .lead>select{font-size:13px;padding:10px;margin:4px 0}
 .hero .lead .consent{font-size:10px;line-height:1.4;margin:10px 0}
 .hero .lead>button{padding:12px;font-size:13px}
 .hero .lead .minimal-partner-text{font-size:9px!important}
}
@media(max-width:800px){
 .hero .lead{max-width:440px;margin-left:auto;margin-right:auto;padding:20px}
 .hero .lead h2{font-size:23px}
 .hero .lead>p{font-size:13px;line-height:1.5}
 .hero .lead>input:not([type=hidden]),.hero .lead>select{padding:10px}
 .heroText{background:#061b37;text-shadow:none}
 .heroText h1{font-size:clamp(33px,7vw,40px);line-height:1.1}
 .heroText .categories{line-height:1.65}
}
