:root{--purple:#55255E;--purple-dark:#37173d;--purple-soft:#f4eef5;--orange:#DE9301;--orange-dark:#b97600;--ink:#251e28;--muted:#6f6672;--paper:#fbfaf8;--white:#fff;--line:#e8e0e8;--green:#287a4d;--radius:24px;--shadow:0 20px 60px rgba(66,31,72,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.58}a{color:inherit}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.topbar{background:var(--purple-dark);color:#fff;font-size:13px}.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.topbar a{text-decoration:none}.nav{position:sticky;top:0;z-index:50;background:rgba(85,37,94,.97);border-bottom:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px)}.navin{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:block;width:235px;max-width:42vw}.logo img{display:block;width:100%;height:auto}.navlinks{display:flex;align-items:center;gap:22px;color:#fff}.navlinks>a{text-decoration:none;font-size:14px;font-weight:800}.navdrop{position:relative}.navdrop>button{border:0;background:transparent;color:#fff;font:inherit;font-weight:800;padding:10px 0;cursor:pointer}.drop{display:none;position:absolute;top:100%;left:-18px;width:310px;background:#fff;color:var(--ink);border-radius:16px;box-shadow:var(--shadow);padding:10px;border:1px solid var(--line)}.navdrop:hover .drop,.navdrop:focus-within .drop{display:block}.drop a{display:block;padding:11px 12px;border-radius:10px;text-decoration:none;font-size:14px;font-weight:750}.drop a:hover{background:var(--purple-soft);color:var(--purple)}.btn{border:0;border-radius:999px;padding:13px 19px;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.btn.orange{background:var(--orange);color:#fff}.btn.orange:hover{background:var(--orange-dark)}.btn.white{background:#fff;color:var(--purple)}.btn.purple{background:var(--purple);color:#fff}.btn.outline{border:1px solid currentColor;background:transparent}.hero{background:linear-gradient(135deg,var(--purple-dark),var(--purple));color:#fff;overflow:hidden}.heroGrid{display:grid;grid-template-columns:1.05fr .95fr;min-height:650px}.heroCopy{padding:78px 42px 72px 0;display:flex;flex-direction:column;justify-content:center}.eyebrow{color:#ffd28a;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:1000}.hero h1{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin:17px 0 21px}.hero p{font-size:19px;color:#eee5ef;max-width:690px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.proof{display:flex;flex-wrap:wrap;gap:22px;margin-top:30px;color:#eaddec;font-size:13px;font-weight:800}.proof span:before{content:'✓';color:#ffc158;margin-right:7px}.heroMedia{position:relative;min-height:520px}.heroMedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.heroMedia:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--purple) 0,rgba(85,37,94,.1) 24%,rgba(0,0,0,.08) 100%)}.heroBadge{position:absolute;z-index:2;right:24px;bottom:24px;background:rgba(55,23,61,.9);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px);padding:16px 19px;border-radius:18px;max-width:300px}.heroBadge strong{display:block;color:#ffd28a;font-size:18px}.section{padding:78px 0}.section.white{background:#fff}.section.purple{background:var(--purple);color:#fff}.section.soft{background:var(--purple-soft)}.section.orange{background:var(--orange);color:#fff}.sectionHead{max-width:780px;margin-bottom:34px}.sectionHead.center{text-align:center;margin-left:auto;margin-right:auto}.kicker{text-transform:uppercase;color:var(--orange-dark);letter-spacing:.13em;font-size:12px;font-weight:1000}.purple .kicker,.orange .kicker{color:#fff3db}.section h2,.content h1{font-size:clamp(34px,4.5vw,54px);line-height:1.03;letter-spacing:-.045em;margin:8px 0 13px}.lead{font-size:18px;color:var(--muted)}.purple .lead,.orange .lead{color:rgba(255,255,255,.82)}.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.serviceCard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;box-shadow:0 8px 25px rgba(70,35,76,.05);text-decoration:none;transition:.2s transform,.2s box-shadow}.serviceCard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.serviceCard .num{width:40px;height:40px;background:var(--purple-soft);color:var(--purple);border-radius:12px;display:grid;place-items:center;font-weight:1000}.serviceCard h3{font-size:21px;margin:16px 0 7px}.serviceCard p{color:var(--muted);margin:0}.serviceCard b{display:inline-block;color:var(--orange-dark);margin-top:16px;font-size:13px}.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.photoCard{border-radius:26px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.photoCard img{display:block;width:100%;height:auto}.featureList{list-style:none;padding:0;margin:25px 0;display:grid;gap:10px}.featureList li{padding-left:27px;position:relative}.featureList li:before{content:'✓';position:absolute;left:0;color:var(--orange);font-weight:1000}.beforeAfter{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ba{position:relative;border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.ba img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.ba span{position:absolute;left:13px;top:13px;background:var(--purple);color:#fff;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900}.ba.after span{background:var(--orange)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.step{background:#fff;border-radius:18px;padding:22px;color:var(--ink)}.step b{display:block;color:var(--orange-dark);font-size:12px;letter-spacing:.12em}.step h3{margin:7px 0;font-size:19px}.step p{margin:0;color:var(--muted);font-size:14px}.contentHero{padding:64px 0;background:linear-gradient(135deg,var(--purple-dark),var(--purple));color:#fff}.breadcrumbs{font-size:13px;color:#e6d9e8;margin-bottom:18px}.breadcrumbs a{text-decoration:none}.contentHero h1{margin:0 0 15px;max-width:900px}.contentHero p{font-size:19px;max-width:800px;color:#eee5ef}.content{padding:64px 0}.articleGrid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:42px}.article h2{font-size:32px;margin:40px 0 12px;letter-spacing:-.03em}.article h3{font-size:22px;margin:28px 0 8px}.article p{font-size:17px;color:#504752}.article ul{padding-left:22px}.article li{margin:8px 0}.sidebar{align-self:start;position:sticky;top:110px}.sideCard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:14px}.sideCard.purple{background:var(--purple);color:#fff;border-color:var(--purple)}.sideCard h3{margin:0 0 8px}.sideCard p{font-size:14px;color:var(--muted)}.sideCard.purple p{color:#eaddec}.sideLinks a{display:block;border-top:1px solid var(--line);padding:10px 0;text-decoration:none;font-size:14px;font-weight:800}.faq{display:grid;gap:11px;margin-top:24px}.faq details{background:#fff;border:1px solid var(--line);border-radius:15px;padding:0 18px}.faq summary{cursor:pointer;font-weight:900;padding:17px 0}.faq p{margin:0 0 17px;color:var(--muted)}.locationGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.locationGrid a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;text-decoration:none;font-weight:900}.locationGrid a:hover{color:var(--purple);border-color:#cdb5d1}.trustBand{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.22);border-radius:18px;overflow:hidden}.trustBand div{background:rgba(55,23,61,.72);padding:22px;text-align:center}.trustBand strong{font-size:24px;display:block}.quoteWrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px}.quoteForm{background:var(--purple-dark);padding:28px;border-radius:24px;color:#fff}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:900}.field input,.field select,.field textarea{width:100%;border:1px solid #76577c;background:#4a2850;color:#fff;border-radius:11px;padding:13px;font:inherit}.field textarea{min-height:115px;resize:vertical}.status{display:none;margin-top:12px;background:#204f3d;color:#e5fff3;padding:11px;border-radius:10px}.ctaBand{background:var(--orange);color:#fff}.ctaGrid{display:flex;justify-content:space-between;gap:28px;align-items:center}.ctaGrid h2{margin:0;font-size:34px}.footer{background:#2d1532;color:#eaddec;padding:54px 0 25px}.footerGrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}.footerLogo{width:270px;max-width:100%}.footer h4{color:#fff;margin:0 0 12px}.footer a{color:#fff;text-decoration:none}.footer a:hover{text-decoration:underline}.footer p{font-size:14px}.footerNav{display:grid;gap:8px;font-size:14px}.fine{border-top:1px solid #55315d;margin-top:34px;padding-top:18px;font-size:12px;color:#bcaabd}.mobileToggle{display:none;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:10px;padding:8px 10px;font-weight:900}@media(max-width:980px){.navlinks{display:none;position:absolute;top:82px;left:0;right:0;background:var(--purple-dark);padding:18px;flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.navdrop>button{text-align:left;width:100%}.drop{position:static;width:auto;display:block;background:transparent;color:#fff;box-shadow:none;border:0;padding:4px 0 0 15px}.drop a{padding:7px 0;color:#e9ddeb}.mobileToggle{display:block}.heroGrid{grid-template-columns:1fr}.heroCopy{padding:60px 0}.heroMedia{min-height:480px}.serviceGrid{grid-template-columns:1fr 1fr}.split,.quoteWrap,.articleGrid{grid-template-columns:1fr}.sidebar{position:static}.steps{grid-template-columns:1fr 1fr}.locationGrid{grid-template-columns:1fr 1fr}.trustBand{grid-template-columns:1fr 1fr}.footerGrid{grid-template-columns:1fr 1fr}.ctaGrid{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.wrap{width:min(100% - 24px,1180px)}.topbar .wrap{display:block}.topbar .wrap div:last-child{margin-top:3px}.logo{width:210px;max-width:65vw}.hero h1{font-size:47px}.heroMedia{min-height:360px}.serviceGrid,.steps,.locationGrid,.trustBand,.beforeAfter,.footerGrid,.formGrid{grid-template-columns:1fr}.field.full{grid-column:auto}.section{padding:58px 0}.contentHero{padding:45px 0}.content{padding:48px 0}.heroBadge{left:12px;right:12px;bottom:12px}.ctaGrid h2{font-size:28px}}

/* === Professional UI tidy pass 2026-08-11 === */
:root{--header-purple:#4b1f54;--header-deep:#2d1133;--header-line:rgba(255,255,255,.13);--nav-hover:rgba(255,255,255,.08)}
.utilityBar{background:var(--header-deep);color:#f3eaf4;font-size:12.5px;line-height:1.25}.utilityInner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:24px}.utilityMessage,.utilityLinks{display:flex;align-items:center;gap:10px}.utilityLinks a{color:#fff;text-decoration:none;font-weight:750}.utilityLinks a:hover{text-decoration:underline}.utilitySep{opacity:.38}.statusDot{width:7px;height:7px;border-radius:999px;background:var(--orange);box-shadow:0 0 0 4px rgba(222,147,1,.12);flex:none}
.siteHeader{position:sticky;top:0;z-index:80}.nav{position:relative;top:auto;background:rgba(75,31,84,.985);border-bottom:1px solid var(--header-line);box-shadow:0 10px 30px rgba(34,11,39,.13);backdrop-filter:blur(16px)}.navin{height:76px;gap:24px}.logo{width:214px;max-width:32vw;flex:none}.navlinks{gap:2px;min-width:0}.navlinks>a,.navdrop>button{position:relative;border:0;background:transparent;color:#fff;text-decoration:none;font-size:13.5px;line-height:1;font-weight:800;letter-spacing:-.005em;padding:12px 10px;border-radius:10px;white-space:nowrap;transition:background .18s ease,color .18s ease}.navlinks>a:not(.navCta):hover,.navdrop>button:hover,.navlinks>a.active,.navdrop.active>button{background:var(--nav-hover)}.navlinks>a.active:not(.navCta):after,.navdrop.active>button:after{content:"";position:absolute;height:2px;background:var(--orange);left:10px;right:10px;bottom:4px;border-radius:2px}.navCta{margin-left:8px!important;padding:12px 16px!important;box-shadow:0 8px 24px rgba(222,147,1,.2)}.mobileHome{display:none}.chevron{font-size:15px;opacity:.76;margin-left:2px}.navdrop{position:relative}.drop{display:block;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease,visibility .16s;background:#fff;color:var(--ink);border:1px solid #eee5ef;border-radius:18px;box-shadow:0 24px 70px rgba(42,15,48,.22);padding:12px;top:calc(100% + 12px);left:-18px}.navdrop:hover>.drop,.navdrop:focus-within>.drop{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.serviceMega{width:600px;display:grid;grid-template-columns:210px minmax(0,1fr);padding:12px}.dropFeature{border-radius:14px;padding:19px;background:linear-gradient(145deg,var(--purple-dark),var(--purple));color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.dropFeature strong{font-size:17px;line-height:1.18;margin:8px 0}.dropFeature p{font-size:12.5px;line-height:1.5;color:#eaddec;margin:0 0 12px}.dropFeature a{font-size:12.5px;font-weight:900;color:#ffd28a;text-decoration:none;padding:0}.dropEyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#ffd28a;font-weight:1000}.dropMenu{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding-left:8px}.dropMenu a{padding:11px 12px;border-radius:11px;text-decoration:none}.dropMenu a:hover{background:var(--purple-soft)}.dropMenu span{display:block;color:var(--purple);font-size:13px;font-weight:900;line-height:1.25}.dropMenu small{display:block;color:var(--muted);font-size:10.5px;line-height:1.35;margin-top:3px;font-weight:600}.areaDrop{width:285px;padding:12px}.dropTitle{display:block;padding:5px 10px 9px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:1000}.areaDrop a{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:10px;text-decoration:none;font-size:13px;font-weight:850}.areaDrop a:hover{background:var(--purple-soft);color:var(--purple)}.areaDrop a span{color:var(--orange-dark)}
.mobileToggle{display:none;align-items:center;gap:9px;background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:9px 11px;font-weight:900}.menuIcon{display:grid;gap:3px}.menuIcon i{display:block;width:17px;height:2px;background:#fff;border-radius:2px}
.heroGrid{min-height:610px}.heroCopy{padding-top:68px;padding-bottom:68px}.hero h1{max-width:620px}.heroMedia{border-left:1px solid rgba(255,255,255,.08)}.heroBadge{box-shadow:0 16px 45px rgba(0,0,0,.2)}
.serviceCard{border-radius:18px}.serviceCard h3{letter-spacing:-.02em}.photoCard{border:1px solid rgba(85,37,94,.08)}
.beforeAfter{gap:20px}.ba{border-radius:22px;border:1px solid var(--line);box-shadow:0 14px 40px rgba(66,31,72,.1)}.ba img{background:#f7f4f7}.ba span{top:16px;left:16px;padding:8px 12px;letter-spacing:.04em;text-transform:uppercase}.comparisonNote{margin:18px auto 0;max-width:760px;text-align:center;color:var(--muted);font-size:13px}.comparisonNote strong{color:var(--ink)}
.quoteForm{box-shadow:0 18px 48px rgba(55,23,61,.18)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(222,147,1,.65);outline-offset:1px;border-color:var(--orange)}
.footer{padding:58px 0 24px}.footerTop{display:grid;grid-template-columns:1.55fr 1fr 1fr 1.1fr;gap:42px}.footerBrand p{max-width:420px;color:#cdbdce}.footerLogo{width:240px}.footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#ffc96d;margin-bottom:16px}.footerNav{gap:9px}.footerNav a{color:#eaddec}.footerActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.footerActions a{border:1px solid #684770;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:850;text-decoration:none}.footerActions a:hover{background:#fff;color:var(--purple)}.fine{display:flex;justify-content:space-between;gap:20px}.fine a{color:#fff;text-decoration:none}
@media(max-width:1120px){.navlinks>a,.navdrop>button{padding-left:8px;padding-right:8px;font-size:13px}.logo{width:196px}.navCta{padding-left:13px!important;padding-right:13px!important}}
@media(max-width:1040px){.utilityMessage span:last-child{display:none}.utilityInner{justify-content:flex-end}.navin{height:72px}.logo{width:205px;max-width:62vw}.mobileToggle{display:flex}.navlinks{display:none;position:absolute;top:72px;left:0;right:0;max-height:calc(100vh - 72px);overflow:auto;background:var(--header-deep);padding:14px max(18px,calc((100vw - 1180px)/2));flex-direction:column;align-items:stretch;gap:3px;border-top:1px solid var(--header-line);box-shadow:0 22px 45px rgba(20,6,24,.25)}.navlinks.open{display:flex}.mobileHome{display:block}.navlinks>a,.navdrop>button{width:100%;text-align:left;padding:13px 12px;border-radius:9px;font-size:14px}.navlinks>a.active:not(.navCta):after,.navdrop.active>button:after{display:none}.navCta{margin:8px 0 2px!important;text-align:center!important}.navdrop>button{display:flex;justify-content:space-between;align-items:center}.drop,.serviceMega,.areaDrop{position:static;width:auto;display:block;opacity:1;visibility:visible;pointer-events:auto;transform:none;background:transparent;color:#fff;box-shadow:none;border:0;border-radius:0;padding:0 0 5px 13px}.dropFeature{display:none}.dropMenu{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:0}.dropMenu a,.areaDrop a{padding:9px 10px;color:#e9ddeb}.dropMenu a:hover,.areaDrop a:hover{background:rgba(255,255,255,.06);color:#fff}.dropMenu span{color:#fff}.dropMenu small{color:#baa9bd}.dropTitle{color:#bdaabe}.areaDrop a span{color:#ffc76a}.chevron{display:none}.footerTop{grid-template-columns:1.4fr 1fr 1fr}.footerTop>div:last-child{grid-column:1/-1;border-top:1px solid #55315d;padding-top:24px}.heroGrid{min-height:0}}
@media(max-width:700px){.utilityBar{display:none}.navin{height:68px}.navlinks{top:68px;max-height:calc(100vh - 68px)}.logo{width:190px}.dropMenu{grid-template-columns:1fr}.serviceMega{padding-left:8px}.footerTop{grid-template-columns:1fr 1fr;gap:32px 20px}.footerBrand{grid-column:1/-1}.footerTop>div:last-child{grid-column:1/-1}.fine{flex-direction:column;gap:6px}.beforeAfter{grid-template-columns:1fr}.heroCopy{padding:52px 0}.heroMedia{min-height:340px}}

/* Final comparison polish */
.ba img{aspect-ratio:3/2}.repairIllustration img{width:100%;height:auto;display:block}.repairIllustration{background:linear-gradient(145deg,#f7f3f7,#eee7ef)}

@media(max-width:1040px){.navdrop>.drop{display:none}.navdrop.open>.drop{display:block}.chevron{display:inline-block;transition:transform .18s ease}.navdrop.open .chevron{transform:rotate(180deg)}.navdrop.open>button{background:rgba(255,255,255,.06)}}

/* === Reference-matched universal header + homepage top 2026-08-11 === */
.utilityBar{background:linear-gradient(90deg,#4a184f,#682063,#4a184f);color:#fff;font-size:12px}.utilityInner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:24px}.utilityItem{display:flex;align-items:center;gap:8px;white-space:nowrap}.utilityItem a{color:#fff;text-decoration:none}.utilityIcon{color:#f2a01b;font-size:11px}.utilityPhone strong{font-size:15px;letter-spacing:.01em}
.siteHeader{position:sticky;top:0;z-index:100}.nav{background:#fff;border:0;border-bottom:1px solid #eee8ef;box-shadow:0 8px 24px rgba(42,23,45,.08);backdrop-filter:none}.navin{height:94px;gap:28px}.logo.logoColour{width:260px;max-width:29vw;overflow:hidden}.logoColour img{width:100%;height:auto;display:block}.navlinks{gap:3px;flex:1;justify-content:flex-end}.navlinks>a,.navdrop>button{color:#442548;font-size:13px;font-weight:750;padding:14px 9px;border-radius:0;background:transparent;letter-spacing:0}.navlinks>a:not(.navCta):hover,.navdrop>button:hover,.navlinks>a.active,.navdrop.active>button{background:transparent;color:var(--orange-dark)}.navlinks>a.active:not(.navCta):after,.navdrop.active>button:after{height:2px;left:9px;right:9px;bottom:8px;background:var(--orange)}.navCta{margin-left:10px!important;background:var(--purple)!important;color:#fff!important;border-radius:4px!important;padding:15px 22px!important;box-shadow:none;text-transform:uppercase;letter-spacing:.025em;font-size:12px!important}.navCta:hover{background:var(--purple-dark)!important}.drop{top:calc(100% + 4px);border-radius:10px;box-shadow:0 20px 55px rgba(42,15,48,.18)}.mobileToggle{background:#fff;color:var(--purple);border:1px solid #dacdde}.menuIcon i{background:var(--purple)}
.referenceHero{background:linear-gradient(90deg,#f9fbfd 0%,#f7fafc 44%,#eef3f7 100%);color:var(--ink);overflow:hidden;border-bottom:0}.referenceHero .heroGrid{grid-template-columns:1.02fr 1.08fr;min-height:540px}.referenceHero .heroCopy{padding:54px 42px 42px 0;position:relative;z-index:3}.heroPre{font-size:12px;text-transform:uppercase;letter-spacing:.055em;color:#5b3e61;font-weight:850}.referenceHero h1{font-size:clamp(48px,5.25vw,70px);line-height:.98;letter-spacing:-.045em;color:#17131a;margin:12px 0 18px;max-width:660px}.referenceHero h1 span{background:linear-gradient(90deg,var(--purple) 0%,#7c2a85 38%,var(--orange) 39%,#f18d19 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.referenceHero p{font-size:17px;line-height:1.52;color:#443d46;max-width:670px;margin:0}.heroChecks{display:flex;flex-wrap:wrap;gap:10px 22px;margin:24px 0 0;color:#35283a;font-size:12.5px;font-weight:800}.heroChecks span:before{content:'✓';display:inline-grid;place-items:center;width:18px;height:18px;margin-right:7px;border-radius:50%;background:var(--purple);color:#fff;font-size:11px}.heroActions{margin-top:24px}.heroActions .btn{min-width:205px;border-radius:4px;text-transform:uppercase;letter-spacing:.035em;font-size:12px}.heroCall{border:1px solid var(--orange)!important;color:#5a385e!important;background:#fff!important}.heroCall:hover{background:#fff7e9!important}.heroMicro{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:19px;color:#4b454d;font-size:11.5px;font-weight:700}.heroMicro i{font-style:normal;color:var(--purple);opacity:.6}.referenceHero .heroMedia{position:relative;min-height:540px;border:0;margin-right:calc((100vw - min(1180px,calc(100vw - 36px)))/-2);overflow:hidden}.referenceHero .heroMedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%}.referenceHero .heroMedia:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f7fafc 0%,rgba(247,250,252,.82) 7%,rgba(247,250,252,.08) 30%,rgba(255,255,255,0) 58%)}
.heroTrust{background:linear-gradient(90deg,#4a184f,#64205f,#4a184f);color:#fff}.heroTrustGrid{display:grid;grid-template-columns:repeat(5,1fr);min-height:94px}.heroTrustGrid>div{display:flex;align-items:center;gap:13px;padding:18px 18px;border-right:1px solid rgba(255,255,255,.11)}.heroTrustGrid>div:first-child{border-left:1px solid rgba(255,255,255,.11)}.heroTrustGrid b{width:38px;height:38px;border:2px solid rgba(255,255,255,.85);border-radius:50%;display:grid;place-items:center;font-size:18px;color:#fff;flex:none}.heroTrustGrid span{display:grid;gap:2px}.heroTrustGrid strong{font-size:12px;color:#fff}.heroTrustGrid small{font-size:10.5px;color:#dfcfe1;line-height:1.25}
@media(max-width:1180px){.navin{gap:18px}.logo.logoColour{width:225px}.navlinks>a,.navdrop>button{font-size:12px;padding-left:7px;padding-right:7px}.navCta{padding:14px 14px!important}.referenceHero .heroCopy{padding-right:24px}}
@media(max-width:1040px){.utilityInner{justify-content:space-between}.utilityDesktop{display:none}.navin{height:78px}.logo.logoColour{width:220px;max-width:62vw}.navlinks{top:78px;max-height:calc(100vh - 78px);background:#fff;border-top:1px solid #eee4ef;box-shadow:0 22px 45px rgba(20,6,24,.14)}.navlinks>a,.navdrop>button{color:var(--purple);padding:13px 12px}.navlinks>a:not(.navCta):hover,.navdrop>button:hover,.navlinks>a.active,.navdrop.active>button{background:var(--purple-soft);color:var(--purple)}.navCta{margin-top:10px!important}.drop,.serviceMega,.areaDrop{background:transparent;color:var(--ink)}.dropMenu a,.areaDrop a{color:var(--purple)}.dropMenu span{color:var(--purple)}.dropMenu small{color:var(--muted)}.dropMenu a:hover,.areaDrop a:hover{background:var(--purple-soft);color:var(--purple)}.dropTitle{color:var(--muted)}.referenceHero .heroGrid{grid-template-columns:1fr}.referenceHero .heroCopy{padding:52px 0 38px}.referenceHero .heroMedia{min-height:430px;margin:0 -18px}.referenceHero .heroMedia:after{background:linear-gradient(180deg,#f7fafc 0%,rgba(247,250,252,.3) 14%,rgba(255,255,255,0) 48%)}.heroTrustGrid{grid-template-columns:repeat(3,1fr)}.heroTrustGrid>div:nth-child(4),.heroTrustGrid>div:nth-child(5){border-top:1px solid rgba(255,255,255,.11)}}
@media(max-width:700px){.utilityBar{display:block}.utilityInner{min-height:31px}.utilityItem:first-child{display:none}.utilityPhone{margin-left:auto}.siteHeader{top:0}.navin{height:70px}.navlinks{top:70px;max-height:calc(100vh - 70px)}.logo.logoColour{width:185px}.referenceHero .heroCopy{padding:40px 0 30px}.heroPre{font-size:10.5px}.referenceHero h1{font-size:45px}.referenceHero p{font-size:15.5px}.heroChecks{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.heroActions{display:grid;grid-template-columns:1fr}.heroActions .btn{width:100%;min-width:0}.heroMicro{gap:8px;font-size:10.5px}.referenceHero .heroMedia{min-height:310px;margin:0 -12px}.heroTrustGrid{grid-template-columns:1fr 1fr}.heroTrustGrid>div{padding:15px 13px}.heroTrustGrid>div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.11)}.heroTrustGrid>div:last-child{grid-column:1/-1}.heroTrustGrid b{width:34px;height:34px;font-size:15px}}

/* === Visual QA fixes: breakpoints 320–1440 === */
.contentHero h1{font-size:clamp(34px,4.4vw,56px);line-height:1.04;letter-spacing:-.042em;font-weight:900;max-width:980px;text-wrap:balance}
.contentHero p{max-width:820px}
.ba img{height:auto!important;aspect-ratio:3/2;object-fit:cover}
@media(max-width:1040px){
  .mobileToggle{min-height:42px;padding:10px 12px}
  .navlinks>a,.navdrop>button{min-height:44px;display:flex;align-items:center}
  .navdrop>button{justify-content:space-between}
}
@media(max-width:620px){
  .section{padding:50px 0}
  .sectionHead{margin-bottom:27px}
  .sectionHead .lead{font-size:16px}
  .serviceCard{padding:18px 18px 17px;min-height:0}
  .serviceCard .num{width:34px;height:34px;border-radius:10px;font-size:12px}
  .serviceCard h3{font-size:19px;margin:12px 0 5px}
  .serviceCard p{display:none}
  .serviceCard b{margin-top:7px;font-size:12px}
  .serviceGrid{gap:10px}
  .beforeAfter{gap:14px}
  .comparisonNote{font-size:12.5px;line-height:1.55}
  .contentHero{padding:42px 0 45px}
  .contentHero h1{font-size:clamp(32px,9vw,40px);line-height:1.04;margin-bottom:13px}
  .contentHero p{font-size:17px;line-height:1.55}
  .breadcrumbs{margin-bottom:14px}
  .heroTrustGrid>div{padding:15px 10px}
  .heroTrustGrid b{width:30px;font-size:18px}
  .heroTrustGrid strong{font-size:12.5px}
  .heroTrustGrid small{font-size:10.5px}
}
@media(max-width:350px){
  .logoColour{width:170px}
  .mobileToggle{width:auto;min-width:82px}
  .utilityItem:first-child span:last-child{font-size:10px}
}

/* Final responsive density pass */
.contentHero h1{font-size:clamp(40px,4.4vw,56px)}
@media(max-width:620px){
  .contentHero h1{font-size:clamp(32px,9vw,40px)}
  .serviceGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .serviceCard{padding:15px 14px;display:flex;flex-direction:column;align-items:flex-start}
  .serviceCard .num{width:32px;height:32px}
  .serviceCard h3{font-size:17px;line-height:1.15;margin:11px 0 0}
  .serviceCard b{display:none}
}
@media(max-width:340px){.serviceCard{padding:13px 12px}.serviceCard h3{font-size:16px}}

/* Mobile/tablet dropdown interaction isolation */
@media(max-width:1040px){
  .navdrop:not(.open):hover>.drop,.navdrop:not(.open):focus-within>.drop{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:none!important}
  .navdrop.open>.drop{display:block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
}

/* Keep expanded mobile navigation fully inside the visible viewport */
@media(max-width:1040px){.navlinks{max-height:calc(100vh - 114px);overscroll-behavior:contain}}
@media(max-width:700px){.navlinks{max-height:calc(100vh - 101px)}}

@media(max-width:1040px){.navlinks{justify-content:flex-start}}

/* Footer brand image must preserve its intrinsic 1616×602 aspect ratio. */
.footerLogo{width:240px;max-width:100%;height:auto;display:block}
