:root{--bg:#070e1b;--panel:#101d30;--line:#2b3a51;--text:#f4f6fb;--muted:#abb9cd;--blue:#478bff;--silver:#cbd4e1;--gold:#dbb882}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--text);background:var(--bg);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:9;background:#000;padding:15px}header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 5%;background:#080f1df5;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.logo{display:inline-flex;background:#eef2f7;border-radius:5px;padding:3px 10px}.logo img{width:177px;height:62px;object-fit:contain}nav{display:flex;align-items:center;gap:30px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 25px;color:white;background:linear-gradient(110deg,#1354d9,#2879f5);border:1px solid #679dfd;border-radius:4px;box-shadow:0 8px 35px #0648d63b;font-weight:700;line-height:1.4}.button:hover{background:#377cf0}.button.small{padding:12px 19px}.secondary{padding:12px 18px;background:transparent;color:var(--text);border:1px solid #50607a;border-radius:4px}.secondary:disabled{opacity:.4;cursor:default}.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;max-width:1600px;margin:auto;background:radial-gradient(ellipse at 32% 90%,#0e2b5c 0,transparent 55%)}.hero-copy{padding:85px 0 75px 10%;position:relative;z-index:1}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.5px;color:var(--blue);margin:0 0 24px}h1{font-size:clamp(60px,7vw,108px);line-height:1.04;letter-spacing:-5px;margin:0 0 30px;font-weight:600}h1 span,h2 span{color:#77a9ff}h2{font-size:clamp(38px,4.4vw,66px);line-height:1.12;letter-spacing:-2px;font-weight:500;margin:0 0 28px}h3{font-size:25px;line-height:1.25;font-weight:500;margin:20px 0 15px}.lead{font-size:19px;color:#c7d2e1;margin-bottom:35px}.hero-note{font-size:13px;color:var(--muted);margin-top:22px}.hero-image{position:relative;min-height:620px}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg),transparent 28%),linear-gradient(0deg,#070e1b,transparent 25%)}.image-caption{position:absolute;bottom:28px;right:25px;z-index:1;font-size:12px;letter-spacing:2px;color:#c7ccd4}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:25px;padding:25px 5%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#c8d3e5;font-size:12px;letter-spacing:1.5px}.hero-bottom b{color:#5e87c9;margin:0 15px}.section{padding:95px 5%;max-width:1440px;margin:auto}.heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:35px}.heading>p{max-width:470px;color:var(--muted);margin-bottom:30px}.services{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.services article{padding:32px 24px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:linear-gradient(150deg,#14213a,#091320)}.services article:last-child{border:0}.number{font-size:12px;letter-spacing:1px;color:#8eafe5}.services p{color:var(--muted);font-size:15px}.services a{margin-top:auto;padding-top:20px;font-size:14px;color:#8fbbff}.services .emergency{background:linear-gradient(155deg,#292524,#121c2b)}.emergency .number{color:var(--gold)}.quote-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;border-top:1px solid var(--line);background:radial-gradient(ellipse at 0% 0%,#14336950,transparent 65%)}.quote-intro>p{max-width:390px;color:var(--muted)}.quote-intro>.eyebrow{color:var(--blue)}.privacy{font-size:13px;line-height:1.6;color:#a5b8d1;border-left:2px solid #557aaf;padding-left:17px}.journey{padding:15px 0;list-style:none;counter-reset:j}.journey li{counter-increment:j;margin:12px 0;color:#8195af;font-size:14px}.journey li:before{content:"0" counter(j);display:inline-block;margin-right:15px;color:#6282b0}.journey li.active{color:white}.quote-panel{border:1px solid #405575;background:linear-gradient(145deg,#142238,#0d1728);padding:36px;box-shadow:0 20px 65px #0005;border-radius:8px;min-width:0}.progress-meta{display:flex;justify-content:space-between;color:#b0c2dc;font-size:12px;letter-spacing:1px;text-transform:uppercase}progress{height:4px;width:100%;margin:15px 0 25px;accent-color:var(--blue)}progress::-webkit-progress-bar{background:#283d59}progress::-webkit-progress-value{background:#408cff}.quote-panel h3{font-size:29px;margin-top:0}.help{font-size:14px;color:var(--muted);margin-bottom:22px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{display:block;cursor:pointer;position:relative;border:1px solid #3c4b61;padding:17px;border-radius:5px;background:#0b1628;color:#d6deea}.choice input{width:18px;height:18px;accent-color:#4387ff;margin:0 8px 0 0}.choice:has(input:checked){border-color:#70a8ff;background:#183b68;box-shadow:inset 3px 0 #70a8ff}.choice b{font-size:15px}.choice small{display:block;font-size:13px;color:#a9bcd5;margin:6px 0 0 28px}label{display:block;font-size:14px;margin-bottom:16px;color:#d4deed}input:not([type=radio]):not([type=checkbox]),select,textarea{display:block;width:100%;background:#091425;color:#edf3ff;border:1px solid #465670;border-radius:4px;padding:12px;margin-top:7px;min-width:0}input::placeholder,textarea::placeholder{color:#8599b4}textarea{resize:vertical;min-height:95px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}fieldset{border:0;padding:0;margin:0}legend{font-size:14px;font-weight:700;margin-bottom:15px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.room{border:1px solid #384c68;padding:20px;margin:17px 0;background:#0c192c}.room h4{margin:0 0 15px;font-size:16px;color:#8db7ff}.room .field-grid label{margin-bottom:14px}.error{color:#ffc4b8;font-size:14px;min-height:24px}#quote-nav{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:23px}.price{padding:24px;background:#173d6a;border:1px solid #5088cb;margin:20px 0}.price span{display:block;font-size:13px;color:#bcd5f3}.price strong{font-size:35px;font-weight:500}.price p{font-size:13px;margin:8px 0}.breakdown{font-size:14px;width:100%;border-collapse:collapse}.breakdown td{padding:10px 0;border-bottom:1px solid var(--line)}.breakdown td:last-child{text-align:right}.survey{font-size:14px;color:#dac7a7}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.support-section{border-top:1px solid var(--line)}.support-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.support-copy{color:var(--muted)}#support-form{background:var(--panel);border:1px solid var(--line);padding:32px;border-radius:7px}#support-result{margin-top:30px}footer{padding:50px 5%;background:#040910;border-top:1px solid var(--line);font-size:14px;color:#9aaec9}footer small{font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#264c80;padding:12px 22px;border-radius:6px;z-index:99;max-width:90vw}#toast:empty{display:none}@media(max-width:1050px){.services{grid-template-columns:1fr 1fr}.services article{border-bottom:1px solid var(--line);min-height:310px}.quote-section{gap:35px;grid-template-columns:.65fr 1fr}.quote-panel{padding:25px}nav{gap:18px}.hero-copy{padding-top:70px}.support-layout{gap:35px}}@media(max-width:720px){html{scroll-padding-top:96px}header{padding:12px 5%}header .logo img{width:122px;height:44px}header nav>a:not(.button){display:none}nav .button{font-size:12px;padding:11px;max-width:160px}.hero{display:block}.hero-copy{padding:48px 6% 40px}h1{font-size:64px;letter-spacing:-3px}.hero-image{height:340px;min-height:0}.hero-image img{object-position:50% 52%}.hero-bottom{flex-direction:column;font-size:11px;padding:22px 6%;gap:15px}.section{padding:65px 6%}.heading{display:block}.heading>p{margin-top:15px}.services{grid-template-columns:1fr}.services article{min-height:0;padding:27px}.services article a{padding-top:15px}.quote-section,.support-layout{display:block}.journey{display:none}.quote-intro{margin-bottom:30px}.quote-panel{padding:23px 18px}.choices,.field-grid{grid-template-columns:1fr}.choice{padding:14px}.support-copy{margin-bottom:25px}#support-form{padding:23px 18px}.price strong{font-size:30px}h2{font-size:42px}.eyebrow{font-size:12px}.room{padding:15px}.button{padding:15px 18px}.lead{font-size:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Equipment-led introduction and system gallery. */
.hero{grid-template-columns:1fr 1fr;overflow:hidden}.hero-copy{padding:68px 7% 60px 10%}.hero h1{font-size:clamp(42px,4.5vw,72px);letter-spacing:-2.5px;line-height:1.09;margin-bottom:26px}.hero h1 span{color:#77a9ff}.hero .lead{font-size:24px;line-height:1.45;margin:0 0 20px;color:var(--text)}.hero-description{max-width:440px;color:var(--muted);font-size:17px;margin:0 0 28px}.hero-image{min-height:590px}.hero-image img{object-position:center}.hero-image:after{background:linear-gradient(90deg,var(--bg),transparent 14%),linear-gradient(0deg,#070e1be8,transparent 55%)}.hero-photo-label{position:absolute;bottom:40px;left:35px;z-index:1}.hero-photo-label>span{font-size:12px;letter-spacing:2px;color:#d6e8ff}.hero-photo-label strong{display:block;font-size:30px;line-height:1.2;margin-top:12px;font-weight:500}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:19px}.hero-service-link{font-size:15px;color:var(--silver)}.hero-service-link:hover,.system-copy a:hover{color:white;text-decoration:underline}.services p{font-size:16px}.number{font-size:13px}.services h3{font-size:26px}.services a{font-size:15px}.emergency-strip{display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid var(--line);border-top:0;padding:23px 25px;background:var(--panel)}.emergency-strip strong{display:block;font-size:18px;margin-bottom:3px}.emergency-strip span{font-size:14px;color:var(--muted)}.emergency-strip>a{flex-shrink:0;font-size:15px;color:#8fbbff}.systems-section{border-top:1px solid var(--line)}.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.system-card{border:1px solid var(--line);background:var(--panel);overflow:hidden;display:flex;flex-direction:column}.system-photo{height:310px;overflow:hidden;background:#eef1f4}.system-photo img{display:block;width:100%;height:100%;object-fit:cover}.equipment-photo img{object-fit:contain;padding:24px}.system-copy{padding:29px;display:flex;flex-direction:column;flex:1}.system-copy h3{font-size:28px;margin:14px 0}.system-copy p{font-size:16px;color:var(--muted);margin:0 0 24px}.system-copy a{font-size:15px;color:#8fbbff;margin-top:auto}.image-credit{font-size:12px;color:var(--muted);margin:20px 0 0}.quote-intro>.eyebrow,.heading .eyebrow{line-height:1.6}nav{gap:20px}
@media(max-width:1050px){.hero-copy{padding:55px 7%}.hero h1{font-size:48px}.hero .lead{font-size:21px}.hero-image{min-height:580px}.hero-bottom{font-size:11px;letter-spacing:1px}.system-photo{height:260px}.emergency-strip{align-items:flex-start;flex-direction:column;gap:14px}}
@media(max-width:720px){.hero{display:flex;flex-direction:column}.hero-copy{padding:40px 6% 30px}.hero h1{font-size:clamp(38px,9.8vw,62px);letter-spacing:-1.6px}.hero .lead{font-size:21px;margin-bottom:16px}.hero-description{font-size:16px}.hero-note{line-height:1.6;margin-bottom:0}.hero-image{height:310px;min-height:0;order:1}.hero-image:after{background:linear-gradient(0deg,#070e1bd9,transparent 65%)}.hero-photo-label{bottom:24px;left:6%}.hero-photo-label strong{font-size:25px}.hero-bottom{order:2;letter-spacing:.8px}.hero-bottom b{margin:0 6px}.system-grid{grid-template-columns:1fr;gap:24px}.system-photo{height:270px}.system-copy{padding:24px}.system-copy h3{font-size:26px}.systems-section .eyebrow{font-size:12px;letter-spacing:1.5px}.emergency-strip{padding:23px}.hero-actions .button{font-size:16px}.system-grid .equipment-photo{height:280px}}

.hero-image img,.system-photo img{object-position:center top}.image-credit a{text-decoration:underline;text-underline-offset:3px}
/* Clearer reading rhythm, stronger navigation and full-screen enquiries. */
:root{--muted:#c2cede;--line:#3a4b62}body{font-size:18px;line-height:1.65}.section{padding:65px 5%;max-width:1500px}.heading{align-items:center;gap:40px;margin-bottom:30px}.heading>p{font-size:18px;max-width:540px;margin:0}.eyebrow{font-size:14px;letter-spacing:1.6px;margin-bottom:18px}h2{font-size:clamp(34px,3.4vw,52px);letter-spacing:-1.2px;line-height:1.18}h3{font-weight:600}.services p,.system-copy p{font-size:18px;line-height:1.65}.services a,.system-copy a,.hero-service-link{font-size:17px}.services article{padding:28px}.number{font-size:14px;color:#b0cefb}.hero-note,.privacy,.preview-note{font-size:15px;line-height:1.55}.hero-bottom{font-size:14px;letter-spacing:1px}.image-credit{font-size:14px}.image-credit a{color:#d3e0f2}.help{font-size:17px;line-height:1.5}.button,.secondary{font-size:17px;min-height:46px}.button{gap:12px}label,legend{font-size:17px;color:#f0f4fa}input:not([type=radio]):not([type=checkbox]),select,textarea{font-size:18px;background:#101e31;border-color:#71849e;color:#fff}input::placeholder,textarea::placeholder{color:#aebbce}.choice{padding:18px}.choice b{font-size:18px}.choice small{font-size:16px;color:#c5d3e6}.choice input{width:21px;height:21px}.choice:has(input:checked){border-color:#91beff;box-shadow:inset 4px 0 #91beff}.progress-meta{font-size:15px}.room h4{font-size:19px}.journey li{font-size:16px}.quote-section{display:block}.quote-intro{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-bottom:24px}.quote-intro>.eyebrow{width:100%;margin:0}.quote-intro h2{font-size:36px;margin:0}.quote-intro h2 br{display:none}.quote-intro>p:not(.eyebrow){max-width:390px;margin:0}.quote-intro .journey{display:none}.quote-panel{padding:28px 32px}.quote-panel .choices{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-panel .field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-panel fieldset{margin-bottom:20px}.quote-panel h3{font-size:30px}.quote-panel .room{margin:14px 0}#quote-nav{position:sticky;bottom:0;background:#101d30;padding:18px 0 0;z-index:2}.support-launchers{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.support-launchers button{text-align:left;background:var(--panel);color:var(--text);border:1px solid #536884;border-radius:6px;padding:25px}.support-launchers button:hover{background:#183451;border-color:#91beff}.support-launchers strong{display:block;font-size:23px;line-height:1.3;margin-bottom:12px}.support-launchers span{display:block;font-size:16px;line-height:1.5;color:var(--muted)}.support-urgent{font-size:17px;margin:24px 0 12px}.support-urgent a{color:#aaceff}.support-urgent span{margin-left:12px;color:var(--muted)}.preview-note{color:var(--muted)}
body.enquiry-open{overflow:hidden}#enquiry-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:0;background:#0b1423;color:var(--text);overflow:auto}#enquiry-dialog::backdrop{background:#070e1b}.enquiry-shell{width:min(100%,1440px);min-height:100%;margin:0 auto;padding:24px 4%;display:flex;flex-direction:column}.enquiry-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.enquiry-top .eyebrow{margin:0 0 4px;font-size:14px;color:#9fcaff}.enquiry-top h2{font-size:30px;letter-spacing:-.5px;margin:0}.enquiry-progress{display:flex;align-items:center;gap:30px;margin:18px 0 22px;font-size:17px;color:#cad9ed}.enquiry-progress progress{margin:0;max-width:380px;height:6px}.enquiry-shell #support-form{border:0;background:transparent;padding:0;border-radius:0;flex:1;display:flex;flex-direction:column;min-height:0}.support-step h3{font-size:28px;margin:0 0 8px}.support-step .help{margin:0 0 20px;max-width:850px}.support-step .field-grid{grid-template-columns:1fr 1fr;gap:0 28px}.support-step label{margin-bottom:18px}.support-step input:not([type=radio]):not([type=checkbox]),.support-step select,.support-step textarea{padding:12px 15px;min-height:48px;margin-top:6px}.support-step textarea{resize:vertical;min-height:100px}.enquiry-bottom{margin-top:auto;padding-top:16px;background:#0b1423}.enquiry-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:16px}.enquiry-save-note{font-size:15px;color:var(--muted)}#enquiry-error{font-size:17px;color:#ffd0c6;margin:0 0 10px}#enquiry-error:empty{display:none}.enquiry-note{padding:20px 24px;border-left:3px solid var(--blue);background:var(--panel);margin-top:15px;max-width:850px}.enquiry-note p{margin:6px 0 0;font-size:17px;color:var(--muted)}#support-result{margin-top:0}#support-summary{height:clamp(160px,34dvh,400px);font-size:17px;line-height:1.55}footer{font-size:16px}footer small{font-size:14px}
@media(min-width:1000px) and (max-height:750px){.enquiry-shell{padding-top:15px;padding-bottom:15px}.enquiry-top h2{font-size:26px}.enquiry-top .eyebrow{font-size:13px}.enquiry-progress{margin:12px 0 16px}.support-step h3{font-size:25px}.support-step .help{margin-bottom:14px}.support-step label{margin-bottom:12px}.support-step textarea{min-height:84px;height:90px}.enquiry-bottom{padding-top:10px}.enquiry-controls{padding-top:12px}}
@media(max-width:1050px){.support-launchers{grid-template-columns:1fr 1fr}.quote-panel .choices,.quote-panel .field-grid{grid-template-columns:1fr 1fr}.heading>p{font-size:17px}.hero-bottom{font-size:13px}}
@media(max-width:720px){.section{padding:45px 6%}.heading>p{margin-top:15px}.services p,.system-copy p{font-size:17px}.eyebrow{font-size:13px}.hero-bottom{font-size:12px}.support-launchers{grid-template-columns:1fr}.support-launchers button{padding:20px}.support-urgent span{display:block;margin:8px 0}.quote-intro{display:block}.quote-intro h2{font-size:32px;margin:14px 0}.quote-intro>p:not(.eyebrow){margin-bottom:14px}.quote-panel{padding:20px}.quote-panel .choices,.quote-panel .field-grid{grid-template-columns:1fr}.enquiry-shell{padding:18px 5%;min-height:100dvh}.enquiry-top{align-items:flex-start;gap:12px}.enquiry-top h2{font-size:22px}.enquiry-top .eyebrow{font-size:12px;letter-spacing:1px}.enquiry-top .secondary{font-size:15px;padding:8px 12px;min-height:42px}.enquiry-progress{display:block;margin:16px 0;font-size:16px}.enquiry-progress progress{display:block;margin:10px 0 0;max-width:none}.support-step h3{font-size:25px}.support-step .help{font-size:16px;margin-bottom:16px}.support-step .field-grid{grid-template-columns:1fr 1fr;gap:0 14px}.support-step label{font-size:16px}.support-step input:not([type=radio]):not([type=checkbox]),.support-step select,.support-step textarea{font-size:16px;padding:10px}.enquiry-save-note{display:none}.enquiry-bottom{position:sticky;bottom:-18px;padding-bottom:12px}.enquiry-note{padding:16px;margin-top:0}.enquiry-note p{font-size:16px}.enquiry-controls .button,.enquiry-controls .secondary{font-size:16px;padding:12px 16px}.enquiry-progress+form{min-height:0}#support-summary{height:36dvh}}
@media(max-width:390px){.support-step .field-grid{grid-template-columns:1fr}.enquiry-top h2{font-size:20px}}
/* Contact, local service information and trust details. */
.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:0}.header-phone{font-size:25px;font-weight:700;line-height:1.2;white-space:nowrap;color:#f4f8ff}.header-phone span{font-size:14px;font-weight:400;color:var(--muted);margin-right:14px}.call-button{background:#f0f5fc;color:#102643;border-color:#dce9fc;box-shadow:none}.call-button:hover{background:#d8e9ff;color:#102643}.hero-actions{gap:14px}.hero-actions>.button{min-width:270px}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1440px;margin:auto;padding:25px 5%;border-bottom:1px solid var(--line)}.trust-strip strong{display:block;font-size:19px;color:#edf4ff}.trust-strip span{display:block;font-size:15px;color:var(--muted)}.trust-strip>a:hover strong{color:#aaceff}.faq-section{border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.faq-grid details{border:1px solid var(--line);background:var(--panel);padding:20px 24px;border-radius:5px}.faq-grid summary{cursor:pointer;font-size:18px;font-weight:600;line-height:1.5}.faq-grid p{font-size:17px;color:var(--muted);margin:16px 0 0}.faq-grid a,.faq-section .heading a{color:#aaceff;text-decoration:underline}.contact-section{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;background:linear-gradient(120deg,#142e53,#101d30);border:1px solid #405d85;margin:0 auto 55px;max-width:1350px;padding:45px 5%;border-radius:8px}.contact-section h2{margin-bottom:16px}.contact-section p{max-width:550px;color:var(--muted)}.contact-number{display:block;font-size:clamp(30px,3.7vw,52px);font-weight:600;line-height:1.3;margin:25px 0;white-space:nowrap}.contact-aside{border-left:1px solid var(--line);padding-left:40px}.contact-aside h3{margin-top:0;font-size:25px}.contact-aside a{color:#aaceff;font-size:16px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:35px}.footer-grid h3{font-size:20px;margin:8px 0 20px}.footer-grid>div>a:not(.logo){display:block;margin:10px 0;font-size:16px}.footer-grid p{font-size:16px;color:var(--muted)}.footer-grid .footer-phone{font-size:22px!important;font-weight:600;white-space:nowrap}.footer-grid strong{font-size:18px;color:var(--text)}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:22px}.footer-bottom p{font-size:15px}.footer-bottom details{font-size:15px;max-width:850px;margin:15px 0}.footer-bottom summary{cursor:pointer}.footer-bottom small{display:block;color:var(--muted);font-size:14px}.mobile-contact{display:none}.urgent-contact{border-left:3px solid var(--blue);background:var(--panel);padding:12px 18px;font-size:16px;margin:0 0 16px}.urgent-contact a{color:#b8d5ff;font-weight:700}.quote-panel #rooms{max-width:100%}.contact-section a:focus-visible,summary:focus-visible{outline:3px solid #aaceff;outline-offset:5px}
@media(max-width:1200px){.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.contact-section{margin-left:4%;margin-right:4%;gap:35px}.header-right{gap:8px}}
@media(max-width:1000px){header .header-right{width:100%;align-items:stretch}.header-phone{text-align:center}.header-right nav{width:100%}.trust-strip{gap:20px;padding:22px 4%}.trust-strip strong{font-size:17px}.contact-aside{padding-left:25px}}
@media(max-width:720px){.header-phone{font-size:24px}.header-phone span{font-size:14px}.header-right{gap:14px!important}.trust-strip{grid-template-columns:1fr;gap:16px;padding:24px 6%}.trust-strip>div,.trust-strip>a{border-left:2px solid #598fdc;padding-left:15px}.faq-grid{grid-template-columns:1fr}.faq-grid details{padding:18px 20px}.contact-section{grid-template-columns:1fr;padding:30px 6%;gap:28px;margin-bottom:35px}.contact-aside{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}.contact-number{font-size:33px}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-grid h3{margin-bottom:12px}footer{padding-bottom:100px}.footer-bottom{margin-top:25px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:15;display:grid;grid-template-columns:1.4fr 1fr;gap:10px;padding:10px 5% calc(10px + env(safe-area-inset-bottom));background:#0b1423f5;border-top:1px solid #516986}.mobile-contact a{text-align:center;font-size:16px;font-weight:600;padding:10px 4px;background:#2468d3;border-radius:4px;color:#fff}.mobile-contact a:first-child{background:#edf4ff;color:#102643}body.enquiry-open .mobile-contact{display:none}#toast{bottom:85px}.enquiry-open #toast{bottom:25px}.hero-actions>.button{width:100%;min-width:0}}

.contact-email{display:block;font-size:18px;color:#bed8ff;overflow-wrap:anywhere;margin:0 0 24px}.footer-grid .contact-email{font-size:16px}.footer-grid>div{min-width:0}
/* A shared reading scale: section / question / body / supporting / metadata. */
:root{--type-section:clamp(2rem,3.4vw,3.25rem);--type-question:1.75rem;--type-body:1.125rem;--type-support:1rem;--type-meta:.875rem}
body{font-size:var(--type-body)}
h2,.quote-intro h2{font-size:var(--type-section);line-height:1.18;letter-spacing:-.035em}
h3,.services h3,.system-copy h3,.quote-panel h3,.support-step h3{font-size:var(--type-question);line-height:1.3;letter-spacing:-.015em;font-weight:600}
.services p,.system-copy p,.heading>p,.hero-description,.support-copy,.contact-section p,.faq-grid p{font-size:var(--type-body);line-height:1.6}
label,legend,.choice b,.quote-panel input:not([type=radio]):not([type=checkbox]),.quote-panel select,.quote-panel textarea,.support-step label,.support-step input:not([type=radio]):not([type=checkbox]),.support-step select,.support-step textarea{font-size:var(--type-body);line-height:1.5}
.help,.support-step .help,.choice small,.privacy,.preview-note,.hero-note,.enquiry-note p,.enquiry-save-note,.services a,.system-copy a,.hero-service-link,.faq-grid summary{font-size:var(--type-support);line-height:1.55}
.eyebrow,.quote-intro>.eyebrow,.heading .eyebrow,.systems-section .eyebrow,.number,.progress-meta,.image-credit,.footer-bottom small{font-size:var(--type-meta);line-height:1.5}
.button,.secondary,.enquiry-controls .button,.enquiry-controls .secondary{font-size:var(--type-support);line-height:1.4;font-weight:600}
.room h4,.enquiry-note strong{font-size:var(--type-body);line-height:1.4}
.quote-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"label label" "title description" "note note";align-items:center;column-gap:32px;row-gap:14px;margin-bottom:26px}
.quote-intro>.eyebrow{grid-area:label;width:auto;margin:0}
.quote-intro h2{grid-area:title;margin:0;max-width:none}
.quote-intro>p:not(.eyebrow):not(.privacy){grid-area:description;margin:0;max-width:32rem;font-size:var(--type-body);line-height:1.55}
.quote-intro>.privacy{grid-area:note;max-width:none;margin:0;border:0;padding:0;font-size:var(--type-support);color:var(--muted)}
.quote-panel .help{margin:10px 0 22px}.choice b{font-weight:600}.choice small{margin-top:8px}.quote-panel{padding:28px 32px}.quote-panel h3{margin-bottom:10px}.progress-meta{letter-spacing:.06em}.eyebrow{letter-spacing:.1em}
.footer-grid h3,.contact-aside h3{font-size:1.25rem;line-height:1.4}.footer-grid p,.footer-grid>div>a:not(.logo),.footer-bottom p,.footer-bottom details{font-size:var(--type-support);line-height:1.6}.footer-grid .footer-phone{font-size:1.375rem!important}
@media(max-width:720px){:root{--type-section:2rem;--type-question:1.5rem}.quote-intro{grid-template-columns:1fr;grid-template-areas:"label" "title" "description" "note";gap:12px}.quote-intro h2{font-size:var(--type-section);margin:0}.quote-intro>p:not(.eyebrow){margin:0}.quote-panel{padding:22px 18px}.enquiry-top h2{font-size:1.375rem}.support-step .field-grid{gap:0 14px}.hero-description{font-size:var(--type-body)}.hero .lead{font-size:1.375rem}}

/* Official REFCOM PNG retains its transparent background and native colours. */
.refcom-logo{display:block;width:165px;max-width:100%;height:auto;object-fit:contain;background:transparent}.refcom-trust{display:flex;align-items:center;gap:18px}.refcom-trust>.refcom-logo{width:145px;flex:0 0 145px}.refcom-trust>span{min-width:0}.footer-grid .refcom-mark{margin:0 0 18px!important}.refcom-trust>span>span{font-size:14px}@media(min-width:721px) and (max-width:1100px){.refcom-trust{align-items:flex-start;flex-direction:column;gap:10px}.refcom-trust>.refcom-logo{flex-basis:auto}}@media(max-width:390px){.refcom-trust{gap:12px}.refcom-trust>.refcom-logo{width:115px;flex-basis:115px}}

/* Guarded installation estimator */
#quote-nav{position:sticky;bottom:0;z-index:6;margin:18px -32px -28px;padding:16px 32px calc(16px + env(safe-area-inset-bottom));background:#101d30f7;border-top:1px solid #536884;box-shadow:0 -14px 30px #07101d99;backdrop-filter:blur(14px)}
#quote-nav .button,#quote-nav .secondary{min-width:150px}
#quote-nav .button:disabled,.terminal-contact .button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
.contact-verification,.address-box,.terminal-contact{border:1px solid #405575;background:#0b1628;padding:20px;border-radius:6px;margin:18px 0}
.verify-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}
.verify-row>label{margin-bottom:0}.verify-row>button{margin-bottom:0;min-width:170px}
.code-row{margin-top:13px}.verify-status{min-height:25px;margin:8px 0 12px;color:#b9d7ff;font-size:15px}.verify-status.error{color:#ffc4b8}
.address-box legend{padding:0 8px}.address-switch{display:flex;gap:10px;margin-bottom:16px}.address-switch [aria-pressed=true]{border-color:#91beff;background:#183b68}
.address-results{display:grid;gap:8px;margin:-5px 0 16px}.address-results button{font:inherit;text-align:left;color:#edf3ff;background:#101f34;border:1px solid #526986;border-radius:4px;padding:12px 14px}.address-results button:hover,.address-results button:focus-visible{background:#183b68;border-color:#91beff}
.selected-address{border-left:3px solid #70a8ff;background:#132842;padding:13px 16px;margin:14px 0}.selected-address p{margin:4px 0 0;color:#d7e4f5}
.terminal-contact>h4{font-size:23px;margin:0 0 10px}.terminal-contact .contact-verification,.terminal-contact .address-box{background:#0d1b2e}
.price span{text-transform:none;font-size:18px;color:#e7f1ff}.price strong{display:block;margin-top:4px}
@media(max-width:720px){
 #quick-quote{scroll-margin-top:82px}.quote-panel{overflow:visible;padding-bottom:88px}
 #quote-nav{bottom:calc(67px + env(safe-area-inset-bottom));margin:14px -18px -105px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));gap:10px}
 #quote-nav .button,#quote-nav .secondary{min-width:0;flex:1;padding:13px 12px}
 .verify-row{grid-template-columns:1fr}.verify-row>button{width:100%;min-width:0}.address-switch{display:grid;grid-template-columns:1fr 1fr}
 .contact-verification,.address-box,.terminal-contact{padding:16px}.terminal-contact{margin-left:-7px;margin-right:-7px}
}
/* Desktop spacing only: retain all existing layouts at 1,000px and below. */
@media(min-width:1001px){
  .hero,.section,.trust-strip{max-width:1440px;margin-left:auto;margin-right:auto}
  .section{padding:48px clamp(36px,4.45vw,64px)}
  .hero-copy{padding:52px clamp(36px,4.45vw,64px)}
  .hero-bottom{padding:22px clamp(36px,4.45vw,64px);gap:28px}
  .trust-strip{grid-template-columns:1.25fr 1fr 1fr;align-items:center;gap:32px;padding:24px clamp(36px,4.45vw,64px)}
  .trust-strip>div,.trust-strip>a{min-width:0}
  .refcom-trust{flex-direction:row;align-items:center;gap:16px}
  .refcom-trust>.refcom-logo{width:130px;flex:0 0 130px}
  .trust-strip strong{line-height:1.35;margin-bottom:4px}
  .trust-strip span{line-height:1.45}
  .heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end;gap:40px;margin:0 0 28px}
  .heading>div,.heading>p{min-width:0}
  .heading h2{margin:0;max-width:650px}
  .heading .eyebrow{margin:0 0 14px}
  .heading>p{margin:0;max-width:none;padding-bottom:3px}
  .quote-intro{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:40px;row-gap:12px;margin-bottom:24px;align-items:end}
  .quote-intro h2{margin:0}
  .quote-intro>p:not(.eyebrow):not(.privacy){max-width:none;padding-bottom:3px}
  .quote-intro>.privacy{margin-top:2px}
  .services article{padding:28px 24px}
  .services h3{margin:16px 0 12px}
  .services p{margin:0 0 20px}
  .services a{padding-top:0}
  .system-grid{gap:24px}
  .system-copy{padding:26px}
  .system-copy h3{margin:12px 0}
  .system-copy p{margin-bottom:22px}
  .emergency-strip{padding:20px 24px}
  .faq-grid{gap:18px}
  .support-launchers{gap:18px}
  .support-launchers button{padding:24px}
  .contact-section{width:calc(100% - 96px);max-width:1312px;grid-template-columns:1.1fr 1fr;gap:40px;margin:0 auto 48px;padding:40px 44px}
  .contact-aside{padding-left:32px}
  .contact-section h2{margin-bottom:16px}
  footer{padding:44px clamp(36px,4.45vw,64px)}
  .footer-grid,.footer-bottom{max-width:1312px;margin-left:auto;margin-right:auto}
  .footer-grid{gap:32px;align-items:start}
  .footer-grid h3{margin-top:0}
  .footer-bottom{margin-top:30px;padding-top:20px}
}
@media(min-width:1001px) and (max-width:1199px){
  .trust-strip{grid-template-columns:1.3fr 1fr 1fr;gap:24px}
  .refcom-trust>.refcom-logo{width:110px;flex-basis:110px}
  .refcom-trust{gap:12px}
  .trust-strip strong{font-size:17px}
  .trust-strip span{font-size:14px}
  .heading,.quote-intro{column-gap:30px}
  .contact-section{gap:30px;padding:36px}
}
/* Mobile refinement: reduce empty space, preserve type sizes and image geometry. */
@media(max-width:720px){
  .section{padding-top:34px;padding-bottom:34px}
  .hero-copy{padding-top:30px;padding-bottom:23px}
  .hero-description{margin-bottom:21px}
  .hero-actions{gap:11px}
  .hero-note{margin-top:17px}
  .hero-bottom{padding-top:17px;padding-bottom:17px;gap:12px}
  .heading{margin-bottom:23px}
  .heading .eyebrow{margin-bottom:14px}
  .heading h2{margin-bottom:21px}
  .heading>p{margin-top:12px}
  .services article{padding-top:21px;padding-bottom:21px}
  .services h3{margin-top:15px;margin-bottom:11px}
  .services p{margin-top:12px;margin-bottom:12px}
  .services article a{padding-top:11px;min-height:44px;display:flex;align-items:center}
  .emergency-strip{padding-top:18px;padding-bottom:18px;gap:11px}
  .system-grid{gap:18px}
  .system-copy{padding-top:18px;padding-bottom:18px}
  .system-copy h3{margin-top:11px;margin-bottom:11px}
  .system-copy p{margin-bottom:18px}
  .system-copy a{min-height:44px;display:flex;align-items:center}
  .image-credit{margin-top:15px}
  .quote-intro{row-gap:9px;margin-bottom:20px}
  .quote-panel{padding-top:17px;padding-bottom:17px}
  .quote-panel .help{margin-top:8px;margin-bottom:17px}
  .support-launchers{gap:12px}
  .support-launchers button{padding-top:15px;padding-bottom:15px}
  .support-launchers strong{margin-bottom:9px}
  .support-urgent{margin-top:18px;margin-bottom:9px}
  .preview-note{margin-top:12px;margin-bottom:12px}
  .faq-grid{gap:12px}
  .faq-grid details{padding-top:14px;padding-bottom:14px}
  .faq-grid p{margin-top:12px}
  /* Keep small supporting copy easy to read; font sizes and leading stay intact. */
  .help,.support-step .help,.choice small,.privacy,.preview-note,.hero-note,
  .support-launchers span,.trust-strip span,.image-credit,.footer-grid p,
  .footer-bottom p,.footer-bottom small,.enquiry-note p{
    color:#cdd8e7;font-weight:600;
  }
  /* Contact and accreditation areas: about 25–30% less internal whitespace. */
  .trust-strip{padding-top:18px;padding-bottom:18px;gap:12px}
  .contact-section{padding-top:22px;padding-bottom:22px;gap:20px;margin-bottom:25px}
  .contact-section h2{margin-bottom:12px}
  .contact-section p{margin-top:13px;margin-bottom:13px}
  .contact-number{margin-top:18px;margin-bottom:18px}
  .contact-email{margin-bottom:17px}
  .contact-aside{padding-top:17px}
  footer{padding-top:36px}
  .footer-grid{gap:18px}
  .footer-grid h3{margin-top:6px;margin-bottom:9px}
  .footer-grid p{margin-top:12px;margin-bottom:12px}
  .footer-grid>div>a:not(.logo){margin-top:7px;margin-bottom:7px}
  .footer-grid>div:nth-child(3)>a{min-height:44px;display:flex;align-items:center;margin-top:0;margin-bottom:0}
  .footer-grid .refcom-mark{margin-top:0!important;margin-bottom:13px!important}
  .footer-bottom{margin-top:18px;padding-top:16px}
  .footer-bottom p{margin-top:12px;margin-bottom:12px}
  .footer-bottom details{margin-top:11px;margin-bottom:11px}
  .footer-bottom summary{min-height:44px;padding-top:8px;padding-bottom:8px}
}

/* Desktop service strip balance and a clearly visible urgent-call action. */
@media (min-width: 901px){
  .hero-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:20px clamp(28px,4vw,64px);align-items:center}
  .hero-bottom>span{display:block;text-align:center;padding:4px 16px;font-size:15px;line-height:1.6;letter-spacing:.04em}
  .hero-bottom>span+span{border-left:1px solid var(--line)}
  .hero-bottom b{margin:0 10px}
  .emergency-strip{gap:32px}
  .emergency-strip>a{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 22px;border:1px solid #dce9fc;border-radius:4px;background:#f0f5fc;color:#102643;font-size:22px;font-weight:700;line-height:1.3;white-space:nowrap}
  .emergency-strip>a:hover{background:#d8e9ff}
}
/* Installation equipment comparison, within the existing OneHub journey. */
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}
.product-choice{display:flex;flex-direction:column;align-items:stretch;gap:9px;padding:16px;position:relative;min-width:0}
.product-choice img{width:100%;height:175px;object-fit:contain;background:#fff;border-radius:4px}
.product-choice input{align-self:flex-start}
.product-choice .product-tier{color:#aaceff;font-size:14px;font-weight:700}
.product-choice b{font-size:18px;line-height:1.4}
.product-choice .product-price{font-size:26px;color:#f1f6ff;margin-top:auto}
.product-choice small{font-size:14px;line-height:1.5;color:var(--muted)}
.estimate-notice{padding:18px;border:1px solid #42618b;border-radius:5px;background:#132842;margin:20px 0}
.photo-upload{border:1px solid #405575;background:#0b1628;padding:18px 20px;border-radius:6px;margin:18px 0}.photo-upload legend{padding:0 8px}.photo-upload input[type=file]{display:block;width:100%;border:1px dashed #71849e;border-radius:5px;background:#101e31;color:#eaf1fb;padding:14px}.photo-upload input[type=file]::file-selector-button{font:inherit;font-weight:700;color:#fff;background:#1d63dc;border:1px solid #75a8ff;border-radius:4px;padding:9px 13px;margin-right:12px}
.estimate-notice p{margin-bottom:0}.estimate-summary{margin:22px 0}.estimate-summary summary{cursor:pointer;padding:12px 0;color:#b9d4ff}
.quote-panel .price strong{overflow-wrap:anywhere;font-size:clamp(26px,4vw,44px)}
@media(max-width:560px){.product-grid{grid-template-columns:1fr}.product-choice img{height:165px}.product-choice{gap:7px}.quote-panel .field-grid{grid-template-columns:1fr}.quote-panel .actions>*{max-width:100%}}

/* Fast, picture-led estimator choices inspired by familiar checkout cards. */
.quote-panel .visual-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.visual-choice{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:10px;min-height:218px;padding:13px;overflow:hidden}
.visual-choice>input{position:absolute;top:12px;right:12px;margin:0;z-index:1}
.choice-visual{display:flex;align-items:center;justify-content:center;aspect-ratio:13/8;min-height:112px;border:1px solid #425873;border-radius:7px;background:#0b2340;color:#8ebaff;overflow:hidden;transition:background .18s ease,color .18s ease,border-color .18s ease}
.choice-visual img{display:block;width:100%;height:100%;object-fit:cover}
.visual-choice .choice-copy{display:block;min-width:0;padding-right:4px}
.visual-choice b{display:block;line-height:1.35}
.visual-choice small{margin:5px 0 0;line-height:1.4}
.visual-choice:has(input:checked) .choice-visual{color:#fff;background:linear-gradient(145deg,#2369c4,#173d6a);border-color:#9bc4ff}
.visual-choice:hover .choice-visual{border-color:#83b4f6;background:#173657}
@media(max-width:720px){
 .quote-panel .visual-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .visual-choice{min-height:190px;padding:10px}
 .choice-visual{min-height:92px}
 .visual-choice b{font-size:1rem}.visual-choice small{font-size:.875rem;line-height:1.35}
}
@media(max-width:380px){.quote-panel .visual-choices{grid-template-columns:1fr}.visual-choice{grid-template-columns:132px 1fr;grid-template-rows:1fr;align-items:center;min-height:112px}.choice-visual{min-height:82px}.visual-choice .choice-copy{padding-right:22px}}

/* Privacy choices: compact, branded and independent of the quote journey. */
.cookie-banner{position:fixed;z-index:10000;left:clamp(14px,3vw,36px);right:clamp(14px,3vw,36px);bottom:clamp(14px,3vw,30px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;max-width:1180px;margin:auto;padding:24px 26px;border:1px solid #54759f;border-radius:9px;background:linear-gradient(135deg,#081426 0%,#102c4f 100%);box-shadow:0 18px 60px #000b;color:#f4f8ff}
.cookie-banner[hidden]{display:none}
.cookie-banner .eyebrow,.cookie-dialog .eyebrow{margin:0 0 7px;color:#7fb7ff}
.cookie-banner h2,.cookie-dialog h2{margin:0 0 8px;font-size:clamp(22px,2.6vw,32px);line-height:1.18;color:#fff}
.cookie-banner p{max-width:760px;margin:0;font-size:16px;line-height:1.55;color:#d6e2f2}
.cookie-actions{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:9px;min-width:350px}
.cookie-actions button{min-height:48px;margin:0;white-space:nowrap}
.cookie-actions .cookie-manage{grid-column:1/-1;min-height:42px;border:0;background:transparent;color:#c7dcf7;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font:inherit;font-weight:700}
.cookie-dialog{width:min(680px,calc(100% - 28px));max-height:min(760px,calc(100dvh - 28px));padding:0;border:1px solid #54759f;border-radius:9px;background:#0b1b31;color:#f4f8ff;box-shadow:0 22px 80px #000c}
.cookie-dialog::backdrop{background:#020711cc;backdrop-filter:blur(3px)}
.cookie-dialog>p{margin:0;padding:0 24px 20px;color:#cbd9eb;font-size:16px;line-height:1.55}
.cookie-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px}
.cookie-dialog-head .secondary{flex:0 0 auto}
.cookie-options{display:grid;gap:10px;padding:0 24px}
.cookie-option{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px;border:1px solid #385576;border-radius:6px;background:#112945}
.cookie-option span:first-child{display:grid;gap:4px}
.cookie-option strong{font-size:17px;color:#fff}.cookie-option small{font-size:14px;line-height:1.45;color:#cbd9eb}
.cookie-option input{width:24px;height:24px;accent-color:#2d80ea;flex:0 0 auto}
.cookie-status{max-width:140px;text-align:right;color:#9fc6f5;font-size:14px;font-weight:700;line-height:1.35}
.cookie-disabled{opacity:.78}
.cookie-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:22px 24px 24px}
.cookie-settings-link{display:inline-flex;margin:11px 0 0;padding:7px 0;border:0;background:transparent;color:#bad6fb;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font:inherit;font-weight:700}
.privacy a,.help a,.cookie-banner a,.cookie-dialog a,.legal-page a,.legal-links a{color:#bad6fb;text-decoration:underline;text-underline-offset:4px}
.legal-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin:14px 0;font-size:14px}
.legal-page{background:radial-gradient(ellipse at 20% 0%,#173c6b55,transparent 42%),var(--bg)}
.legal-header{position:relative;max-width:none}
.legal-header nav{display:flex;gap:20px;align-items:center}
.legal-header nav a{font-size:14px}
.legal-main{max-width:1050px;margin:0 auto;padding:76px 5% 100px}
.legal-intro{padding-bottom:38px;border-bottom:1px solid var(--line)}
.legal-intro h1{font-size:clamp(46px,7vw,82px);letter-spacing:-3px}
.legal-intro .lead{max-width:760px}
.legal-updated{font-size:14px;color:var(--muted)}
.legal-content{max-width:850px;padding-top:28px}
.legal-content section{padding:25px 0;border-bottom:1px solid var(--line)}
.legal-content h2{font-size:clamp(28px,4vw,42px);letter-spacing:-1px;margin-bottom:16px}
.legal-content h3{font-size:21px;margin:18px 0 8px}
.legal-content p,.legal-content li{color:#c5d2e3}
.legal-content ul{padding-left:22px}
.legal-content table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}
.legal-content th,.legal-content td{padding:14px;text-align:left;vertical-align:top;border:1px solid #344965}
.photo-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:14px 0}.photo-preview{margin:0;overflow:hidden;border:1px solid #405575;border-radius:6px;background:#091425}.photo-preview img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.photo-preview figcaption{display:flex;align-items:center;gap:8px;padding:8px}.photo-preview figcaption span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#b9c8dc}.photo-remove{flex:0 0 auto;padding:6px 8px;border:1px solid #60718a;border-radius:4px;background:#142238;color:#fff;font-size:12px}.photo-remove:hover{background:#263c5c}@media(max-width:560px){.photo-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-preview figcaption{display:block}.photo-remove{width:100%;margin-top:6px}}
.legal-content th{background:#112945;color:#fff}
.legal-note{padding:18px;border-left:3px solid var(--gold);background:#101d30}
.legal-footer{padding:36px 5%;text-align:center}
.legal-footer .legal-links{justify-content:center}
.google-review-banner{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:34px;max-width:1310px;margin:28px auto 88px;padding:30px 34px;overflow:hidden;border:1px solid #4c6484;border-radius:8px;background:linear-gradient(115deg,#0d1d33 0%,#102b4d 58%,#0a1627 100%);box-shadow:0 22px 58px #0005}
.google-review-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 0%,#2879f52b,transparent 42%),linear-gradient(90deg,transparent 0 72%,#dbb88212);pointer-events:none}
.google-review-banner>*{position:relative;z-index:1}
.google-review-mark{display:grid;place-items:center;min-width:122px;padding-right:30px;border-right:1px solid #48617f;text-align:center}
.google-review-mark span{font-size:58px;font-weight:800;line-height:1;background:conic-gradient(from -35deg,#4285f4 0 25%,#34a853 0 45%,#fbbc05 0 68%,#ea4335 0 82%,#4285f4 0);background-clip:text;-webkit-background-clip:text;color:transparent}
.google-review-mark small{margin-top:5px;color:#d5e0ed;font-size:13px;font-weight:700;letter-spacing:.4px}
.google-review-copy .eyebrow{margin-bottom:6px}
.google-review-copy h2{margin:0 0 7px;font-size:clamp(28px,3vw,42px);letter-spacing:-1px}
.google-review-copy p:last-child{max-width:650px;margin:0;color:#c2d0e1}
.google-review-banner>.button{min-width:220px}
@media(max-width:720px){
  .cookie-banner{bottom:calc(74px + env(safe-area-inset-bottom));grid-template-columns:1fr;gap:18px;padding:20px;max-height:calc(100dvh - 105px);overflow:auto}
  .cookie-actions{grid-template-columns:1fr;min-width:0}.cookie-actions .cookie-manage{grid-column:auto}
  .cookie-dialog{overflow:auto}.cookie-dialog-head{padding:20px}.cookie-dialog>p,.cookie-options{padding-left:20px;padding-right:20px}
  .cookie-option{align-items:flex-start}.cookie-dialog-actions{position:sticky;bottom:0;display:grid;padding:16px 20px calc(16px + env(safe-area-inset-bottom));background:#0b1b31;border-top:1px solid #385576}
}
@media(max-width:720px){.legal-header nav a:not(.button){display:none}.legal-main{padding:48px 6% 76px}.legal-intro h1{font-size:48px}.legal-content table,.legal-content tbody,.legal-content tr,.legal-content th,.legal-content td{display:block}.legal-content th{border-bottom:0}.legal-content td{border-top:0}.legal-content tr{margin-bottom:16px}}
@media(max-width:820px){.google-review-banner{grid-template-columns:72px 1fr;gap:20px;margin:20px 6% 58px;padding:24px}.google-review-mark{min-width:0;padding-right:18px}.google-review-mark span{font-size:46px}.google-review-mark small{font-size:11px}.google-review-banner>.button{grid-column:1/-1;width:100%;min-width:0}.google-review-copy h2{font-size:30px}}

/* Customer reviews and social links: shared, responsive, no third-party embeds. */
.social-section{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:38px;padding-bottom:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.social-section h2{font-size:clamp(30px,3vw,44px);margin-bottom:12px}.social-section p:last-child{color:var(--muted);margin:0}.social-section .eyebrow{margin-bottom:10px}
.social-links{display:flex;flex-wrap:wrap;gap:12px}.social-links a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 17px;border:1px solid #547199;border-radius:6px;color:#d6e7ff;font-size:16px;line-height:1.4;background:#11213a}.social-links a:hover{border-color:#94bcff;background:#1b3357}.social-links svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8}.footer-social{gap:8px;margin-top:18px}.footer-social a{padding:10px 12px;font-size:15px}.legal-social{justify-content:center;margin-top:22px}
.customer-reviews{padding-top:64px;padding-bottom:56px}.customer-reviews .heading{align-items:center}.customer-reviews .heading h2{margin-bottom:0}.review-read-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;white-space:nowrap}.customer-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.customer-review{display:flex;flex-direction:column;margin:0;padding:30px;background:linear-gradient(145deg,#14233a,#0d1727);border:1px solid #38516f;border-radius:8px}.review-stars{color:#f6c65b;letter-spacing:4px;font-size:24px}.customer-review blockquote{margin:18px 0 26px;flex:1}.customer-review blockquote p{font-size:20px;line-height:1.6;margin:0}.customer-review figcaption{border-top:1px solid var(--line);padding-top:18px}.customer-review figcaption strong,.customer-review figcaption span{display:block}.customer-review figcaption strong{font-size:17px}.customer-review figcaption span{font-size:14px;color:var(--muted);margin-top:4px}
@media(max-width:720px){.social-section{align-items:flex-start;flex-direction:column;gap:22px;padding-top:30px;padding-bottom:30px}.social-section>.social-links{width:100%}.social-section>.social-links a{flex:1}.customer-reviews{padding-top:40px;padding-bottom:36px}.customer-reviews .heading{align-items:flex-start;flex-direction:column;gap:20px}.customer-review-grid{grid-template-columns:1fr;gap:16px}.customer-review{padding:24px}.customer-review blockquote p{font-size:18px}.review-read-link{white-space:normal}}

.social-links .social-brand-icon{width:32px;height:32px;flex:0 0 32px;object-fit:contain}.social-section>div{max-width:650px}.social-section>.social-links{flex-shrink:0;flex-direction:column;align-items:stretch}.social-section>.social-links a{justify-content:flex-start}.footer-social .social-brand-icon,.legal-social .social-brand-icon{width:26px;height:26px;flex-basis:26px}

@media (orientation:landscape) and (max-height:500px) and (max-width:1100px){
 .mobile-contact{position:static}
 #quick-quote{scroll-margin-top:20px}
 footer{padding-bottom:32px}
}

/* Recognisable Google branding on review actions. */
.review-read-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#fff;color:#172b46;border-color:#dce5f1}
.review-read-link:hover{background:#eef4fc}
.review-read-link img{display:block;flex:none;width:26px;height:26px}
.google-review-mark>img{display:block;width:46px;height:46px;margin:0 auto 8px}
