/* Healthy & Dry — self-hosted reading and label fonts, SIL Open Font License 1.1.
   IBM Plex Sans: full-glyph lossless WOFF2 delivery copy, including Māori macrons; weights 100–700,
   default normal width (100). Copyright IBM Corp. See OFL-IBMPlexSans.txt.
   Orbitron: inherited Latin-only weight-500 WOFF2. The official font has no precomposed
   Māori macrons. Use IBM Plex Sans for Māori names/labels; tokens/fonts.css includes
   the local reading family as the label fallback. See FONT-PROVENANCE.md. */
@font-face{font-family:'Orbitron';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/Orbitron-500.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url('../fonts/IBMPlexSans-Variable-edea75915867.woff2') format('woff2')}
/* Healthy & Dry V1.2. Palette approved 15 September 2026; see docs/PALETTE.md.
   Predominantly light pages, one sage section and a forest footer/supporting section.
   Clay is the primary action; dark green is the link/focus colour. Gold is decorative. */
:root{
  --page:#FAF8F2;
  --paper:#EAF0E5;
  --surface-2:#EAF0E5;
  --surface-3:#D7DED2;
  --sage:#A6BA97;
  --ink:#293536;
  --ink-2:rgba(41,53,54,0.85);
  --ink-3:rgba(41,53,54,0.75);
  --rule:#D7DED2;
  --rule-2:#D7DED2;
  --control-border:#395E4A;
  --link:#395E4A;
  --link-strong:#1C2E24;
  --link-wash:rgba(57,94,74,0.06);
  --focus:#395E4A;
  --action:#9C4A32;
  --action-hover:#8E4230;
  --action-pressed:#7A382A;
  --on-action:#FFFFFF;
  /* Retained semantic feedback colours; always pair with explanatory text. */
  --caution:#8a5a00;
  --caution-border:rgba(138,90,0,0.45);
  --caution-wash:rgba(138,90,0,0.05);
  --stop:#a02718;
  --stop-border:rgba(160,39,24,0.45);
  --stop-wash:rgba(160,39,24,0.045);
  --authority:#1C2E24;
  --authority-2:#293536;
  --on-authority:#EAF0E5;
  --on-authority-soft:rgba(234,240,229,0.85);
  --on-authority-faint:rgba(234,240,229,0.75);
  --on-authority-line:rgba(234,240,229,0.25);
  --on-authority-link:#EAF0E5;
  --gold:#C39A4E;
  --gold-text:#735322;
  --gold-line:rgba(195,154,78,0.70);
  --selection:rgba(166,186,151,0.45);
}

/* Bathroom painting guide: scoped to preserve the shared service layouts. */
.painting-guide [id],.painting-guide[id]{scroll-margin-top:155px}.paint-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.paint-intro h2{max-width:22ch}.paint-intro .lede{color:var(--ink)}.paint-nav{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin-top:1.5rem;padding:1rem 0;border-block:1px solid var(--rule)}.paint-nav a{display:inline-flex;align-items:center;min-height:44px;font-weight:500}.paint-block{padding-top:3rem}.paint-block>h3{font-size:clamp(1.5rem,2.5vw,2rem)}.painting-guide h4{font-size:1.15rem;line-height:1.35;margin:0 0 .75rem;font-weight:600}.paint-steps{counter-reset:paint-step;list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:1.8rem 0 2rem}.paint-steps li{counter-increment:paint-step;border-top:2px solid var(--sage);padding-top:1.2rem}.paint-steps li:before{content:'0' counter(paint-step);font:500 .75rem var(--label);display:block;color:var(--link);margin-bottom:1rem}.paint-steps p{margin:0}.paint-repair{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem;background:var(--page);padding:2rem;align-items:center}.paint-repair p:last-child{margin:0}.paint-profile{margin:0;min-width:0}.paint-profile svg{display:block;width:100%;height:auto}.paint-profile text{fill:var(--ink);font:18px var(--font)}.profile-base{fill:var(--paper)}.profile-coating{fill:var(--sage)}.profile-edge{fill:none;stroke:var(--ink);stroke-width:2}.profile-fill{fill:var(--gold)}.profile-finish{stroke:var(--link);stroke-width:6}.paint-profile figcaption{font-size:.8rem;color:var(--ink-2);margin-top:.6rem}.paint-detail{border-bottom:1px solid var(--rule);padding:.5rem 0;margin-top:1rem}.paint-detail summary{cursor:pointer;font-weight:500;min-height:48px;padding:.65rem 0;color:var(--link)}.paint-detail p,.paint-detail ul{max-width:75ch}.paint-products{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin:1.8rem 0 2rem}.paint-products article{border-top:1px solid var(--rule);padding-top:1.3rem}.paint-products a{display:block;min-height:44px;padding:.4rem 0}.paint-guarantee{display:grid;grid-template-columns:15rem 1fr;gap:2.5rem;padding:2rem;background:var(--authority);color:var(--on-authority);border-top:3px solid var(--gold)}.paint-guarantee a{color:var(--on-authority-link);display:inline-block;padding:.4rem 0;min-height:44px}.paint-guarantee a:focus-visible{outline-color:var(--on-authority)}.paint-guarantee p{color:var(--on-authority-soft)}.paint-guarantee-term{display:flex;flex-direction:column;gap:.5rem}.paint-guarantee-term>span:first-child{font:500 .8rem var(--label);letter-spacing:.15em}.paint-guarantee-term strong{font-size:3.5rem;line-height:1.1;font-weight:500;letter-spacing:-.04em}.paint-guarantee-term>span:last-child{font-size:.9rem}.paint-sheens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:1.8rem 0 1rem}.paint-sheens article{min-width:0}.sheen-sample{height:90px;border:1px solid var(--control-border);margin-bottom:1.2rem;background:#a6ba97}.sheen-low{background:linear-gradient(125deg,#a6ba97 20%,#bfccb4 46%,#a6ba97 80%)}.sheen-semi{background:linear-gradient(125deg,#a6ba97 20%,#aebf9e 38%,#eef1e9 48%,#b6c5a7 56%,#a6ba97 80%)}.sheen-use{font-size:.9rem;font-weight:500;color:var(--link)}.paint-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--rule)}.paint-cta p{margin-bottom:0}.paint-cta .button{flex-shrink:0}.paint-sources{margin-top:2rem}.painting-guide .fine{max-width:90ch}
@media(max-width:960px){.paint-intro{gap:2rem}.paint-repair{gap:1.5rem;padding:1.5rem}.paint-guarantee{grid-template-columns:12rem 1fr;gap:1.5rem}.paint-cta{align-items:start;flex-direction:column}}
@media(max-width:960px){.painting-guide [id],.painting-guide[id]{scroll-margin-top:110px}.paint-intro,.paint-steps,.paint-repair,.paint-products,.paint-guarantee,.paint-sheens{grid-template-columns:1fr}.paint-intro{gap:1rem}.paint-steps,.paint-products,.paint-sheens{gap:1.5rem}.paint-guarantee{padding:1.5rem}.paint-guarantee-term strong{font-size:3rem}.paint-nav{gap:0 1.2rem}.paint-block{padding-top:2rem}.sheen-sample{height:70px}.paint-cta .button{width:100%}}
:root{--font:'IBM Plex Sans',system-ui,sans-serif;--label:'Orbitron',system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:1.5rem}body{margin:0;background:var(--page);color:var(--ink);font:1.0625rem/1.6 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--link);text-underline-offset:.22em}a:hover{color:var(--link-strong)}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}h1,h2,h3{font-weight:600;line-height:1.18;letter-spacing:-.025em}h1{font-size:clamp(2.5rem,4.7vw,4.05rem);margin:.6rem 0 1.3rem;max-width:19ch}h2{font-size:clamp(1.65rem,2.8vw,2.35rem);margin:0 0 1rem}h3{font-size:1.32rem;margin:0 0 .75rem}p{margin:0 0 1rem}.shell{width:min(100% - 5rem,72rem);margin-inline:auto}.section{padding-block:4.5rem}.readable{max-width:48rem}.eyebrow{font:500 .75rem/1.7 var(--label);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.8rem}.lede{font-size:1.18rem;line-height:1.65;max-width:56ch;color:var(--ink-2)}.fine{font-size:.875rem;color:var(--ink-2)}.preview-bar{background:var(--paper);padding:.4rem 1rem;font-size:.78rem;text-align:center}.preview-bar a{margin-left:.5rem}.skip{position:absolute;left:1rem;top:-8rem;background:var(--page);padding:1rem;z-index:20}.skip:focus{top:0}.masthead{border-bottom:1px solid var(--rule)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:122px}.brand{display:block;flex-shrink:1;min-width:0;width:440px;max-width:48%;text-decoration:none!important}.brand img{width:100%}.brand .compact{display:none}.nav{display:flex;align-items:center;gap:1.5rem}.nav a{font-size:.94rem;text-decoration:none;white-space:nowrap;min-height:44px;display:flex;align-items:center}.nav a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;background:var(--action);border:1px solid var(--action);color:var(--on-action);padding:.85rem 1.25rem;min-height:48px;font:600 1rem/1.3 var(--font);text-decoration:none;line-height:1.3;cursor:pointer}.button:hover{background:var(--action-hover);border-color:var(--action-hover);color:white}.button:active{background:var(--action-pressed);border-color:var(--action-pressed)}.button.secondary{background:transparent;border-color:var(--control-border);color:var(--link)}.button.secondary:hover{background:var(--paper)}.button:disabled{background:var(--surface-3);color:var(--ink-2);border-color:var(--rule);cursor:not-allowed}.nav .button{font-size:.94rem;color:white;padding:.65rem 1rem}.actions{display:flex;gap:1rem;flex-wrap:wrap;margin:1.7rem 0 1rem}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--focus);outline-offset:3px}.button:focus-visible{box-shadow:0 0 0 3px var(--page)}#menu-button{min-height:44px;background:var(--page);border:1px solid var(--control-border);padding:.5rem .9rem;color:var(--ink)}#mobile-nav{padding:0 0 1.5rem}#mobile-nav a,.no-js a{display:block;min-height:44px;padding:.65rem 0}.hero{padding-block:4.3rem;display:grid;grid-template-columns:1.25fr .8fr;gap:4.2rem;align-items:center}.hero-intro{max-width:45rem}.hero h1{font-size:clamp(2.25rem,3.8vw,3.25rem);max-width:24ch;text-wrap:balance}.hero-index{border-top:2px solid var(--gold);padding-top:1.2rem}.hero-index a{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;color:var(--ink);font-size:1.12rem;padding:1.05rem 0;border-bottom:1px solid var(--rule)}.hero-index a:hover{color:var(--link);text-decoration:underline}.hero-index .small-number{font:500 .75rem var(--label);color:var(--ink-2);margin-right:1rem}.hero-index .fine{margin-top:1rem}.sage{background:var(--sage)}.pale{background:var(--paper)}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:2rem}.section-intro h2{max-width:23ch}.section-intro>p{max-width:36ch}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.service-card{background:var(--page);padding:2rem;display:flex;flex-direction:column;align-items:start;min-height:250px}.service-card .number{font:500 .75rem var(--label);margin-bottom:1.25rem;color:var(--ink-2)}.service-card p{color:var(--ink-2);max-width:47ch}.service-card a{margin-top:auto;padding:.5rem 0;min-height:44px;font-weight:500}.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:2rem 0}.price-card{padding:1.5rem 0;border-top:1px solid var(--control-border)}.price{font-size:2.8rem;line-height:1.2;font-weight:500;letter-spacing:-.05em}.price small{display:block;font-size:.875rem;letter-spacing:0;font-weight:400;margin-top:.35rem}.credit{padding:1.25rem 1.5rem;border-left:3px solid var(--link);background:var(--paper);margin:1.5rem 0}.step-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:2.2rem 0 0;counter-reset:step}.step-list li{border-top:1px solid var(--rule);padding-top:1rem;counter-increment:step}.step-list li:before{content:'0' counter(step);display:block;font:500 .75rem var(--label);margin-bottom:1.2rem}.step-list h3{font-size:1.15rem}.step-list p{color:var(--ink-2)}.care-image{margin:0}.care-image img{width:100%;aspect-ratio:5/4;object-fit:cover}.care-image figcaption{font-size:.75rem;color:var(--ink-2);margin-top:.5rem}.care-copy{align-self:center}.tick-list{list-style:none;padding:0}.tick-list li{border-bottom:1px solid var(--rule);padding:.85rem 0}.area-list{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.7rem 0}.area-list>span{border:1px solid var(--control-border);padding:.45rem .8rem}.cta-row{display:flex;align-items:center;justify-content:space-between;gap:3rem}.cta-row h2{max-width:26ch}.site-footer{background:var(--authority);color:var(--on-authority);border-top:2px solid var(--gold);padding:3rem 0 1.3rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem}.footer-brand{max-width:400px;margin-bottom:1.5rem}.site-footer h2{font-size:1rem;letter-spacing:0}.site-footer p{font-size:.875rem;color:var(--on-authority-soft)}.site-footer a{display:block;color:var(--on-authority-link);font-size:.9rem;padding:.35rem 0;min-height:40px}.site-footer .footer-email{display:block;color:var(--on-authority-link);font-size:.9rem;padding:.35rem 0;min-height:40px;user-select:text;overflow-wrap:anywhere}.site-footer a:focus-visible{outline-color:var(--on-authority)}.footer-base{border-top:1px solid var(--on-authority-line);padding-top:1rem;margin-top:2rem;font-size:.8rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--on-authority-soft)}.footer-base a{font-size:.8rem;min-height:0;padding:0}.breadcrumb{font-size:.83rem;padding-top:1.4rem;color:var(--ink-2)}.page-hero{padding-block:2.5rem 3.6rem}.page-hero h1{max-width:22ch;font-size:clamp(2.35rem,4.5vw,3.8rem)}.page-hero .lede{max-width:62ch}.content-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.7fr);gap:5rem}.prose>section{margin-bottom:3rem}.prose h2{font-size:1.65rem}.prose li{margin-bottom:.6rem}.prose ul{padding-left:1.2rem}.aside-box{border-top:2px solid var(--gold);padding-top:1.3rem}.aside-box h2{font-size:1.2rem}.aside-box a:not(.button){display:block;padding:.5rem 0}.aside-box .button{margin-top:1rem;width:100%}.related{border-top:1px solid var(--rule);padding-top:2rem}.faq details{border-top:1px solid var(--rule);padding:.4rem 0}.faq details:last-child{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;font-weight:500;min-height:48px;padding:.65rem 0}.faq details p{padding:.3rem 0 1rem}.quote-box{padding:1.5rem;background:var(--paper);margin:1.5rem 0}.quote-box strong{display:block;margin-bottom:.5rem}.form-layout{display:grid;grid-template-columns:1.6fr .8fr;gap:4rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.field{margin-bottom:1.35rem}.field label{display:block;font-weight:500;margin-bottom:.4rem}.field label span{font-weight:400;font-size:.875rem;color:var(--ink-2)}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:.75rem;border:1px solid var(--control-border);border-radius:0;color:var(--ink);background:var(--page);max-width:100%}.field textarea{min-height:140px;resize:vertical}.hint{font-size:.85rem;color:var(--ink-2);margin:.4rem 0}.field-error{color:var(--stop);font-size:.9rem;margin:.35rem 0}[aria-invalid=true]{border:2px solid var(--stop)!important}.error-summary{border-left:4px solid var(--stop);padding:1rem 1.2rem;background:var(--page);margin-bottom:1.5rem}.error-summary h2{font-size:1.2rem}.error-summary a{color:var(--stop)}.assessment-info{background:var(--paper);padding:1.2rem;margin:1rem 0 1.5rem}.assessment-info strong{font-size:1.25rem}.review-panel{border-top:2px solid var(--gold);padding-top:1.5rem}.review-list{display:grid;grid-template-columns:9rem 1fr;margin:1.5rem 0}.review-list dt,.review-list dd{border-bottom:1px solid var(--rule);padding:.7rem 0;margin:0;overflow-wrap:anywhere}.review-list dt{font-weight:500}.review-panel pre{white-space:pre-wrap;font:inherit}.notice{border:1px solid var(--rule);padding:1rem 1.2rem;font-size:.95rem;margin:1rem 0}.not-found{text-align:center;padding:6rem 0}.not-found h1{margin-inline:auto}[hidden]{display:none!important}
@media(max-width:1100px){.brand{width:230px;max-width:60%}.brand .full{display:none}.brand .compact{display:block}.header-row{min-height:95px}.nav{display:none}.hero{gap:2rem;grid-template-columns:1.1fr .9fr}.footer-grid{grid-template-columns:1.2fr 1fr;gap:2rem}.footer-grid>div:first-child{grid-column:1/-1}.footer-brand{width:300px}.content-layout{gap:2.5rem}}

