:root{
  --navy:#2a2521;--navy-2:#3b342e;--ink:#2d2925;--muted:#6c655e;
  --cream:#f4efe7;--paper:#fbfaf7;--white:#fff;--bronze:#c56f2a;--bronze-2:#e5a76e;
  --sage:#dfe7df;--line:rgba(42,37,33,.14);--line-dark:rgba(255,255,255,.16);
  --r-control:12px;--r-button:16px;--r-panel:22px;--r-image:28px;--r-hero:32px;--r-pill:999px;
  --shell:min(1240px,calc(100vw - 56px));--shadow:0 24px 70px rgba(42,37,33,.12);--ease:cubic-bezier(.2,.7,.2,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}
a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,select,textarea{font:inherit}.site-shell{width:var(--shell);margin:auto}.skip-link{position:fixed;left:16px;top:-80px;background:#fff;padding:12px 16px;border-radius:var(--r-control);z-index:9999}.skip-link:focus{top:16px}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:22px;height:1px;background:currentColor}.eyebrow.light{color:#efc6a6}.page-space{padding:clamp(76px,8vw,116px) 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-head p{max-width:470px}.section-head.center{display:block;text-align:center;max-width:760px;margin:0 auto 48px}.section-head.center p{margin-left:auto;margin-right:auto}.kicker{color:var(--bronze);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.muted{color:var(--muted)}
h1,h2,h3,h4{font-family:"Cal Sans",Inter,sans-serif;font-weight:400;letter-spacing:-.028em;line-height:1.04;color:var(--navy);margin:0}h1{font-size:clamp(3.2rem,5vw,5.2rem)}h2{font-size:clamp(2.35rem,3.8vw,4rem)}h3{font-size:clamp(1.45rem,2.1vw,2.15rem)}h4{font-size:1.2rem}p{margin:0 0 18px;color:var(--muted);font-size:1rem}.lead{font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.58}.small{font-size:.88rem}.caption{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.btn{min-height:52px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:var(--r-button);border:1px solid transparent;font-weight:700;font-size:.88rem;transition:.25s var(--ease);cursor:pointer}.btn.primary{background:var(--bronze);color:#fff}.btn.primary:hover{background:#9e5420;transform:translateY(-2px)}.btn.secondary{border-color:rgba(255,255,255,.46);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.btn.secondary:hover{background:#fff;color:var(--navy)}.btn.dark{background:var(--navy);color:#fff}.btn.dark:hover{background:var(--navy-2)}.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:.9rem;color:var(--navy);border-bottom:1px solid currentColor;padding-bottom:3px}.text-link.light{color:#fff}.pill{display:inline-flex;padding:8px 12px;border-radius:var(--r-pill);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.72rem;font-weight:600}

/* header */
.site-header{position:fixed;top:16px;left:0;right:0;z-index:1000}.header-bar{width:var(--shell);margin:auto;height:72px;border-radius:20px;background:rgba(255,255,255,.91);backdrop-filter:blur(18px);box-shadow:0 12px 40px rgba(42,37,33,.1);display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 20px;border:1px solid rgba(255,255,255,.58)}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:42px;height:42px;border-radius:14px;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:"Cal Sans";font-size:1.05rem;letter-spacing:.02em;position:relative;overflow:hidden}.brand-mark:after{content:"";position:absolute;width:28px;height:1px;background:var(--bronze-2);transform:rotate(-22deg)}.brand-copy strong{display:block;font-family:"Cal Sans";font-size:1.05rem;line-height:1}.brand-copy small{display:block;color:var(--muted);font-size:.57rem;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}.nav-wrap{display:flex;align-items:center;gap:26px}.main-nav{display:flex;align-items:center;gap:24px}.main-nav>a,.nav-drop>button{border:0;background:transparent;color:var(--navy);padding:25px 0;font-size:.82rem;font-weight:700;cursor:pointer}.main-nav>a.is-active{color:var(--bronze)}.nav-drop{position:relative}.nav-drop>button span{margin-left:5px}.mega-menu{position:absolute;right:-140px;top:62px;width:min(760px,72vw);display:grid;grid-template-columns:240px 1fr;background:#fff;padding:14px;border-radius:var(--r-panel);box-shadow:var(--shadow);border:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s var(--ease)}.nav-drop:hover .mega-menu,.nav-drop:focus-within .mega-menu{opacity:1;visibility:visible;transform:none}.mega-copy{background:var(--cream);padding:24px;border-radius:16px;display:flex;flex-direction:column;justify-content:space-between;min-height:290px}.mega-copy h3{font-size:1.55rem;margin:10px 0 14px}.mega-copy p{font-size:.84rem}.mega-links{padding:4px 8px}.mega-links a{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:13px 8px;border-bottom:1px solid var(--line);border-radius:10px;transition:.2s}.mega-links a:last-child{border-bottom:0}.mega-links a:hover{background:#f8f6f1}.mega-links b{color:var(--bronze);font-family:"Cal Sans";font-weight:400}.mega-links strong{display:block;font-size:.84rem}.mega-links small{display:block;color:var(--muted);font-size:.7rem}.header-cta{min-height:44px;padding:0 16px;border-radius:14px;background:var(--navy);color:#fff;display:inline-flex;align-items:center;gap:10px;font-size:.8rem;font-weight:700}.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;position:relative}.menu-toggle span{position:absolute;left:10px;right:10px;height:1.5px;background:var(--navy);transition:.2s}.menu-toggle span:first-child{top:17px}.menu-toggle span:last-child{top:27px}.menu-toggle.is-open span:first-child{top:22px;transform:rotate(45deg)}.menu-toggle.is-open span:last-child{top:22px;transform:rotate(-45deg)}

/* homepage hero */
.hero-wrap{padding:104px 0 0}.home-hero{width:var(--shell);margin:auto;min-height:720px;border-radius:var(--r-hero);overflow:hidden;position:relative;background-image:linear-gradient(90deg,rgba(7,27,39,.9) 0%,rgba(7,27,39,.72) 45%,rgba(7,27,39,.22) 78%),url('https://images.pexels.com/photos/8293673/pexels-photo-8293673.jpeg?auto=compress&cs=tinysrgb&w=2200');background-size:cover;background-position:center 40%;color:#fff}.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,27,39,.5),transparent 48%)}.hero-inner{position:relative;z-index:2;min-height:720px;padding:88px 64px 48px;display:grid;align-content:end}.hero-copy{max-width:720px}.hero-copy h1{color:#fff;max-width:780px}.hero-copy h1 em{font-style:normal;color:#efc6a6}.hero-copy .lead{max-width:620px;color:rgba(255,255,255,.78);margin-top:22px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.hero-bottom{margin-top:52px;padding-top:20px;border-top:1px solid rgba(255,255,255,.19);display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:22px;align-items:end}.hero-bottom div{display:grid;gap:2px}.hero-bottom b{font-family:"Cal Sans";font-size:1.06rem;font-weight:400}.hero-bottom span{font-size:.72rem;color:rgba(255,255,255,.62)}.hero-bottom a{color:#fff;font-weight:700;font-size:.84rem}

/* editorial intro */
.intro-grid{display:grid;grid-template-columns:.7fr 1.35fr;gap:88px;align-items:start}.intro-note{padding-top:12px}.intro-note p{max-width:270px;margin-top:18px}.intro-copy h2{max-width:840px}.intro-copy-bottom{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:38px;max-width:820px}.intro-image-band{margin-top:54px;display:grid;grid-template-columns:1.3fr .7fr;gap:18px;align-items:stretch}.intro-image-band .img-lg{height:500px;border-radius:var(--r-image);overflow:hidden}.intro-image-band .img-sm{height:340px;border-radius:var(--r-image);overflow:hidden;align-self:end;position:relative}.image-note{position:absolute;left:14px;bottom:14px;background:rgba(42,37,33,.92);color:#fff;border-radius:16px;padding:16px 18px;max-width:250px}.image-note small{display:block;color:#efc6a6;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.image-note strong{display:block;font-family:"Cal Sans";font-size:1.1rem;font-weight:400;margin-top:5px}

/* service navigator */
.service-navigator{background:var(--navy);color:#fff}.service-nav-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:76px;align-items:start}.service-nav-copy{position:sticky;top:120px}.service-nav-copy h2{color:#fff;margin:14px 0 18px}.service-nav-copy p{color:rgba(255,255,255,.64);max-width:430px}.service-tabs{border-top:1px solid var(--line-dark)}.service-tab{display:grid;grid-template-columns:54px 1fr auto;gap:16px;align-items:center;width:100%;background:transparent;color:#fff;border:0;border-bottom:1px solid var(--line-dark);padding:20px 0;text-align:left;cursor:pointer}.service-tab .num{font-family:"Cal Sans";color:#efc6a6}.service-tab strong{display:block;font-family:"Cal Sans";font-size:1.35rem;font-weight:400}.service-tab small{display:block;color:rgba(255,255,255,.5);font-size:.72rem;margin-top:3px}.service-tab i{font-style:normal;font-size:1.15rem;transition:.2s}.service-tab.is-active i{transform:rotate(45deg)}.service-detail{display:none;padding:22px 0 32px;grid-template-columns:1.15fr .85fr;gap:26px}.service-detail.is-active{display:grid}.service-detail-media{height:310px;border-radius:var(--r-image);overflow:hidden}.service-detail-copy{align-self:end}.service-detail-copy p{color:rgba(255,255,255,.68);font-size:.92rem}.service-detail-copy .text-link{color:#fff}

/* survey level comparison */
.levels-grid{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.level{padding:30px 28px;position:relative}.level+ .level{border-left:1px solid var(--line)}.level .level-number{font-family:"Cal Sans";color:var(--bronze);font-size:1rem}.level h3{margin:18px 0 8px}.level p{font-size:.92rem}.level ul{list-style:none;padding:0;margin:18px 0 0}.level li{padding:10px 0;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}.level.featured:before{content:"Most commonly chosen";position:absolute;top:-15px;left:24px;background:var(--navy);color:#fff;padding:7px 10px;border-radius:var(--r-pill);font-size:.66rem;font-weight:700}

/* field story */
.field-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:74px;align-items:center}.field-media{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;min-height:620px}.field-media .tall{border-radius:var(--r-image);overflow:hidden}.field-media .stack{display:grid;gap:16px}.field-media .stack div{border-radius:var(--r-image);overflow:hidden}.field-copy h2{margin:14px 0 20px}.line-list{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--line)}.line-list li{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:.92rem}.line-list span{color:var(--bronze);font-family:"Cal Sans"}

/* specialist */
.specialist-wrap{display:grid;gap:22px}.specialist-row{display:grid;grid-template-columns:1fr 1fr;min-height:520px;background:var(--cream);border-radius:var(--r-hero);overflow:hidden}.specialist-row.reverse .specialist-media{order:2}.specialist-media{min-height:520px}.specialist-copy{padding:clamp(42px,6vw,78px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.specialist-copy h2{margin:12px 0 18px;max-width:470px}.specialist-copy p{max-width:470px}.specialist-row.dark{background:var(--navy);color:#fff}.specialist-row.dark h2{color:#fff}.specialist-row.dark p{color:rgba(255,255,255,.68)}.specialist-row.dark .text-link{color:#fff}

/* process */
.process-flow{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:40px}.process-step{padding:28px 24px 0 0;position:relative}.process-step:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--bronze);position:absolute;top:-5px;left:0}.process-step b{font-family:"Cal Sans";color:var(--bronze);font-weight:400}.process-step h3{font-size:1.45rem;margin:18px 0 10px}.process-step p{font-size:.88rem;max-width:240px}

/* CTA */
.cta-panel{width:var(--shell);margin:0 auto 70px;min-height:500px;border-radius:var(--r-hero);overflow:hidden;background:linear-gradient(90deg,rgba(8,28,40,.92),rgba(8,28,40,.56),rgba(8,28,40,.12)),url('https://images.pexels.com/photos/3639504/pexels-photo-3639504.jpeg?auto=compress&cs=tinysrgb&w=1800');background-size:cover;background-position:center;display:grid;align-items:center}.cta-copy{padding:64px;max-width:700px;color:#fff}.cta-copy h2{color:#fff;margin:14px 0 18px}.cta-copy p{color:rgba(255,255,255,.72);max-width:560px}.cta-copy .btn{margin-top:12px}

/* internal hero */
.inner-top{padding:104px 0 0}.inner-hero{width:var(--shell);margin:auto;min-height:560px;border-radius:var(--r-hero);overflow:hidden;position:relative;background-size:cover;background-position:center}.inner-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,25,36,.89),rgba(6,25,36,.54),rgba(6,25,36,.08))}.inner-hero-content{position:relative;z-index:2;min-height:560px;padding:72px 64px 48px;display:flex;flex-direction:column;justify-content:flex-end;max-width:790px;color:#fff}.inner-hero h1{color:#fff}.inner-hero p{color:rgba(255,255,255,.75);max-width:620px;margin-top:18px}.inner-hero .meta-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}

/* services page */
.service-ledger{border-top:1px solid var(--line)}.service-ledger a{display:grid;grid-template-columns:54px 1.1fr 1.2fr auto;gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:.2s}.service-ledger a:hover{padding-left:10px}.service-ledger .no{font-family:"Cal Sans";color:var(--bronze)}.service-ledger h3{font-size:1.55rem}.service-ledger p{margin:0;font-size:.84rem}.service-ledger .arrow{font-size:1.1rem}.comparison-wrap{overflow:auto;border-radius:var(--r-panel);border:1px solid var(--line);background:#fff}.comparison-table{min-width:820px}.comparison-row{display:grid;grid-template-columns:1.2fr repeat(3,1fr)}.comparison-row>*{padding:16px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.85rem}.comparison-row>*:last-child{border-right:0}.comparison-row.header>*{background:var(--navy);color:#fff;font-weight:700}.comparison-row:last-child>*{border-bottom:0}

/* about */
.manifesto{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.manifesto h2{max-width:760px}.manifesto p{max-width:620px}.photo-story{display:grid;grid-template-columns:1.18fr .82fr;gap:18px;margin-top:44px}.photo-story .large{height:600px;border-radius:var(--r-image);overflow:hidden}.photo-story .side{display:grid;gap:18px}.photo-story .side div{border-radius:var(--r-image);overflow:hidden}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.principle{padding:28px 26px}.principle+.principle{border-left:1px solid var(--line)}.principle b{font-family:"Cal Sans";color:var(--bronze);font-weight:400}.principle h3{margin:16px 0 10px;font-size:1.55rem}.principle p{font-size:.88rem}

/* service detail */
.detail-intro{display:grid;grid-template-columns:.75fr 1.25fr;gap:76px}.detail-intro h2{max-width:760px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}.suitability{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}.suitability-media{border-radius:var(--r-image);overflow:hidden;min-height:540px}.suitability-copy{background:var(--cream);border-radius:var(--r-image);padding:48px;display:flex;flex-direction:column;justify-content:center}.suitability-copy h2{margin:12px 0 18px}.tick-list{list-style:none;padding:0;margin:18px 0 0;border-top:1px solid var(--line)}.tick-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}.condition-scale{display:grid;gap:12px;margin-top:22px}.condition-item{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:center}.condition-item b{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-family:"Cal Sans";background:var(--navy);color:#fff}.condition-item:nth-child(2) b{background:var(--bronze)}.condition-item:nth-child(3) b{background:#8b473b}.condition-item p{margin:0;font-size:.86rem}.technical-frame{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.technical-image{height:620px;border-radius:var(--r-image);overflow:hidden;position:relative}.technical-note{position:absolute;left:18px;bottom:18px;right:18px;background:rgba(42,37,33,.92);color:#fff;border-radius:18px;padding:18px}.technical-note p{color:rgba(255,255,255,.67);font-size:.82rem;margin:6px 0 0}.technical-side{display:grid;gap:18px}.technical-side article{background:var(--cream);border-radius:var(--r-panel);padding:28px}.technical-side h3{font-size:1.35rem;margin-bottom:8px}.technical-side p{font-size:.86rem}

/* damp */
.diagnostic-flow{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.diagnostic-media{height:620px;border-radius:var(--r-image);overflow:hidden}.diagnostic-list{border-top:1px solid var(--line)}.diagnostic-list article{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.diagnostic-list b{font-family:"Cal Sans";color:var(--bronze);font-weight:400}.diagnostic-list h3{font-size:1.4rem}.diagnostic-list p{font-size:.86rem;margin:7px 0 0}

/* epc */
.energy-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.energy-photo{height:590px;border-radius:var(--r-image);overflow:hidden}.epc-scale{display:grid;gap:6px;margin:26px 0}.epc-band{height:40px;border-radius:10px;display:flex;align-items:center;padding:0 14px;color:#17321f;font-weight:800;font-size:.82rem}.epc-band:nth-child(1){width:64%;background:#4faa65}.epc-band:nth-child(2){width:70%;background:#75bc63}.epc-band:nth-child(3){width:76%;background:#bdd25d}.epc-band:nth-child(4){width:82%;background:#f2dd62}.epc-band:nth-child(5){width:88%;background:#efb857}.epc-band:nth-child(6){width:94%;background:#e57e4d;color:#fff}.epc-band:nth-child(7){width:100%;background:#c34d45;color:#fff}

/* contact */
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px;align-items:start}.contact-aside{position:sticky;top:120px}.contact-aside h2{margin:12px 0 18px}.contact-aside .contact-lines{margin-top:30px;border-top:1px solid var(--line)}.contact-aside .contact-lines p{padding:14px 0;border-bottom:1px solid var(--line);margin:0;font-size:.86rem}.form-shell{background:#fff;border:1px solid var(--line);border-radius:var(--r-image);padding:34px;box-shadow:0 14px 44px rgba(42,37,33,.06)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.78rem;font-weight:700;color:var(--navy)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fcfbf8;border-radius:14px;padding:13px 14px;outline:0;color:var(--ink)}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--bronze);box-shadow:0 0 0 3px rgba(185,120,70,.12)}.form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:6px}.form-status{font-size:.82rem;color:var(--navy);margin:0}

/* quote */
.quote-page{min-height:100vh;background:var(--navy);display:grid;grid-template-columns:.88fr 1.12fr}.quote-story{min-height:100vh;padding:44px;position:sticky;top:0;height:100vh;background:linear-gradient(0deg,rgba(5,24,35,.82),rgba(5,24,35,.25)),url('https://images.pexels.com/photos/5363276/pexels-photo-5363276.jpeg?auto=compress&cs=tinysrgb&w=1800');background-size:cover;background-position:center;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.quote-story .brand-mark{background:#fff;color:var(--navy)}.quote-story h1{color:#fff;font-size:clamp(2.8rem,4.5vw,4.6rem);max-width:620px}.quote-story p{color:rgba(255,255,255,.74);max-width:480px}.quote-panel{background:var(--paper);min-height:100vh;padding:58px clamp(24px,6vw,82px)}.quote-close{display:inline-flex;margin-left:auto;margin-bottom:40px;font-weight:700;font-size:.85rem}.quote-progress{display:flex;gap:8px;margin:0 0 30px}.quote-progress span{height:5px;flex:1;background:#dfddd6;border-radius:var(--r-pill)}.quote-progress span.is-active,.quote-progress span.is-done{background:var(--bronze)}.quote-step{display:none}.quote-step.is-active{display:block}.quote-step h2{font-size:clamp(2rem,3.2vw,3rem);margin-bottom:10px}.quote-step>p{max-width:620px}.quote-nav{display:flex;gap:10px;justify-content:space-between;margin-top:28px}.quote-nav .btn:not(.dark):not(.primary){border-color:var(--line);background:#fff;color:var(--navy)}.quote-success{padding:34px;border-radius:var(--r-panel);background:var(--cream)}.quote-success h2{margin-bottom:10px}

/* footer */
.site-footer{background:#211e1b;color:#fff;padding:70px 0 28px}.footer-top{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;padding-bottom:44px;border-bottom:1px solid var(--line-dark)}.footer-top h2{color:#fff;max-width:630px;font-size:clamp(2.2rem,3.3vw,3.3rem)}.footer-top .btn{justify-self:end;align-self:end}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:40px;padding:42px 0}.footer-grid p{color:rgba(255,255,255,.56);font-size:.84rem;max-width:310px}.footer-grid strong{display:block;font-size:.78rem;margin-bottom:12px}.footer-grid a{display:block;color:rgba(255,255,255,.66);font-size:.82rem;padding:4px 0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid var(--line-dark);color:rgba(255,255,255,.46);font-size:.72rem}.mobile-quote{display:none}

/* reveal: visible by default so content remains usable if JavaScript is unavailable. */
.reveal{opacity:1;transform:none}.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1050px){:root{--shell:min(100% - 36px,1240px)}.main-nav{gap:14px}.nav-wrap{gap:14px}.brand-copy small{display:none}.header-cta{display:inline-flex;min-height:42px;padding:0 12px;font-size:.74rem}.hero-inner{padding:76px 42px 42px}.hero-bottom{grid-template-columns:1fr 1fr 1fr}.hero-bottom a{grid-column:1/-1}.intro-grid,.service-nav-grid,.field-grid,.manifesto,.detail-intro,.diagnostic-flow,.energy-layout,.contact-layout{gap:48px}.photo-story .large{height:520px}.technical-frame{grid-template-columns:1fr}.technical-side{grid-template-columns:1fr 1fr}.contact-aside{position:static}}
@media(max-width:860px){:root{--shell:calc(100vw - 28px)}body{padding-bottom:68px}.site-header{top:10px}.header-bar{height:64px;border-radius:18px;padding:0 10px 0 14px}.brand-copy small{display:none}.menu-toggle{display:block}.nav-wrap{position:fixed;inset:0 0 0 auto;width:min(88vw,410px);height:100dvh;background:var(--paper);padding:92px 22px 28px;display:block;transform:translateX(105%);transition:.28s var(--ease);overflow:auto}.nav-wrap.is-open{transform:none}.main-nav{display:grid}.main-nav>a,.nav-drop>button{padding:16px 0;border-bottom:1px solid var(--line);font-family:"Cal Sans";font-size:1.35rem;text-align:left;width:100%}.nav-drop>button{display:flex;justify-content:space-between}.mega-menu{position:static;width:100%;display:none;grid-template-columns:1fr;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0;margin-top:4px}.nav-drop.is-open .mega-menu{display:grid}.mega-copy{display:none}.mega-links{padding:0}.mega-links a{padding:12px 0}.nav-wrap .header-cta{display:inline-flex;margin-top:22px}.hero-wrap,.inner-top{padding-top:88px}.home-hero{min-height:690px}.hero-inner{min-height:690px;padding:64px 26px 28px}.hero-bottom{grid-template-columns:1fr 1fr}.hero-bottom div:nth-child(3){grid-column:1/-1}.intro-grid,.service-nav-grid,.field-grid,.manifesto,.detail-intro,.diagnostic-flow,.energy-layout,.contact-layout,.suitability{grid-template-columns:1fr}.intro-image-band{grid-template-columns:1fr .72fr}.service-nav-copy{position:static}.levels-grid{grid-template-columns:1fr}.level+.level{border-left:0;border-top:1px solid var(--line)}.field-media{min-height:500px}.specialist-row,.specialist-row.reverse{grid-template-columns:1fr}.specialist-row.reverse .specialist-media{order:0}.specialist-media{min-height:420px}.process-flow{grid-template-columns:1fr 1fr;row-gap:34px}.cta-copy{padding:44px 28px}.inner-hero,.inner-hero-content{min-height:520px}.inner-hero-content{padding:64px 30px 36px}.service-ledger a{grid-template-columns:44px 1fr auto}.service-ledger p{grid-column:2}.photo-story{grid-template-columns:1fr}.photo-story .large{height:460px}.photo-story .side{grid-template-columns:1fr 1fr}.photo-story .side div{height:260px}.principles{grid-template-columns:1fr}.principle+.principle{border-left:0;border-top:1px solid var(--line)}.detail-columns{grid-template-columns:1fr}.technical-side{grid-template-columns:1fr}.quote-page{grid-template-columns:1fr}.quote-story{position:relative;height:auto;min-height:520px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-top{grid-template-columns:1fr}.footer-top .btn{justify-self:start}.footer-grid{grid-template-columns:1fr 1fr}.mobile-quote{display:flex;position:fixed;left:10px;right:10px;bottom:8px;z-index:980;height:50px;border-radius:16px;background:var(--bronze);color:#fff;align-items:center;justify-content:space-between;padding:0 18px;font-weight:700;font-size:.82rem;box-shadow:0 10px 30px rgba(42,37,33,.18)}}
@media(max-width:560px){:root{--shell:calc(100vw - 24px)}.page-space{padding:68px 0}h1{font-size:3.15rem}h2{font-size:2.45rem}.hero-copy h1{font-size:3.55rem}.home-hero{min-height:700px;border-radius:26px}.hero-inner{min-height:700px;padding:54px 20px 24px}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-bottom{grid-template-columns:1fr 1fr;margin-top:36px;gap:16px}.intro-copy-bottom{grid-template-columns:1fr}.intro-image-band{grid-template-columns:1fr}.intro-image-band .img-lg{height:390px}.intro-image-band .img-sm{height:300px}.service-tab{grid-template-columns:42px 1fr auto}.service-detail.is-active{grid-template-columns:1fr}.service-detail-media{height:250px}.field-media{grid-template-columns:1fr;min-height:auto}.field-media .tall{height:400px}.field-media .stack{grid-template-columns:1fr 1fr}.field-media .stack div{height:190px}.specialist-media{min-height:360px}.specialist-copy{padding:38px 22px}.process-flow{grid-template-columns:1fr}.process-step{padding-right:0}.cta-panel{min-height:500px;border-radius:26px}.cta-copy{padding:34px 22px}.inner-hero{min-height:500px;border-radius:26px}.inner-hero-content{min-height:500px;padding:58px 22px 30px}.service-ledger a{grid-template-columns:36px 1fr auto;gap:12px}.photo-story .large{height:390px}.photo-story .side{grid-template-columns:1fr}.photo-story .side div{height:260px}.suitability-media,.diagnostic-media,.energy-photo{min-height:0;height:420px}.suitability-copy{padding:34px 24px}.technical-image{height:480px}.contact-layout{gap:32px}.form-shell{padding:22px}.form-actions{display:grid;justify-content:stretch}.form-actions .btn{width:100%}.quote-story{padding:28px 22px;min-height:480px}.quote-panel{padding:42px 20px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:grid;gap:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* =========================================================
   V4 — CONTENT DEPTH + TRANSPARENT HEADER + IMAGE QA
   ========================================================= */

/* Transparent header sits inside the hero at page load, then resolves to a
   readable solid navigation state once the visitor scrolls. */
.hero-wrap,.inner-top{padding-top:16px}
.site-header .header-bar{background:rgba(10,31,44,.08);border-color:rgba(255,255,255,.2);box-shadow:none;backdrop-filter:blur(14px);transition:background .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.site-header:not(.is-scrolled) .brand-mark{background:#fff;color:var(--navy)}
.site-header:not(.is-scrolled) .brand-copy strong{color:#fff}
.site-header:not(.is-scrolled) .brand-copy small{color:rgba(255,255,255,.66)}
.site-header:not(.is-scrolled) .main-nav>a,.site-header:not(.is-scrolled) .nav-drop>button{color:#fff}
.site-header:not(.is-scrolled) .main-nav>a.is-active{color:#efc6a6}
.site-header:not(.is-scrolled) .header-cta{background:#fff;color:var(--navy)}
.site-header:not(.is-scrolled) .menu-toggle span{background:#fff}
.site-header.is-scrolled .header-bar{background:rgba(255,255,255,.94);border-color:rgba(42,37,33,.08);box-shadow:0 12px 40px rgba(42,37,33,.1)}
.site-header.is-scrolled .brand-copy strong{color:var(--navy)}
.site-header.is-scrolled .brand-copy small{color:var(--muted)}
.site-header.is-scrolled .main-nav>a,.site-header.is-scrolled .nav-drop>button{color:var(--navy)}
.site-header.is-scrolled .main-nav>a.is-active{color:var(--bronze)}
.site-header.is-scrolled .menu-toggle span{background:var(--navy)}
.site-header.is-scrolled .header-cta{background:var(--navy);color:#fff}
.site-header .mega-menu{color:var(--ink)}
.site-header .mega-menu .eyebrow{color:var(--bronze)}
.site-header .mega-menu h3,.site-header .mega-menu strong,.site-header .mega-menu .text-link{color:var(--navy)}
.site-header .mega-menu p,.site-header .mega-menu small{color:var(--muted)}

/* Image-height corrections: intentional shared heights instead of accidental
   intrinsic sizing. */
.photo-story{align-items:stretch}
.photo-story .large{height:600px}
.photo-story .side{height:600px;grid-template-rows:.82fr 1.18fr}
.photo-story .side>div{min-height:0}
.specialist-row{min-height:460px}
.specialist-media{min-height:460px;height:100%}
.field-media{min-height:560px}

.soft-bg{background:var(--cream)}

/* Editorial decision section */
.decision-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.decision-media{height:600px;border-radius:var(--r-image);overflow:hidden;position:relative}
.decision-caption{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(11,32,46,.92);padding:20px 22px;border-radius:18px;color:#fff;backdrop-filter:blur(10px)}
.decision-caption span{display:block;color:#efc6a6;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.decision-caption strong{display:block;font-family:"Cal Sans";font-size:1.2rem;font-weight:400;line-height:1.2;margin-top:6px;max-width:460px}
.decision-copy h2{margin:14px 0 20px;max-width:670px}
.editorial-rows{border-top:1px solid var(--line);margin-top:30px}
.editorial-rows article{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.editorial-rows b{font-family:"Cal Sans";font-weight:400;color:var(--bronze)}
.editorial-rows h3{font-size:1.35rem;margin-bottom:6px}
.editorial-rows p{font-size:.88rem;margin:0;max-width:580px}
.editorial-rows.compact article{padding:17px 0}

/* FAQ: text-led, no card wall */
.faq-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:start}
.faq-intro{position:sticky;top:120px}
.faq-intro h2{margin:14px 0 18px;max-width:520px}
.faq-intro .text-link{margin-top:8px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;padding:22px 4px;display:grid;grid-template-columns:1fr 28px;gap:20px;align-items:center;color:var(--navy);font-family:"Cal Sans";font-size:1.25rem;line-height:1.2}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-family:Inter,sans-serif;font-size:1.2rem;font-weight:400;text-align:center;transition:transform .2s var(--ease)}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{padding:0 44px 22px 4px;margin:0;max-width:680px;font-size:.92rem}


/* FAQ accordion motion is driven by height animation in JS while retaining native <details> semantics. */
.faq-list details{position:relative}
.faq-list summary{transition:color .28s var(--ease-out),padding-left .28s var(--ease-out)}
.faq-list details[open] summary{padding-left:10px}
.faq-list summary span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(42,37,33,.16);transition:transform .34s var(--ease-out),background .28s var(--ease-out),border-color .28s var(--ease-out)}
.faq-list details[open] summary span{background:var(--navy);border-color:var(--navy);color:#fff;transform:rotate(45deg)}
.faq-list details p{padding-top:2px}

/* About — expectations and scope */
.expectation-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.expectation-head h2{margin:14px 0 18px;max-width:600px}
.expectation-rail{border-top:1px solid var(--line)}
.expectation-rail article{display:grid;grid-template-columns:54px .62fr 1fr;gap:22px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
.expectation-rail span{color:var(--bronze);font-family:"Cal Sans"}
.expectation-rail h3{font-size:1.3rem}
.expectation-rail p{margin:0;font-size:.86rem}
.scope-story{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:center}
.scope-copy h2{margin:14px 0 18px}.scope-copy .btn{margin-top:8px}
.scope-visual{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.scope-image{min-height:520px;border-radius:var(--r-image);overflow:hidden}
.scope-list{border-top:1px solid var(--line);align-self:center}
.scope-list a{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:17px 0;border-bottom:1px solid var(--line);transition:.2s var(--ease)}
.scope-list a:hover{padding-left:6px}.scope-list span{color:var(--bronze);font-family:"Cal Sans"}.scope-list strong{font-size:.88rem;color:var(--navy)}.scope-list i{grid-column:2;font-style:normal;font-size:.72rem;color:var(--muted);margin-top:-8px}

/* Services — choose and journey */
.choose-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}
.choose-copy h2{margin:14px 0 18px}.choose-image{height:330px;border-radius:var(--r-image);overflow:hidden;margin-top:28px}
.choose-rows{border-top:1px solid var(--line)}
.choose-rows a{display:grid;grid-template-columns:.72fr 1.3fr auto;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}
.choose-rows a span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.choose-rows a strong{font-family:"Cal Sans";font-size:1.2rem;font-weight:400;color:var(--navy)}
.choose-rows a b{font-size:.78rem;color:var(--bronze)}
.journey-line{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.journey-line article{padding:28px 30px 30px 0}
.journey-line article+article{border-left:1px solid var(--line);padding-left:30px}
.journey-line b{font-family:"Cal Sans";font-weight:400;color:var(--bronze)}
.journey-line h3{font-size:1.4rem;margin:16px 0 8px}.journey-line p{font-size:.86rem;margin:0}

/* Service detail — report compositions */
.report-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.report-layout.reverse .report-visual{order:2}
.report-visual{height:570px;border-radius:var(--r-image);overflow:hidden;position:relative}
.report-label{position:absolute;left:18px;right:18px;bottom:18px;padding:18px 20px;border-radius:18px;background:rgba(11,32,46,.92);color:#fff}
.report-label span{display:block;color:#efc6a6;font-size:.67rem;text-transform:uppercase;letter-spacing:.12em}.report-label strong{display:block;font-family:"Cal Sans";font-weight:400;font-size:1.18rem;margin-top:4px}
.report-copy h2{margin:14px 0 18px}
.caution-band{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.caution-band h2{margin-top:14px;max-width:560px}.caution-band .text-link{margin-top:8px}
.use-report{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}.use-report-head h2{margin:14px 0 0}.use-report-steps{border-top:1px solid var(--line)}
.use-report-steps article{display:grid;grid-template-columns:46px .9fr 1.1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.use-report-steps span{color:var(--bronze);font-family:"Cal Sans"}.use-report-steps h3{font-size:1.25rem}.use-report-steps p{font-size:.86rem;margin:0}
.deep-detail{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}.deep-head h2{margin:14px 0 18px}.deep-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.deep-grid article{padding:24px 24px 24px 0;border-bottom:1px solid var(--line)}.deep-grid article:nth-child(even){border-left:1px solid var(--line);padding-left:24px}.deep-grid span{font-family:"Cal Sans";color:var(--bronze)}.deep-grid h3{font-size:1.3rem;margin:12px 0 7px}.deep-grid p{font-size:.85rem;margin:0}
.complex-story{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:center}.complex-copy h2{margin:14px 0 18px}.complex-media{height:520px;border-radius:var(--r-image);overflow:hidden}.inline-facts{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.inline-facts span{padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:.72rem;color:var(--navy);font-weight:600;background:rgba(255,255,255,.45)}

/* Damp & timber */
.evidence-layout{display:grid;grid-template-columns:.84fr 1.16fr;gap:64px;align-items:center}.evidence-copy h2{margin:14px 0 18px}.evidence-gallery{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;height:520px}.evidence-gallery>div{border-radius:var(--r-image);overflow:hidden}.evidence-gallery>div:last-child{margin-top:70px;height:380px}.investigation-section .section-head{margin-bottom:34px}

/* EPC */
.certificate-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.certificate-copy h2{margin:14px 0 18px}.certificate-points{border-top:1px solid var(--line)}
.certificate-points article{display:grid;grid-template-columns:52px .7fr 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.certificate-points b{font-family:"Cal Sans";font-weight:400;color:var(--bronze);font-size:1.35rem}.certificate-points h3{font-size:1.25rem}.certificate-points p{font-size:.86rem;margin:0}
.assessment-story{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.assessment-media{height:560px;border-radius:var(--r-image);overflow:hidden}.assessment-copy h2{margin:14px 0 18px}

/* Contact */
.enquiry-guide{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}.enquiry-guide-copy h2{margin:14px 0 18px}.enquiry-guide-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.enquiry-guide-list article{padding:22px 22px 22px 0;border-bottom:1px solid var(--line)}.enquiry-guide-list article:nth-child(even){border-left:1px solid var(--line);padding-left:22px}.enquiry-guide-list span{display:block;color:var(--bronze);font-family:"Cal Sans"}.enquiry-guide-list strong{display:block;color:var(--navy);font-size:.9rem;margin-top:9px}.enquiry-guide-list p{font-size:.82rem;margin:6px 0 0}

/* Shared background-image CTA used on every internal page. */
.page-cta{width:var(--shell);margin:0 auto 70px;min-height:460px;border-radius:var(--r-hero);overflow:hidden;background-image:linear-gradient(90deg,rgba(7,27,39,.93) 0%,rgba(7,27,39,.7) 50%,rgba(7,27,39,.18) 100%),var(--cta-image);background-size:cover;background-position:center;position:relative;color:#fff}
.page-cta-overlay{min-height:460px;display:flex;align-items:center;padding:58px 64px}
.page-cta-copy{max-width:680px}.page-cta-copy h2{color:#fff;margin:14px 0 18px;max-width:640px}.page-cta-copy p{color:rgba(255,255,255,.74);max-width:560px}.cta-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}

/* Quote confirmation context */
.quote-after{margin-top:70px;padding-top:30px;border-top:1px solid var(--line)}
.quote-after-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quote-after-grid article{padding:20px 18px 20px 0}.quote-after-grid article+article{border-left:1px solid var(--line);padding-left:18px}.quote-after-grid b{display:block;font-family:"Cal Sans";font-weight:400;color:var(--bronze)}.quote-after-grid strong{display:block;font-size:.82rem;color:var(--navy);margin:8px 0 5px}.quote-after-grid p{font-size:.76rem;margin:0}

@media(max-width:1050px){
  .photo-story .large,.photo-story .side{height:520px}
  .decision-layout,.expectation-layout,.scope-story,.choose-layout,.report-layout,.use-report,.deep-detail,.complex-story,.evidence-layout,.certificate-layout,.assessment-story,.enquiry-guide{gap:44px}
  .decision-media,.report-visual,.assessment-media{height:500px}
  .scope-image{min-height:470px}.complex-media{height:470px}.evidence-gallery{height:470px}
  .faq-layout{gap:48px}
}

@media(max-width:860px){
  .hero-wrap,.inner-top{padding-top:10px}
  .site-header .header-bar{background:rgba(10,31,44,.08)}
  .nav-wrap.is-open{background:var(--paper)}
  .nav-wrap.is-open .main-nav>a,.nav-wrap.is-open .nav-drop>button{color:var(--navy)}
  .menu-toggle.is-open span{background:var(--navy)!important}
  .photo-story .side{height:auto;grid-template-rows:auto;grid-template-columns:1fr 1fr}
  .photo-story .side>div{height:260px}
  .specialist-row{min-height:0}.specialist-media{min-height:390px}
  .decision-layout,.expectation-layout,.scope-story,.choose-layout,.report-layout,.use-report,.deep-detail,.complex-story,.evidence-layout,.certificate-layout,.assessment-story,.enquiry-guide,.faq-layout{grid-template-columns:1fr}
  .faq-intro{position:static}.decision-media{height:480px}
  .expectation-rail article{grid-template-columns:48px .75fr 1fr}
  .scope-visual{grid-template-columns:1fr 1fr}.scope-image{min-height:440px}
  .choose-copy{display:grid;grid-template-columns:1fr 1fr;gap:26px}.choose-copy .choose-image{grid-column:2;grid-row:1/5;margin:0;height:100%}.choose-rows a{grid-template-columns:.8fr 1.2fr auto}
  .journey-line{grid-template-columns:1fr}.journey-line article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .report-layout.reverse .report-visual{order:0}.report-visual{height:460px}.caution-band{grid-template-columns:1fr;gap:22px}
  .use-report-steps article{grid-template-columns:46px .8fr 1.2fr}.deep-grid{grid-template-columns:1fr}.deep-grid article:nth-child(even){border-left:0;padding-left:0}
  .complex-media{height:440px}.evidence-gallery{height:440px}.certificate-points article{grid-template-columns:48px .8fr 1.2fr}.assessment-media{height:460px}
  .page-cta,.page-cta-overlay{min-height:430px}.page-cta-overlay{padding:44px 30px}
  .quote-after-grid{grid-template-columns:1fr}.quote-after-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}
}

@media(max-width:560px){
  .page-space{padding:64px 0}
  .photo-story .side{grid-template-columns:1fr}.photo-story .side>div{height:250px}
  .specialist-media{min-height:320px}
  .decision-media,.report-visual,.assessment-media{height:390px}
  .editorial-rows article{grid-template-columns:38px 1fr;gap:12px}.editorial-rows h3{font-size:1.2rem}
  .faq-list summary{font-size:1.08rem;padding:18px 2px}.faq-list details p{padding:0 34px 18px 2px}
  .expectation-rail article{grid-template-columns:38px 1fr;gap:10px}.expectation-rail p{grid-column:2}.scope-visual{grid-template-columns:1fr}.scope-image{min-height:340px}.scope-list{margin-top:4px}
  .choose-copy{display:block}.choose-copy .choose-image{height:290px;margin-top:24px}.choose-rows a{grid-template-columns:1fr auto;gap:8px 16px}.choose-rows a span{grid-column:1/-1}.choose-rows a strong{font-size:1.08rem}.choose-rows a b{align-self:end}
  .use-report-steps article,.certificate-points article{grid-template-columns:38px 1fr}.use-report-steps p,.certificate-points p{grid-column:2}.complex-media{height:360px}.evidence-gallery{height:auto;grid-template-columns:1fr}.evidence-gallery>div,.evidence-gallery>div:last-child{height:300px;margin:0}.enquiry-guide-list{grid-template-columns:1fr}.enquiry-guide-list article:nth-child(even){border-left:0;padding-left:0}
  .page-cta{min-height:440px;border-radius:26px;background-position:58% center}.page-cta-overlay{min-height:440px;padding:34px 22px;align-items:flex-end}.cta-actions{display:grid}.cta-actions .btn{width:100%}
}



/* Final release QA: active states, keyboard focus and mobile navigation scrim. */
.nav-drop>button.is-active{color:var(--bronze)}
.site-header:not(.is-scrolled) .nav-drop>button.is-active{color:#efc6a6}
.mega-links a.is-current{background:#f4efe7;color:var(--navy)}
.mega-links a.is-current strong{color:var(--navy)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(152,90,47,.34);outline-offset:3px}
.nav-scrim{position:fixed;inset:0;background:rgba(5,20,30,.46);backdrop-filter:blur(2px);z-index:970;opacity:0;pointer-events:none;transition:opacity .28s var(--ease-out)}
.nav-scrim.is-open{opacity:1;pointer-events:auto}
@media(min-width:861px){.nav-scrim{display:none}}

/* =========================================================
   V5 — MODERN UI QA + MOTION SYSTEM
   Purposeful motion only: hierarchy, orientation and feedback.
   ========================================================= */

:root{
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-soft:cubic-bezier(.22,.61,.36,1);
  --motion-fast:260ms;
  --motion-base:620ms;
  --motion-slow:900ms;
}

/* Better interaction feedback without visual noise */
.btn,.header-cta,.text-link,.mega-links a,.service-ledger a,.scope-list a,.choose-rows a{
  will-change:transform;
}
.btn,.header-cta{position:relative;overflow:hidden;isolation:isolate}
.btn>span,.header-cta>span{display:inline-block;transition:transform var(--motion-fast) var(--ease-out)}
.btn:hover>span,.header-cta:hover>span{transform:translate(3px,-3px)}
.btn:active,.header-cta:active{transform:translateY(0) scale(.985)}
.text-link{transition:color var(--motion-fast) var(--ease-out),gap var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}
.text-link:hover{gap:14px;color:var(--bronze)}
.text-link.light:hover{color:#efc6a6}

/* Navigation reads as a modern transparent overlay, then a compact glass bar. */
.header-bar{transition:background .3s var(--ease-out),box-shadow .3s var(--ease-out),border-color .3s var(--ease-out),transform .55s var(--ease-out),opacity .55s var(--ease-out)}
.motion-ready .site-header .header-bar{opacity:0;transform:translateY(-14px)}
.motion-ready body.is-loaded .site-header .header-bar{opacity:1;transform:none}
.main-nav>a,.nav-drop>button{position:relative}
.main-nav>a:after,.nav-drop>button:after{content:"";position:absolute;left:0;right:0;bottom:17px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease-out);opacity:.5}
.main-nav>a:hover:after,.nav-drop>button:hover:after,.main-nav>a.is-active:after{transform:scaleX(1);transform-origin:left}
.mega-menu{transition:opacity .28s var(--ease-out),transform .38s var(--ease-out),visibility .28s}
.mega-links a:hover{transform:translateX(4px)}

/* Hero entrance and very restrained depth movement. */
.home-hero{background-position:center calc(40% + var(--parallax,0px));transition:box-shadow .7s var(--ease-out)}
.inner-hero,.cta-panel,.page-cta{background-position:center calc(50% + var(--parallax,0px))}
.motion-ready .home-hero,.motion-ready .inner-hero{opacity:0;transform:translateY(10px) scale(.992);clip-path:inset(0 0 3% 0 round var(--r-hero));transition:opacity .8s var(--ease-out),transform 1s var(--ease-out),clip-path 1s var(--ease-out)}
.motion-ready body.is-loaded .home-hero,.motion-ready body.is-loaded .inner-hero{opacity:1;transform:none;clip-path:inset(0 round var(--r-hero))}
.motion-ready .hero-copy>* ,.motion-ready .inner-hero-content>*{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease-out),transform .75s var(--ease-out)}
.motion-ready body.is-loaded .hero-copy>*,.motion-ready body.is-loaded .inner-hero-content>*{opacity:1;transform:none}
.motion-ready body.is-loaded .hero-copy>*:nth-child(1),.motion-ready body.is-loaded .inner-hero-content>*:nth-child(1){transition-delay:.18s}
.motion-ready body.is-loaded .hero-copy>*:nth-child(2),.motion-ready body.is-loaded .inner-hero-content>*:nth-child(2){transition-delay:.26s}
.motion-ready body.is-loaded .hero-copy>*:nth-child(3),.motion-ready body.is-loaded .inner-hero-content>*:nth-child(3){transition-delay:.34s}
.motion-ready body.is-loaded .hero-copy>*:nth-child(4),.motion-ready body.is-loaded .inner-hero-content>*:nth-child(4){transition-delay:.42s}
.motion-ready .hero-bottom{transition-delay:.48s}

/* A more refined reveal than generic fade-up. */
.motion-ready .reveal{opacity:0;transform:translateY(24px);filter:blur(3px);transition:opacity var(--motion-base) var(--ease-out),transform .78s var(--ease-out),filter var(--motion-base) var(--ease-out);transition-delay:var(--motion-delay,0ms)}
.motion-ready .reveal.is-visible{opacity:1;transform:none;filter:none}

/* Images reveal as images, not as ordinary text blocks. */
.media-motion{overflow:hidden;isolation:isolate}
.motion-ready .media-motion{clip-path:inset(7% 0 0 0 round var(--r-image));opacity:.35;transition:clip-path .95s var(--ease-out),opacity .75s var(--ease-out)}
.motion-ready .media-motion img{transform:scale(1.055);transition:transform 1.25s var(--ease-out)}
.motion-ready .media-motion.is-visible{clip-path:inset(0 round var(--r-image));opacity:1}
.motion-ready .media-motion.is-visible img{transform:scale(1)}

/* Survey level comparison: one coherent depth surface rather than three static boxes. */
.levels-grid{border:1px solid var(--line);border-radius:var(--r-image);overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(244,239,231,.62));box-shadow:0 20px 55px rgba(42,37,33,.055)}
.level{padding:36px 30px 32px;transition:background .35s var(--ease-out),transform .35s var(--ease-out);overflow:hidden}
.level:after{content:"";position:absolute;left:0;top:0;width:var(--depth,34%);height:3px;background:linear-gradient(90deg,var(--bronze),var(--bronze-2));transform:scaleX(0);transform-origin:left;transition:transform .85s var(--ease-out) var(--depth-delay,.1s)}
.level:nth-child(1){--depth:34%;--depth-delay:.12s}.level:nth-child(2){--depth:67%;--depth-delay:.22s}.level:nth-child(3){--depth:100%;--depth-delay:.32s}
.levels-grid.is-visible .level:after{transform:scaleX(1)}
.level.featured{background:rgba(255,255,255,.72)}
.level.featured:before{top:16px;left:auto;right:18px}

/* Process becomes a purposeful animated route. */
.process-flow{position:relative;border-top:0;padding-top:1px}
.process-flow:before,.process-flow:after{content:"";position:absolute;left:0;right:0;top:0;height:1px}
.process-flow:before{background:var(--line)}
.process-flow:after{background:linear-gradient(90deg,var(--bronze),var(--bronze-2));transform:scaleX(0);transform-origin:left;transition:transform 1.15s var(--ease-out) .08s}
.process-flow.is-visible:after{transform:scaleX(1)}
.process-step:before{width:12px;height:12px;top:-6px;box-shadow:0 0 0 6px var(--paper);transform:scale(0);transition:transform .45s var(--ease-out) var(--step-delay,0ms)}
.process-step:nth-child(1){--step-delay:.12s}.process-step:nth-child(2){--step-delay:.28s}.process-step:nth-child(3){--step-delay:.44s}.process-step:nth-child(4){--step-delay:.60s}
.process-flow.is-visible .process-step:before{transform:scale(1)}
.process-step h3,.process-step p{transition:transform .35s var(--ease-out),color .35s var(--ease-out)}

/* About principles remain one strip, but feel intentionally designed. */
.principles{border:1px solid var(--line);border-radius:var(--r-image);overflow:hidden;background:rgba(255,255,255,.62);box-shadow:0 16px 44px rgba(42,37,33,.04)}
.principle{transition:background .35s var(--ease-out)}

/* Service ledger + specification table: useful interaction, not cardification. */
.service-ledger a{position:relative;padding-left:0;padding-right:4px}
.service-ledger a:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:var(--bronze);border-radius:999px;transform:scaleY(0);transition:transform .3s var(--ease-out)}
.service-ledger a:hover{padding-left:14px;background:linear-gradient(90deg,rgba(244,239,231,.8),transparent 72%)}
.service-ledger a:hover:before{transform:scaleY(1)}
.comparison-wrap{box-shadow:0 18px 50px rgba(42,37,33,.055);border-color:rgba(42,37,33,.1)}
.comparison-row:not(.header)>*:nth-child(3){background:rgba(244,239,231,.55)}
.comparison-row:not(.header){transition:background .25s var(--ease-out)}
.comparison-row:not(.header):hover{background:rgba(223,231,223,.28)}
.comparison-row.header>*:nth-child(3){background:#3b342e}

/* Service tabs feel responsive and alive without sliding panels around. */
.service-tab{transition:padding .3s var(--ease-out),background .3s var(--ease-out)}
.service-tab:hover,.service-tab.is-active{padding-left:10px;padding-right:10px;background:rgba(255,255,255,.035)}
.service-detail.is-active{animation:serviceDetailIn .58s var(--ease-out) both}
.service-detail.is-active .service-detail-media{animation:serviceMediaIn .72s var(--ease-out) both}
@keyframes serviceDetailIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes serviceMediaIn{from{opacity:.3;clip-path:inset(7% 0 0 0 round var(--r-image));transform:scale(.985)}to{opacity:1;clip-path:inset(0 round var(--r-image));transform:none}}

/* FAQ opening state and focus are clearer. */
.faq-list details{transition:background .3s var(--ease-out)}
.faq-list details[open]{background:rgba(255,255,255,.42)}
.faq-list details[open] summary{color:var(--bronze)}
.faq-list details{overflow:visible}.faq-list details.is-animating{overflow:hidden}.faq-list details p{opacity:1;transform:none}.faq-list summary{outline:none}.faq-list summary:focus-visible{outline:3px solid rgba(152,90,47,.28);outline-offset:4px;border-radius:8px}

/* EPC rating bars animate in sequence to reinforce the A-G hierarchy. */
.motion-ready .epc-band{transform:scaleX(0);transform-origin:left;opacity:.35;transition:transform .7s var(--ease-out),opacity .55s var(--ease-out);transition-delay:var(--band-delay,0ms)}
.epc-band:nth-child(1){--band-delay:.08s}.epc-band:nth-child(2){--band-delay:.14s}.epc-band:nth-child(3){--band-delay:.20s}.epc-band:nth-child(4){--band-delay:.26s}.epc-band:nth-child(5){--band-delay:.32s}.epc-band:nth-child(6){--band-delay:.38s}.epc-band:nth-child(7){--band-delay:.44s}
.motion-ready .epc-scale.is-visible .epc-band{transform:scaleX(1);opacity:1}

/* CTA backgrounds move slightly while copy remains stable. */
.cta-panel,.page-cta{position:relative;isolation:isolate;transition:box-shadow .5s var(--ease-out)}
.cta-panel:after,.page-cta:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 75% 25%,rgba(255,255,255,.11),transparent 32%);opacity:.55}
.cta-copy,.page-cta-overlay{position:relative;z-index:1}

/* Forms: quiet focus movement improves usability. */
.field input,.field select,.field textarea{transition:border-color .22s var(--ease-out),box-shadow .22s var(--ease-out),background .22s var(--ease-out),transform .22s var(--ease-out)}
.field input:focus,.field select:focus,.field textarea:focus{background:#fff;transform:translateY(-1px)}
.quote-progress span{transition:background .35s var(--ease-out),transform .35s var(--ease-out)}
.quote-progress span.is-active{transform:scaleY(1.5)}
.quote-step.is-active{animation:quoteStepIn .55s var(--ease-out) both}
@keyframes quoteStepIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}

/* Footer: small finishing interactions. */
.footer-grid a{transition:color .25s var(--ease-out),transform .25s var(--ease-out)}
.footer-grid a:hover{color:#fff;transform:translateX(4px)}

/* Scroll progress is intentionally tiny and unobtrusive. */
.motion-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:2000;pointer-events:none;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--bronze),var(--bronze-2));will-change:transform}

@media(hover:hover) and (pointer:fine){
  .media-motion:hover img,.specialist-media:hover img,.scope-image:hover img,.complex-media:hover img,.assessment-media:hover img{transform:scale(1.025)}
  .specialist-media img,.scope-image img,.complex-media img,.assessment-media img{transition:transform .8s var(--ease-out)}
  .level:hover{background:rgba(255,255,255,.86);transform:translateY(-3px)}
  .principle:hover{background:rgba(244,239,231,.72)}
  .process-step:hover h3{transform:translateX(4px)}
}

@media(max-width:860px){
  .main-nav>a:after,.nav-drop>button:after{display:none}
  .process-flow{padding-left:16px}
  .process-flow:before,.process-flow:after{top:0;bottom:0;left:0;right:auto;width:1px;height:auto}
  .process-flow:after{transform:scaleY(0);transform-origin:top}
  .process-flow.is-visible:after{transform:scaleY(1)}
  .process-step{padding:0 0 28px 22px}
  .process-step:before{left:-22px;top:7px;box-shadow:0 0 0 5px var(--paper)}
  .levels-grid{border-radius:24px}
  .level:hover{transform:none}
}

@media(max-width:560px){
  .motion-progress{display:none}
  .level{padding:30px 22px 26px}
  .level.featured:before{top:14px;right:14px}
}

@media(prefers-reduced-motion:reduce){
  .motion-ready .home-hero,.motion-ready .inner-hero,.motion-ready .hero-copy>*,.motion-ready .inner-hero-content>*,.motion-ready .reveal,.motion-ready .media-motion,.motion-ready .media-motion img,.motion-ready .epc-band{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important;animation:none!important}
  .process-flow:after,.level:after{transform:none!important;transition:none!important}
  .process-step:before{transform:scale(1)!important;transition:none!important}
  .motion-progress{display:none!important}
}


/* Final client-review refinements */
.page-cta,.cta-panel{box-shadow:0 24px 70px rgba(42,37,33,.10)}
.page-cta:hover,.cta-panel:hover{box-shadow:0 30px 80px rgba(42,37,33,.14)}
.form-status:not(:empty){padding:9px 12px;border-radius:12px;background:var(--sage);color:var(--navy)}
.quote-success:focus{outline:3px solid rgba(152,90,47,.34);outline-offset:4px}
@media(max-width:1050px) and (min-width:861px){
  .main-nav>a,.nav-drop>button{font-size:.78rem}
  .header-bar{padding-left:16px;padding-right:14px}
  .brand-mark{width:40px;height:40px}
}
@media(max-width:860px){
  .nav-scrim{display:block}
}

@media(max-width:860px){
  .section-head{flex-direction:column;align-items:flex-start;gap:18px}
  .section-head p{max-width:680px;width:100%}
}

/* WordPress / Elementor integration */
.elementor-widget:not(:last-child){margin-bottom:0}
.elementor-widget-container>.page-space:first-child,.elementor-widget-container>.hero-wrap:first-child,.elementor-widget-container>.inner-top:first-child{margin-top:0}
.elementor-element.elementor-widget-brs_hero,.elementor-element.elementor-widget-brs_editorial,.elementor-element.elementor-widget-brs_rows,.elementor-element.elementor-widget-brs_service_navigator,.elementor-element.elementor-widget-brs_survey_compare,.elementor-element.elementor-widget-brs_specialists,.elementor-element.elementor-widget-brs_process,.elementor-element.elementor-widget-brs_faq,.elementor-element.elementor-widget-brs_cta,.elementor-element.elementor-widget-brs_epc_rating,.elementor-element.elementor-widget-brs_contact_form,.elementor-element.elementor-widget-brs_quote_form{margin-bottom:0}
.brand-logo{display:flex;align-items:center;max-width:150px;height:46px}.brand-logo img{display:block;width:auto;height:100%;object-fit:contain}
.nav-drop.is-current>button{color:var(--bronze)}
.brs-shell-hidden .skip-link{display:none}
.elementor-editor-active .reveal{opacity:1!important;transform:none!important}


.section-head.center{text-align:center;justify-content:center}
.section-head.center>div{margin-inline:auto}
.trust-band-wrap{border-radius:24px;overflow:hidden;box-shadow:0 18px 50px rgba(25,20,16,.12)}
.trust-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:linear-gradient(90deg,#cf741f 0%,#db812b 100%);color:#fff}
.trust-band-item{padding:28px 24px;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px;position:relative}
.trust-band-item:not(:last-child)::after{content:"";position:absolute;right:0;top:22px;bottom:22px;width:1px;background:rgba(255,255,255,.34)}
.trust-band-item strong{font-family:"Cal Sans",Inter,sans-serif;font-size:clamp(1.2rem,2vw,1.9rem);line-height:1.05;color:#fff;letter-spacing:-.02em}
.trust-band-logo{display:block;width:auto;max-width:170px;height:42px;object-fit:contain;filter:brightness(0) invert(1)}
.trust-band-item small{font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.included-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:36px}
.included-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px 26px;box-shadow:0 12px 36px rgba(25,20,16,.06);min-height:220px;display:flex;flex-direction:column;justify-content:flex-start;text-align:center}
.included-card h3{font-family:"Cal Sans",Inter,sans-serif;font-size:1.35rem;line-height:1.2;margin:0 0 16px;color:var(--ink)}
.included-card p{margin:0;color:var(--muted);font-size:1rem;line-height:1.7}
@media (max-width:980px){.trust-band,.included-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.trust-band,.included-cards{grid-template-columns:1fr}.trust-band-item{min-height:auto;padding:22px 20px}.trust-band-item:not(:last-child)::after{left:20px;right:20px;top:auto;bottom:0;height:1px;width:auto}.included-card{min-height:0;padding:24px 20px}}
