
/* V26 / Shared brand identity and resilient LeadConnector enquiry embed */
:root { --lead-ink:#0b2032; --lead-ink-deep:#081927; --lead-accent:#ed7544; --lead-mist:#f3f6f7; --lead-line:#dce6eb; }
body .brand-logo-img { display:block; width:59px; height:70px; flex:0 0 auto; object-fit:contain; object-position:center; border:0; border-radius:0; background:transparent; }
body .brand,body.service-page .service-logo { align-items:center; gap:12px; }
body .brand-words strong { font-size:17px; letter-spacing:-.55px; white-space:nowrap; }
body .brand-words small { font-size:9px; letter-spacing:1.8px; }
body.service-page .logo-wordmark strong { font-size:13px; letter-spacing:.045em; white-space:nowrap; }
body.service-page .logo-wordmark small { font-size:9px; letter-spacing:.2em; }
body .footer .brand-logo-img,body.service-page .service-footer .brand-logo-img { width:65px; height:78px; padding:5px; background:#fff; border-radius:9px; }
body .footer .brand-words strong { color:#f3f8fb; }
body .footer .brand-words small { color:#adc3d0; }
body.service-page .service-footer .logo-wordmark strong { color:#fff; }
body.service-page .service-footer .logo-wordmark small { color:#9db6c2; }
html {scroll-behavior:smooth;}
#request-quote {scroll-margin-top:108px;}
.lead-zone {position:relative; isolation:isolate; padding:clamp(66px,7.6vw,112px) 0; overflow:hidden; background:var(--lead-ink); color:#fff;}
.lead-zone:before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 2% 12%,rgba(237,117,68,.12),transparent 42%),radial-gradient(ellipse at 98% 94%,rgba(71,112,140,.15),transparent 46%); pointer-events:none; }
.lead-zone:after {content:""; position:absolute; top:-130px; right:8%; width:450px; height:450px; border:1px solid rgba(255,255,255,.04); border-radius:50%; box-shadow:0 0 0 82px rgba(255,255,255,.015),0 0 0 170px rgba(255,255,255,.009); z-index:-1; pointer-events:none;}
.lead-zone .container { width:min(1200px,calc(100% - 64px)); max-width:1200px; margin:0 auto; }
.lead-zone-layout { display:grid; grid-template-columns:minmax(0,.91fr) minmax(0,1fr); gap:clamp(40px,7vw,96px); align-items:center; }
.lead-zone-copy {min-width:0; padding:10px 0;}
.lead-zone-kicker {display:flex; gap:12px; align-items:center; color:#ffb48b; font-size:11px; font-weight:800; letter-spacing:.16em; margin-bottom:26px;}
.lead-zone-kicker-line { display:block; width:27px; height:2px; background:var(--lead-accent); }
.lead-zone h2 {font-size:clamp(33px,3.6vw,51px); line-height:1.14; letter-spacing:-.042em; font-weight:790; max-width:560px; color:#fff; margin:0 0 23px; }
.lead-zone h2 em { font-style:normal; color:#f5a77c; }
.lead-zone-intro { font-size:15px; line-height:1.84; color:#c4d2dd; max-width:535px; margin:0; }
.lead-zone-steps { display:grid; gap:0; margin:38px 0 35px; max-width:500px; border-top:1px solid rgba(255,255,255,.12); }
.lead-zone-step { display:flex; gap:18px; align-items:flex-start; padding:17px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.lead-zone-step-index { display:inline-grid; place-items:center; flex:0 0 32px; height:32px; border-radius:9px; background:rgba(237,117,68,.12); color:#ffae81; font-size:11px; font-weight:850; }
.lead-zone-step strong {display:block; color:#f0f5f8; font-weight:750; font-size:13px; line-height:1.4;}
.lead-zone-step small {display:block; color:#aebfcd; font-size:12px; line-height:1.7; margin-top:4px;}
.lead-zone-contact-row {display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:500px; padding-bottom:23px;}
.lead-zone-contact-row small {display:block; color:#98b0c1; font-size:11px; margin-bottom:6px;}
.lead-zone-contact-row a { color:#fff; font-size:16px; font-weight:780; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.25); }
.lead-zone-contact-row a:hover {color:#ffbd99; border-color:currentColor;}
.lead-zone-contact-row span {display:block; color:#fff; font-size:13px; font-weight:680;}
.lead-zone-licence {color:#bbcad4; font-size:11px; letter-spacing:.015em;}
.lead-zone-licence>span {color:#f5a77c; margin-right:5px;}
.lead-zone-card {min-width:0; overflow:hidden; background:#fff; border:1px solid #e7eaee; border-radius:22px; box-shadow:0 28px 74px rgba(0,0,0,.20); color:#162e42;}
.lead-zone-card-bar {min-height:54px; display:flex; align-items:center; gap:10px; background:#f3f6f8; padding:14px clamp(18px,2.4vw,35px); font-size:10px; letter-spacing:.14em; font-weight:800; color:#627789; border-bottom:1px solid #e3eaf0;}
.lead-zone-card-dot {width:8px; height:8px; border-radius:50%; background:#ed7544; flex:none;}
.lead-zone-card-art { margin-left:auto; font-size:20px; font-weight:500; line-height:1; color:#ed7544; }
.lead-zone-card-main {padding:clamp(20px,2.7vw,38px);}
.lead-zone-card-main h3 {font-size:clamp(23px,2.2vw,29px); line-height:1.2; letter-spacing:-.035em; color:#102d43; margin:0 0 10px; font-weight:780;}
.lead-zone-card-main>p {font-size:12.5px; line-height:1.8; color:#60788b; margin:0 0 22px;}
.lead-zone-embed {width:100%; overflow:visible; border-radius:12px; background:#fff; min-height:590px; position:relative;}
.lead-zone-embed .leadconnector-frame {width:100%; display:block!important; visibility:visible!important; opacity:1!important; min-height:590px; height:590px; border:0; border-radius:12px; background:#fff; max-width:100%;}
.lead-zone-privacy {font-size:10.5px; color:#728493; line-height:1.65; border-top:1px solid #ecf0f2; margin-top:18px; padding-top:13px; overflow-wrap:anywhere;}
.lead-zone-privacy a {color:#ce5e36; text-decoration:underline; text-underline-offset:3px;}
/* Contact page: original project preparation details plus a single embedded form, relocated to page end. */
body.company-page #request-quote.lead-contact-location {scroll-margin-top:110px; padding-block:clamp(74px,7vw,105px);}
body.company-page .contact-enquiry .lead-zone-embed {border-radius:12px; overflow:visible; min-height:590px;}
body.company-page .contact-enquiry .leadconnector-frame {width:100%; height:590px; min-height:590px; display:block!important; visibility:visible!important; opacity:1!important; border:0;}
body.company-page .contact-enquiry .contact-form-note {margin-bottom:17px!important;}
body.company-page .contact-enquiry {min-width:0;}
@media(max-width:1120px) { .lead-zone-layout{gap:38px;} .lead-zone h2{font-size:clamp(31px,3.5vw,45px);} }
@media(max-width:900px) { .lead-zone-layout{grid-template-columns:1fr; gap:32px;} .lead-zone-copy{padding:0;} .lead-zone h2{max-width:730px;} .lead-zone-intro{max-width:720px;} .lead-zone-steps{max-width:none; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; border-top:0; margin:28px 0;} .lead-zone-step{border:1px solid rgba(255,255,255,.13); border-radius:12px; padding:17px; flex-direction:column;} .lead-zone-contact-row{max-width:none;} }
@media(max-width:640px) {
  .lead-zone {padding:68px 0 73px;} .lead-zone .container {width:calc(100% - 34px);} .lead-zone h2 {font-size:clamp(30px,8.1vw,42px); margin-bottom:18px;} .lead-zone-intro {font-size:13px;line-height:1.85;} .lead-zone-steps {grid-template-columns:1fr;gap:0;border-top:1px solid rgba(255,255,255,.13);margin:27px 0 23px;} .lead-zone-step {border:0; border-bottom:1px solid rgba(255,255,255,.13); padding:14px 0; flex-direction:row;} .lead-zone-contact-row {gap:17px;grid-template-columns:1fr 1fr;} .lead-zone-contact-row a {font-size:14px;} .lead-zone-contact-row span{font-size:11px;} .lead-zone-card {border-radius:16px;} .lead-zone-card-main {padding:22px 16px 20px;} .lead-zone-card-main h3{font-size:23px;} .lead-zone-card-bar{padding:15px 17px;} .lead-zone-licence{font-size:10.5px;}
  body .brand-logo-img{width:47px;height:57px;} body .brand-words strong{font-size:14px;} body .brand-words small{font-size:8px;letter-spacing:1.1px;} body.service-page .logo-wordmark strong{font-size:12px;} body.service-page .logo-wordmark small{font-size:8px;letter-spacing:.15em;} body.service-page .service-logo{gap:8px;} body .brand{gap:8px;} body .footer .brand-logo-img,body.service-page .service-footer .brand-logo-img {width:58px;height:70px;}
}
@media(max-width:390px){body .brand-words strong{font-size:12px;}body .brand-words small{font-size:7px;}body.service-page .logo-wordmark strong{font-size:10px;}body.service-page .logo-wordmark small{font-size:7px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

@media(max-width:360px){body.service-page header .logo-wordmark{display:none}body.service-page header .brand-logo-img{width:45px;height:54px}body.service-page header .service-logo{gap:0}}

/* Resilient form embed: some browsers, extensions or local previews block third-party iframe content. */
.lead-form-access { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 16px; background:#f4f7f9; padding:14px 16px; border:1px solid #e0e8ed; border-radius:11px; margin:13px 0 0; }
.lead-form-access span { color:#526879; font-size:12px; line-height:1.55; font-weight:600; }
.lead-form-access a { display:inline-flex; align-items:center; justify-content:center; gap:7px; background:#ed7544; color:#fff!important; border-radius:9px; padding:11px 15px; min-height:43px; font-size:12px; line-height:1.3; font-weight:800; text-decoration:none!important; box-shadow:0 5px 12px rgba(237,117,68,.15); transition:background .15s ease,transform .15s ease; }
.lead-form-access a:hover {background:#ce5d33; transform:translateY(-1px);}
.lead-form-access a:focus-visible {outline:3px solid #102438; outline-offset:3px;}
body.company-page .contact-enquiry .lead-form-access {margin-top:14px;}
@media(max-width:640px) {
  .lead-zone-embed,.lead-zone-embed .leadconnector-frame,body.company-page .contact-enquiry .lead-zone-embed,body.company-page .contact-enquiry .leadconnector-frame {min-height:675px; height:675px;}
  .lead-form-access {padding:13px;}
  .lead-form-access a {width:100%;}
}