@media(max-width:960px){.shell{width:calc(100% - 2.5rem)}.hero{grid-template-columns:1fr;padding-block:2.6rem;gap:2.3rem}.hero h1{font-size:clamp(2.25rem,5.5vw,3.25rem);max-width:24ch}.hero-index a{font-size:1rem;padding:.8rem 0}.section{padding-block:3rem}.service-grid,.split,.price-grid,.content-layout,.form-layout{grid-template-columns:1fr}.split,.content-layout,.form-layout{gap:2rem}.service-card{padding:1.5rem;min-height:235px}.section-intro,.cta-row{display:block}.section-intro>p{max-width:none}.price-grid{gap:0}.step-list{grid-template-columns:1fr;gap:1.25rem}.step-list li:before{margin-bottom:.75rem}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-brand{width:230px}.page-hero{padding-block:2rem 2.5rem}.form-row{grid-template-columns:1fr;gap:0}.review-list{grid-template-columns:1fr}.review-list dt{border:0;padding-bottom:0}.review-list dd{padding-top:.2rem}.care-image img{aspect-ratio:4/3}.nav .button{min-height:48px}body{font-size:1rem}}
@media(max-width:400px){.brand{width:205px;max-width:66%}.header-row{gap:1rem}.actions .button{width:100%}.hero h1{font-size:2.25rem}.shell{width:calc(100% - 2rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.preview-bar,.masthead,.site-footer,.actions,#menu-button{display:none}.shell{width:100%}.section,.hero,.page-hero{padding-block:1rem}.content-layout,.form-layout{display:block}h1{font-size:26pt}.service-card{break-inside:avoid}}

.review-list dd{white-space:pre-wrap}.brand img,.footer-brand{height:auto}.form-layout.section{padding-top:0}

.hero>*,.split>*,.service-grid>*,.price-grid>*,.content-layout>*,.form-layout>*{min-width:0}h1,h2,h3,p,li,a,label{overflow-wrap:break-word}

.report-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem}.report-options .price-card{display:flex;flex-direction:column;align-items:flex-start}.report-options .price{margin-bottom:1.3rem}.report-options .button{margin-top:auto}.report-options h3{min-height:3.6em}@media(max-width:960px){.report-options{grid-template-columns:1fr}.report-options h3{min-height:0}}

#services .section-intro{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(0,1fr);align-items:center;gap:2rem}#services .section-intro>.button{justify-self:center}#services .section-intro>p{margin-bottom:0}@media(max-width:900px){#services .section-intro{grid-template-columns:1fr;gap:1rem}#services .section-intro>.button{justify-self:start}}

.service-card{position:relative}.service-card a::after{content:"";position:absolute;inset:0}.service-card:has(a:hover){box-shadow:inset 0 0 0 1px var(--control-border)}.service-card:has(a:focus-visible){outline:2px solid var(--focus);outline-offset:3px}


.hero .actions{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;max-width:24rem}.hero .actions .button{justify-content:flex-start;text-align:left;width:100%;background:#A6BA97;border-color:#A6BA97;color:#293536;font-weight:400;padding:.8rem 1.1rem}.hero .actions .button:hover{background:#96AE85;border-color:#96AE85;color:#293536}.hero .actions .button:active{background:#879F76;border-color:#879F76}

.hero-background{background-image:linear-gradient(90deg,rgba(247,248,249,.94) 0%,rgba(247,248,249,.82) 28%,rgba(247,248,249,.25) 44%,rgba(247,248,249,0) 58%),url('services/mould-and-moisture-1672.webp');background-color:var(--page);background-size:100% 100%,auto 100%;background-repeat:no-repeat;background-position:center,right center}.hero-background .hero-index{background:rgba(247,248,249,.88);padding:1.2rem 1.5rem .5rem;backdrop-filter:blur(3px)}@media(max-width:760px){.hero-background{background-image:linear-gradient(rgba(247,248,249,.91),rgba(247,248,249,.94)),url('services/mould-and-moisture-1672.webp');background-position:70% center}}

.hero-background .hero-index{display:none}

.services-list{border-top:2px solid var(--gold);background:var(--page);padding:.5rem 1.75rem}.services-list>a{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.5rem 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);font-size:1.2rem}.services-list>a:last-child{border-bottom:0}.services-list>a>span:first-child{display:flex;align-items:baseline;gap:1.5rem}.services-list .small-number{font:500 .75rem var(--label);color:var(--ink-2);flex-shrink:0}.services-list>a:hover{color:var(--link);background:var(--paper)}@media(max-width:600px){.services-list{padding:.25rem 1rem}.services-list>a{font-size:1.05rem;padding:1.2rem 0}.services-list>a>span:first-child{gap:1rem}}

.report-options>.price-card{padding:1.5rem;transition:background-color .18s ease,border-color .18s ease}.report-options>.price-card:hover,.report-options>.price-card:focus-within{background:var(--paper);border-color:var(--link)}@media(prefers-reduced-motion:reduce){.report-options>.price-card{transition:none}}

.report-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.report-options>.price-card{background:var(--paper);border-top:2px solid var(--sage);padding:2rem;margin:0}.report-options>.price-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:3rem;background:transparent;border:1px solid var(--rule);border-left:4px solid var(--link)}.report-options>.price-card:first-child>h3,.report-options>.price-card:first-child>p:not(.price){grid-column:1}.report-options>.price-card:first-child>.price{grid-column:2;grid-row:1/3;align-self:center;color:var(--link);margin:0}.report-options>.price-card:first-child>.button{grid-column:2;grid-row:3/5;align-self:center}.report-options>.price-card:hover,.report-options>.price-card:focus-within{background:#D7DED2}.report-options>.price-card:first-child:hover,.report-options>.price-card:first-child:focus-within{background:var(--paper)}@media(max-width:700px){.report-options{grid-template-columns:1fr}.report-options>.price-card:first-child{display:block}.report-options>.price-card:first-child>.price{margin-bottom:1rem}.report-options>.price-card{padding:1.5rem}}

.report-options>.price-card:first-child{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.report-options>.price-card:first-child>.price{align-self:flex-start;margin:0 0 1rem}.report-options>.price-card:first-child>.button{align-self:flex-start;margin-top:.5rem}

.report-options>.price-card:first-child>.price{color:var(--ink)}

/* A single light comparison panel keeps the three starting points easy to scan. */
.report-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--rule);border-radius:16px;overflow:hidden;margin-bottom:1.5rem}
.report-options>.price-card,.report-options>.price-card:first-child{display:flex;flex-direction:column;align-items:flex-start;grid-column:auto;background:transparent;border:0;border-right:1px solid var(--rule);padding:1.75rem;margin:0}
.report-options>.price-card:first-child{background:var(--paper)}
.report-options>.price-card:last-child{border-right:0}
.report-options .price-card h3{min-height:0;font-size:1.3rem}
.report-options .price-card .price{font-size:1.5rem;margin:.65rem 0 1rem;align-self:flex-start}
.report-options .price-card .price small{display:block;font-size:.8rem;font-weight:400}
.report-options .price-card p{font-size:1rem}
.report-options .price-card .button,.report-options>.price-card:first-child>.button{margin-top:auto;align-self:flex-start}
.report-options .price-card .button{width:100%;min-height:52px;text-align:center;border-radius:6px}
.report-options>.price-card:hover,.report-options>.price-card:focus-within{background:transparent}
.report-options>.price-card:first-child:hover,.report-options>.price-card:first-child:focus-within{background:var(--paper)}
@media(max-width:760px){.report-options{grid-template-columns:1fr}.report-options>.price-card,.report-options>.price-card:first-child{border-right:0;border-bottom:1px solid var(--rule);padding:1.5rem}.report-options>.price-card:last-child{border-bottom:0}}

.report-options .assessment-heading{min-height:0;margin-bottom:0}.report-options .assessment-subtitle{margin-top:0;margin-bottom:1rem}

/* Keep the full-height photograph and its fade aligned at every width. */
.hero-background{position:relative;isolation:isolate;overflow:hidden;background:var(--page)}
.hero-background::before{content:"";position:absolute;inset:0 0 0 auto;height:100%;aspect-ratio:1672/941;background:url('services/mould-and-moisture-1672.webp') right center/auto 100% no-repeat;mask-image:linear-gradient(to right,transparent,black 48%);-webkit-mask-image:linear-gradient(to right,transparent,black 48%);z-index:-1}
@media(max-width:760px){.hero-background::before{opacity:.1}}

/* Keep the primary navigation available as visitors move down a page. */
.masthead{position:sticky;top:0;z-index:40;background:var(--page);box-shadow:0 4px 18px rgba(41,53,54,.08)}
.question-panel{padding:1.5rem;background:var(--paper);border-top:2px solid var(--sage);margin-bottom:3rem}.question-panel [role=status]{margin-top:1rem}.question-panel [data-answer] a{display:block}.faq details{scroll-margin-top:9rem}
#enquiry{scroll-margin-top:9rem}#enquiry>form,#enquiry>section,#enquiry>.notice{max-width:52rem}#attachments{height:auto}#attachments-status{overflow-wrap:anywhere}

/* Shared enquiry presentation on service pages and the contact page. */
.enquiry-card{max-width:54rem;padding:clamp(1.25rem,4vw,3rem);background:var(--paper);border:1px solid var(--rule);border-radius:12px}
.enquiry-card .enquiry-preview-note{font-size:.88rem;color:var(--ink-2);margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--rule)}
.enquiry-card .field{margin-bottom:1.5rem}
.enquiry-card .field input,.enquiry-card .field select,.enquiry-card .field textarea{background:var(--page);border-radius:6px;padding:.85rem 1rem}
.enquiry-card .field label{font-size:.95rem;margin-bottom:.5rem}
.enquiry-card .hint{font-size:.82rem;line-height:1.5}
.enquiry-card #description{min-height:150px}
.enquiry-card #access{min-height:0;height:4.5rem}
.enquiry-attachments{padding:1.25rem;background:var(--page);border:1px dashed var(--control-border);border-radius:8px}
.attachment-list{list-style:none;padding:0;margin:.5rem 0}.attachment-list li{display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--rule);min-height:44px}.attachment-list li>span{flex:1;min-width:0;overflow-wrap:anywhere;font-size:.9rem}.attachment-remove{flex:none;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--link);font-size:1.5rem;cursor:pointer}.attachment-remove:hover{background:var(--paper)}
#attachments-status.attachment-error{color:var(--stop);font-weight:600}
.enquiry-card #attachments{border:0;background:transparent;padding:.5rem 0;font-size:.9rem}
.enquiry-card #attachments::file-selector-button{font:inherit;color:var(--link);background:var(--paper);border:1px solid var(--control-border);border-radius:5px;padding:.6rem .85rem;margin-right:.75rem;cursor:pointer}
.enquiry-extra{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:1.75rem 0}
.enquiry-extra summary{padding:1rem 0;cursor:pointer;font-weight:500}
.enquiry-extra summary span{font-size:.85rem;font-weight:400;color:var(--ink-2)}
.enquiry-extra-fields{padding-top:.75rem}
.enquiry-extra-fields .form-row>.field{display:flex;flex-direction:column;min-width:0}
.enquiry-extra-fields .form-row>.field>label{flex:1}
.enquiry-extra-fields .form-row input,.enquiry-extra-fields .form-row select{height:56px;flex-shrink:0}
.enquiry-extra h3{font-size:1.1rem;padding-top:1rem;margin-bottom:0}
.enquiry-extra h3 span{font-size:.85rem;font-weight:400;color:var(--ink-2)}
.enquiry-card .button{border-radius:6px}
.enquiry-card #review-button{margin-top:.5rem}
#enquiry>h2{max-width:22ch}#enquiry>p{margin-bottom:2rem;color:var(--ink-2)}
@media(max-width:600px){.enquiry-card{padding:1.25rem}.enquiry-card #review-button{width:100%}.enquiry-attachments{padding:1rem}}

/* Supporting guidance sits beside the enquiry, with a clear reading order on mobile. */
.enquiry-band{background:var(--paper)}
.enquiry-columns{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.enquiry-columns>*{min-width:0}
.enquiry-intro h2{font-size:clamp(2rem,3.2vw,2.8rem);max-width:21ch;line-height:1.2}
.enquiry-intro .lede{margin:1.5rem 0 2.5rem}
.enquiry-intro h3{font-size:1.7rem;margin-bottom:1.2rem}
.enquiry-intro ul{padding-left:1.25rem;color:var(--ink-2)}
.enquiry-intro li{padding-left:.35rem;margin-bottom:.85rem}
.enquiry-intro li::marker{color:var(--link)}
.enquiry-columns .enquiry-card{max-width:none;background:var(--page);padding:clamp(1.25rem,3vw,2.5rem)}
.enquiry-columns .form-grid{grid-template-columns:1fr}
@media(max-width:900px){.enquiry-columns{grid-template-columns:1fr;gap:2rem}.enquiry-intro h2{max-width:26ch}.enquiry-intro .lede{margin-bottom:1.75rem}}

/* Reserve equal heading space above each price on desktop. */
.report-options .price-card .button{background:var(--sage);border-color:var(--sage);color:var(--ink)}
.report-options .price-card .button:hover{background:#96AE85;border-color:#96AE85;color:var(--ink)}
.report-options .price-card .button:active{background:#879F76;border-color:#879F76;color:var(--ink)}
/* Consistent, compact content rows keep the three offers easy to compare. */
.report-options .report-heading{margin-bottom:1rem}
.report-options .report-heading h3{font-size:1.2rem;line-height:1.35;margin:0}
.report-options .price-card .price,.report-options>.price-card:first-child>.price{margin:0 0 1rem}
.report-options .report-intro{margin:0 0 1rem;line-height:1.6}
.report-options .report-inclusions{padding-left:1.15rem;margin:0 0 1.75rem;font-size:1rem;line-height:1.6}
.report-options .report-inclusions li{padding-left:.15rem;margin:0 0 .55rem}
.report-options .report-inclusions li::marker{color:var(--link)}
.report-explanation{max-width:85ch}
@media(min-width:761px){.report-options .report-heading{min-height:3.25rem}.report-options .report-intro{min-height:3.2rem}}

/* Keep consent compact; text-field dimensions must not apply to checkboxes. */
#enquiry-consent-field label{display:grid;grid-template-columns:20px minmax(0,1fr);gap:.7rem;align-items:start;min-height:44px;cursor:pointer;font-weight:400}
#enquiry-consent-field input[type="checkbox"]{width:20px;height:20px;min-height:20px;padding:0;margin:.2rem 0 0;accent-color:var(--link);cursor:pointer}
#enquiry-consent-field .consent-copy{font:inherit;color:var(--ink)}
#enquiry-consent-field .field-error{grid-column:1/-1}

.report-options .price-context{font-size:1rem;font-weight:400;white-space:nowrap;margin-left:.25rem}

/* Selected service photography; retain the complete work scene on small screens. */
.service-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2rem;align-items:center}.service-hero-copy,.service-hero-image{min-width:0}.service-hero-image{margin:0}.service-hero-image img{display:block;width:100%;height:auto;border-radius:4px}.service-hero h1{font-size:clamp(2rem,3.2vw,3.5rem)}
@media(max-width:760px){.service-hero{grid-template-columns:1fr;gap:1.25rem}.service-hero-image{width:100%}.service-hero h1{font-size:2.25rem}}

/* Mobile photography stays visible instead of fading behind the introduction. */
.mobile-home-hero{display:none}.services-with-images>a{display:grid;grid-template-columns:240px minmax(0,1fr) auto}.services-with-images>a>img{display:block;width:100%;height:auto;border-radius:3px}.services-with-images .service-link-label{display:flex;gap:1rem;align-items:baseline}
@media(max-width:760px){.hero-background::before{display:none}.mobile-home-hero{display:block;width:100%;height:auto;margin-top:1.25rem;border-radius:3px}.services-with-images>a{grid-template-columns:minmax(0,1fr) auto;gap:1rem}.services-with-images>a>img{grid-column:1/-1}.services-with-images .service-link-label{min-width:0}.services-with-images>a>span:last-child{align-self:center}}

/* Keep the mobile contact action distinct and comfortably padded. */
#mobile-nav>.button{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.1rem;margin-top:.75rem;background:var(--sage);border-color:var(--sage);color:var(--ink);font-weight:500;text-align:center;border-radius:4px}
#mobile-nav>.button:hover{background:#96AE85;border-color:#96AE85;color:var(--ink)}

/* Homepage review: one primary action and clearer service descriptions. */
.hero .actions{max-width:none;align-items:flex-start}.hero .actions .button{width:auto;justify-content:center;background:var(--action);border-color:var(--action);color:var(--on-action);font-weight:600}.hero .actions .button:hover{background:var(--action-hover);border-color:var(--action-hover);color:white}.hero-report-offer{max-width:42ch;font-size:1rem;line-height:1.6}.hero-report-offer strong{display:block}.hero-report-offer a{display:inline-block}.services-with-images .service-link-label small{display:block;font:400 .95rem/1.5 var(--font);color:var(--ink-2);margin-top:.45rem}.job-photo img{aspect-ratio:auto;object-fit:contain}.job-photo figcaption{font-size:.85rem;margin-top:.65rem}.hero h1{max-width:23ch}
@media(max-width:760px){.hero .actions .button{width:100%}.hero .actions{align-items:stretch}.hero-report-offer{max-width:none}}

/* A direct call option beside the primary quote action. */
.hero .actions{flex-direction:row;flex-wrap:wrap;gap:.75rem}.hero .actions .button.secondary{background:var(--page);border-color:var(--control-border);color:var(--link)}.hero .actions .button.secondary:hover{background:var(--paper);border-color:var(--link);color:var(--link-strong)}
@media(max-width:760px){.hero .actions{flex-direction:column;align-items:stretch}.hero .actions .button{width:100%}}

/* Review: softer actions and prominent, unboxed telephone links. */
.button,#mobile-nav>.button,.report-options .price-card .button,.enquiry-card .button,#menu-button{border-radius:10px}
.hero .actions{align-items:center;gap:1rem 1.6rem}.hero-phone{display:flex;flex-direction:column;justify-content:center;min-height:48px;text-decoration:none;color:var(--link);line-height:1.3}.hero-phone span{font-size:.9rem}.hero-phone strong{font-size:1.65rem;font-weight:600;white-space:nowrap;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.hero-phone:hover strong{text-decoration-thickness:2px}
.header-phone{font-size:1.2rem;font-weight:600;white-space:nowrap;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:.2em}.header-row{gap:1.25rem}
@media(min-width:1101px){.header-row{justify-content:flex-start}.header-row .brand{width:440px;max-width:40%}.header-row .nav{gap:1rem;margin-left:auto;flex-shrink:0}.header-phone{flex-shrink:0}}
@media(max-width:1100px){.header-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 1rem;padding-block:1rem .6rem}.header-row .brand{grid-column:1;grid-row:1;max-width:100%}.header-row #menu-button{grid-column:2;grid-row:1}.header-phone{grid-column:1/-1;grid-row:2;justify-self:start;margin-top:.25rem}.masthead #mobile-nav{max-height:calc(100dvh - 145px);overflow-y:auto}}
@media(max-width:760px){.hero .actions{align-items:stretch}.hero-phone{align-self:flex-start}}

/* Compact mobile header and an easy-to-tap plain phone link. */
.header-phone-short,.hero-lede-mobile{display:none}
@media(max-width:1100px){.header-row{grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem;min-height:80px;padding-block:.75rem}.header-row .brand{max-width:100%;width:230px}.header-row .header-phone{grid-column:2;grid-row:1;margin:0;font-size:1rem;min-width:44px;justify-content:center}.header-row #menu-button{grid-column:3;grid-row:1}.header-phone-full{display:none}.header-phone-short{display:inline}.masthead #mobile-nav{max-height:calc(100dvh - 85px)}}
@media(max-width:760px){.hero-lede-desktop{display:none}.hero-lede-mobile{display:block}.hero-phone{width:100%;min-height:48px;padding-block:.35rem}}

/* Keep the complete brand descriptor visible on mobile. */
@media(max-width:1100px){.header-row .brand .full{display:block}.header-row .brand .compact{display:none}}

/* Compact health introduction between the service photographs and reports. */
.section.home-health{padding-block:2.75rem;background:#F4E8E6}
.home-health .fine{margin-bottom:0}
.section.home-prevention{padding-block:2.75rem;background:var(--page);scroll-margin-top:9rem}
.home-prevention p:last-child{margin-bottom:0}
#home-health-heading,#everyday-moisture-control,#mould-after-flooding,#home-mould-testing{scroll-margin-top:9rem}
.section.home-testing{padding-block:2.75rem}
.home-testing>.shell{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:2.5rem;align-items:center}
.home-testing h2{max-width:25ch}
.home-testing p:last-child{margin-bottom:0}
.home-testing-action .button{width:100%}
.home-testing-action p{margin-top:.75rem;font-size:.95rem;line-height:1.5}
.home-testing+#services{padding-top:2.75rem}
@media(max-width:760px){.home-testing>.shell{grid-template-columns:1fr;gap:1.25rem}}

/* Focused homepage review: readable copy and a compact service overview. */
.hero-free-offer{font-weight:600;margin-top:1rem}.hero-intro{position:relative}.hero-background::before{mask-image:linear-gradient(to right,transparent 22%,black 72%);-webkit-mask-image:linear-gradient(to right,transparent 22%,black 72%)}.hero .lede{max-width:46ch}.hero h1{font-size:clamp(2.15rem,3.5vw,3.15rem);max-width:22ch}.service-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.service-overview article{padding:1.5rem;background:var(--page);border-top:2px solid var(--sage)}.service-overview h3{font-size:1.25rem}.service-overview a{display:block;padding:.5rem 0;min-height:44px}.service-overview p{font-size:1rem}.service-photo-details{margin-top:1.5rem}.service-photo-details>summary{cursor:pointer;padding:1rem 0;font-weight:600;color:var(--link);min-height:48px}.report-related{padding-block:1.5rem}.report-options .price-context{white-space:normal}
@media(max-width:760px){.service-overview{grid-template-columns:1fr;gap:1rem}.service-overview article{padding:1.1rem}.hero h1{font-size:2.1rem}}

.hero-intro>.hero-phone{margin-top:1.5rem;width:fit-content;min-height:48px}
@media(max-width:760px){.hero-intro>.hero-phone{width:100%}}

.hero-intro>.hero-phone{width:100%;align-items:center;text-align:center}

.about-owner{display:grid;grid-template-columns:320px minmax(0,1fr);gap:3.5rem;align-items:start}.owner-portrait{width:100%;max-width:320px;height:auto;border-radius:10px}.about-owner .prose{min-width:0}.about-owner[id]{scroll-margin-top:150px}
@media(max-width:760px){.about-owner{grid-template-columns:1fr;gap:1.5rem}.owner-portrait{max-width:280px}.about-owner[id]{scroll-margin-top:95px}}
@media(min-width:1101px){.header-row{gap:1rem}.header-row .nav{gap:.75rem}}

/* Separate the assessment photograph before tablet copy becomes crowded. */
.services-heading{margin-bottom:1.5rem}.services-heading h2{margin-bottom:0}
.service-hero-copy>.button{margin-top:.5rem}
@media(max-width:1100px){.hero-background::before{display:none}.hero{grid-template-columns:1fr;gap:0;padding-block:2.5rem}.hero-intro{max-width:45rem}.mobile-home-hero{display:block;width:100%;height:auto;margin-top:2rem;border-radius:4px}.service-hero{grid-template-columns:1fr}.hero .lede{max-width:58ch}}
@media(max-width:760px){.hero{padding-block:1.75rem}.hero .actions{margin-top:1.25rem}.hero-intro>.hero-phone{margin-top:1.25rem}#services{padding-top:1.75rem}.service-overview article{padding:1rem}.service-overview h3{margin-bottom:.4rem}.service-overview p{margin-bottom:.5rem}.service-hero-copy>.button{width:100%}}

.review-panel,#send-status{scroll-margin-top:155px}.review-actions{align-items:center}.enquiry-next-step{font-size:1rem;margin-bottom:1.5rem}@media(max-width:1100px){.review-panel,#send-status{scroll-margin-top:110px}}

/* Genuine job photographs retain their different framing and full image area. */
.before-after-grid{display:grid;grid-template-columns:9fr 16fr;gap:1.5rem;align-items:start;margin-top:1.75rem}.before-after-grid figure{margin:0;min-width:0}.before-after-grid figcaption{margin-bottom:1rem;min-height:4rem}.before-after-grid figcaption strong{display:block;font-size:1.2rem;color:var(--link)}.before-after-grid figcaption span{display:block;font-size:.95rem}.before-after-grid a{display:block}.before-after-grid img{width:100%;height:auto;border-radius:6px}.laundry-example{scroll-margin-top:140px}
@media(max-width:760px){.before-after-grid{grid-template-columns:1fr;gap:2rem}.before-after-grid figcaption{min-height:0}.before-after-grid img{max-height:560px;object-fit:contain;object-position:left center}.laundry-example{scroll-margin-top:100px}}
.before-after-equal{grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px}.shower-example{scroll-margin-top:140px}@media(max-width:760px){.before-after-equal{grid-template-columns:1fr}.shower-example{scroll-margin-top:100px}}
/* Match only the main interior-room comparison, preserving the original photos. */
#room-before-after>.shell>.before-after-grid img{aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center}
#room-before-after>.shell>details{margin-top:1.5rem}

.bathroom-example{scroll-margin-top:140px}@media(max-width:760px){.bathroom-example{scroll-margin-top:100px}}

.wall-mould-example{scroll-margin-top:140px}.wall-mould-example figure{margin:1.25rem 0;max-width:480px}.wall-mould-example img{width:100%;height:auto;border-radius:6px}.wall-mould-example figcaption{font-size:.9rem;margin-top:.65rem;color:var(--ink-2)}@media(max-width:760px){.wall-mould-example{scroll-margin-top:100px}}

.wall-mould-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.wall-mould-photos figure{min-width:0}@media(max-width:760px){.wall-mould-photos{grid-template-columns:1fr;gap:0}}

.wall-mould-photos .wall-mould-wide{grid-column:1/-1;max-width:none}

.wall-mould-example .window-frame-comparison figure{margin:0}.window-frame-comparison{margin-bottom:1.5rem}
@media(min-width:761px){#carpet-mould-treatment .before-after-grid{grid-template-rows:auto auto;row-gap:1rem}#carpet-mould-treatment .before-after-grid figure{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:1rem}#carpet-mould-treatment .before-after-grid figcaption{margin:0;min-height:0}}

/* Keep the product-specific guarantee directly beneath the Dulux description. */
.paint-products .paint-guarantee{grid-template-columns:1fr;gap:1.25rem;margin-top:1.5rem}

/* Product benefits and eligible NZ guarantee products remain easy to scan. */
.paint-selection-note{max-width:72ch}.paint-benefit{color:var(--link);font-weight:600}.paint-guarantee-products{list-style:none;padding:0;margin:1rem 0 1.25rem}.paint-guarantee-products li{border-top:1px solid var(--on-authority-line)}.paint-guarantee-products li:last-child{border-bottom:1px solid var(--on-authority-line)}.paint-products .paint-guarantee-products a{padding:.7rem 0;line-height:1.45}.paint-guarantee-products strong{display:block}.paint-guarantee-scope{font-size:.9rem;margin-bottom:0}.paint-care-note{border-left:3px solid var(--link);background:var(--page);padding:1.2rem 1.5rem;margin:1.5rem 0 0}.paint-care-note strong{color:var(--link)}

/* Brand names are ordinary site typography, not reproduced manufacturer logos. */
.painting-guide .paint-brand{margin-bottom:1rem}.paint-brand>span{display:block;font-family:var(--font);font-size:1.75rem;font-weight:700;letter-spacing:.04em;line-height:1.2}.paint-brand>small{display:block;font-size:.95rem;font-weight:500;letter-spacing:0;margin-top:.4rem}

/* A genuine job photograph gives the mould-treatment step a clear visual focus. */
.paint-treatment{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.5fr);gap:2.5rem;align-items:center;background:var(--page);border-top:3px solid var(--sage);padding:2rem;margin:2rem 0}.paint-treatment figure{margin:0;max-width:300px}.paint-treatment img{width:100%;height:auto}.paint-treatment figcaption{font-size:.85rem;line-height:1.5;color:var(--ink-2);margin-top:.65rem}.painting-guide .paint-treatment h4{font-size:clamp(1.5rem,2.3vw,2rem)}.paint-treatment a{display:inline-block;min-height:44px;padding:.5rem 0}.paint-treatment>div{min-width:0}@media(max-width:960px){.paint-treatment{grid-template-columns:1fr;gap:1.5rem;padding:1.25rem}.paint-treatment figure{max-width:270px}}

/* Review improvements: distinguish illustration from job evidence and shorten galleries. */
#enquiry-consent-field .consent-copy{grid-column:2;min-width:0}
.service-hero-image figcaption,.image-note{font-size:.8rem;color:var(--ink-2);margin-top:.5rem}
.service-choice{border-left:3px solid var(--gold);padding:1.25rem 1.5rem;background:var(--paper);margin-bottom:2rem}.service-choice h2{font-size:1.35rem}.service-choice p:last-child{margin-bottom:0}
.additional-examples{border-block:1px solid var(--rule);padding:1rem 0;margin:2rem 0}.additional-examples summary{cursor:pointer;font-weight:600;min-height:44px}.additional-examples section{margin-top:1.5rem}.additional-examples h3{font-size:1.2rem}
.bathroom-job-evidence figure{margin:1rem 0}.bathroom-job-evidence img{max-width:580px;width:100%;border-radius:6px}.bathroom-job-evidence figcaption{font-size:.9rem;margin-top:.6rem}
.mobile-illustration-note{display:none}@media(max-width:1100px){.home-illustration-note{display:none}.mobile-illustration-note{display:block}}

/* Keep renovations within the main heading with a quieter visual emphasis. */
.hero h1 .hero-heading-secondary{display:block;font-size:.72em;font-weight:500;line-height:1.25;margin-top:.65em;letter-spacing:-.02em}

.report-purpose{font-size:1.1rem;font-weight:700;color:var(--link);margin:0 0 .65rem}

/* Emphasise the mould report in the centre of the three options. */
.report-options>.price-card,.report-options>.price-card:hover,.report-options>.price-card:focus-within,.report-options>.price-card:first-child,.report-options>.price-card:first-child:hover,.report-options>.price-card:first-child:focus-within{background:var(--page)}
.report-options>.price-card:nth-child(2),.report-options>.price-card:nth-child(2):hover,.report-options>.price-card:nth-child(2):focus-within{background:var(--paper)}

/* Full job context with an uncropped detail inset; stack the photographs on mobile. */
.mixer-photo-layout{position:relative;padding-bottom:5rem}.mixer-comparison .mixer-wide{aspect-ratio:auto;height:auto}.mixer-inset{position:absolute;bottom:0;left:1rem;width:38%;background:var(--page);padding:.4rem;box-shadow:0 4px 18px #1c2e2426;text-decoration:none}.mixer-comparison .mixer-inset img{aspect-ratio:auto;width:100%;height:auto}.mixer-inset span{display:block;font-size:.75rem;line-height:1.4;padding:.4rem .15rem}.mixer-comparison{scroll-margin-top:140px}
@media(max-width:960px){.mixer-photo-layout{padding-bottom:0}.mixer-inset{position:static;display:block;width:min(100%,320px);margin:1rem auto 0;box-shadow:none;border:1px solid var(--rule)}}

.insurance-guidance{margin:1.25rem 0}.insurance-guidance details p{padding:0;margin:.75rem 0}.insurance-guidance summary{line-height:1.45}

.new-tab-note{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.paint-treatment-landscape{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.paint-treatment-landscape figure{max-width:none}@media(max-width:960px){.paint-treatment-landscape{grid-template-columns:1fr}}

/* Place the mobile hero photograph before the service introduction. */
@media(max-width:1100px){.hero-intro>.mobile-home-hero{margin-top:.75rem}.hero-intro>.mobile-illustration-note{margin-bottom:1.25rem}}

/* Expanding mobile navigation must not shift the page or trigger scroll dismissal. */
@media(max-width:1100px){.masthead #mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--page);padding-top:.75rem;border-bottom:1px solid var(--rule);box-shadow:0 8px 18px #29353620}}

.enquiry-extra summary{cursor:pointer;min-height:44px;padding:.75rem 0;font-weight:500}.enquiry-extra-fields{padding-top:1rem}.meth-shortcuts{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;max-width:var(--shell,1200px);margin:0 auto;padding:1rem 1.5rem}.meth-shortcuts a{padding:.5rem 0}.meth-callout h3:not(:first-child){margin-top:1.5rem}

.painting-guide-disclosure>summary{cursor:pointer;min-height:48px;padding:1rem 0;font-weight:500}.painting-guide-disclosure .shell{width:100%}

.hero .hero-contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 3rem}.hero-contact-actions .hero-phone{width:auto;text-align:left;align-items:flex-start;margin:0}@media(max-width:760px){.hero-contact-actions{flex-direction:column;align-items:stretch}.hero-contact-actions .hero-phone{width:100%;text-align:center;align-items:center}}

.hero-intro>.hero-report-offer{margin-top:1.5rem}

.service-overview{grid-template-columns:repeat(4,minmax(0,1fr))}.service-overview article{min-width:0;border-top:3px solid var(--action)}@media(min-width:761px) and (max-width:1100px){.service-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.service-overview{grid-template-columns:minmax(0,1fr)}}

.service-overview article{background:#fff;border:1px solid var(--rule);border-top:3px solid var(--action);border-radius:8px;box-shadow:0 3px 12px #2935360d;padding:1.5rem}.service-overview{gap:1.5rem}

/* Homepage service mosaic: one lead testing service and eight supporting links. */
.service-gallery{margin-top:2.5rem}
.service-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(220px,19vw,280px);gap:.85rem}
.service-image-grid>a{position:relative;display:block;min-width:0;overflow:hidden;background:var(--ink);border:0;border-radius:0;text-decoration:none;color:#fff}
.service-image-grid>a:first-child{grid-column:span 2;grid-row:span 2}
.service-image-media{display:block;position:absolute;inset:0;overflow:hidden}
.service-image-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(16,25,26,.2) 45%,rgba(16,25,26,.9) 100%)}
.service-image-grid img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:transform .3s ease}
.service-image-grid>a:first-child img{object-position:58% center}
.service-image-title{position:absolute;inset:auto 1.25rem 1.25rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;font-size:1.15rem;line-height:1.25;font-weight:700;color:#fff}
.service-image-grid>a:first-child .service-image-title{font-size:clamp(1.45rem,2vw,1.9rem)}
.service-image-title::after{content:"";display:block;flex:none;width:2.5rem;height:2.5rem;background-color:transparent;background-image:url("service-arrow.svg");background-repeat:no-repeat;background-position:center;transition:background-color .2s ease}
.service-image-grid>a:focus-visible{outline:3px solid var(--link);outline-offset:4px}
.service-image-grid>a:hover .service-image-title::after,.service-image-grid>a:focus-visible .service-image-title::after{background-color:transparent}
@media(hover:hover){.service-image-grid>a:hover img{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.service-image-grid img,.service-image-title::after{transition:none}.service-image-grid>a:hover img{transform:none}}
@media(min-width:761px) and (max-width:1100px){.service-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:270px}.service-image-grid>a:first-child,.service-image-grid>a:nth-child(6){grid-column:auto;grid-row:auto}.service-image-grid>a:first-child .service-image-title{font-size:1.15rem}}
@media(max-width:760px){.service-image-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:260px;gap:1rem}.service-image-grid>a:first-child,.service-image-grid>a:nth-child(6){grid-column:auto;grid-row:auto}.service-image-grid>a:first-child .service-image-title{font-size:1.15rem}}

/* Clear, distinct quotation and report offers on the homepage. */
#understand-the-problem .report-options{gap:1.25rem;border:0;border-radius:0;overflow:visible}
#understand-the-problem .report-options>.price-card{min-width:0;padding:1.75rem;background:#fff;border:1px solid var(--rule);border-radius:0}
#understand-the-problem .report-heading{width:100%;min-height:8.5rem}
#understand-the-problem .report-purpose{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--link);margin-bottom:.7rem}
#understand-the-problem .report-options h3{font-size:1.55rem;font-weight:700;line-height:1.2;text-wrap:balance}
#understand-the-problem .report-options .price-card>.price{align-self:stretch;width:calc(100% + 3.5rem);margin:-1.75rem -1.75rem 1.5rem;padding:.65rem 1.75rem;background:var(--paper);color:var(--ink);font-size:2rem;font-weight:600;line-height:1.25}
#understand-the-problem .report-options .button{border-radius:0}
#understand-the-problem .report-options>.price-card:hover,#understand-the-problem .report-options>.price-card:focus-within{background:#fff}
@media(max-width:760px){#understand-the-problem .report-heading{min-height:0}#understand-the-problem .report-options>.price-card{padding:1.5rem}#understand-the-problem .report-options .price-card>.price{width:calc(100% + 3rem);margin:-1.5rem -1.5rem 1.5rem;padding:.65rem 1.5rem}}
#understand-the-problem .report-options .price-card>.price{text-transform:uppercase;letter-spacing:.04em}
/* Approved green treatment for the three homepage offers. */
#understand-the-problem .report-options>.price-card>.price{background:#EAF0E5}
#understand-the-problem .report-options>.price-card{--offer-button:#4E7059;--offer-hover:#395E4A}
#understand-the-problem .report-options>.price-card .button{background:var(--offer-button);border-color:var(--offer-button);color:#fff}
#understand-the-problem .report-options>.price-card .button:hover,#understand-the-problem .report-options>.price-card .button:active{background:var(--offer-hover);border-color:var(--offer-hover);color:#fff}
/* One consistent reading style for the explanation beneath the offers. */
#understand-the-problem .report-options~p{max-width:68ch;font-size:1.0625rem;line-height:1.6;color:var(--ink-2);margin-inline:0}

#understand-the-problem .report-purpose{font-size:1.05rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--action);margin:.85rem 0 0}
#understand-the-problem .report-heading{display:flex;flex-direction:column}
#understand-the-problem .report-purpose{margin-top:auto;padding-top:.85rem;font-size:1.3rem;line-height:1.25}
@media(max-width:760px){#understand-the-problem .report-purpose{margin-top:0}}

/* Separate the bathroom context and detail photographs without overlap. */
.damage-example .mixer-photo-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:1.5rem;padding:0;align-items:start}
.damage-example .mixer-inset{position:static;display:block;width:auto;margin:0;padding:0;background:transparent;box-shadow:none;border:0}
.damage-example .mixer-context img,.damage-example .mixer-inset img{width:100%;height:420px;aspect-ratio:auto;object-fit:contain;background:var(--page)}
.damage-example .mixer-context span,.damage-example .mixer-inset span{display:block;padding:.7rem 0;font-size:.95rem;line-height:1.4}
.damage-example .care-copy{max-width:68ch;margin-top:2rem}
@media(max-width:760px){.damage-example .mixer-photo-layout{grid-template-columns:1fr}.damage-example .mixer-context img,.damage-example .mixer-inset img{height:auto}.damage-example .mixer-inset img{max-height:480px;object-fit:contain}}
.damage-example .mixer-comparison,.damage-example .mixer-context,.damage-example .mixer-context img,.damage-example .mixer-inset,.damage-example .mixer-inset img{background:transparent}
.damage-example .mixer-context img,.damage-example .mixer-inset img{object-position:left bottom}
.damage-example .mixer-context span{padding-top:.35rem}
/* Match the photographs' proportions so no empty image area widens the gap. */
.damage-example .mixer-photo-layout{max-width:900px;grid-template-columns:minmax(0,1.777fr) minmax(0,1fr);gap:1.5rem}
.damage-example .mixer-context img,.damage-example .mixer-inset img{width:100%;height:auto;max-height:none;object-position:left top}
.damage-example .mixer-context span,.damage-example .mixer-inset span{padding:1rem 0 0;line-height:1.5}
@media(max-width:760px){.damage-example .mixer-photo-layout{grid-template-columns:1fr;gap:2rem}.damage-example .mixer-inset{max-width:360px}}

.occupied-home{align-items:center;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.occupied-home .care-image img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:35% center;border-radius:0}
@media(max-width:760px){.occupied-home{grid-template-columns:minmax(0,1fr)}.occupied-home .care-image img{aspect-ratio:4/3}}

.service-area-map{align-items:center;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.service-area-map figure{margin:0}.service-area-map img{width:auto;max-width:100%;height:auto;max-height:540px}
.service-area-map figcaption{font-size:.9rem;line-height:1.5;margin-top:.85rem}
@media(max-width:760px){.service-area-map{grid-template-columns:minmax(0,1fr)}.service-area-map img{max-height:420px}}

/* Mould service trial: let the service photograph form the hero background. */
.service-hero-faded{position:relative;isolation:isolate;display:block;min-height:490px;padding:3.5rem 0;overflow:hidden}
.service-hero-faded .service-hero-copy{width:55%;position:relative;z-index:1}
.service-hero-faded .service-hero-image{position:absolute;inset:0 0 0 auto;width:80%;height:100%;z-index:-1}
.service-hero-faded .service-hero-image img{width:100%;height:100%;object-fit:cover;object-position:65% center;border-radius:0;mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.12) 30%,#000 62%);-webkit-mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.12) 30%,#000 62%)}
.service-hero-faded .service-hero-image figcaption{position:absolute;right:0;bottom:0;max-width:48%;padding:.4rem .7rem;margin:0;background:var(--page);font-size:.75rem}
@media(max-width:760px){.service-hero-faded{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem 0;min-height:0;overflow:visible}.service-hero-faded .service-hero-copy{width:100%}.service-hero-faded .service-hero-image{position:static;width:100%;height:auto;z-index:auto}.service-hero-faded .service-hero-image img{height:auto;mask-image:none;-webkit-mask-image:none}.service-hero-faded .service-hero-image figcaption{position:static;max-width:none;padding:.5rem 0;background:transparent}}
@media(min-width:761px){.service-hero-faded{min-height:570px}.service-hero-faded .service-hero-image{top:2rem;height:calc(100% - 2rem);width:86%}.service-hero-faded .service-hero-image img{object-position:65% 30%}}

.service-hero-faded .service-hero-image figcaption{background:transparent;font-size:.95rem;line-height:1.5;padding:.6rem 0;max-width:52%}
@media(max-width:760px){.service-hero-faded .service-hero-image figcaption{max-width:none}}
@media(min-width:761px){.service-hero-faded .service-hero-image figcaption{left:0;right:auto;bottom:.5rem;width:42%;max-width:42%;padding:.6rem 0}}
@media(min-width:761px){.service-hero-faded .service-hero-image figcaption{left:12%;width:36%;max-width:36%}}
@media(min-width:761px){.service-hero-faded .service-hero-image figcaption{left:28%;width:28%;max-width:28%}}
@media(min-width:761px){.service-hero-faded .service-hero-image figcaption{width:40%;max-width:40%}}

.service-choice{background:transparent;border:0;padding:2rem 0}
.service-choice p{max-width:68ch}

@media(min-width:761px){.service-hero-healthy-homes-repairs .service-hero-image figcaption{left:22%}}
@media(min-width:761px){.service-hero-bathrooms-laundries .service-hero-image figcaption{left:22%}}
@media(min-width:761px){.service-hero-bathrooms-laundries .service-hero-image figcaption{left:15%;width:40%;max-width:40%;bottom:0}}
.service-caption-break{display:none}
@media(min-width:761px){.service-caption-break{display:initial}}
.hero .hero-contact-actions{align-items:flex-start;gap:1rem 1.25rem}
.home-hero-testing{margin:0;max-width:100%}
.home-hero-testing p{font-size:.875rem;font-weight:400;line-height:1.4;margin:.5rem 0 0;color:var(--ink-2)}
.hero .home-hero-testing .button.secondary{background:transparent;border-color:var(--control-border);color:var(--link)}
.hero .home-hero-testing .button.secondary:hover{background:var(--paper)}
@media(max-width:760px){.home-hero-testing{width:100%}.hero .home-hero-testing .button{width:100%}}

#understand-the-problem .report-options>.price-card{border-top:3px solid #395E4A}

/* A consistent top accent for text and enquiry cards. */
.price-card,.service-card,.enquiry-card{border-top:3px solid #395E4A}

/* Sage lead offer with two compact insurance-report cards. */
#understand-the-problem .report-options{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);gap:1rem;margin-top:2rem}
#understand-the-problem .report-options>.price-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:1.75rem;padding:1.75rem;border:0;border-top:3px solid #395E4A;background:#fff}
#understand-the-problem .report-options>.price-card:first-child{grid-row:span 2;display:flex;background:#D7DFCB;padding:2rem;position:relative}
#understand-the-problem .report-copy{min-width:0;display:flex;flex-direction:column;width:100%}
#understand-the-problem .report-labels{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}
#understand-the-problem .report-options .price{font-size:.75rem;line-height:1;padding:.35rem .5rem;letter-spacing:.08em;background:#D7DFCB;color:var(--ink);width:auto;margin:0;font-weight:700}
#understand-the-problem .report-purpose{margin:0;padding:0;font-size:.9rem;line-height:1.3;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
#understand-the-problem .report-heading{min-height:0;margin:0 0 .8rem;display:block}
#understand-the-problem .report-options h3{font-size:1.45rem;line-height:1.15;margin:0;min-height:0;text-wrap:initial}
#understand-the-problem .report-intro{min-height:0;font-size:.95rem;line-height:1.5;margin-bottom:1rem}
#understand-the-problem .report-inclusions{list-style:none;margin:0;padding:1.5rem 0 0 1.25rem;border-left:1px solid var(--rule);font-size:.9rem;align-self:stretch}
#understand-the-problem .report-inclusions li{position:relative;padding-left:1.15rem;margin-bottom:.85rem}
#understand-the-problem .report-inclusions li::before{content:'✓';position:absolute;left:0;color:#395E4A;font-weight:600}
#understand-the-problem .report-options .button{margin-top:auto;text-align:left;justify-content:space-between;font-size:.875rem;min-height:48px;background:var(--action);border-color:var(--action);color:#fff}
#understand-the-problem .report-options .button::after{content:'→';margin-left:.6rem}
#understand-the-problem .report-options .button:hover{background:var(--action-hover);border-color:var(--action-hover)}
#understand-the-problem .report-options>.price-card:first-child .report-copy{display:contents}
#understand-the-problem .report-options>.price-card:first-child .report-labels{width:100%;justify-content:space-between;flex-direction:row-reverse}
#understand-the-problem .report-options>.price-card:first-child .price{background:#293A32;color:#fff}
#understand-the-problem .report-options>.price-card:first-child h3{font-size:2.15rem;max-width:14ch}
#understand-the-problem .report-options>.price-card:first-child .report-intro{font-size:1rem}
#understand-the-problem .report-options>.price-card:first-child .report-inclusions{order:1;width:100%;border:0;padding:0;margin:.5rem 0 1.5rem}
#understand-the-problem .report-options>.price-card:first-child .report-inclusions li{padding:.65rem 0 .65rem 1.25rem;border-bottom:1px solid #BFCAB3;margin:0}
#understand-the-problem .report-options>.price-card:first-child .report-inclusions li::before{top:.65rem;color:var(--action)}
#understand-the-problem .report-options>.price-card:first-child .button{order:2;background:#4E7059;border-color:#4E7059;width:100%}
#understand-the-problem .report-options>.price-card:first-child .button:hover{background:#395E4A;border-color:#395E4A}
#understand-the-problem .report-options>.price-card:first-child:hover,#understand-the-problem .report-options>.price-card:first-child:focus-within{background:#D7DFCB}
@media(max-width:1000px){#understand-the-problem .report-options{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#understand-the-problem .report-options>.price-card{grid-template-columns:1fr;gap:1rem}#understand-the-problem .report-inclusions{padding:0;border:0}}
@media(max-width:760px){#understand-the-problem .report-options{grid-template-columns:minmax(0,1fr)}#understand-the-problem .report-options>.price-card,#understand-the-problem .report-options>.price-card:first-child{grid-row:auto;padding:1.5rem}#understand-the-problem .report-copy{display:contents}#understand-the-problem .report-inclusions{order:1;margin:0 0 .5rem}#understand-the-problem .report-options .button{order:2}#understand-the-problem .report-labels{margin:0}#understand-the-problem .report-heading{margin:0}#understand-the-problem .report-intro{margin:0}#understand-the-problem .report-options>.price-card:first-child h3{font-size:1.9rem}}
#understand-the-problem .report-labels .price{text-transform:uppercase}
#understand-the-problem .report-options>.price-card:not(:first-child) .button{background:var(--action);border-color:var(--action);color:#fff}
#understand-the-problem .report-options>.price-card:not(:first-child) .button:hover{background:var(--action-hover);border-color:var(--action-hover)}

/* Balance service introductions vertically beside their photographs. */
@media(min-width:761px){
 .service-hero-faded{display:flex;align-items:center;padding-block:3.5rem}
 .service-hero-faded .service-hero-copy>.eyebrow{margin-bottom:1.25rem}
 .service-hero-faded .service-hero-copy>h1{margin:.5rem 0 1.5rem}
 .service-hero-faded .service-hero-copy>.lede{margin-bottom:1.75rem}
}

.hero-intro .hero-free-offer{font-size:.95rem;font-weight:400;line-height:1.5;margin:1rem 0 0}

/* Keep homepage contact actions visible where the header quote is in the menu. */

@media(max-width:1100px){.hero-contact-actions .hero-phone{display:none}}

@media(min-width:1101px){.header-row .brand{width:380px}}

@media(min-width:1101px){.header-row .nav{gap:clamp(1rem,1.65vw,1.5rem)}.header-row .nav>.button{margin-left:.5rem}}

.header-contact{display:contents}
@media(min-width:1101px){.header-contact{display:flex;flex-direction:column;align-items:center;gap:.35rem;flex-shrink:0;margin-left:.5rem}.header-contact>.button{min-height:40px;padding:.55rem 1rem;font-size:.94rem}.header-contact>.header-phone{min-height:28px;font-size:1.1rem;line-height:1.3}}
@media(max-width:1100px){.header-contact>.button{display:none}}

@media(min-width:1101px){.header-contact{margin-left:clamp(1.25rem,3vw,2.5rem)}}

.project-about-link{margin-top:1.25rem;line-height:1.5}

@media(min-width:761px){#entrance-patio-mould .wall-mould-photos{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Keep the homepage photograph aligned with the content on wide screens. */
@media(min-width:1101px){
 .hero-background .hero{min-height:570px}
 .hero-background::before{right:max(0px,calc((100% - 72rem)/2));width:min(100%,72rem);aspect-ratio:auto}
}

/* Let the homepage hero photograph settle into the service section. */
@media(min-width:1101px){
 .hero-background::before{background-image:linear-gradient(to top,var(--page),transparent 110px),linear-gradient(to left,var(--page),transparent 70px),url('services/mould-and-moisture-1672.webp');background-size:100% 100%,100% 100%,auto 100%;background-position:center,center,right center;background-repeat:no-repeat}
 .hero-background+#services{padding-top:2.75rem}
}
@media(max-width:1100px){.mobile-home-hero{border-radius:0;mask-image:linear-gradient(to bottom,#000 85%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 85%,transparent)}}

#services .services-heading>.eyebrow{color:var(--gold-text)}

/* Shared gold section labels, with a lighter tone on dark surfaces. */
.eyebrow{color:var(--gold-text)}
.site-footer .eyebrow,.paint-products .eyebrow{color:#D6B36C}

/* Shared spacing rhythm: page sections, topics, headings and supporting content. */
:root{--space-section:5rem;--space-topic:3rem;--space-content:2rem;--space-heading:1.25rem;--space-label:.75rem}
.section{padding-block:var(--space-section)}
.eyebrow{margin-bottom:var(--space-label)}
.section h2{margin-bottom:var(--space-heading)}
.section-intro{margin-bottom:var(--space-content)}
.prose>section{margin-bottom:var(--space-topic)}
.prose>section:last-child{margin-bottom:0}
.prose>h2:not(:first-child),.prose>section+section,.prose>section+.faq{margin-top:var(--space-topic)}
.service-choice{padding-block:var(--space-topic);margin-bottom:0}
.paint-block{padding-top:var(--space-topic)}
.painting-guide-disclosure{padding-block:var(--space-topic)}
.report-related{padding-block:var(--space-topic)}
@media(max-width:760px){
 :root{--space-section:3.5rem;--space-topic:2rem;--space-content:1.5rem}
 .section{padding-block:var(--space-section)}
}
/* Preserve the deliberately close, faded homepage hero-to-services transition. */
@media(min-width:1101px){.hero-background+#services{padding-top:2.75rem}}

/* Connected topic guides share the established section and topic spacing. */
.guide-page { padding-bottom: var(--space-section); }
.guide-layout { display: grid; grid-template-columns: minmax(0, 1fr) 17rem; gap: 4rem; align-items: start; }
.guide-answers { min-width: 0; max-width: 48rem; }
.guide-contents { padding: 1.5rem; background: #eef0e8; margin-bottom: var(--space-topic); }
.guide-contents ul, .guide-links { padding-left: 1.4rem; }
.guide-contents li, .guide-links li { margin: .7rem 0; }
.guide-topic + .guide-topic, .research-overview + section { margin-top: var(--space-topic); }
.guide-topic { scroll-margin-top: 12rem; }
.guide-topic h2, .research-overview h2 { margin: 0 0 var(--space-heading); }
.guide-topic p { line-height: 1.75; margin: 0 0 1rem; }
.guide-sources { font-size: .88rem; line-height: 1.6; }
.research-overview h3 { margin-top: var(--space-content); }
.guide-layout .aside-box { position: sticky; top: 11rem; }
@media (max-width: 900px) {
 .guide-layout { grid-template-columns: 1fr; gap: var(--space-topic); }
 .guide-layout .aside-box { position: static; }
 .guide-answers { max-width: none; }
}

.research-overview { scroll-margin-top: 12rem; }
.guide-layout .aside-box { border-top-color: #2f5148; }

.mould-price-cards { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:1.5rem; margin-block:2rem; align-items:stretch; }
.mould-price-cards > article { min-width:0; padding:1.75rem; }
.mould-price-cards h3 { font-size:1.35rem; line-height:1.35; margin:0 0 1.25rem; }
.mould-treatment-pricing { background:#fff; border:1px solid #d6dfd1; border-left:5px solid #395e4a; border-radius:0 12px 12px 0; }
.mould-treatment-pricing > .eyebrow { margin:0 0 .5rem; color:#395e4a; }
.mould-treatment-rates { margin:0; }
.mould-treatment-rates > div { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:1rem; align-items:center; padding:1.25rem 0; }
.mould-treatment-rates > div + div { border-top:1px solid #d6dfd1; }
.mould-treatment-rates dt { font-weight:500; line-height:1.5; }
.mould-treatment-rates dd { margin:0; text-align:right; }
.mould-treatment-amount { display:block; color:#1c2e24; font-size:clamp(1.5rem,2.2vw,2rem); font-weight:600; line-height:1.3; white-space:nowrap; }
.mould-treatment-quote { display:block; color:#395e4a; font-size:1.3rem; font-weight:600; line-height:1.4; }
.mould-treatment-rates .mould-price-tax { display:block; font-size:.85rem; margin-top:.3rem; }
.mould-treatment-note { border-top:1px solid #d6dfd1; padding-top:1.25rem; margin:.25rem 0 0; font-size:.9rem; line-height:1.6; }
.mould-price-cards > #laboratory-mould-testing { background:#eaf0e5; border-radius:12px; }
.mould-price-cards > #laboratory-mould-testing p { font-size:.95rem; }
.mould-price-cards > #laboratory-mould-testing p:last-child { margin-bottom:0; }
.mould-cost-summary { margin-bottom:var(--space-topic); scroll-margin-top:12rem; }
.guide-page .mould-price-cards { grid-template-columns:1fr; }
@media(max-width:900px) { .mould-price-cards { grid-template-columns:1fr; } }
@media(max-width:480px) { .mould-price-cards > article { padding:1.4rem; } .mould-treatment-rates > div { grid-template-columns:1fr; gap:.6rem; } .mould-treatment-rates dd { text-align:left; } .mould-treatment-amount { font-size:1.85rem; } }


.rental-guidance-summary { margin-top: var(--space-topic); padding-top: var(--space-content); border-top: 1px solid var(--line, #d8dcd5); scroll-margin-top: 12rem; }

/* Public page search: compact header control and accessible modal. */
.site-search-toggle { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; padding:0; background:transparent; border:0; color:var(--ink); cursor:pointer; }
.site-search-dialog { width:min(680px,calc(100% - 2rem)); max-height:85dvh; padding:2rem; border:1px solid var(--rule); background:var(--page); color:var(--ink); overflow:auto; }
.site-search-dialog::backdrop { background:rgba(28,42,36,.45); }
.site-search-top { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.site-search-top h2 { margin:0; font-size:1.6rem; }
.site-search-top button { width:44px; height:44px; background:transparent; border:0; color:inherit; cursor:pointer; }
.site-search-input-row { display:flex; gap:.75rem; margin-top:.75rem; }
.site-search-input-row :is(input,textarea) { min-width:0; flex:1; padding:.75rem; border:1px solid var(--control-border); background:var(--paper); color:var(--ink); }
.site-search-result { border-top:1px solid var(--rule); padding:1.25rem 0; }
.site-search-result h3 { font-size:1.15rem; margin:0 0 .5rem; }
.site-search-result p { margin:0; line-height:1.65; }
@media(max-width:1100px) { .header-row { grid-template-columns:minmax(0,1fr) auto auto auto; } .header-row .site-search-toggle { grid-column:2; grid-row:1; } .header-row .header-phone { grid-column:3; } .header-row #menu-button { grid-column:4; } }
@media(max-width:480px) { .site-search-dialog { padding:1.25rem; } .site-search-input-row { flex-direction:column; } .site-search-top h2 { font-size:1.35rem; } }

.site-ai-toggle { display:flex; align-items:center; justify-content:center; gap:.4rem; min-height:44px; padding:.25rem .4rem; border:0; background:transparent; color:var(--ink); white-space:nowrap; font-size:.9rem; }
.site-ai-toggle img { display:block; width:22px; height:22px; flex-shrink:0; }
.site-search-dialog .question-panel { padding:0; border:0; background:transparent; }
@media(max-width:1100px) { .header-row { grid-template-columns:minmax(0,1fr) auto auto auto auto; } .header-row .site-ai-toggle { grid-column:3; grid-row:1; } .header-row .header-phone { grid-column:4; } .header-row #menu-button { grid-column:5; } .site-ai-toggle span { display:none; } .site-ai-toggle { width:44px; padding:0; } .site-ai-toggle::after { content:none; } }
@media(max-width:400px) { .header-row { gap:.25rem; } .header-row .brand { min-width:0; } }

/* Keep the search entry uncluttered; preserve a visible keyboard focus border. */
#site-search-dialog .search-field-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#site-search-dialog .site-search-top { margin-bottom:2rem; }
#site-search-dialog .site-search-input-row { margin-top:0; }
#site-search-dialog :is(input,textarea) { background:#fff; border:2px solid var(--rule); border-radius:4px; }
#site-search-dialog :is(input,textarea):focus-visible { outline:none; box-shadow:none; border-color:var(--control-border); }
#site-search-dialog [data-search-status]:empty { margin:0; }
#site-search-dialog [data-search-status]:not(:empty) { margin:1.5rem 0 1rem; }

#site-ai-dialog .search-field-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#site-ai-dialog .site-search-top { margin-bottom:2rem; }
.header-ai-form { display:flex; align-items:flex-start; gap:.75rem; }
.header-ai-form textarea { flex:1; min-width:0; padding:.75rem; border:2px solid var(--rule); border-radius:4px; background:#fff; color:var(--ink); resize:vertical; }
.header-ai-form textarea:focus-visible { outline:none; box-shadow:none; border-color:var(--control-border); }
@media(max-width:480px) { .header-ai-form { flex-direction:column; } .header-ai-form textarea { width:100%; } }

/* Softer shared search and Ask AI panels. */
.site-search-dialog { width:min(620px,calc(100% - 2rem)); padding:1.5rem; border:1px solid rgba(215,222,210,.7); border-radius:12px; background:var(--page); box-shadow:0 12px 40px rgba(28,42,36,.12); }
.site-search-dialog::backdrop { background:rgba(28,42,36,.14); }
.site-search-top h2 { font-size:1.25rem; font-weight:500; }
#site-search-dialog .site-search-top, #site-ai-dialog .site-search-top { margin-bottom:1.25rem; }
.site-search-top button { color:var(--ink-3); }
#site-search-dialog :is(input,textarea), .header-ai-form textarea { border-width:1px; background:#fff; }
@media(max-width:480px) { .site-search-dialog { padding:1.25rem; } .site-search-top h2 { font-size:1.2rem; } }

.service-question-panel .search-field-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.service-question-panel .question-consent { font-size:.85rem; line-height:1.5; margin:1rem 0; }
.service-question-panel [role=status]:empty { margin:0; }

.service-question-panel { padding:1.5rem; background:var(--page); border:1px solid var(--rule); border-radius:12px; box-shadow:0 8px 24px rgba(28,42,36,.05); }
.service-question-panel h2 { font-size:1.25rem; font-weight:500; margin:0 0 1.25rem; }
.service-question-panel textarea { width:100%; padding:.75rem; border:1px solid var(--rule); border-radius:4px; background:#fff; color:var(--ink); }
.service-question-panel textarea:focus-visible { outline:none; box-shadow:none; border-color:var(--control-border); }

.service-question-panel textarea { min-height:3.75rem; height:3.75rem; resize:vertical; overflow-y:auto; }

:is(.service-question-panel,.header-ai-form) .question-ai-button { display:inline-flex; align-items:center; gap:.5rem; padding:.65rem 1rem; background:transparent; border:1px solid var(--control-border); color:var(--ink); font-size:.9rem; font-weight:400; box-shadow:none; }
:is(.service-question-panel,.header-ai-form) .question-ai-button img { width:22px; height:22px; flex-shrink:0; }
:is(.service-question-panel,.header-ai-form) .question-ai-button:disabled { opacity:1; cursor:default; background:transparent; }

.service-question-panel textarea { overflow-y:hidden; }

.header-ai-form, .site-search-input-row { align-items:flex-start; }
.header-ai-form textarea, #site-search-input { min-height:3.25rem; height:3.25rem; line-height:1.6; overflow-y:hidden; resize:vertical; }
@media(max-width:480px) { #site-search-input { width:100%; } }

.header-ai-form textarea, #site-search-input { flex:1 1 auto; transition:none; }
@media(max-width:480px) { .header-ai-form textarea, #site-search-input { flex:none; } }

#site-ai-dialog .site-search-top { justify-content:flex-end; margin-bottom:.5rem; }

/* The connected header keeps the same compact question flow as service panels. */
.header-ai-form { display:flex; flex-direction:column; align-items:stretch; gap:.75rem; }
.header-ai-form textarea { width:100%; flex:none; }
.header-ai-form .question-consent { margin:0; font-size:.85rem; line-height:1.5; }
.header-ai-form .question-consent label { display:block; font-weight:400; }
.header-ai-form .question-consent input { width:auto; margin-right:.35rem; }
.header-ai-form .question-ai-button { align-self:flex-start; }
[data-answer] a { display:block; margin-top:.5rem; }
[data-answer] p { margin-top:1rem; }

/* Personal contact details beneath Meet Werner. */
.owner-signature{margin:1.75rem 0;padding-top:1.25rem;border-top:1px solid var(--gold-line);font-size:.95rem}
.owner-signature p{margin-bottom:.35rem;overflow-wrap:anywhere}
.owner-signature .owner-signature-name{font-size:1.1rem;font-weight:600;margin-bottom:.2rem}

.owner-signature .owner-signature-title{color:var(--ink-2);margin-bottom:.8rem}

/* Collapsible navigation at every screen size, with contact actions in view. */
.masthead{--link:#395E4A;--link-strong:#1C2E24;--ink:#293536;--focus:#395E4A;--control-border:#395E4A;color:var(--ink)}
.header-row .nav{display:none}
.header-row{display:flex;gap:1rem}
.header-row .brand{margin-right:auto;max-width:40%}
.header-row .header-contact{display:flex;flex-direction:column;align-items:center;gap:.3rem;margin-left:0;flex-shrink:0}
.header-row .header-contact>.button{display:inline-flex;min-height:40px;padding:.55rem 1rem;font-size:.94rem}
.header-row .header-phone{margin:0;min-height:28px;font-size:1rem}
.header-row #menu-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;flex-shrink:0}
#menu-button::before{content:"";width:18px;height:14px;background:linear-gradient(currentColor,currentColor) top/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) bottom/100% 2px no-repeat}
.masthead #mobile-nav{position:absolute;top:100%;left:auto;right:max(1.25rem,calc((100% - 72rem)/2));width:min(26rem,calc(100% - 2.5rem));margin:0;padding:.75rem 1rem;background:var(--page);border:1px solid var(--rule);border-top:2px solid var(--gold);box-shadow:0 12px 28px #29353620;max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain;font-size:1rem;line-height:1.35}
#mobile-nav a{min-height:44px;padding:.5rem .55rem}
#mobile-nav .menu-information-start{border-top:1px solid var(--rule);margin-top:.5rem;padding-top:1rem}
#mobile-nav>.button{min-height:44px;padding:.5rem .75rem;margin-top:.5rem}
.service-kit-action{margin-top:1rem}
.service-kit-action p{margin:.5rem 0 0;font-size:.875rem;line-height:1.5}
@media(max-width:760px){.service-kit-action .button{width:100%}}
@media(max-width:700px){
 .header-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:.5rem}
 .header-row .brand{grid-column:1;grid-row:1;max-width:100%;width:230px}
 .header-row .site-search-toggle{grid-column:2;grid-row:1}
 .header-row .site-ai-toggle{grid-column:3;grid-row:1}
 .header-row #menu-button{grid-column:4;grid-row:1;padding:.5rem .65rem}
 .header-row .header-contact{grid-column:1/-1;grid-row:2;flex-direction:row;justify-content:space-between;align-items:center;width:100%;margin-top:.35rem}
 .header-row .header-phone-full{display:inline}
 .header-row .header-phone-short{display:none}
 .header-row .header-contact>.button{font-size:.85rem}
}

/* Dedicated contact page. */
.contact-profile .about-owner{align-items:center}
.contact-profile-copy{max-width:38rem}
.contact-profile .actions{align-items:center}
.contact-company{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem}
.contact-company-details{margin:0;display:grid;grid-template-columns:8rem 1fr;gap:0 1rem}
.contact-company-details dt,.contact-company-details dd{margin:0;padding:.75rem 0;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}
.contact-company-details dt{font-weight:600}
#contact-enquiry{scroll-margin-top:160px}
@media(max-width:760px){.contact-company{grid-template-columns:1fr;gap:1.5rem}.contact-company-details{grid-template-columns:6rem 1fr}.contact-profile .owner-portrait{max-width:240px}}

.question-draft-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:.75rem 0}
.question-draft-controls button{background:transparent;color:var(--ink);border:1px solid var(--control-border);border-radius:8px;min-height:44px;padding:.5rem .85rem}
.question-draft-controls button:disabled{opacity:.55;cursor:default}
.question-draft-controls p{margin:0;flex:1;min-width:12rem}

/* Keep desktop header actions on one baseline. */
@media(min-width:701px){
 .header-row .header-contact{flex-direction:row;gap:1.1rem}
 .header-row .header-phone{min-height:44px}
 .header-row .header-contact>.button{min-height:44px;white-space:nowrap}
 .header-row .brand{flex-shrink:1}
}

/* Keep combined search results visually separate from the AI explanation. */
[data-website-results] { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--rule); }
[data-website-results] > h2 { font-size:1.2rem; }

@media(max-width:1100px) {
 .site-search-dialog[open] {
  position:fixed; inset:var(--search-panel-top, 145px) 0 auto;
  z-index:39; margin:0 auto; max-height:calc(100dvh - var(--search-panel-top, 145px) - 12px);
 }
}

#mould-patterns-and-insulation { margin-top:var(--space-content); scroll-margin-top:10rem; }
#mould-patterns-and-insulation h3 { margin-bottom:var(--space-heading); line-height:1.35; }

.mould-types-table { overflow-x:auto; margin-block:1.5rem; }
.mould-types-table table { width:100%; border-collapse:collapse; font-size:.95rem; }
.mould-types-table caption { text-align:left; font-weight:600; margin-bottom:.75rem; }
.mould-types-table th,.mould-types-table td { padding:.8rem; border-bottom:1px solid var(--rule); text-align:left; vertical-align:top; }
.mould-types-table thead { background:var(--pale, #EAF0E5); }
@media(max-width:600px) { .mould-types-table th,.mould-types-table td { padding:.6rem .4rem; overflow-wrap:anywhere; } }

.mould-testing-offer { padding:1.5rem; margin-block:var(--space-content); border:1px solid var(--rule); border-radius:8px; background:var(--pale, #EAF0E5); scroll-margin-top:10rem; }

.testing-price-card { border-left:4px solid var(--link, #395E4A); margin-top:0; }
.testing-card-price { font-size:2.5rem; font-weight:600; line-height:1.2; margin-block:1rem; }
.testing-card-price > span:not(.review-changed) { display:inline-block; font-size:1rem; font-weight:400; }

.mould-testing-page { padding-bottom:var(--space-content); }
.mould-testing-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin:0 0 var(--space-topic); }
.mould-testing-option { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:2rem; background:#fff; border-top:3px solid var(--link); }
.mould-testing-option h2 { font-size:1.65rem; line-height:1.25; }
.mould-testing-option .tick-list { padding-left:0; }
.diy-testing-option { background:var(--paper); }
.diy-testing-option .button { margin-top:.75rem; }
.mould-testing-page .guide-topic { max-width:54rem; }
@media(max-width:760px) { .mould-testing-options { grid-template-columns:1fr; } .mould-testing-option { padding:1.5rem; } }

.mould-attention-note { margin:0 0 var(--space-content); padding:1.5rem; border:1px solid #E5C4B7; border-left:6px solid var(--clay, #9C4A32); border-radius:6px; background:#FFF1E9; }
.mould-attention-note h2 { margin-top:0; font-size:1.65rem; line-height:1.25; }
.mould-attention-note p:last-child { margin-bottom:0; }
.mould-specialist-guidance { margin-top:var(--space-content); }
@media(max-width:760px) { .guide-answers { min-width:0; } }

/* Nationwide DIY sampling enquiry - scoped to the canonical testing page. */
.mt-page {padding-bottom:4rem;}
body:has(.mt-page) .masthead .brand img {transform:translateY(4px);}
.mt-page h1 {max-width:850px;}
.mt-page [id] {scroll-margin-top:120px;}
.mt-hero {display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:3rem;padding:3.5rem 0 2rem;align-items:center;}
.mt-actions {display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:1.5rem 0;}
.mt-hero-note {background:var(--pale,#eaf0e5);border-top:3px solid #395e4a;padding:2rem;}
.mt-hero-note h2 {font-size:1.4rem;}
.mt-kit-icon {display:grid;place-items:center;width:90px;height:75px;border:2px solid #395e4a;border-radius:6px;margin-bottom:1.3rem;font-size:2rem;font-weight:600;color:#395e4a;}
.mt-review-note {padding:1rem 1.5rem;background:#fff4df;border-left:4px solid #c39a4e;}
.mt-review-note p {margin:.4rem 0 0;}
.mt-journey {padding:1.8rem 0;}
.mt-journey ol {list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:space-between;}
.mt-journey li {display:flex;align-items:center;gap:.6rem;font-size:.95rem;}
.mt-journey li > span:not(.review-changed) {display:grid;place-items:center;background:#395e4a;color:white;border-radius:50%;width:28px;height:28px;flex-shrink:0;}
.mt-section {border-top:1px solid #d3dcd1;padding:3rem 0;}
.mt-page .mt-house-check {padding:2rem;background:#eaf0e5;margin:2rem 0;}
.mt-house-check h2 {margin-top:0;}
.mt-house-check ul {padding-left:1.3rem;}
.mt-house-check li {margin-bottom:.6rem;}
.mt-house-check .fine {margin-bottom:0;}
.mt-reasons-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin:1.5rem 0;}
.mt-reason-card {display:flex;align-items:center;min-width:0;min-height:126px;padding:1.4rem;background:#fff;color:var(--ink);text-decoration:none;border:1px solid #c5d1bf;border-top:3px solid #395e4a;border-radius:12px;box-shadow:0 3px 12px #2935360d;}
.mt-reason-card:hover {color:var(--ink);border-color:#395e4a;box-shadow:0 5px 16px #29353618;}
.mt-reason-card:focus-visible {outline:3px solid var(--gold);outline-offset:4px;}
.mt-reason-card h3 {font-size:1.2rem;line-height:1.35;margin:0;}
.mt-reasons-answers {max-width:52rem;padding:0 0 1.5rem;}
.mt-reasons-answers article {padding:1.4rem 0;border-top:1px solid #d3dcd1;scroll-margin-top:12rem;}
.mt-reasons-answers h3 {font-size:1.2rem;line-height:1.35;margin:0 0 .6rem;}
.mt-reasons-answers p:last-child {margin-bottom:0;}
.mt-reasons-note {background:#eaf0e5;border-left:3px solid #395e4a;padding:1rem 1.2rem;}
.mt-selector {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:4rem;}
.mt-selector > div {min-width:0;}
.mt-price-box {background:#eaf0e5;padding:1.8rem;align-self:start;}
.mt-price-box > p:first-child {margin-top:0;font-weight:600;}
.mt-quantity-note {margin-top:1.25rem;font-size:.875rem;line-height:1.7;}
.mt-quantity-note p {margin:0;}
.mt-quantity-note p + p {margin-top:.65rem;}
.mt-price {font-size:3.3rem;line-height:1.1;font-weight:600;margin:.5rem 0 1rem;}
.mt-courier-note {border-top:1px solid #a6ba97;margin:1rem 0;padding-top:1rem;font-size:.93rem;}
.mt-quantity {display:flex;align-items:center;gap:1rem;margin:1.5rem 0;}
.mt-quantity button {width:48px;height:48px;border:1px solid #395e4a;border-radius:50%;background:white;color:#293536;font-size:1.8rem;cursor:pointer;}
.mt-quantity output {font-size:1.5rem;font-weight:600;min-width:135px;text-align:center;}
.mt-page input[type=range] {width:100%;accent-color:#395e4a;cursor:pointer;min-height:36px;padding:0;}
.mt-scale {overflow-x:auto;padding-bottom:.4rem;}
.mt-scale:focus-visible {outline:3px solid #395e4a;outline-offset:3px;}
.mt-scale-track {min-width:560px;padding:0 25px .3rem;}
.mt-stops {display:flex;justify-content:space-between;padding:0 7px;}
.mt-stop {display:flex;flex-direction:column;align-items:center;gap:.25rem;width:0;}
.mt-stop-count {font-weight:600;}
.mt-stop-price {font-size:.85rem;white-space:nowrap;color:#395e4a;}
.mt-scale-hint {display:none;}
@media (max-width:640px) {.mt-scale-hint {display:block;font-size:.8rem;margin:.4rem 0;}}
.mt-page label {display:block;font-weight:500;margin-bottom:.5rem;}
.mt-page input:not([type=checkbox]):not([type=range]),.mt-page textarea,.mt-page select {display:block;width:100%;max-width:100%;background:white;border:1px solid #b7c5b8;border-radius:4px;padding:.8rem;font:inherit;color:#293536;}
.mt-page input[type=file] {font-size:.9rem;padding:.55rem !important;}
.mt-page textarea {resize:vertical;}
.mt-page select {min-height:49px;}
.mt-page :is(input,select,textarea,button,a,summary):focus-visible {outline:3px solid #395e4a;outline-offset:3px;}
.mt-page button:disabled {opacity:.55;cursor:default;}
.mt-location {border:1px solid #b7c5b8;background:white;margin:1.2rem 0;}
.mt-page details summary {padding:1.1rem;cursor:pointer;font-weight:600;}
.mt-location[open] summary {border-bottom:1px solid #d3dcd1;background:#eaf0e5;}
.mt-location-grid,.mt-contact-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;padding:1.5rem;}
.mt-contact-grid {padding:1.5rem 0;}
.mt-application fieldset {border:0;margin:0;min-width:0;}
.mt-party {border-top:1px solid var(--rule);padding:1.5rem 0 .5rem;}
.mt-party h3 {margin-top:0;}
.mt-party-summary {overflow-wrap:anywhere;}
.mt-email-notice {background:#eaf0e5;border-left:3px solid #395e4a;padding:1rem 1.5rem;margin:1.5rem 0;}
.mt-email-notice p {margin:.5rem 0 0;}
.mt-plan-details {padding:1.5rem;background:#eaf0e5;overflow-wrap:anywhere;}
.mt-plan-details dl {margin:0;}
.mt-plan-details dt {font-weight:500;margin-top:1rem;}
.mt-plan-details dt:first-child {margin-top:0;}
.mt-plan-details dd {margin:.25rem 0 0;white-space:pre-wrap;}
.mt-delivery {margin:2rem 0;}
.mt-property {padding:1.5rem;background:#eaf0e5;margin:1.5rem 0;}
.mt-property .fine {margin:.8rem 0 0;}
/* A continuous paper-style sheet for application details and sampling spots. */
.mt-form-title {margin:2rem 0 .75rem;}
.mt-form-title + .mt-paper-form {margin-top:0;}
.mt-paper-form {max-width:52rem;margin:2rem auto 3rem;padding:2rem 2.5rem;background:#e8f0f7;border:1px solid #b8cbdc;border-radius:2px;box-shadow:0 8px 24px #2935360d;}
.mt-paper-form .mt-section {border:0;padding:0;}
.mt-kit-inclusions-box {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #b8cbdc;margin:0 0 1.5rem;}
.mt-kit-inclusions-content {min-width:0;padding:.75rem 1rem;}
.mt-kit-results-content {min-width:0;padding:.75rem 1rem;border-left:1px solid #b8cbdc;font-size:.9rem;line-height:1.5;}
.mt-kit-results-content .mt-results-list {margin:0 0 .6rem;}
.mt-kit-results-content .mt-results-list li {margin:.2rem 0;padding-left:0;}
.mt-kit-results-content .fine {font-size:.85rem;margin:0;}
.mt-kit-notes {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;grid-column:1/-1;border-top:1px solid #b8cbdc;padding:.25rem .5rem;font-size:.85rem;}
.mt-page .mt-kit-notes details summary {padding:.5rem;font-size:.85rem;font-weight:400;color:#1d5e9a;text-decoration:underline;text-underline-offset:.2em;}
.mt-page .mt-kit-notes details summary:hover {color:#174b7b;}
.mt-kit-notes p.fine {font-size:inherit;}
.mt-kit-notes h4 {margin:1.25rem 1.1rem .45rem;font-size:.95rem;font-weight:600;line-height:1.4;color:#293536;}
.mt-kit-inclusions-box h3 {font-size:1rem;line-height:1.4;margin:0 0 .4rem;}
.mt-kit-inclusions {font-size:.9rem;line-height:1.5;padding-left:1.2rem;margin:0;}
.mt-kit-inclusions li {margin:.2rem 0;}
.mt-paper-form #sample-locations {border-top:1px solid #b8cbdc;margin-top:1.5rem;padding-top:1.5rem;}
.mt-paper-form #sample-locations h2 {font-size:1.6rem;}
.mt-paper-form #sample-locations > p:not(.eyebrow) {font-size:.95rem;}
.mt-area-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.25rem;margin:1.25rem 0;}
.mt-area-row {display:grid;grid-template-columns:1.75rem minmax(0,1fr);align-items:center;gap:.5rem;}
.mt-area-row label {margin:0;text-align:center;font-weight:600;white-space:nowrap;}
.mt-area-row input::placeholder {color:#bcc5cd;opacity:1;}
.mt-area-count {font-weight:500;}
#mt-sample-details {border-top:1px solid #b8cbdc;margin-top:1.5rem;padding-top:1.5rem;}
#mt-sample-details > h3 {margin-top:0;}
#mt-sample-details > p {font-size:.95rem;}
.mt-paper-form .mt-location {background:transparent;border-color:#b8cbdc;border-radius:2px;}
.mt-paper-form .mt-location[open] summary {background:transparent;border-color:#b8cbdc;}
.mt-paper-form .mt-location-grid {padding:1rem;gap:.9rem 1.25rem;}
.mt-paper-form :is(input:not([type=checkbox]),textarea,select) {border-color:#a4bacd;border-radius:2px;}
.mt-paper-form :is(input:not([type=checkbox]):not([type=file]):not([type=range]),select) {padding-block:.4rem;min-height:44px;}
.mt-paper-form .mt-assistant {background:transparent;border:1px solid #b8cbdc;}
.mt-paper-form .mt-assistant summary {font-size:1rem;}
.mt-application h2 {font-size:1.9rem;margin:0 0 1.25rem;}
.mt-application-header {display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-bottom:1rem;}
.mt-application-header h2 {margin-bottom:0;}
.mt-application-subheading {font-size:1rem;font-weight:500;line-height:1.4;margin:.35rem 0 0;}
.mt-application-header img {width:14rem;max-width:40%;height:auto;flex-shrink:0;}
.mt-application h3 {font-size:1.1rem;letter-spacing:.02em;margin:0 0 .75rem;}
.mt-application .eyebrow {margin:0 0 .5rem;}
.mt-application .mt-property {padding:0;background:transparent;margin:0 0 1.25rem;}
.mt-application .mt-contact-grid {gap:.9rem 1.25rem;padding:0 0 1.25rem;}
.mt-application .mt-party {border-color:#b8cbdc;padding:1rem 0 .25rem;}
.mt-application label {font-size:.95rem;margin-bottom:.35rem;}
.mt-application input:not([type=checkbox]) {min-height:44px;padding:.65rem .75rem;border-color:#a4bacd;border-radius:2px;}
.mt-application input:disabled {background:#f4f7fa;}
.mt-application .mt-checkbox {gap:.6rem;margin:.75rem 0;min-height:28px;align-items:center;}
.mt-application .mt-checkbox input {margin:0;accent-color:#395e4a;}
.mt-application .mt-property .fine {margin:.25rem 0 0;}
.mt-application .mt-party-summary {margin:.35rem 0 .75rem;}
.mt-application .mt-email-notice {background:transparent;border:0;border-top:1px solid #b8cbdc;padding:1rem 0 0;margin:.5rem 0 1.25rem;font-size:.95rem;}
.mt-application .mt-email-notice p {font-size:.85rem;margin:.35rem 0 0;}
.mt-page textarea[readonly] {background:#eaf0e5;}
.mt-plan-property {overflow-wrap:anywhere;white-space:pre-wrap;}
.mt-wide {grid-column:1/-1;}
.mt-photo-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border-top:1px solid #d3dcd1;padding-top:1rem;}
.mt-safety {padding:1rem;background:#fff4df;border-left:3px solid #c39a4e;}
.mt-live {color:#395e4a;}
.mt-optional-requirements {margin:2rem 0;}
.mt-assistant {padding:0 1rem 1rem;background:#eaf0e5;margin:2rem 0;}
.mt-assistant summary {margin:0 -1rem;}
.mt-assistant [role=status]:not(:empty) {white-space:pre-wrap;padding:1rem;background:white;margin-top:1rem;}
.mt-checkbox {display:flex !important;gap:.8rem;align-items:flex-start;font-weight:400 !important;margin:1rem 0;}
.mt-checkbox input {margin-top:.3rem;flex-shrink:0;accent-color:#395e4a;width:18px;height:18px;}
.mt-plan-spot {padding:1.5rem;background:white;border-left:3px solid #395e4a;margin:1rem 0;}
.mt-plan-spot h3 {margin-top:0;}
.mt-plan-spot dl {display:grid;grid-template-columns:230px minmax(0,1fr);gap:.5rem 1rem;margin-bottom:1rem;}
.mt-plan-spot dt {font-weight:500;}
.mt-plan-spot dd {margin:0;overflow-wrap:anywhere;}
.mt-text-button {border:0;background:none;color:#395e4a;padding:0;text-decoration:underline;font:inherit;cursor:pointer;}
.mt-final-price {padding:1.5rem;background:#eaf0e5;}
.mt-privacy {margin:1.5rem 0;padding:1rem 0 0;border-top:1px solid #b8cbdc;font-size:.85rem;line-height:1.5;scroll-margin-top:12rem;}
.mt-review-count {margin-bottom:.35rem;}
.mt-review-total {margin:0 0 1rem;line-height:1.2;}
.mt-review-total strong {font-size:clamp(2rem,5vw,2.8rem);font-weight:600;}
.mt-review-total span {display:inline-block;font-size:1rem;}
.mt-final-price p:last-child {margin-bottom:0;}
.mt-privacy h3 {font-size:1rem;font-weight:400;line-height:1.4;margin:0 0 .5rem;}
.mt-privacy p {margin:0 0 .65rem;}
.mt-privacy .fine {font-size:inherit;}
.mt-privacy .mt-checkbox {margin:.75rem 0 0;font-size:.9rem;}
.mt-order-notices {display:grid;gap:.75rem;margin:1.5rem 0 0;}
.mt-order-notices .mt-privacy {margin:0;}
.mt-order-notices .mt-cancellations {margin:0;}
.mt-consent {margin:1rem 0;font-size:.9rem;line-height:1.5;}
.mt-consent input[type=checkbox] {margin:calc((1.5em - 18px)/2) 0 0;}
.mt-cancellations {margin:1.5rem 0;padding:.75rem 1rem;background:white;border:1px solid #b8cbdc;font-size:.9rem;line-height:1.5;scroll-margin-top:10rem;}
.mt-cancellations h3 {font-size:1rem;font-weight:400;line-height:1.4;margin:0 0 .4rem;}
.mt-cancellations ul {padding-left:1.2rem;margin:0 0 .6rem;}
.mt-cancellations li {margin:.2rem 0;padding-left:0;}
.mt-cancellations p {margin:.4rem 0 0;}
.mt-cancellations .fine {font-size:.85rem;}
.mt-cancellations p:last-child {margin-bottom:0;}
.mt-cancellations .mt-sample-analysis {margin-top:1rem;}
.mt-cancellations .mt-sample-analysis ul {margin-bottom:0;}
.mt-page .mt-mobile-disclosure > summary {display:block;padding:0;cursor:default;list-style:none;}
.mt-mobile-disclosure > summary::-webkit-details-marker {display:none;}
.mt-mobile-disclosure > summary h3 {margin-bottom:.5rem;}
@media(max-width:760px){
  .mt-privacy .mt-mobile-disclosure {border:1px solid #b8cbdc;padding:.75rem 1rem;}
  .mt-page .mt-mobile-disclosure > summary {display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;cursor:pointer;}
  .mt-mobile-disclosure > summary::after {content:'+';flex-shrink:0;font-size:1.15rem;}
  .mt-mobile-disclosure[open] > summary::after {content:'−';}
  .mt-mobile-disclosure > summary h3 {margin:0;}
  .mt-mobile-disclosure[open] .mt-mobile-disclosure-body {padding-top:.75rem;}
}
.mt-explain-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;}
.mt-information-cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.25rem;padding:0 0 2rem;}
.mt-information-card {min-width:0;background:#eaf0e5;border:1px solid #c5d1bf;border-radius:12px;padding:1.4rem;}
.mt-information-card h2 {font-size:1.3rem;line-height:1.35;margin:0 0 .7rem;}
.mt-information-card > p {font-size:1rem;line-height:1.55;margin:0 0 1rem;}
.mt-information-card > .fine {font-size:.875rem;line-height:1.5;}
.mt-information-card summary {display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.45rem 0;list-style:none;cursor:pointer;font-weight:600;}
.mt-information-card summary::-webkit-details-marker {display:none;}
.mt-information-card summary::after {content:'+';color:#8b6a30;font-size:26px;line-height:1;flex-shrink:0;}
.mt-information-card details[open] > summary::after {content:'−';}
.mt-information-card summary:focus-visible {outline:3px solid var(--gold);outline-offset:4px;border-radius:3px;}
.mt-information-body {padding:.6rem 0 0;}
.mt-information-body p {margin:0 0 .8rem;}
.mt-information-body p:last-child {margin-bottom:0;}
@media(max-width:760px){.mt-information-cards{grid-template-columns:1fr;gap:.85rem;}.mt-information-card{padding:1.15rem 1.25rem;}.mt-information-card h2{font-size:1.2rem;}}
.mt-page details > p {padding:0 1.1rem;}
.mt-faq details {border-bottom:1px solid #d3dcd1;}
.mt-faq-list {padding-left:1.8rem;margin:0 0 2rem;}
.mt-faq-list > li {padding-left:.3rem;}
.mt-faq-list > li::marker {color:#395e4a;font-weight:600;}
.mt-faq details {scroll-margin-top:12rem;}
.mt-process-answer{padding:0 1.1rem 1.1rem}
.mt-process-answer ol{margin:0 0 1rem;padding-left:1.4rem}
.mt-process-answer li{margin:1rem 0;padding-left:.3rem}
.mt-process-answer h3{font-size:18px;line-height:1.35;margin:0 0 .5rem}
.mt-process-answer p{margin:0 0 .6rem}
.kr-lab .mt-laboratory-options{max-width:none}
.kr-lab .mt-laboratory-options>details{margin:0;padding:0}
.mt-laboratory-body{padding:0 0 18px}
.mt-kit-support-body{display:grid;grid-template-columns:1.5fr 1fr;gap:32px}
.mt-kit-support-body .kr-phone{font-size:24px;font-weight:600}
@media(max-width:760px){.mt-kit-support-body{grid-template-columns:1fr;gap:18px}}
#testing-guides,#testing-questions {scroll-margin-top:12rem;}
.mt-resource-grid article {padding:1.5rem;background:white;border-top:3px solid #395e4a;}
.mt-resource-grid h3 {margin-top:0;}
.mt-other-services {background:#eaf0e5;padding:2rem;}
.mt-purchase-actions {margin-bottom:.6rem;}
.mt-connection {padding:0;border:0;margin:0 0 1rem;font-size:.9rem;line-height:1.5;}
.mt-connection-unavailable {color:#9c302b;}
.mt-availability-actions {margin:.75rem 0 1.5rem;}
#mt-result:not(:empty) {display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;padding:1.5rem;background:#eaf0e5;white-space:pre-wrap;overflow-wrap:anywhere;}
#mt-result>p {flex-basis:100%;margin:0;line-height:1.65;}
.mt-honeypot,.mt-sr-only {position:absolute !important;width:1px !important;height:1px !important;overflow:hidden;clip-path:inset(50%);}
.mt-page [hidden] {display:none !important;}
@media(min-width:761px) and (max-width:1050px) {
 .mt-reasons-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px) {
 .mt-page .mt-house-check {padding:1.5rem;}
 .mt-reasons > p {display:none;}
 .mt-reasons-grid {grid-template-columns:1fr;gap:.85rem;margin:1rem 0 0;}
 .mt-reason-card {min-height:96px;padding:1.15rem 1.25rem;}
 .mt-reason-card h3 {font-size:1.1rem;line-height:1.4;}
 .mt-reasons-answers article {scroll-margin-top:10rem;}
 .mt-hero,.mt-selector,.mt-explain-grid {grid-template-columns:1fr;gap:1.5rem;}
 .mt-hero {padding-top:2rem;}
 .mt-hero-note {padding:1.5rem;}
 .mt-journey ol {display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
 .mt-section {padding:2rem 0;}
 .mt-paper-form {padding:1.25rem;margin:1.5rem auto 2rem;}
 .mt-kit-inclusions-box {grid-template-columns:1fr;}
 .mt-kit-results-content {border-left:0;border-top:1px solid #b8cbdc;}
 .mt-kit-notes {grid-template-columns:1fr;gap:0;}
 .mt-area-list {grid-template-columns:1fr;}
 .mt-application h2 {font-size:1.6rem;}
 .mt-application-header {display:grid;grid-template-columns:1fr;gap:1rem;}
 .mt-application-header img {grid-row:1;justify-self:end;width:12rem;max-width:75%;}
 .mt-application .mt-checkbox {align-items:flex-start;}
 .mt-application .mt-checkbox input {margin-top:.2rem;}
 .mt-location-grid,.mt-contact-grid,.mt-photo-row {grid-template-columns:1fr;}
 .mt-location-grid {padding:1rem;}
 .mt-plan-spot dl {display:block;}
 .mt-plan-spot dd {margin:.2rem 0 .8rem;}
 .mt-actions .button {width:100%;text-align:center;}
 #mt-result .button {width:100%;text-align:center;}
 .mt-price {font-size:2.8rem;}
 .mt-other-services {padding:1.5rem;}
}

.mt-reference-preview {margin:1.25rem 0;padding:1rem;border:1px solid #b8cbdc;background:#f6f9fc;border-radius:.25rem;}
.mt-reference-preview h3 {margin-top:0;}
.mt-reference-preview ul {padding-left:1.25rem;}
.mt-reference-preview li {overflow-wrap:anywhere;}

.mt-paper-form label .mt-optional {color:#526b83;font-size:.875em;font-weight:400;white-space:nowrap;}

.mt-sample-choice {margin:1.25rem 0;}
.mt-sample-choice :is(select,input) {max-width:15rem;}
.mt-custom-quantity {margin-top:1rem;}
.mt-custom-quantity input {max-width:12rem!important;margin:.5rem 0;}

.mt-share-button {display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;}
.mt-share-button svg {flex-shrink:0;}
.mt-share-status {margin:.75rem 0 0;}
.mt-share-status:empty {display:none;}
.mt-share-fallback {margin-top:.75rem;}
.mt-share-fallback input {width:100%;max-width:32rem;}

.mt-application-brand {display:flex;flex-direction:column;align-items:center;gap:1.75rem;width:14rem;max-width:40%;flex-shrink:0;}
.mt-application-header .mt-application-brand img {width:100%;max-width:100%;}
.mt-application-brand .mt-share-button {max-width:100%;justify-content:center;padding:.65rem .75rem;}
@media(max-width:760px) {
 .mt-application-brand {grid-row:1;justify-self:end;width:12rem;max-width:100%;}
}

.mt-share-icon {display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-top:.5rem;padding:12px;border:0;border-radius:2px;background:transparent;color:#526b83;cursor:pointer;}
.mt-share-icon:hover {color:var(--link);background:#dce7f0;}
.mt-share-icon:focus-visible {outline:2px solid var(--link);outline-offset:2px;}
.mt-share-icon svg {width:20px;height:20px;flex-shrink:0;}

.mt-application-header {position:relative;align-items:flex-start;}
.mt-application-title {padding-top:3.25rem;}
.mt-application-title .mt-share-icon {position:absolute;top:0;left:0;margin:0;}
@media(max-width:760px) {
 .mt-application-title {padding-top:0;}
}

/* Share the homepage from the header, and the testing service beside its CTA. */
.site-share-toggle,.home-testing-share{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;padding:10px;background:transparent;border:0;color:var(--ink);cursor:pointer}
.site-share-toggle:hover,.home-testing-share:hover{color:var(--link);background:var(--paper)}
.header-share-feedback{font-size:.875rem}
.header-share-feedback p:empty,.home-testing-action p[role=status]:empty{display:none}
.header-share-feedback p{margin:0;padding:.5rem 0}
.share-link-fallback{padding:.75rem 0}
.share-link-fallback label{display:block;font-size:.875rem}
.share-link-fallback input{width:100%;min-height:44px;padding:.5rem;background:var(--page);border:1px solid var(--control-border);color:var(--ink)}
.home-testing-buttons{display:flex;align-items:center;gap:.5rem}
.home-testing-buttons .button{flex:1;width:auto}
@media(max-width:700px){
 .header-row{grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:.25rem}
 .header-row .site-share-toggle{grid-column:2;grid-row:1}
 .header-row .site-search-toggle{grid-column:3;grid-row:1}
 .header-row .site-ai-toggle{grid-column:4;grid-row:1}
 .header-row #menu-button{grid-column:5;grid-row:1}
}

/* The quote action belongs beneath the homepage introduction. */
@media(max-width:700px){.header-row .header-contact{justify-content:flex-end}}

/* Give the mobile logo its own full-width row above the utility controls. */
@media(max-width:700px){
 .masthead .header-row{width:calc(100% - 1.5rem);grid-template-columns:44px 44px 44px minmax(0,1fr) 44px;gap:.75rem .25rem;padding-block:.75rem;min-height:0}
 .header-row .brand{grid-column:1/-1;grid-row:1;width:100%;max-width:100%;margin:0}
 .header-row .site-share-toggle{grid-column:1;grid-row:2}
 .header-row .site-search-toggle{grid-column:2;grid-row:2}
 .header-row .site-ai-toggle{grid-column:3;grid-row:2}
 .header-row .header-contact{grid-column:4;grid-row:2;width:auto;margin:0;justify-content:center}
 .header-row .header-phone{font-size:.9rem;white-space:nowrap;min-height:44px}
 .header-row #menu-button{grid-column:5;grid-row:2;width:44px;padding:0;gap:0;font-size:0}
}
@media(max-width:360px){
 .masthead .header-row{column-gap:0}
 .header-row .header-phone{font-size:.8rem}
}

/* Compact menu links use short gold dashes instead of underlines and row rules. */
.masthead #mobile-nav{padding:.5rem .75rem;font-size:.95rem;line-height:1.25}
#mobile-nav>a:not(.button){position:relative;display:flex;align-items:center;min-height:44px;padding:.25rem .4rem .25rem 1.25rem;border:0;text-decoration:none}
#mobile-nav>a:not(.button)::before{content:"";position:absolute;left:.4rem;top:50%;width:8px;height:2px;border-radius:0;background:var(--gold);transform:translateY(-50%)}
#mobile-nav>a:not(.button):hover{background:var(--paper);text-decoration:none}
#mobile-nav>.menu-information-start{border:0;margin-top:.4rem;padding-top:.25rem}

/* Keep one divider between services and general information links. */
#mobile-nav>a.menu-information-start{border-top:1px solid var(--rule);margin-top:.4rem}
@media(max-width:700px){.masthead #mobile-nav{max-height:calc(100dvh - 215px)}}

/* Show the whole testing scene so the bed, toys and sampling remain visible. */
.service-image-grid{grid-template-rows:auto}
.service-image-grid>a[data-mould-testing-link]{grid-column:1/-1;grid-row:auto;aspect-ratio:1672/941}
.service-image-grid>a[data-mould-testing-link] img{object-position:center;object-fit:contain}
@media(hover:hover){.service-image-grid>a[data-mould-testing-link]:hover img{transform:none}}
@media(min-width:1101px){
 .service-image-grid>a[data-mould-testing-link]{grid-column:span 2}
 .service-image-grid>a:nth-last-child(-n+2){grid-column:span 2}
}

.mt-results-list{padding-left:1.2rem;margin:0 0 1.5rem}
.mt-results-list li{padding-left:.25rem;margin-bottom:.65rem}
.mt-results-list li::marker{color:var(--link)}
.mt-results-limit-heading{font-size:1.15rem;margin-bottom:.85rem}
@media(min-width:761px){
 .service-hero-ventilation-and-condensation .service-hero-image figcaption{left:18%;width:35%;max-width:35%}
}

#upload-progress { width:100%; max-width:36rem; height:1rem; accent-color:var(--green,#395E4A); }

.review-attachments { margin:0; padding-left:1.2rem; }
.review-attachments li { margin:0 0 .45rem; overflow-wrap:anywhere; }
.review-attachments li:last-child { margin-bottom:0; }
.upload-wait-notice { margin:1.25rem 0; padding:1rem 1.25rem; border:2px solid #C39A4E; border-radius:8px; background:#fff5df; color:#293536; animation:upload-attention 2s ease-in-out infinite; }
.upload-wait-notice strong { display:block; font-size:1.15rem; line-height:1.4; }
.upload-wait-notice p { margin:.35rem 0 0; }
@keyframes upload-attention { 0%,100% { box-shadow:0 0 0 0 rgba(195,154,78,.28); } 50% { box-shadow:0 0 0 6px rgba(195,154,78,.08); } }
@media (prefers-reduced-motion:reduce) { .upload-wait-notice { animation:none; } }

/* Give the short testing introduction room between its main messages. */
.address-lookup{min-width:0}
.address-lookup-control{position:relative}
.address-lookup-options{position:absolute;z-index:20;top:100%;left:0;right:0;list-style:none;margin:.25rem 0 0;padding:0;border:1px solid #b8cbdc;border-radius:4px;background:#fff;max-height:17rem;overflow:auto;box-shadow:0 5px 12px #213c491a}
.address-lookup-options li{margin:0;padding:.65rem .75rem;min-height:44px;border-bottom:1px solid #e2e8eb;cursor:pointer;overflow-wrap:anywhere;font-size:.9rem}
.address-lookup-options li:last-child{border-bottom:0}
.address-lookup-options li:hover,.address-lookup-options li[aria-selected="true"]{background:#e6eef3;color:#1e3d4b}
.address-lookup-notice,.address-lookup-status{font-size:.78rem;line-height:1.5;margin:.4rem 0;color:#465b64;font-weight:400}
.address-lookup-status:empty{display:none}
.address-lookup-notice button{padding:0;border:0;background:transparent;color:#365c78;font:inherit;text-decoration:underline;cursor:pointer;min-height:32px}
.address-lookup-notice button:focus-visible{outline:2px solid #365c78;outline-offset:3px}
.service-hero-mould-testing .service-hero-copy>.eyebrow{margin-bottom:2.25rem}
.service-hero-mould-testing .service-hero-copy>h1{margin-top:0;margin-bottom:2.25rem}
.service-hero-mould-testing .service-hero-copy>.lede{margin-bottom:0}
.service-hero-mould-testing .service-hero-copy>.mt-hero-attention{margin:2rem 0 0;font-size:1rem;line-height:1.55;max-width:38rem}
.service-hero-mould-testing .service-hero-copy>.mt-actions{margin-top:2.5rem;margin-bottom:0}
@media(min-width:761px){
 .service-hero-mould-testing .service-hero-copy>.mt-actions{margin-top:6rem}
 .service-hero-mould-testing .service-hero-image{width:80%;right:0;height:auto;aspect-ratio:1340/941}
 .service-hero-mould-testing .service-hero-image img{object-position:left top;mask-image:linear-gradient(to right,transparent,#000 45%);-webkit-mask-image:linear-gradient(to right,transparent,#000 45%)}
}
@media(max-width:760px){
 .service-hero-mould-testing{align-items:stretch;gap:0}
 .service-hero-mould-testing .service-hero-copy{display:contents}
 .service-hero-mould-testing .service-hero-image{order:1;margin:1.5rem 0}
 .service-hero-mould-testing .service-hero-copy>.mt-actions{order:2;margin:0}
 .service-hero-mould-testing .mt-share-status{order:3}
 .service-hero-mould-testing .mt-share-fallback{order:4}
}

/* Privacy introduction: avoid stacking two full section gaps. */
.privacy-hero {padding-bottom:1rem;}
.privacy-hero .lede {font-size:1.25rem;line-height:1.65;margin-bottom:0;}
.privacy-content {padding-top:1.75rem;}

/* Contact hours apply to phone enquiries; online kit orders remain available every day. */
.site-footer .footer-contact-hours,.site-footer .footer-order-note{font-size:.9rem;line-height:1.6;overflow-wrap:anywhere}.site-footer .footer-order-note a{display:inline;min-height:0;padding:0;font-size:inherit}.business-contact-hours,.business-online-orders{max-width:68ch}

/* Contact details stay visible; the full enquiry form opens on request. */
.contact-enquiry-section{padding-block:2rem}
.contact-enquiry-disclosure{border:1px solid var(--rule);border-radius:8px;background:var(--page)}
.contact-enquiry-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;cursor:pointer;list-style:none}
.contact-enquiry-disclosure>summary::-webkit-details-marker{display:none}
.contact-enquiry-disclosure>summary strong{display:block;font-size:1.25rem;line-height:1.4}
.contact-enquiry-hint{display:block;font-size:.95rem;margin-top:.2rem}
.contact-enquiry-disclosure>summary::after{content:'+';font-size:1.75rem;line-height:1;flex-shrink:0}
.contact-enquiry-disclosure[open]>summary::after{content:'−'}
.contact-enquiry-disclosure>summary:focus-visible{outline:3px solid var(--link);outline-offset:3px}
.contact-enquiry-content{padding:1.5rem;border-top:1px solid var(--rule)}
@media(max-width:760px){.contact-enquiry-disclosure>summary,.contact-enquiry-content{padding:1rem}}

/* Keep the testing introduction directly on the existing faded photograph. */
.service-hero-mould-testing .service-hero-copy>.lede,.service-hero-mould-testing .service-hero-copy>.mt-hero-attention{max-width:46ch;color:var(--ink)}
.mt-card-total{font-size:.95rem;line-height:1.5;color:var(--ink)}
.site-footer .footer-base span a,.site-footer .footer-email a{display:inline;font:inherit;padding:0;min-height:0}

/* Dedicated paid assessment enquiry: reuse the existing review form. */
.paid-assessment-enquiry{max-width:900px;padding-bottom:3rem}
.paid-assessment-enquiry .page-hero{padding-block:1.5rem}
.paid-assessment-enquiry .page-hero h1{max-width:none;font-size:clamp(1.8rem,3vw,2.4rem)}
.paid-assessment-enquiry .page-hero .lede{font-size:1.1rem}
.paid-assessment-enquiry .assessment-enquiry-form{padding-top:0}
.assessment-visit-details{margin:0 0 1.5rem;border-block:1px solid var(--rule);padding:.75rem 0}
.assessment-visit-details>summary{cursor:pointer;font-weight:500;min-height:44px;padding:.5rem 0}
.assessment-visit-details[open]>summary{margin-bottom:1rem}

/* Eight homepage services: complete three rows without an empty grid cell. */
@media(min-width:1101px){.service-image-grid>a:nth-child(4){grid-column:span 2}}
#services{scroll-margin-top:140px}
@media(max-width:760px){#services{scroll-margin-top:170px}}


/* Service-card titles use one size, including the lead DIY card. */
.service-image-grid>a:first-child .service-image-title{font-size:1.15rem}

/* Keep property management first, with mould services on the second line. */
.service-image-grid>a[href="/property-management-services/"] .service-image-title{display:block}
.service-image-grid>a[href="/property-management-services/"] .service-image-title>span{display:block;white-space:nowrap}
.service-image-grid>a[href="/property-management-services/"] .service-image-title::after{position:absolute;right:0;bottom:0}

#home-mould-assessments .home-assessment-gst,#home-mould-testing .home-kit-gst{font-size:.8rem;font-weight:400}

/* Two compact homepage offers bring the service gallery closer to the hero. */
.home-feature-pair{padding:32px 0;background:var(--page)}
.home-feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.home-feature-grid>article{min-width:0;display:flex;flex-direction:column;padding:28px;background:var(--paper);border:1px solid #c5d1bf;border-radius:8px}
.home-feature-pair h2{font-size:clamp(24px,2.2vw,30px);line-height:1.2;margin:0 0 18px;max-width:none}
.home-feature-pair .home-testing-action{margin-top:auto}
.home-feature-pair .home-testing-action>p:first-child{margin:0 0 12px}
.home-feature-pair+#services{padding-top:36px}
#home-mould-assessments,#home-mould-testing{scroll-margin-top:140px}
#assessment-context-title{scroll-margin-top:160px}
@media(max-width:760px){#assessment-context-title{scroll-margin-top:190px}}
@media(max-width:760px){
 .home-feature-pair{padding:0 0 36px}
 .home-feature-grid{grid-template-columns:1fr;gap:18px}
 .home-feature-grid>article{padding:22px 20px}
 .home-feature-pair h2{font-size:25px;margin-bottom:14px}
 #home-mould-assessments,#home-mould-testing{scroll-margin-top:170px}
}

.home-feature-share-row{display:flex;justify-content:flex-end;margin:-10px 0 6px;min-height:44px}
.home-feature-share-row .home-testing-share{padding:8px}

.home-hero-audience{max-width:46ch;margin:1.25rem 0 0;font-size:1.05rem;line-height:1.6}

/* Homepage: distinguish free quotations from paid reports; keep insurance visible. */
#understand-the-problem .home-report-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
#understand-the-problem .home-report-options>.price-card,#understand-the-problem .home-report-options>.price-card:first-child{grid-row:auto;display:flex;flex-direction:column;padding:2rem;gap:0}
#understand-the-problem .home-report-options .report-copy,#understand-the-problem .home-report-options>.price-card:first-child .report-copy{display:contents}
#understand-the-problem .home-report-options>.price-card:first-child .report-labels{flex-direction:row;justify-content:flex-start}
#understand-the-problem .home-report-options h3,#understand-the-problem .home-report-options>.price-card:first-child h3{font-size:1.75rem;max-width:none}
#understand-the-problem .home-report-options .report-intro{font-size:1rem;margin-bottom:1rem}
#understand-the-problem .home-report-options .report-inclusions,#understand-the-problem .home-report-options>.price-card:first-child .report-inclusions{order:1;border:0;padding:0;margin:0 0 1.5rem;width:100%}
#understand-the-problem .home-report-options .report-inclusions li,#understand-the-problem .home-report-options>.price-card:first-child .report-inclusions li{padding:.65rem 0 .65rem 1.25rem;border-bottom:1px solid var(--rule);margin:0}
#understand-the-problem .home-report-options .report-inclusions li::before{top:.65rem}
#understand-the-problem .home-report-options .button{order:3;width:100%;margin-top:auto}
#understand-the-problem .home-report-price{order:2;margin:0 0 1rem;font-size:.95rem;line-height:1.5}
.home-report-price .home-report-gst{font-size:.8rem;font-weight:400}
.home-insurance-panel{display:flex;align-items:center;gap:2rem;margin:1.5rem 0;padding:2rem;background:#EAF0E5;border-left:5px solid var(--action)}
.home-insurance-panel>div{flex:1;min-width:0}
.home-insurance-panel h3{font-size:2rem;margin:0 0 .75rem}
.home-insurance-panel p{max-width:68ch;margin:0 0 .75rem}
.home-insurance-panel .fine{margin-bottom:0}
.home-insurance-panel>.button{flex-shrink:0}
@media(max-width:760px){#understand-the-problem .home-report-options{grid-template-columns:1fr}#understand-the-problem .home-report-options>.price-card,#understand-the-problem .home-report-options>.price-card:first-child{padding:1.5rem}.home-insurance-panel{flex-direction:column;align-items:stretch;gap:1rem;padding:1.5rem}.home-insurance-panel h3{font-size:1.75rem}.home-insurance-panel>.button{width:100%}}

/* Match checklist accents and separators on both homepage quote cards. */
#understand-the-problem .home-report-options .report-inclusions li::before,#understand-the-problem .home-report-options>.price-card:first-child .report-inclusions li::before{color:var(--action)}
#understand-the-problem .home-report-options>.price-card:first-child .report-inclusions li{border-bottom:1px solid #BFCAB3}

#understand-the-problem .home-report-options>.price-card .report-labels .price{background:#293A32;color:#fff}

/* Match the assessment hero's lighter supporting statement and gold rule. */
.service-hero-mould-testing .mt-hero-statement{margin:18px 0;padding-left:18px;border-left:3px solid #c39a4e;max-width:44ch;color:#293536}
.service-hero-mould-testing .mt-hero-statement>.lede{font-size:20px;line-height:1.5;font-weight:400;margin:0 0 9px}
.service-hero-mould-testing .mt-hero-statement>p:last-child{font-size:16px;line-height:1.5;font-weight:400;margin:0}
.service-hero-mould-testing .mt-hero-attention{font-weight:400}

/* Owner-approved secondary service heading in the homepage hero. */
.hero .home-hero-services{margin:0 0 .75rem;max-width:40ch;color:#1c1c1c;font-size:clamp(1.2rem,1.8vw,1.5rem);font-weight:600;line-height:1.4;letter-spacing:-.015em;text-wrap:balance}
.hero .home-hero-repairs{margin:0 0 1.35rem;max-width:48ch;color:var(--ink);font-size:1.1rem;font-weight:600;line-height:1.6}
.hero .home-hero-nowrap{white-space:nowrap}

/* Establish the enquirer's role before opening the rest of the form. */
.enquiry-role-picker{border:0;padding:0;margin:0 0 12px;min-width:0}
.enquiry-role-picker legend{font-size:20px;font-weight:600;line-height:1.35;padding:0;margin-bottom:6px}
.enquiry-role-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.enquiry-role-choices label{display:flex;align-items:center;gap:10px;min-height:52px;padding:12px;border:1px solid var(--control-border);border-radius:4px;background:var(--page);font-size:16px;font-weight:500;cursor:pointer}
.enquiry-role-choices input{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:var(--authority)}
.enquiry-role-choices label:has(input:checked){background:var(--paper);border-color:var(--authority);box-shadow:inset 0 0 0 1px var(--authority)}
.enquiry-role-choices label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:3px}
@media(max-width:760px){.enquiry-role-choices{grid-template-columns:1fr}}
#enquirer-other-field{margin:16px 0 0}
#enquirer-agency-fields{margin:16px 0 0}
#enquirer-agency-fields .field{margin-bottom:0}
#enquirer-agency-fields .enquiry-agency-address{grid-column:1/-1}
.enquiry-details{border:0;padding:0;margin:0;min-width:0}
.enquiry-details>.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.enquiry-details:disabled{opacity:.45;filter:grayscale(1)}

/* Compact enquiry fields on a light blue form panel. */
.enquiry-card,.enquiry-columns .enquiry-card{background:#eaf2f8;border-color:#bfd0de;border-top-color:#507088}
.enquiry-card .field{margin-bottom:1rem}
.enquiry-card .field label{margin-bottom:.3rem}
.enquiry-card .field input:not([type=checkbox]):not([type=radio]):not([type=file]),.enquiry-card .field select{height:44px;min-height:44px;padding:.4rem .75rem;line-height:1.4}
.enquiry-card .field input,.enquiry-card .field select,.enquiry-card .field textarea,.enquiry-card .enquiry-role-choices label{background:#fff}
.enquiry-card .field textarea{padding:.5rem .75rem;line-height:1.5}
.enquiry-card #description{min-height:100px}
.enquiry-card #access{height:64px}
.enquiry-card .form-row{gap:0 .875rem}
.enquiry-card #enquirer-agency-fields{row-gap:.875rem}
.enquiry-card .enquiry-preview-note{margin-bottom:1.25rem;padding-bottom:.75rem}
.enquiry-card .enquiry-role-choices label:has(input:checked){background:#dbe9f3}

/* Match the enquiry requester choices in the mould-kit application. */
.mt-paper-form #mt-requester{padding:0;margin:1.25rem 0}
.mt-paper-form #mt-requester .enquiry-role-choices label{display:flex;font-size:16px;margin:0}
.mt-paper-form #mt-requester input[type=radio]{width:18px;height:18px;min-height:18px;padding:0;margin:0;flex:0 0 18px}
.mt-paper-form #mt-requester-agency-fields{margin-top:1rem;padding-bottom:0}
.mt-paper-form #mt-requester-other-field{margin-top:1rem}
.mt-paper-form .mt-requester-details{border:0;padding:0;margin:0;min-width:0}
.mt-paper-form .mt-requester-details:disabled{opacity:.45;filter:grayscale(1)}

/* Shared payment marks: cards, wallets and Klarna; Afterpay is coming soon. */
.payment-methods{margin:14px 0 18px;max-width:100%}
.payment-methods-logos{display:flex;flex-wrap:wrap;align-items:center;gap:16px;max-width:100%;padding:8px 0}
.payment-brand{display:flex;align-items:center;justify-content:center;flex:none;height:30px;padding:0}
.payment-brand img{display:block;flex:none;object-fit:contain;width:auto;height:30px;margin:0;max-width:none}
.payment-brand-visa,.payment-brand-mastercard{width:47.5px}
.payment-brand-apple-pay{width:46.86px}
/* Size the slot to the visible mark; retain Google's supplied SVG clear space. */
.payment-brand-google-pay{width:56.4px}
.payment-brand-google-pay img{width:82.05px;height:55.65px}
.payment-brand-afterpay{width:86.2px}
.payment-brand-klarna{width:71.33px}
.payment-methods .payment-methods-note{font-size:12px;font-weight:400;line-height:1.4;color:var(--ink-2,#526052);margin:6px 0 0}
.home-feature-pair .payment-methods{margin:0 0 16px}
.ka-background-hero .payment-methods{margin:12px 0 10px}

/* Non-clickable payment marks accompany offers and application endings. */
.site-footer .footer-payment-methods{margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}
.site-footer .footer-payment-methods .payment-methods-note{color:#e1e8df}
#understand-the-problem .home-report-options .payment-methods{order:2;margin:0 0 16px}
.pm-offer-card>.payment-methods{margin:10px 0 0}
.pm-testing-action{flex:none;max-width:100%}
.pm-testing-action>a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;line-height:1.4}
.pm-testing-action .payment-methods{margin:0 0 8px}
#enquiry-form>.payment-methods{margin:20px 0 0}
.service-image-grid>.service-payment-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--ink)}
.service-image-grid>.service-payment-card:first-child{grid-column:span 2;grid-row:auto}
.service-payment-card:first-child>a{flex:none;aspect-ratio:1672/941}
.service-payment-card>a{position:relative;display:block;flex:1;min-height:0;text-decoration:none;color:#fff}
.service-payment-card>a:focus-visible{outline:3px solid var(--link);outline-offset:-3px}
.service-payment-card>a:hover .service-image-media img{transform:scale(1.035)}
.service-payment-card>.payment-methods{flex:none;margin:0;padding:9px 12px;background:var(--paper,#faf8f2)}
.service-payment-card .payment-methods-logos{gap:12px;padding:6px 0}
.service-payment-card .payment-brand{height:24px}
.service-payment-card .payment-brand-visa,.service-payment-card .payment-brand-mastercard{width:38px}
.service-payment-card .payment-brand-apple-pay{width:37.49px}
.service-payment-card .payment-brand-google-pay{width:45.12px}
.service-payment-card .payment-brand-afterpay{width:68.96px}
.service-payment-card .payment-brand-klarna{width:57.06px}
.service-image-grid .payment-brand img{width:auto;height:24px;object-fit:contain;transform:none;transition:none}
.service-image-grid .payment-brand-google-pay img{width:65.64px;height:44.52px}
.service-payment-card .payment-methods-note{font-size:10px;margin-top:4px}
.service-payment-card:first-child .service-image-media img{object-position:58% center}
@media(max-width:1100px){.service-image-grid>.service-payment-card:first-child{grid-column:auto;grid-row:auto}}
@media(prefers-reduced-motion:reduce){.service-payment-card>a:hover .service-image-media img{transform:none}}

.hero .hero-contact-actions>.payment-methods{flex:0 0 100%;margin:0}
@media(max-width:760px){.hero .hero-contact-actions>.payment-methods{flex:none;width:100%}}

.pm-testing-offer .payment-methods p.payment-methods-note{font-size:12px;line-height:1.4;margin:6px 0 0}

.ka-insurance-payments{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px 48px;margin:24px 0}
.ka-insurance-payments .ka-payment-title{font-size:16px;font-weight:600;line-height:1.4;margin:0 0 6px}
.ka-insurance-bnpl-group{max-width:340px}
@media(max-width:760px){.ka-insurance-payments{flex-direction:column;gap:20px}.ka-insurance-bnpl-group{max-width:100%}}

/* A dedicated homepage section keeps instalments separate from digital wallets. */
.home-bnpl{background:var(--pale,#EAF0E5);scroll-margin-top:160px}
.home-bnpl-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);align-items:center;gap:40px}
.home-bnpl-intro h2{font-size:clamp(30px,3.1vw,42px);line-height:1.15;margin:0 0 16px;max-width:none}
.home-bnpl-lede{font-size:20px;line-height:1.5;max-width:30ch;margin:0 0 24px}
.home-bnpl-intro .actions{gap:12px}
.home-bnpl-intro .button{font-size:15px}
.home-bnpl-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.home-bnpl-provider{min-width:0;padding:24px;background:var(--paper,#FAF8F2);border:1px solid #c5d1bf;border-radius:10px}
.home-bnpl-brand{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px}
.home-bnpl-brand img{display:block;width:auto;height:40px;max-width:100%;object-fit:contain;margin:0}
.home-bnpl-status{display:inline-block;padding:4px 9px;border-radius:20px;background:var(--forest,#1C2E24);color:#fff;font-size:12px;line-height:1.4;white-space:nowrap}
.home-bnpl-pending .home-bnpl-status{background:#e9e2d5;color:var(--ink,#293536)}
.home-bnpl-provider h3{font-size:20px;line-height:1.3;max-width:none;margin:0 0 12px}
.home-bnpl-provider p{font-size:16px;line-height:1.5;margin:0 0 14px}
.home-bnpl-provider p.fine{font-size:13px;line-height:1.5;color:var(--ink-2,#526052);margin-bottom:0}
@media(max-width:1100px){.home-bnpl-layout{grid-template-columns:1fr;gap:28px}.home-bnpl-lede{max-width:45ch}}
@media(max-width:760px){.home-bnpl{padding-block:36px}.home-bnpl-options{grid-template-columns:1fr;gap:16px}.home-bnpl-provider{padding:22px}.home-bnpl-intro .actions{display:grid;grid-template-columns:1fr}.home-bnpl-intro .button{width:100%}}

/* Keep the three property-manager prices aligned when only one has payment marks. */
@supports(grid-template-rows:subgrid){
 @media(min-width:901px){
  .pm-offer-grid{row-gap:0}
  .pm-offer-grid>.pm-offer-card{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0;align-items:start}
  .pm-offer-grid>.pm-offer-card>h3{grid-row:1}
  .pm-offer-grid>.pm-offer-card>p:not(.pm-offer-price){grid-row:2}
  .pm-offer-grid>.pm-offer-card>.pm-offer-price{grid-row:3;margin-top:0}
  .pm-offer-grid>.pm-offer-card>.payment-methods{grid-row:4}
  .pm-offer-grid>.pm-offer-card>a{grid-row:5}
 }
}

/* Practical home guidance uses the approved website palette. */
.hh-source-note{margin:1.5rem 0;padding:1.2rem;background:#f5f6f0;border:1px solid #d3dcd1;border-radius:10px}
.hh-source-note h3{margin:0 0 .65rem;font-size:1.15rem;line-height:1.4}
.hh-source-note p{margin:0 0 .8rem}
.hh-source-note p:last-child{margin-bottom:0}
.hh-source-note .hh-source-local{padding-top:.8rem}
.hh-guidance{scroll-margin-top:160px}
.hh-guidance>div>h2{margin:0 0 .75rem}
.hh-topic{border-top:1px solid #cdd7ca;scroll-margin-top:160px}
.hh-topic:last-child{border-bottom:1px solid #cdd7ca}
.hh-topic>summary{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;min-height:64px;padding:1.1rem 0;list-style:none;cursor:pointer;font-size:1.2rem;font-weight:600;line-height:1.4}
.hh-topic>summary::-webkit-details-marker{display:none}
.hh-topic>summary::after{content:'+';font-size:27px;line-height:1;flex-shrink:0;color:#8b6a30}
.hh-topic[open]>summary::after{content:'−'}
.hh-topic>summary:focus-visible{outline:3px solid #c39a4e;outline-offset:3px}
.hh-topic-body{padding:0 0 1.5rem}
.hh-topic-body h3{font-size:1.1rem;line-height:1.4;margin:1rem 0 .5rem}
.hh-topic-body p{margin:0 0 .8rem}
.hh-sources{font-size:.85rem;line-height:1.6}
.hh-reference{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1.4rem;align-items:start;border-top:1px solid #d3dcd1;padding-top:1.2rem;margin-top:1.2rem}
.hh-reference figure{margin:0;min-width:0}
.hh-reference img{display:block;width:100%;height:auto;border-radius:8px}
.hh-reference figcaption{font-size:.8rem;line-height:1.5;margin-top:.5rem}
.hh-reference h3{margin-top:0}
@media(max-width:760px){.hh-source-note{padding:1rem}.hh-topic>summary{font-size:1.1rem}.hh-reference{grid-template-columns:1fr;gap:1rem}.hh-guidance,.hh-topic{scroll-margin-top:190px}}

/* Preview: edge-to-edge hero imagery with the original centred copy. */
body{container-type:inline-size;--hero-page-gutter:max(2.5rem,calc((100cqw - 72rem)/2))}
:root{--hero-edge-space:clamp(1.25rem,4vw,4rem)}
@media(max-width:960px){body{--hero-page-gutter:1.25rem}}
@media(max-width:760px){body{--hero-page-gutter:1rem}}
@media(min-width:701px){
 .masthead .header-row{width:calc(100% - 2 * var(--hero-edge-space));max-width:none}
}
@media(min-width:1101px){
 .hero-background::before{right:clamp(24px,3vw,48px);width:auto;aspect-ratio:1672/941;background-image:linear-gradient(to top,var(--page),transparent 110px),linear-gradient(to left,var(--page),transparent 70px),url('services/mould-and-moisture-1672.webp');background-size:100% 100%,100% 100%,auto 100%;background-position:center,center,right center}
}
@media(max-width:1100px){
 .hero-background .hero-intro{max-width:none;min-width:0}
 .hero-background .mobile-home-hero{width:100cqw;max-width:none;margin-inline:calc(50% - 50cqw);border-radius:0}
}
.service-hero-faded{overflow:visible}
@media(min-width:761px){
 .service-hero-faded .service-hero-image{right:calc(-1 * var(--hero-page-gutter));width:calc(86% + var(--hero-page-gutter))}
}
@media(max-width:760px){
 .service-hero-faded .service-hero-image{width:100cqw;max-width:none;margin-inline:calc(50% - 50cqw)}
 .service-hero-faded .service-hero-image figcaption{padding-inline:var(--hero-page-gutter)}
}

/* Shared breadcrumb rhythm across page-specific styles. */
body main .breadcrumb{font-size:.83rem;line-height:22px;padding-top:22px;margin-block:0}

/* Anchor hero labels and titles instead of centring different-length copy. */
body main :is(.service-hero.service-hero,.meth-hero.meth-hero,.page-hero.page-hero,.hero.hero) .eyebrow{font-size:11px;line-height:18px;letter-spacing:.12em;margin:0 0 12px}
body main :is(.service-hero.service-hero,.meth-hero.meth-hero,.page-hero.page-hero,.hero.hero) h1{margin-top:0}
@media(min-width:901px){
 body main .service-hero-faded.service-hero-faded{align-items:flex-start;padding-top:86px}
 body main .meth-hero.meth-hero{align-items:flex-start;padding-top:86px}
 body main .ka-background-hero.ka-background-hero{align-items:flex-start;padding-top:54px}
 body main .pm-hero.pm-hero.pm-hero{align-items:flex-start;padding-top:54px}
 body main .page-hero.page-hero:not(.service-hero){padding-top:86px}
 body main .hero-background .hero.hero{align-items:start;padding-top:130px}
}

/* Reserve the service breadcrumb/image gap on the homepage without a fake trail. */
@media(min-width:1101px){
 .hero-background{margin-top:76px}
 body main .hero-background .hero.hero{padding-top:54px}
}

/* Two equally sized service-summary lines beneath the homepage title. */
.hero .home-hero-service-list{max-width:none;margin-bottom:1.35rem;text-wrap:initial}
.home-hero-service-list>span{display:block}
.home-hero-service-list>span+span{margin-top:.25rem}
@media(min-width:1101px){.hero .home-hero-service-list{width:46rem;max-width:calc(100cqw - 2 * var(--hero-page-gutter))}}

.home-hero-service-list a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:var(--gold);border-radius:2px}
.home-hero-service-list a:hover{color:var(--link);text-decoration-color:currentColor}
.home-hero-service-list a:focus-visible{outline:2px solid var(--focus);outline-offset:4px}

/* Keep DIY and technician sampling choices together; share sits by the price. */
.service-hero-mould-testing .mt-price-line{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}
.service-hero-mould-testing .mt-hero-share-icon{position:static;margin-left:10px;vertical-align:middle;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;background:transparent;border:0;border-radius:50%;color:var(--link);cursor:pointer}
.service-hero-mould-testing .mt-hero-share-icon[hidden]{display:none}
.mt-hero-share-icon:hover{background:#eaf0e5}
.mt-hero-share-icon:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.service-hero-mould-testing .mt-actions{gap:10px 12px}
.service-hero-mould-testing .mt-actions>.button{font-size:14px;padding:12px 15px}
.service-hero-mould-testing .mt-actions>.kr-help-link{flex-basis:100%;margin:0}

/* Homepage: taller opening photograph directly beneath the header. */
@media(min-width:1101px){
 .hero-background{margin-top:0}
 .hero-background .hero{min-height:clamp(760px,54vw,1080px)}
 .hero-background::before{inset:0;width:100%;height:100%;aspect-ratio:auto;background-size:100% 100%,100% 100%,cover;background-position:center,center,center center;mask-image:linear-gradient(to right,transparent 8%,black 62%);-webkit-mask-image:linear-gradient(to right,transparent 8%,black 62%)}
 body main .hero-background .hero.hero{padding-top:130px}
}
@media(min-width:901px) and (max-width:1100px){body main .hero-background .hero.hero{padding-top:40px}}

/* Homepage photograph: clean lower edge, retaining the leftward blend. */
@media(min-width:1101px){
 .hero-background::before{background-image:url('services/mould-and-moisture-1672.webp');background-size:cover;background-position:center center}
}
@media(max-width:1100px){.hero-background .mobile-home-hero{mask-image:none;-webkit-mask-image:none}}

/* Continue the photograph's clean edge beneath the copy, as on assessments. */
@media(min-width:1101px){
 .hero-background::after{content:"";position:absolute;inset:auto var(--hero-page-gutter) 0;height:1px;background:#cdd7ca;pointer-events:none}
}

/* Mobile homepage: photo between the service eyebrow and main heading. */
@media(max-width:760px){
 .hero-background .hero-intro>.mobile-home-hero{margin-top:4px;margin-bottom:24px}
}

/* Keep desktop copy clear of the operator's hand and equipment. */
@media(min-width:1101px){
 .hero-background .hero-intro{width:min(34rem,calc(52cqw - var(--hero-page-gutter)));max-width:100%;min-width:0}
 .hero .home-hero-service-list{width:100%;max-width:100%}
 .home-hero-service-list a{display:inline-block}
}

/* Desktop and tablet service links use the same bullet treatment. */
@media(min-width:761px){
 .home-hero-service-list a{display:inline-flex;align-items:center}
 .home-hero-service-list a::before{content:"";flex:0 0 5px;width:5px;height:5px;margin-right:8px;border-radius:50%;background:currentColor}
 .home-hero-service-list>span>span[aria-hidden="true"]{display:none}
}

/* Six separate, finger-friendly service choices on phones. */
@media(max-width:760px){
 .home-hero-service-list>span{display:contents}
 .home-hero-service-list>span>span[aria-hidden="true"]{display:none}
 .home-hero-service-list a{display:flex;align-items:center;min-height:48px;padding:10px 0;margin-bottom:4px;line-height:1.4}
 .home-hero-service-list a::before{content:"";flex:0 0 5px;width:5px;height:5px;margin-right:12px;border-radius:50%;background:currentColor}
}

/* Keep the removal guidance accordion close to the pricing summary. */
.mould-removal-costs{padding-bottom:var(--space-topic)}
.mould-removal-costs>.mould-cost-summary{margin-bottom:0}
.mould-removal-costs .mould-price-cards:last-child{margin-bottom:0}

/* Mobile services: breadcrumb, eyebrow, photograph, then main heading. */
@media(max-width:760px){
 body main :is(.service-hero,.meth-hero).mobile-service-sequence.mobile-service-sequence{display:block;min-height:0;height:auto;padding:24px 0 32px;margin-top:0;overflow:visible}
 body main .ka-background-hero.mobile-service-sequence.mobile-service-sequence,
 body main .pm-hero.mobile-service-sequence.mobile-service-sequence{padding-inline:var(--hero-page-gutter)}
 body main .mobile-service-sequence .service-mobile-copy{display:block;position:relative;width:100%;max-width:none;margin:0}
 body main .mobile-service-sequence::after{display:none}
 body main .mobile-service-sequence :is(.service-hero-image,.meth-hero-photo){display:block;position:relative;inset:auto;order:initial;width:100cqw;max-width:none;height:auto;aspect-ratio:auto;margin:4px calc(50% - 50cqw) 24px;z-index:auto;overflow:visible}
 body main .mobile-service-sequence :is(.service-hero-image,.meth-hero-photo)::before{display:none}
 body main .mobile-service-sequence :is(.service-hero-image,.meth-hero-photo) picture{display:block;height:auto}
 body main .mobile-service-sequence :is(.service-hero-image,.meth-hero-photo) img{display:block;position:static;width:100%;max-width:100%;height:auto;object-fit:contain;mask-image:none;-webkit-mask-image:none;border-radius:0;margin:0}
 body main .mobile-service-sequence :is(.service-hero-image,.meth-hero-photo) figcaption{position:static;width:auto;max-width:none;margin:0;padding:8px var(--hero-page-gutter);background:transparent}
}

/* Match the testing page's existing laboratory accordion presentation. */
.mould-service-topics{margin-bottom:0}
.mould-service-topics+.home-quotes-insurance{padding-top:var(--space-topic)}
.mould-topic-cards{max-width:none}
.mould-topic-cards details{border-top:1px solid #cdd7ca;padding:0;scroll-margin-top:12rem}
.mould-topic-cards details:last-child{border-bottom:1px solid #cdd7ca}
.mould-topic-cards summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:18px 1.1rem;cursor:pointer;font-size:20px;font-weight:500;line-height:1.4}
.mould-topic-cards summary::-webkit-details-marker{display:none}
.mould-topic-cards summary::after{content:'+';font-size:28px;line-height:1;color:#8b6a30;flex-shrink:0}
.mould-topic-cards details[open]>summary::after{content:'−'}
.mould-topic-cards summary:focus-visible{outline:2px solid var(--green);outline-offset:-4px}
.mould-topic-body{padding:0 1.1rem 20px}
.mould-topic-cards details>p{margin-top:0;padding:0 1.1rem 20px}
.mould-topic-body>p:first-child{margin-top:0}
.mould-topic-body>p:last-child{margin-bottom:0}
@media(max-width:760px){.mould-topic-cards summary{font-size:18px;min-height:60px;gap:16px}}

/* One spacing rhythm for the removal page: adjoining half-gaps form one topic gap. */
.mould-removal-page{--page:#F7F8F9;--space-topic:5rem;--space-content:2.25rem;--space-heading:1.5rem;--space-label:.875rem;--section-rule-gutter:2.5rem}
.mould-removal-page main>.section{padding-block:calc(var(--space-topic)/2);background:var(--page)}
.mould-removal-page main>.section+.section{position:relative;padding-top:var(--space-topic)}
.mould-removal-page main>.section:has(+.section){padding-bottom:var(--space-topic)}
.mould-removal-page main>.section+.section::before{content:"";position:absolute;top:0;inset-inline:max(var(--section-rule-gutter),calc((100% - 72rem)/2));border-top:1px solid #D6DBDF;pointer-events:none}
.mould-removal-page main>.section+.section.shell::before{inset-inline:0}
/* A terminal accordion already provides the boundary; omit the next section rule. */
.mould-removal-page main>.section:has(>.mould-topic-cards:last-child,>.shell>.mould-topic-cards:last-child,>.prose>.mould-topic-cards:last-child,>.prose>details:last-child)+.section::before{content:none}
.mould-removal-page main .hh-source-note{background:var(--page)}
.mould-removal-page .mould-example-topic{margin-top:var(--space-topic)}
.mould-removal-page .content-layout{grid-template-columns:minmax(0,1fr)}
.mould-removal-page .content-layout>.prose{max-width:72ch}
.mould-removal-page #service-area{padding-bottom:var(--space-topic)}
.mould-removal-page #service-area .service-area-action{padding-top:var(--space-content)}
.mould-removal-page #service-area .service-area-map>div>p:last-of-type{margin-bottom:0}
.mould-removal-page main>.mould-removal-costs{padding-block:var(--space-topic)}
.mould-removal-page main>.mould-service-topics+.section{padding-top:var(--space-topic)}
.mould-removal-page main>.section> :last-child,
.mould-removal-page main>.section>.shell> :last-child,
.mould-removal-page .prose> :last-child{margin-bottom:0}
.mould-removal-page .mould-cost-summary>h2{margin-bottom:var(--space-content)}
.mould-removal-page .mould-price-cards{margin-block:0;grid-template-rows:1fr auto auto;row-gap:0}
.mould-removal-page .mould-price-cards>article{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
.mould-removal-page .mould-price-copy{min-width:0}
.mould-removal-page .mould-price-copy>:last-child{margin-bottom:0}
.mould-removal-page .mould-treatment-pricing .eyebrow{margin:0 0 .5rem;color:var(--gold-text)}
.mould-removal-page .mould-price-actions{padding-top:var(--space-content)}
.mould-removal-page .mould-price-actions>p{margin:0}
.mould-removal-page .mould-treatment-action{text-align:right}
.mould-removal-page .mould-price-footer{padding-top:1rem}
.mould-removal-page .mould-price-footer>p{margin:0}
.mould-removal-page .mould-price-cards>#laboratory-mould-testing{background:#fff;border:1px solid #d6dfd1;border-radius:12px}
.mould-removal-page #understand-the-problem .home-report-options{margin-block:var(--space-content) 0}
.mould-removal-page #understand-the-problem .home-report-options>.price-card:first-child{background:#fff}
.mould-removal-page #understand-the-problem .home-report-options>.price-card{border:1px solid #d6dfd1;border-top:3px solid #395e4a;border-radius:12px}
.mould-removal-page .home-insurance-panel{margin-block:var(--space-topic) 0;background:transparent}
.mould-removal-page .home-insurance-panel h3{margin-bottom:var(--space-heading)}
.mould-removal-page .home-insurance-panel p:not(:last-child){margin-bottom:1rem}
.mould-removal-page .prose>section{margin-block:0 var(--space-topic)}
.mould-removal-page .content-layout>.prose>.wall-mould-example+.wall-mould-example{border-top:1px solid #D6DBDF;padding-top:var(--space-topic)}
.mould-removal-page .prose>section:last-child{margin-bottom:0}
.mould-removal-page .prose :is(h2,h3){margin-bottom:var(--space-heading)}
.mould-removal-page .prose>h2:not(:first-child),
.mould-removal-page .readable>h3:not(:first-child){margin-top:var(--space-topic)}
.mould-removal-page .prose p{line-height:1.6}
.mould-removal-page .prose p:last-child{margin-bottom:0}
.mould-removal-page .mould-faq-group{margin-top:var(--space-content)}
.mould-removal-page .mould-faq-group>.eyebrow{color:var(--gold-text);margin-bottom:var(--space-label)}
.mould-removal-page .mould-topic-cards>.additional-examples{margin:0}
@media(max-width:960px){.mould-removal-page{--section-rule-gutter:1.25rem}}
@media(max-width:760px){.mould-removal-page{--space-topic:3.5rem;--space-content:1.75rem;--space-heading:1.375rem}}
@media(max-width:400px){.mould-removal-page{--section-rule-gutter:1rem}}
.service-area-coverage{--coverage-section-space:5rem;--coverage-action-space:2.25rem;position:relative;background:var(--page);padding-block:var(--coverage-section-space)}
.service-area-coverage::before{content:"";position:absolute;top:0;inset-inline:max(2.5rem,calc((100% - 72rem)/2));border-top:1px solid #D6DBDF;pointer-events:none}
.service-area-coverage .service-area-action{padding-top:var(--coverage-action-space)}
.service-area-coverage .service-area-map>div>p:last-of-type{margin-bottom:0}
@media(max-width:960px){.service-area-coverage::before{inset-inline:1.25rem}}
@media(max-width:760px){.service-area-coverage{--coverage-section-space:3.5rem;--coverage-action-space:1.75rem}}
@media(max-width:400px){.service-area-coverage::before{inset-inline:1rem}}
@media(max-width:900px){.mould-removal-page .mould-price-cards{grid-template-rows:none;row-gap:1.5rem}.mould-removal-page .mould-price-cards>article{display:block;grid-row:auto}.mould-removal-page .mould-price-footer:empty{display:none}}

/* Six equally styled homepage service links, in the owner's chosen order. */
.hero .home-hero-service-list{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;list-style:none;padding:0}
.home-hero-service-list>li{margin:0;padding:0;list-style:none}
.home-hero-service-list>li>a{display:flex;align-items:center;min-height:34px;padding:0;margin:0;line-height:1.4}
.home-hero-service-list>li>a::before{content:"";display:block;flex:0 0 5px;width:5px;height:5px;margin:0 12px 0 0;border-radius:50%;background:currentColor}
@media(max-width:760px){.home-hero-service-list>li>a{min-height:48px;padding:10px 0}}
