
:root{
 --maroon:#9b1738;--maroon-dark:#741027;--maroon-soft:#f7e9ee;--ink:#17191d;--ink-2:#2a2e33;
 --smoke:rgba(21,24,28,.76);--smoke-soft:rgba(21,24,28,.08);--line:#e3e4e7;--muted:#68707b;
 --white:#fff;--off:#fbfbfc;--blush:#fbf2f5;--sand:#faf4ea;--mint:#eff8f3;--blue:#eef6fb;--lilac:#f4f0fa;
 --shadow:0 22px 60px rgba(25,30,36,.10);--shadow-sm:0 12px 34px rgba(25,30,36,.08);
 --radius:28px;--radius-sm:18px;--wrap:min(1600px,calc(100% - 56px));--header-h:96px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--off);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}body.dark{--off:#0e1013;--white:#15181c;--ink:#f5f6f7;--ink-2:#d8dbe0;--muted:#a9b0b9;--line:#2a2e34;--smoke-soft:rgba(255,255,255,.07);--blush:#21151a;--sand:#201c16;--mint:#142019;--blue:#141c21;--lilac:#1c1821;--shadow:0 22px 60px rgba(0,0,0,.35);--shadow-sm:0 12px 34px rgba(0,0,0,.25)}
a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button,input,textarea,select{font:inherit}.wrap{width:var(--wrap);margin:0 auto}.section{padding:72px 0}.section-tight{padding:44px 0}.section-lg{padding:92px 0}.muted{color:var(--muted)}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--maroon);font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:"";width:34px;height:2px;background:var(--maroon);border-radius:2px}.display-xl{font-size:clamp(50px,5.4vw,92px);line-height:.91;letter-spacing:-.055em;margin:0;font-weight:850}.display-lg{font-size:clamp(38px,4vw,66px);line-height:.98;letter-spacing:-.045em;margin:0;font-weight:850}.display-md{font-size:clamp(30px,3vw,48px);line-height:1.02;letter-spacing:-.035em;margin:0;font-weight:820}.lede{font-size:clamp(18px,1.35vw,22px);line-height:1.65;color:var(--muted);max-width:780px;margin:22px 0 0}.kicker{font-size:13px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--maroon)}
.icon{width:23px;height:23px;flex:0 0 auto}.icon-lg{width:34px;height:34px}.icon-xl{width:48px;height:48px}.icon-box{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--maroon-soft);color:var(--maroon);flex:0 0 auto}.icon-box.smoke{background:rgba(255,255,255,.12);color:#fff}.icon-box.white{background:#fff;color:var(--maroon)}
.btnx{min-height:52px;border-radius:999px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;font-size:15px;border:1px solid transparent;transition:.2s ease;white-space:nowrap}.btnx:hover{transform:translateY(-2px)}.btn-brand{background:var(--maroon);color:#fff;box-shadow:0 12px 28px rgba(155,23,56,.22)}.btn-brand:hover{background:var(--maroon-dark)}.btn-dark{background:var(--ink);color:#fff}.btn-outline{background:var(--white);border-color:var(--line);color:var(--ink)}.btn-ghost{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);color:#fff}.btn-light{background:#fff;color:#15181c}.link-arrow{display:inline-flex;align-items:center;gap:9px;font-weight:800;color:var(--maroon)}.link-arrow .icon{width:18px;height:18px;transition:.2s}.link-arrow:hover .icon{transform:translateX(4px)}
/* Header */
.site-header{position:sticky;top:0;z-index:1000;padding:14px 0 0;pointer-events:none}.header-shell{pointer-events:auto;width:var(--wrap);margin:0 auto;height:84px;border:1px solid rgba(215,217,220,.72);background:rgba(255,255,255,.91);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 16px 46px rgba(26,30,36,.11);display:flex;align-items:center;padding:12px 14px 12px 20px;gap:22px}.dark .header-shell{background:rgba(21,24,28,.90);border-color:rgba(255,255,255,.08)}.brand{width:260px;min-width:220px;align-self:stretch;display:flex;align-items:center}.brand img{width:100%;height:58px;object-fit:contain;object-position:left center}.logo-dark{display:none}.dark .logo-light{display:none}.dark .logo-dark{display:block}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:2px;flex:1}.desktop-nav a{font-size:14px;font-weight:760;padding:13px 10px;border-radius:12px;white-space:nowrap;transition:.18s}.desktop-nav a:hover,.desktop-nav a.active{background:var(--maroon-soft);color:var(--maroon)}.header-actions{display:flex;align-items:center;gap:8px}.header-actions .btnx{min-height:48px;padding:0 18px}.theme-btn,.menu-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--ink);display:grid;place-items:center;cursor:pointer}.menu-btn{display:none}.mobile-drawer{position:fixed;inset:0;z-index:1100;background:rgba(10,12,15,.52);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:.2s}.mobile-drawer.open{opacity:1;pointer-events:auto}.drawer-panel{position:absolute;right:0;top:0;height:100%;width:min(430px,92vw);background:var(--white);padding:22px;transform:translateX(100%);transition:.28s ease;display:flex;flex-direction:column}.mobile-drawer.open .drawer-panel{transform:none}.drawer-top{display:flex;justify-content:space-between;align-items:center}.drawer-logo{width:240px}.drawer-logo.logo-dark{display:none}.dark .drawer-logo.logo-light{display:none}.dark .drawer-logo.logo-dark{display:block}.drawer-nav{display:grid;gap:7px;margin:34px 0}.drawer-nav a{font-size:22px;font-weight:800;padding:11px 14px;border-radius:14px}.drawer-nav a:hover{background:var(--maroon-soft);color:var(--maroon)}.drawer-actions{display:grid;gap:10px;margin-top:auto}.drawer-close{border:0;background:var(--smoke-soft);color:var(--ink);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
/* Home hero */
.home-hero{padding:18px 0 0}.hero-frame{width:var(--wrap);margin:0 auto;min-height:590px;border-radius:34px;overflow:hidden;position:relative;background:var(--white);box-shadow:var(--shadow)}.hero-frame:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.93) 31%,rgba(255,255,255,.5) 49%,rgba(255,255,255,.04) 74%),var(--hero);background-size:cover;background-position:center;z-index:0}.dark .hero-frame:before{background-image:linear-gradient(90deg,rgba(14,16,19,.98) 0%,rgba(14,16,19,.90) 35%,rgba(14,16,19,.44) 55%,rgba(14,16,19,.04) 76%),var(--hero)}.hero-content{position:relative;z-index:2;padding:72px 62px 60px;max-width:860px}.hero-content .accent{color:var(--maroon)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.hero-pill{padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid rgba(180,184,190,.38);backdrop-filter:blur(10px);display:inline-flex;gap:7px;align-items:center;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.dark .hero-pill{background:rgba(20,22,25,.68)}.hero-pill .icon{width:15px;height:15px;color:var(--maroon)}.hero-glass{position:absolute;right:28px;bottom:28px;width:min(420px,32vw);padding:26px;border-radius:24px;background:rgba(18,21,24,.77);backdrop-filter:blur(18px);color:#fff;z-index:3;box-shadow:0 20px 50px rgba(0,0,0,.22)}.hero-glass h3{font-size:23px;margin:6px 0 14px}.hero-glass-list{display:grid;gap:0}.hero-glass-row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid rgba(255,255,255,.16);font-size:14px}.hero-glass-row strong{font-weight:800}.hero-glass-row span{color:#c9cdd2;text-align:right}
/* Trust */
.trust-band{margin-top:22px}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.trust-card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:22px;display:flex;align-items:center;gap:15px;box-shadow:var(--shadow-sm);min-height:112px}.trust-card .icon-box{width:48px;height:48px;border-radius:15px}.trust-card small{display:block;color:var(--maroon);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}.trust-card strong{display:block;font-size:17px;line-height:1.2}.trust-card span{font-size:12.5px;color:var(--muted)}
/* General grids */
.head-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.65fr);align-items:end;gap:70px;margin-bottom:42px}.head-grid .lede{margin:0}.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.bento-card{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow-sm);min-height:340px;transition:.2s}.bento-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.bento-card img{position:absolute;inset:0;height:100%;object-fit:cover}.bento-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,15,.05),rgba(10,12,15,.80))}.bento-content{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff}.bento-content h3{font-size:27px;margin:10px 0 8px;line-height:1.08}.bento-content p{margin:0;color:#e0e3e6;max-width:500px}.bento-content .icon-box{background:rgba(255,255,255,.16);color:#fff}.span-7{grid-column:span 7}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
.pastel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pastel-card{border:1px solid var(--line);border-radius:24px;padding:28px;background:var(--white);min-height:250px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.pastel-card:nth-child(6n+1){background:var(--blush)}.pastel-card:nth-child(6n+2){background:var(--blue)}.pastel-card:nth-child(6n+3){background:var(--mint)}.pastel-card:nth-child(6n+4){background:var(--sand)}.pastel-card:nth-child(6n+5){background:var(--lilac)}.pastel-card h3{font-size:25px;margin:22px 0 9px}.pastel-card p{margin:0;color:var(--muted)}.pastel-card .link-arrow{margin-top:auto;padding-top:22px}
.smoke-strip{background:var(--smoke);color:#fff;backdrop-filter:blur(18px);padding:20px 0}.smoke-strip-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}.smoke-item{display:flex;align-items:center;gap:13px;padding:11px 22px;border-right:1px solid rgba(255,255,255,.15)}.smoke-item:last-child{border:0}.smoke-item small{display:block;color:#f2b6c6;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:10px}.smoke-item strong{font-size:15px}
/* Image cards */
.photo-card{border-radius:26px;overflow:hidden;position:relative;min-height:330px;background:#ddd}.photo-card img{position:absolute;inset:0;height:100%;object-fit:cover}.photo-card .photo-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(10,12,15,.82));z-index:1}.photo-copy{position:absolute;z-index:2;left:25px;right:25px;bottom:24px;color:#fff}.photo-copy h3{font-size:26px;margin:0 0 5px}.photo-copy p{margin:0;color:#e3e5e7}.photo-copy .tag{display:inline-flex;margin-bottom:12px;background:rgba(255,255,255,.16);backdrop-filter:blur(12px);padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
/* Homepage renewables */
.renew-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch}.renew-collage{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:12px;min-height:560px}.renew-collage img{height:100%;object-fit:cover;border-radius:24px}.renew-collage img:first-child{grid-row:1/3}.renew-copy{background:var(--mint);border:1px solid var(--line);border-radius:28px;padding:48px;display:flex;flex-direction:column;justify-content:center}.renew-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.renew-spec{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:16px;display:flex;align-items:center;justify-content:space-between;font-weight:800}.renew-spec:hover{border-color:var(--maroon);color:var(--maroon)}
/* Project grid */
.project-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.filter-btn{border:1px solid var(--line);background:var(--white);color:var(--ink);padding:10px 15px;border-radius:999px;font-weight:800;cursor:pointer}.filter-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{border:1px solid var(--line);background:var(--white);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.2s}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.project-card .media{height:270px;overflow:hidden;position:relative}.project-card .media img{height:100%;object-fit:cover;transition:.4s}.project-card:hover .media img{transform:scale(1.03)}.project-card .body{padding:23px}.project-card h3{font-size:23px;margin:0 0 7px}.project-card p{margin:0;color:var(--muted)}.project-card .label{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);padding:7px 10px;border-radius:999px;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#222}
/* Cornwall CTA */
.cornwall{border-radius:30px;overflow:hidden;min-height:510px;position:relative;background:#222}.cornwall>img{position:absolute;inset:0;height:100%;object-fit:cover}.cornwall:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,16,18,.80),rgba(14,16,18,.48) 48%,rgba(14,16,18,.05))}.cornwall-card{position:relative;z-index:2;margin:60px;width:min(610px,calc(100% - 120px));padding:38px;border-radius:26px;background:rgba(20,23,27,.75);backdrop-filter:blur(18px);color:#fff}.cornwall-card .lede{color:#d9dde1}.cornwall-card .eyebrow{color:#f1b3c4}.cornwall-card .eyebrow:before{background:#f1b3c4}
.cta-section{padding:0 0 96px}.cta-panel{background:linear-gradient(135deg,var(--maroon),#7a1029);color:#fff;border-radius:30px;padding:52px;display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;position:relative;overflow:hidden}.cta-panel:after{content:"";position:absolute;width:300px;height:300px;border:54px solid rgba(255,255,255,.08);border-radius:50%;right:-80px;top:-110px}.cta-panel h2{font-size:clamp(36px,4vw,62px);letter-spacing:-.04em;line-height:1;margin:0}.cta-panel p{font-size:18px;color:#f3dce4;max-width:720px;margin:14px 0 0}.cta-buttons{display:grid;gap:10px;position:relative;z-index:2;min-width:280px}
/* Footer */
.footer{background:#0f1114;color:#e8eaed;padding:70px 0 30px}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,.7fr);gap:56px}.footer-logo{width:270px;display:block;border-radius:18px;padding:8px 0}.footer-logo img{width:100%;height:auto;object-fit:contain}.footer p{color:#aeb4bd;max-width:430px}.footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#f0aabd;margin:8px 0 18px}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.footer a{color:#cbd0d6}.footer a:hover{color:#fff}.footer-bottom{border-top:1px solid #292d33;margin-top:54px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#8d949e;font-size:13px}
/* Interior page hero */
.page-hero{padding:26px 0 0}.page-hero-frame{width:var(--wrap);margin:0 auto;border-radius:32px;min-height:510px;overflow:hidden;position:relative;background:var(--white);box-shadow:var(--shadow)}.page-hero-frame img{position:absolute;inset:0;height:100%;object-fit:cover}.page-hero-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,20,.90),rgba(15,17,20,.60) 48%,rgba(15,17,20,.08))}.page-hero-copy{position:relative;z-index:2;color:#fff;padding:74px 64px;max-width:870px}.page-hero-copy .eyebrow{color:#f0b1c2}.page-hero-copy .eyebrow:before{background:#f0b1c2}.page-hero-copy .lede{color:#e0e3e7}.page-hero-copy h1{font-size:clamp(48px,5vw,80px);line-height:.95;letter-spacing:-.05em;margin:16px 0 0;font-weight:850}.page-hero-side{position:absolute;z-index:3;right:26px;bottom:26px;width:350px;background:rgba(15,17,20,.74);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.13);border-radius:22px;padding:24px;color:#fff}.page-hero-side .metric{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.15)}.page-hero-side .metric:first-of-type{border-top:0}.page-hero-side strong{display:block}.page-hero-side span{font-size:13px;color:#bbc1c8}
/* Editorial split sections */
.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:46px;align-items:start}.split.reverse{grid-template-columns:1.15fr .85fr}.split-copy p{font-size:18px;color:var(--muted)}.feature-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.feature-card{border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--white);min-height:170px}.feature-card h3{font-size:20px;margin:16px 0 8px}.feature-card p{margin:0;color:var(--muted)}.image-stack{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;align-items:end}.image-stack img{border-radius:26px;height:500px;object-fit:cover}.image-stack img:last-child{height:360px}.image-banner{height:520px;border-radius:28px;overflow:hidden}.image-banner img{height:100%;object-fit:cover}
/* Process */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.process-step{border-radius:22px;padding:27px;background:var(--white);border:1px solid var(--line);min-height:220px;position:relative}.process-step .num{font-size:54px;line-height:1;color:var(--maroon-soft);font-weight:900;position:absolute;right:20px;top:17px}.process-step h3{font-size:21px;margin:34px 0 8px}.process-step p{color:var(--muted);margin:0}
/* Commercial magazine */
.editorial-hero{padding:30px 0 0}.editorial-grid{width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;min-height:530px;border-radius:32px;overflow:hidden;background:var(--white);box-shadow:var(--shadow)}.editorial-copy{padding:64px;display:flex;flex-direction:column;justify-content:center}.editorial-copy h1{font-size:clamp(48px,5vw,80px);line-height:.95;letter-spacing:-.05em;margin:16px 0 0;font-weight:850}.editorial-image{position:relative}.editorial-image img{height:100%;object-fit:cover}.editorial-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.18),transparent 38%)}.dark .editorial-image:after{background:linear-gradient(90deg,rgba(21,24,28,.20),transparent 38%)}
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:220px;gap:16px}.mosaic-item{border-radius:22px;overflow:hidden;position:relative}.mosaic-item img{height:100%;object-fit:cover}.mosaic-item:nth-child(1){grid-column:span 7;grid-row:span 2}.mosaic-item:nth-child(2){grid-column:span 5}.mosaic-item:nth-child(3){grid-column:span 5}.mosaic-item:nth-child(4){grid-column:span 4}.mosaic-item:nth-child(5){grid-column:span 4}.mosaic-item:nth-child(6){grid-column:span 4}
/* Renewables special */
.energy-hero{padding:30px 0 0}.energy-frame{width:var(--wrap);margin:auto;min-height:560px;border-radius:32px;overflow:hidden;position:relative;box-shadow:var(--shadow)}.energy-frame img{position:absolute;inset:0;height:100%;object-fit:cover}.energy-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,22,17,.89),rgba(14,22,17,.55),rgba(14,22,17,.08))}.energy-copy{position:relative;z-index:2;color:#fff;max-width:820px;padding:72px 64px}.energy-copy h1{font-size:clamp(48px,5vw,80px);line-height:.95;letter-spacing:-.05em;margin:16px 0 0;font-weight:850}.energy-copy .lede{color:#dde7e0}.energy-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-42px;position:relative;z-index:4}.energy-node{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow-sm)}.energy-node h3{font-size:20px;margin:14px 0 5px}.energy-node p{margin:0;color:var(--muted);font-size:14px}
/* Testing report styling */
.report-hero{padding:30px 0 0}.report-frame{width:var(--wrap);margin:auto;border-radius:32px;background:var(--blush);border:1px solid var(--line);display:grid;grid-template-columns:1fr .9fr;overflow:hidden;min-height:520px}.report-copy{padding:68px}.report-copy h1{font-size:clamp(48px,5vw,78px);line-height:.95;letter-spacing:-.05em;margin:16px 0 0}.report-media{position:relative}.report-media img{height:100%;object-fit:cover}.report-stamp{position:absolute;left:26px;bottom:26px;background:rgba(255,255,255,.90);backdrop-filter:blur(10px);border-radius:18px;padding:17px 20px;display:flex;gap:12px;align-items:center;color:#222}.standard-band{background:#4d4f53;color:#fff;padding:62px 0}.standard-band h2{font-size:clamp(36px,4vw,64px);line-height:1;margin:8px 0 14px;letter-spacing:-.04em}.standard-band p{color:#e0e1e3;font-size:18px;max-width:820px}
/* Maintenance special */
.maint-hero{padding:30px 0 0}.maint-frame{width:var(--wrap);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;border-radius:32px;overflow:hidden;background:var(--white);box-shadow:var(--shadow);min-height:530px}.maint-copy{padding:64px;display:flex;flex-direction:column;justify-content:center}.maint-copy h1{font-size:clamp(48px,5vw,78px);line-height:.95;letter-spacing:-.05em;margin:16px 0 0}.maint-media{position:relative}.maint-media img{height:100%;object-fit:cover}.maint-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.1),transparent)}
.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.status-card{border-radius:24px;padding:28px;border:1px solid var(--line);background:var(--white)}.status-card:nth-child(1){background:var(--blush)}.status-card:nth-child(2){background:var(--sand)}.status-card:nth-child(3){background:var(--blue)}.status-card h3{font-size:24px;margin:18px 0 7px}.status-card p{color:var(--muted);margin:0}
/* Sectors */
.sector-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.sector-photo{min-height:420px;position:relative;border-radius:26px;overflow:hidden}.sector-photo:nth-child(3),.sector-photo:nth-child(4),.sector-photo:nth-child(5),.sector-photo:nth-child(6){min-height:330px}.sector-photo img{position:absolute;inset:0;height:100%;object-fit:cover}.sector-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.78))}.sector-photo-copy{position:absolute;z-index:2;bottom:24px;left:24px;right:24px;color:#fff}.sector-photo-copy h3{font-size:28px;margin:7px 0}.sector-photo-copy p{margin:0;color:#dde0e4}
/* Domestic */
.home-page-hero{padding:30px 0 0}.home-page-frame{width:var(--wrap);margin:auto;display:grid;grid-template-columns:1fr 1fr;border-radius:32px;overflow:hidden;background:var(--white);box-shadow:var(--shadow);min-height:540px}.home-page-copy{padding:64px;display:flex;flex-direction:column;justify-content:center}.home-page-copy h1{font-size:clamp(48px,5vw,78px);line-height:.95;letter-spacing:-.05em;margin:16px 0 0}.home-page-media img{height:100%;object-fit:cover}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.room-card{border-radius:24px;overflow:hidden;background:var(--white);border:1px solid var(--line)}.room-card img{height:260px;object-fit:cover}.room-card .body{padding:22px}.room-card h3{font-size:22px;margin:0 0 6px}.room-card p{margin:0;color:var(--muted)}
/* About */
.about-hero{padding:30px 0 0}.about-frame{width:var(--wrap);margin:auto;position:relative;min-height:550px;border-radius:32px;overflow:hidden;background:#222}.about-frame img{position:absolute;inset:0;height:100%;object-fit:cover}.about-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,20,23,.87),rgba(18,20,23,.46),rgba(18,20,23,.10))}.about-copy{position:relative;z-index:2;color:#fff;padding:74px 64px;max-width:820px}.about-copy h1{font-size:clamp(48px,5vw,80px);line-height:.95;letter-spacing:-.05em;margin:16px 0 0}.about-copy .lede{color:#e3e5e7}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.value-card{border-radius:22px;padding:25px;border:1px solid var(--line);background:var(--white)}.value-card h3{font-size:21px;margin:16px 0 7px}.value-card p{margin:0;color:var(--muted)}.standards-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}.standards-visual{border-radius:26px;overflow:hidden;background:var(--maroon-soft);display:grid;place-items:center;padding:40px}.standards-visual img{max-width:440px}.standards-list{display:grid;gap:12px}.standard-card{border-radius:20px;border:1px solid var(--line);background:var(--white);padding:23px;display:flex;gap:16px;align-items:flex-start}.standard-card h3{font-size:21px;margin:0 0 4px}.standard-card p{margin:0;color:var(--muted)}
/* Contact */
.contact-hero{padding:30px 0 0}.contact-frame{width:var(--wrap);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;border-radius:32px;overflow:hidden;background:var(--white);box-shadow:var(--shadow)}.contact-copy{padding:64px}.contact-copy h1{font-size:clamp(48px,5vw,78px);line-height:.95;letter-spacing:-.05em;margin:16px 0 0}.contact-media{position:relative;min-height:520px}.contact-media img{position:absolute;inset:0;height:100%;object-fit:cover}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.contact-mini{border-radius:18px;padding:18px;background:var(--blush);border:1px solid var(--line)}.contact-mini strong{display:block;margin-top:9px}.contact-mini span{font-size:13px;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:30px}.form-card,.contact-aside{border-radius:26px;border:1px solid var(--line);background:var(--white);padding:36px;box-shadow:var(--shadow-sm)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group{display:grid;gap:7px}.form-group.full{grid-column:1/-1}.form-group label{font-weight:800;font-size:13px}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--line);background:var(--off);color:var(--ink);border-radius:14px;padding:14px 15px;outline:none}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--maroon);box-shadow:0 0 0 3px rgba(155,23,56,.10)}.form-group textarea{min-height:150px;resize:vertical}.contact-aside img{height:260px;object-fit:cover;border-radius:20px;margin-bottom:22px}.contact-list{display:grid;gap:13px}.contact-line{display:flex;gap:12px;align-items:flex-start}.contact-line strong{display:block}.contact-line span{color:var(--muted);font-size:14px}
/* Detail pages */
.detail-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:760;color:var(--muted);margin-bottom:18px}.detail-breadcrumb a:hover{color:var(--maroon)}.detail-hero{padding:30px 0 0}.detail-frame{width:var(--wrap);margin:auto;border-radius:32px;overflow:hidden;background:var(--white);box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr;min-height:500px}.detail-copy{padding:58px;display:flex;flex-direction:column;justify-content:center}.detail-copy h1{font-size:clamp(42px,4.6vw,72px);line-height:.97;letter-spacing:-.045em;margin:10px 0 0}.detail-media img{height:100%;object-fit:cover}.detail-media{position:relative}.detail-media .detail-badge{position:absolute;right:18px;bottom:18px;background:rgba(17,20,23,.74);backdrop-filter:blur(12px);color:#fff;border-radius:16px;padding:13px 16px;font-weight:800}.detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.detail-list-item{border-radius:16px;padding:17px;background:var(--blush);display:flex;align-items:center;gap:10px;font-weight:750}.detail-list-item:nth-child(2n){background:var(--blue)}.detail-gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.detail-gallery-main,.detail-gallery-side{display:grid;gap:16px}.detail-gallery img{border-radius:24px;object-fit:cover;height:100%}.detail-gallery-main img{min-height:520px}.detail-gallery-side img{min-height:252px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.related-card{border:1px solid var(--line);border-radius:20px;background:var(--white);padding:22px}.related-card h3{margin:15px 0 6px;font-size:20px}.related-card p{margin:0;color:var(--muted);font-size:14px}.related-card .link-arrow{margin-top:18px}
.detail-frame.variant-dark{background:#15181c;color:#fff}.detail-frame.variant-dark .muted,.detail-frame.variant-dark .lede{color:#c5cad0}.detail-frame.variant-blush{background:var(--blush)}.detail-frame.variant-blue{background:var(--blue)}

/* V12 dense content components */
.logo-pair{position:relative;width:100%;height:58px;display:block}.logo-pair img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center}
.content-split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:28px;align-items:stretch}
.content-panel{border:1px solid var(--line);background:var(--white);border-radius:26px;padding:34px;box-shadow:var(--shadow-sm)}
.content-panel.visual{padding:0;overflow:hidden;min-height:420px;position:relative}.content-panel.visual img{position:absolute;inset:0;height:100%;object-fit:cover}.content-panel.visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(15,17,20,.62))}
.visual-caption{position:absolute;left:26px;right:26px;bottom:22px;z-index:2;color:#fff}.visual-caption strong{font-size:22px;display:block}.visual-caption span{color:#e6e8eb}
.copy-stack{display:grid;gap:18px}.copy-stack p{font-size:18px;color:var(--muted);margin:0}
.fact-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.fact-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:9px 13px;background:var(--blush);border:1px solid var(--line);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.fact-pill:nth-child(2n){background:var(--blue)}.fact-pill:nth-child(3n){background:var(--mint)}
.service-grid-wide{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.service-wide{border:1px solid var(--line);border-radius:24px;padding:28px;background:var(--white);display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;min-height:200px;box-shadow:var(--shadow-sm)}.service-wide:nth-child(4n+1){background:var(--blush)}.service-wide:nth-child(4n+2){background:var(--blue)}.service-wide:nth-child(4n+3){background:var(--mint)}.service-wide:nth-child(4n+4){background:var(--sand)}.service-wide h3{font-size:24px;margin:2px 0 7px}.service-wide p{margin:0;color:var(--muted)}
.mini-list{display:grid;gap:8px;margin-top:15px}.mini-list span{display:flex;gap:8px;align-items:flex-start;font-size:14px;font-weight:700}.mini-list .icon{width:16px;height:16px;color:var(--maroon);margin-top:2px}
.accreditation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}.accred-card{border-radius:22px;padding:24px;border:1px solid var(--line);background:var(--white);min-height:190px}.accred-card:nth-child(1){background:var(--blush)}.accred-card:nth-child(2){background:var(--blue)}.accred-card:nth-child(3){background:var(--mint)}.accred-card:nth-child(4){background:var(--sand)}.accred-card h3{font-size:20px;margin:14px 0 7px}.accred-card p{font-size:14px;color:var(--muted);margin:0}.accred-card small{display:block;color:var(--maroon);font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.code-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}.code-card{border-radius:18px;padding:17px;border:1px solid var(--line);background:var(--white)}.code-card strong{display:block;color:var(--maroon);font-size:20px}.code-card span{font-size:13px;color:var(--muted)}
.detail-intro-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:26px;align-items:stretch}.detail-intro-visual{position:relative;border-radius:26px;overflow:hidden;min-height:390px}.detail-intro-visual img{position:absolute;inset:0;height:100%;object-fit:cover}.detail-intro-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(12,14,16,.70))}.detail-intro-caption{position:absolute;left:24px;right:24px;bottom:22px;color:#fff;z-index:2}.detail-intro-caption strong{font-size:21px;display:block}
.detail-copy-card{border:1px solid var(--line);border-radius:26px;background:var(--white);padding:34px}.detail-copy-card p{font-size:18px;color:var(--muted)}
.service-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}.service-fact{border-radius:19px;border:1px solid var(--line);background:var(--off);padding:20px}.service-fact h4{font-size:16px;margin:10px 0 5px}.service-fact p{font-size:13px!important;margin:0;color:var(--muted)}
.dense-heading{max-width:1050px}.dense-heading .lede{max-width:900px}.standard-note{font-size:13px;color:#d8dbe0;margin-top:12px;max-width:900px}

/* Responsive */
@media(max-width:1450px){:root{--wrap:min(1450px,calc(100% - 38px))}.brand{width:225px;min-width:190px}.desktop-nav a{padding:12px 8px;font-size:13px}.header-actions .btnx{padding:0 14px;font-size:13px}.hero-frame{min-height:550px}.hero-content{padding:60px 48px}.hero-glass{width:360px}}
@media(max-width:1500px){.content-split,.detail-intro-grid{grid-template-columns:1fr}.content-panel.visual,.detail-intro-visual{min-height:360px}.accreditation-grid{grid-template-columns:repeat(2,1fr)}.service-facts{grid-template-columns:repeat(2,1fr)}.desktop-nav,.header-actions .phone{display:none}.menu-btn{display:grid}.header-shell{height:78px}.brand{width:245px}.header-actions{margin-left:auto}.header-actions .btn-brand{display:inline-flex}.hero-glass{display:none}.hero-content{max-width:760px}.trust-grid{grid-template-columns:repeat(2,1fr)}.span-7,.span-5,.span-8,.span-4,.span-6{grid-column:span 6}.pastel-grid{grid-template-columns:repeat(2,1fr)}.head-grid{grid-template-columns:1fr;gap:20px}.smoke-strip-grid{grid-template-columns:repeat(3,1fr)}.smoke-item:nth-child(3){border-right:0}.smoke-item:nth-child(n+4){border-top:1px solid rgba(255,255,255,.14)}.renew-feature{grid-template-columns:1fr}.project-grid{grid-template-columns:repeat(2,1fr)}.page-hero-side{display:none}.editorial-grid,.report-frame,.maint-frame,.home-page-frame,.contact-frame,.detail-frame{grid-template-columns:1fr}.editorial-image,.report-media,.maint-media,.home-page-media,.contact-media,.detail-media{min-height:390px}.energy-flow{grid-template-columns:repeat(2,1fr)}.split,.split.reverse{grid-template-columns:1fr;gap:40px}.process{grid-template-columns:repeat(2,1fr)}.values-grid{grid-template-columns:repeat(2,1fr)}.standards-panel{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr}.detail-gallery{grid-template-columns:1fr}.detail-gallery-main img{min-height:360px}.detail-gallery-side{grid-template-columns:1fr 1fr}.related-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}}
@media(max-width:760px){.service-grid-wide,.accreditation-grid,.code-grid,.service-facts{grid-template-columns:1fr}.service-wide{grid-template-columns:1fr;min-height:0}.content-panel,.detail-copy-card{padding:24px}.content-panel.visual,.detail-intro-visual{min-height:290px}.fact-row{gap:6px}.fact-pill{font-size:10px;padding:7px 9px}:root{--wrap:calc(100% - 24px);--radius:22px}.site-header{padding-top:8px}.header-shell{height:68px;border-radius:18px;padding:8px 9px 8px 14px}.brand{width:200px;min-width:0}.brand img{height:46px}.theme-btn,.menu-btn{width:44px;height:44px}.header-actions .btn-brand{display:none}.section{padding:70px 0}.section-lg{padding:82px 0}.section-tight{padding:48px 0}.home-hero{padding-top:10px}.hero-frame{min-height:0;border-radius:22px;display:flex;flex-direction:column;padding-top:280px}.hero-frame:before{background-image:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.04) 40%,rgba(255,255,255,.98) 82%,rgba(255,255,255,1) 100%),var(--hero);background-size:auto 330px;background-repeat:no-repeat;background-position:top center}.dark .hero-frame:before{background-image:linear-gradient(180deg,rgba(14,16,19,0) 0%,rgba(14,16,19,.06) 40%,rgba(14,16,19,.96) 82%,rgba(14,16,19,1) 100%),var(--hero)}.hero-content{padding:28px 22px 30px;max-width:none}.display-xl{font-size:47px}.display-lg{font-size:40px}.lede{font-size:17px;line-height:1.55}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .btnx{width:100%}.hero-pills{gap:6px}.hero-pill{font-size:10px;padding:7px 9px}.trust-grid{grid-template-columns:1fr}.trust-card{min-height:0}.bento{grid-template-columns:1fr}.span-7,.span-5,.span-8,.span-4,.span-6,.span-12{grid-column:auto}.bento-card{min-height:300px}.pastel-grid,.project-grid,.room-grid,.status-grid,.sector-photo-grid,.values-grid,.contact-cards{grid-template-columns:1fr}.pastel-card{min-height:220px}.smoke-strip-grid{grid-template-columns:1fr}.smoke-item{border-right:0;border-top:1px solid rgba(255,255,255,.14)}.smoke-item:first-child{border-top:0}.renew-collage{grid-template-columns:1fr 1fr;grid-template-rows:300px 200px;min-height:0}.renew-collage img:first-child{grid-column:1/3;grid-row:auto}.renew-copy{padding:28px}.renew-specs{grid-template-columns:1fr}.cornwall{min-height:560px}.cornwall:after{background:linear-gradient(180deg,rgba(14,16,18,.20),rgba(14,16,18,.86) 52%)}.cornwall-card{margin:220px 16px 16px;width:calc(100% - 32px);padding:26px}.cta-panel{grid-template-columns:1fr;padding:30px 24px;gap:26px}.cta-buttons{min-width:0}.page-hero-frame,.energy-frame,.about-frame{min-height:0;border-radius:22px;padding-top:270px}.page-hero-frame img,.energy-frame img,.about-frame img{height:300px}.page-hero-frame:after,.energy-frame:after,.about-frame:after{background:linear-gradient(180deg,rgba(15,17,20,.05),rgba(15,17,20,.92) 74%)}.page-hero-copy,.energy-copy,.about-copy{padding:30px 22px}.page-hero-copy h1,.energy-copy h1,.about-copy h1,.editorial-copy h1,.report-copy h1,.maint-copy h1,.home-page-copy h1,.contact-copy h1{font-size:47px}.editorial-grid,.report-frame,.maint-frame,.home-page-frame,.contact-frame,.detail-frame{border-radius:22px}.editorial-copy,.report-copy,.maint-copy,.home-page-copy,.contact-copy,.detail-copy{padding:32px 22px}.editorial-image,.report-media,.maint-media,.home-page-media,.contact-media,.detail-media{min-height:300px}.energy-flow{grid-template-columns:1fr;margin-top:16px}.feature-cards,.process,.form-grid,.detail-list,.related-grid{grid-template-columns:1fr}.image-stack{grid-template-columns:1fr}.image-stack img,.image-stack img:last-child{height:320px}.mosaic{grid-template-columns:1fr;grid-auto-rows:280px}.mosaic-item:nth-child(n){grid-column:auto;grid-row:auto}.standard-band{padding:46px 0}.sector-photo,.sector-photo:nth-child(n){min-height:320px}.standards-visual{padding:24px}.detail-gallery-side{grid-template-columns:1fr}.footer{padding-top:52px}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.project-card .media{height:240px}.wrap{max-width:none}}
@media(max-width:420px){.brand{width:170px}.display-xl{font-size:42px}.page-hero-copy h1,.energy-copy h1,.about-copy h1,.editorial-copy h1,.report-copy h1,.maint-copy h1,.home-page-copy h1,.contact-copy h1{font-size:41px}.hero-frame{padding-top:245px}.hero-frame:before{background-size:auto 280px}.drawer-logo{width:200px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* ================= V13 MOBILE + CMS FINISH ================= */
html,body{max-width:100%;overflow-x:hidden}.site-header{isolation:isolate}.site-header .container-xxl{max-width:1600px}
/* Global hero typography - avoids touching/clashing glyphs */
.hero-content h1,.page-hero-copy h1,.energy-copy h1,.about-copy h1,.editorial-copy h1,.report-copy h1,.maint-copy h1,.home-page-copy h1,.contact-copy h1,.detail-copy h1,.testing-hero-copy h1{line-height:1.02!important;letter-spacing:-.045em!important;text-wrap:balance}
/* Renewables cards should sit after the hero, never over it */
.energy-flow,.energy-flow-separated{margin-top:24px!important;gap:18px!important}.energy-hero{padding-bottom:8px}.energy-node{min-height:190px}
/* Give final media blocks room before the CTA */
.pre-cta-media{padding-bottom:72px!important}.cta-section{padding-top:28px!important}
/* Full-width testing hero replacement */
.testing-full-hero{padding:30px 0 12px}.testing-hero-frame{position:relative;min-height:580px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:#17191d}.testing-hero-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.testing-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,14,17,.90) 0%,rgba(12,14,17,.68) 38%,rgba(12,14,17,.18) 67%,rgba(12,14,17,.04) 100%)}.testing-hero-copy{position:relative;z-index:2;max-width:790px;padding:76px 64px;color:#fff}.testing-hero-copy h1{font-size:clamp(48px,5vw,78px);font-weight:850;margin:16px 0 0}.testing-hero-copy .lede{color:#edf0f2;max-width:720px}.testing-eyebrow{color:#f5bfcc}.testing-eyebrow:before{background:#f5bfcc}
/* Safer About hero width/line-height */
.hero-safe-copy .about-copy{max-width:760px}.hero-safe-copy .about-copy h1{max-width:650px}
/* Real form helper */
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-message.success{color:#1c7a48;font-weight:800}.form-message.error{color:#a81234;font-weight:800}
/* Dynamic projects/blog */
.cms-list-hero{padding:34px 0 20px}.cms-list-intro{width:var(--wrap);margin:auto;background:linear-gradient(135deg,var(--blush),var(--white));border:1px solid var(--line);border-radius:30px;padding:44px;box-shadow:var(--shadow-sm)}
.cms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cms-card{border:1px solid var(--line);border-radius:24px;background:var(--white);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.cms-card img{height:260px;object-fit:cover}.cms-card-body{padding:25px;display:flex;flex-direction:column;flex:1}.cms-card-body h2,.cms-card-body h3{font-size:25px;line-height:1.08;margin:10px 0}.cms-card-body p{color:var(--muted)}.cms-card-body .link-arrow{margin-top:auto}.cms-detail-hero{padding:30px 0}.cms-detail-frame{width:var(--wrap);margin:auto;border-radius:32px;overflow:hidden;position:relative;min-height:540px;background:#15181c}.cms-detail-frame img{position:absolute;inset:0;height:100%;object-fit:cover}.cms-detail-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,15,.9),rgba(10,12,15,.48),rgba(10,12,15,.06))}.cms-detail-copy{position:relative;z-index:2;color:#fff;padding:70px 60px;max-width:850px}.cms-detail-copy h1{font-size:clamp(44px,5vw,76px);line-height:1;letter-spacing:-.045em}.cms-detail-copy p{color:#e1e4e7;font-size:20px}.rich-copy{max-width:950px}.rich-copy p,.rich-copy li{font-size:18px;color:var(--muted)}.rich-copy h2{font-size:36px;margin:40px 0 15px}.rich-copy h3{font-size:26px;margin:32px 0 12px}.media-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.media-gallery figure{margin:0;border-radius:22px;overflow:hidden;background:var(--white);border:1px solid var(--line)}.media-gallery img,.media-gallery video{width:100%;height:420px;object-fit:cover}.media-gallery figcaption{padding:12px 16px;color:var(--muted);font-size:14px}
/* V13 header, with predictable mobile menu */
.v13-header{position:sticky;top:0;z-index:1080;padding:14px 0 0;pointer-events:none}.v13-header-shell{pointer-events:auto;width:var(--wrap);margin:auto;min-height:84px;border:1px solid rgba(215,217,220,.72);background:rgba(255,255,255,.93);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 16px 46px rgba(26,30,36,.11);display:flex;align-items:center;padding:12px 14px 12px 20px;gap:20px}.dark .v13-header-shell{background:rgba(21,24,28,.93);border-color:rgba(255,255,255,.08)}.v13-brand{width:250px;flex:0 0 250px}.v13-brand img{height:58px;object-fit:contain;object-position:left center}.v13-nav{display:flex;justify-content:center;gap:2px;flex:1}.v13-nav a{font-size:14px;font-weight:760;padding:12px 9px;border-radius:12px;white-space:nowrap}.v13-nav a:hover,.v13-nav a.active{background:var(--maroon-soft);color:var(--maroon)}.v13-actions{display:flex;align-items:center;gap:8px}.v13-mobile-toggle{display:none;width:48px;height:48px;border:1px solid var(--line);background:var(--white);border-radius:50%;place-items:center;color:var(--ink)}.v13-mobile-backdrop{position:fixed;inset:0;background:rgba(8,10,12,.55);backdrop-filter:blur(6px);z-index:1180;opacity:0;pointer-events:none;transition:.2s}.v13-mobile-backdrop.show{opacity:1;pointer-events:auto}.v13-mobile-panel{position:fixed;right:0;top:0;bottom:0;width:min(430px,92vw);z-index:1190;background:var(--white);transform:translateX(105%);transition:.25s ease;padding:22px;display:flex;flex-direction:column;overflow:auto;box-shadow:-20px 0 60px rgba(0,0,0,.2)}.v13-mobile-panel.show{transform:none}.v13-mobile-top{display:flex;align-items:center;justify-content:space-between}.v13-mobile-logo{width:220px}.v13-mobile-close{width:46px;height:46px;border:0;border-radius:50%;background:var(--smoke-soft);color:var(--ink);font-size:25px}.v13-mobile-nav{display:grid;gap:5px;margin:28px 0}.v13-mobile-nav a{padding:12px 14px;border-radius:13px;font-size:20px;font-weight:800}.v13-mobile-nav a.active,.v13-mobile-nav a:hover{background:var(--maroon-soft);color:var(--maroon)}.v13-mobile-actions{display:grid;gap:10px;margin-top:auto}
@media(max-width:1540px){.v13-nav{display:none}.v13-actions .phone{display:none}.v13-mobile-toggle{display:grid}.v13-brand{width:235px;flex-basis:235px}.v13-actions{margin-left:auto}}
@media(max-width:990px){.section,.section-lg{padding:58px 0}.section-tight{padding:40px 0}.head-grid{margin-bottom:28px}.cms-grid{grid-template-columns:repeat(2,1fr)}.testing-hero-frame{min-height:520px}.testing-hero-copy{padding:58px 42px}.energy-flow{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:760px){:root{--wrap:calc(100% - 20px)}.v13-header{padding-top:7px}.v13-header-shell{min-height:66px;border-radius:18px;padding:7px 8px 7px 12px}.v13-brand{width:175px;flex-basis:175px}.v13-brand img{height:42px}.v13-actions .btn-brand,.v13-actions .phone{display:none}.theme-btn,.v13-mobile-toggle{width:44px;height:44px}.testing-full-hero{padding-top:12px}.testing-hero-frame{min-height:0;padding-top:300px;border-radius:22px}.testing-hero-frame>img{height:330px;object-position:65% center}.testing-hero-overlay{background:linear-gradient(180deg,rgba(12,14,17,.02) 0%,rgba(12,14,17,.08) 40%,rgba(12,14,17,.96) 78%,rgba(12,14,17,.99) 100%)}.testing-hero-copy{padding:28px 22px 30px;max-width:none}.testing-hero-copy h1{font-size:clamp(38px,11vw,48px);line-height:1.04!important}.testing-hero-copy .lede{font-size:17px}.energy-flow,.energy-flow-separated{grid-template-columns:1fr!important;margin-top:18px!important}.energy-node{min-height:0}.energy-frame{padding-top:300px!important}.energy-copy h1,.about-copy h1,.page-hero-copy h1,.maint-copy h1,.editorial-copy h1,.detail-copy h1{font-size:clamp(38px,11vw,48px)!important;line-height:1.05!important}.about-frame{padding-top:330px!important}.about-frame img{height:360px!important;object-position:62% center}.about-copy{padding:28px 22px!important}.hero-safe-copy .about-copy h1{max-width:none}.pre-cta-media{padding-bottom:48px!important}.cta-section{padding-top:20px!important}.cms-list-intro{padding:28px 22px;border-radius:22px}.cms-grid{grid-template-columns:1fr}.cms-card img{height:230px}.cms-detail-frame{min-height:0;padding-top:300px;border-radius:22px}.cms-detail-frame img{height:330px}.cms-detail-frame:after{background:linear-gradient(180deg,rgba(10,12,15,.04),rgba(10,12,15,.94) 77%)}.cms-detail-copy{padding:28px 22px}.cms-detail-copy h1{font-size:44px}.media-gallery{grid-template-columns:1fr}.media-gallery img,.media-gallery video{height:280px}.service-wide,.accred-card,.feature-card,.pastel-card{padding:22px!important}.service-wide h3,.pastel-card h3{font-size:22px!important}.standard-band{margin-top:16px}.cta-panel{margin-top:0}.image-stack{gap:18px}.image-stack img,.image-stack img:last-child{height:260px!important}.v13-mobile-panel{width:100%;max-width:none}.v13-mobile-logo{width:210px}}
@media(max-width:390px){.v13-brand{width:155px;flex-basis:155px}.v13-header-shell{gap:5px}.testing-hero-frame{padding-top:270px}.testing-hero-frame>img{height:300px}.energy-frame{padding-top:280px!important}.about-frame{padding-top:300px!important}}

/* V15 final logo treatment */
.v13-brand .logo-pair{height:64px}.v13-brand img{filter:none}.v13-mobile-logo.logo-pair{height:72px}.footer-logo{width:240px}.footer-logo img{max-height:150px;object-fit:contain;object-position:left center}
@media(max-width:760px){.v13-brand .logo-pair{height:50px}.v13-brand{width:165px;flex-basis:165px}.v13-mobile-logo.logo-pair{height:74px;width:200px}.footer-logo{width:210px}}

/* =========================================================
   V17 HIGH-FINISH PUBLIC EXPERIENCE
   Standalone brand, open-width navigation, visual homepage
   ========================================================= */
:root{
  --wrap:min(1840px,calc(100% - 38px));
  --v17-gutter:clamp(18px,2.2vw,42px);
}

/* Open navigation - no rounded top-bar container */
.v17-header{position:sticky;top:0;z-index:1080;padding:0;background:linear-gradient(180deg,var(--off) 0%,color-mix(in srgb,var(--off) 94%,transparent) 82%,transparent 100%)}
.v17-header-shell{width:100%;min-height:108px;padding:11px var(--v17-gutter);display:flex;align-items:center;gap:clamp(12px,1.4vw,26px);background:transparent;border:0;border-radius:0;box-shadow:none}
.v17-brand{width:clamp(230px,17vw,335px);flex:0 0 clamp(230px,17vw,335px);display:flex;align-items:center;min-width:0}
.v17-brand .logo-pair{width:100%;height:82px;display:flex;align-items:center}
.v17-brand img{width:100%;height:82px;object-fit:contain;object-position:left center;filter:drop-shadow(0 9px 22px rgba(26,30,36,.10))}
.v17-nav{display:flex;align-items:center;justify-content:center;gap:1px;flex:1;min-width:0}
.v17-nav a{position:relative;padding:13px 9px;border-radius:13px;font-size:14px;font-weight:790;white-space:nowrap;transition:.18s ease}
.v17-nav a:hover,.v17-nav a.active{background:var(--maroon-soft);color:var(--maroon)}
.v17-nav a.active:after{content:"";position:absolute;left:14px;right:14px;bottom:7px;height:2px;border-radius:2px;background:var(--maroon)}
.v17-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.v17-phone,.v17-quote{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;font-size:14px;font-weight:850;padding:0 18px;transition:.18s ease;white-space:nowrap}
.v17-phone{width:50px;padding:0;font-size:19px;line-height:1}
.v17-phone{border:1px solid var(--line);background:color-mix(in srgb,var(--white) 91%,transparent);box-shadow:0 10px 28px rgba(25,30,36,.05)}
.v17-quote{background:linear-gradient(135deg,#ab173c,#81112e);color:#fff;box-shadow:0 12px 28px rgba(142,18,52,.22)}
.v17-phone:hover,.v17-quote:hover{transform:translateY(-2px)}
.v17-round{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--ink);box-shadow:0 10px 28px rgba(25,30,36,.05);cursor:pointer}
.v17-mobile-toggle{display:none}
.dark .v17-header{background:linear-gradient(180deg,var(--off) 0%,color-mix(in srgb,var(--off) 94%,transparent) 82%,transparent 100%)}
.dark .v17-brand .logo-light{display:none}.dark .v17-brand .logo-dark{display:block}

/* Hero now uses a real image element so it is always visible and CMS replaceable */
.home-hero{padding:0 0 0}
.hero-frame{width:calc(100% - 30px);max-width:none;margin:0 auto;min-height:clamp(620px,72vh,790px);border-radius:34px;overflow:hidden;position:relative;background:#17191d;box-shadow:0 28px 84px rgba(20,24,29,.17)}
.hero-frame:before{display:none!important}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:0}
.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(9,12,15,.91) 0%,rgba(9,12,15,.80) 34%,rgba(9,12,15,.42) 57%,rgba(9,12,15,.14) 78%,rgba(9,12,15,.06) 100%)}
.hero-content{position:relative;z-index:2;padding:clamp(70px,8vh,104px) clamp(34px,4.4vw,84px) 68px;max-width:900px;color:#fff}
.hero-content .eyebrow{color:#f2b3c4}.hero-content .eyebrow:before{background:#f2b3c4}
.hero-content .display-xl{font-size:clamp(58px,6.4vw,112px);line-height:.89!important;letter-spacing:-.057em!important;text-shadow:0 7px 34px rgba(0,0,0,.18)}
.hero-content .accent{color:#ec5478}
.hero-content .lede{color:rgba(255,255,255,.83);font-size:clamp(18px,1.25vw,22px);max-width:760px}
.hero-content .btn-dark{background:rgba(16,19,22,.72);border:1px solid rgba(255,255,255,.20);backdrop-filter:blur(12px)}
.hero-content .btn-brand{box-shadow:0 14px 36px rgba(142,18,52,.40)}
.hero-pills{margin-top:28px}
.hero-pill{background:rgba(15,18,21,.43);border-color:rgba(255,255,255,.24);color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.09)}
.hero-pill .icon{color:#f5a9bc}
.hero-glass{right:clamp(24px,3vw,54px);bottom:clamp(24px,3vw,54px);width:min(440px,32vw);padding:30px;border-radius:26px;background:linear-gradient(150deg,rgba(22,25,29,.78),rgba(18,20,23,.62));border:1px solid rgba(255,255,255,.18);box-shadow:0 28px 70px rgba(0,0,0,.28);backdrop-filter:blur(24px) saturate(130%)}
.hero-glass h3{font-size:25px;line-height:1.08}

/* Give the image-led areas more of the original flagship feel */
.trust-band{padding-top:20px}
.bento-card,.photo-card,.project-card,.cornwall,.renew-collage img{box-shadow:0 18px 48px rgba(22,27,33,.10)}
.bento-card,.photo-card{transition:transform .22s ease,box-shadow .22s ease}
.bento-card:hover,.photo-card:hover{transform:translateY(-5px);box-shadow:0 26px 66px rgba(22,27,33,.16)}
.cornwall{min-height:560px}

/* Mobile drawer keeps the large standalone brand */
.v17-mobile-panel .v13-mobile-logo{width:245px;height:90px}.v17-mobile-panel .v13-mobile-logo img{height:90px;object-fit:contain;object-position:left center}

@media(max-width:1560px){
  .v17-nav{display:none}.v17-phone{width:50px;padding:0}.v17-mobile-toggle{display:grid}.v17-brand{width:290px;flex-basis:290px}
}
@media(max-width:980px){
  .v17-header-shell{min-height:94px;padding-top:8px;padding-bottom:8px}.v17-brand{width:260px;flex-basis:260px}.v17-brand .logo-pair,.v17-brand img{height:74px}
  .hero-frame{width:calc(100% - 20px);min-height:760px}.hero-shade{background:linear-gradient(180deg,rgba(9,12,15,.15) 0%,rgba(9,12,15,.34) 35%,rgba(9,12,15,.88) 72%,rgba(9,12,15,.96) 100%)}
  .hero-bg{object-position:64% center}.hero-content{padding:330px 34px 42px;max-width:780px}.hero-content .display-xl{font-size:clamp(58px,10vw,86px)}
  .hero-glass{position:relative;right:auto;bottom:auto;margin:0 28px 30px;width:auto;z-index:3}
}
@media(max-width:760px){
  :root{--wrap:calc(100% - 20px)}
  .v17-header{position:sticky}.v17-header-shell{min-height:82px;padding:5px 10px 5px 12px;gap:6px}.v17-brand{width:220px;flex-basis:220px}.v17-brand .logo-pair,.v17-brand img{height:58px}.v17-quote,.v17-phone{display:none}.v17-round{width:44px;height:44px}.v17-mobile-toggle{display:grid}
  .hero-frame{border-radius:24px;min-height:0;padding-top:0}.hero-bg{height:100%;object-position:63% center}.hero-shade{background:linear-gradient(180deg,rgba(9,12,15,.10),rgba(9,12,15,.35) 31%,rgba(9,12,15,.93) 67%,rgba(9,12,15,.98) 100%)}
  .hero-content{padding:300px 22px 28px}.hero-content .display-xl{font-size:clamp(48px,14vw,66px);line-height:.92!important}.hero-content .lede{font-size:17px;line-height:1.52}.hero-actions{gap:9px}.hero-actions .btnx{width:100%}.hero-pills{gap:7px}.hero-pill{font-size:10px;padding:8px 9px}.hero-glass{margin:0 14px 16px;padding:23px;border-radius:22px}.hero-glass-row{font-size:13px}
  .v17-mobile-panel .v13-mobile-logo{width:220px;height:82px}.v17-mobile-panel .v13-mobile-logo img{height:82px}
}
@media(max-width:430px){
  .v17-brand{width:180px;flex-basis:180px}.v17-brand .logo-pair,.v17-brand img{height:60px}.hero-content{padding-top:270px}
}


/* =========================================================
   V19 MAROON REFINEMENT + LARGER BRAND + COLOURED THEME ICONS
   ========================================================= */
:root{
  --maroon:#981635;
  --maroon-dark:#721027;
  --maroon-soft:#f1eaed;
  --blush:#f7f5f6;
  --mint:#f4f0f1;
}
body.dark{--maroon-soft:#2a1a20;--blush:#191719;--mint:#21171a}

/* Larger standalone logo without bringing back the boxed header */
.v17-header-shell{min-height:126px;padding-top:8px;padding-bottom:8px}
.v17-brand{width:clamp(270px,18vw,370px);flex-basis:clamp(270px,18vw,370px)}
.v17-brand .logo-pair,.v17-brand img{height:108px}
.v17-brand img{filter:drop-shadow(0 8px 20px rgba(24,28,33,.08))}

/* Theme control - gold sun and brand-maroon moon */
.theme-switch{display:flex!important;align-items:center;justify-content:center;gap:2px;font-size:17px;line-height:1}
.theme-sun{color:#d58b16;text-shadow:0 0 10px rgba(213,139,22,.16)}
.theme-moon{color:#8f1737;font-size:19px}
.dark .theme-sun{color:#f0b84f}.dark .theme-moon{color:#e0a3b3}
.mobile-theme-switch{gap:9px}.mobile-theme-switch .theme-sun,.mobile-theme-switch .theme-moon{font-size:20px}

/* Pull the site away from pale pink and back toward the core maroon palette */
.hero-content .accent{color:#b01942}
.hero-content .eyebrow{color:#dba9b7}.hero-content .eyebrow:before{background:#9b1738}
.hero-pill .icon{color:#c26b81}
.smoke-item small{color:#d9a7b4}
.testing-eyebrow{color:#dcaab8}.testing-eyebrow:before{background:#a51a3d}
.cms-list-intro{background:linear-gradient(135deg,#f7f5f6,#fff)}
.contact-mini{background:#f7f5f6}

/* Renewables gets the same deep maroon family as Request a quote */
.renew-copy{background:linear-gradient(145deg,#9c1838 0%,#76112b 100%);border-color:rgba(113,16,40,.56);color:#fff;box-shadow:0 24px 60px rgba(116,16,42,.18)}
.renew-copy .eyebrow,.renew-copy .lede{color:rgba(255,255,255,.88)}
.renew-copy .eyebrow:before{background:#fff}
.renew-spec{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(8px)}
.renew-spec .icon{color:#fff}.renew-spec:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.17)}

/* Seeded project cards have a little more photographic impact */
.cms-card img{height:285px}
.cms-card{transition:transform .2s ease,box-shadow .2s ease}.cms-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}

@media(max-width:1560px){
  .v17-header-shell{min-height:112px}.v17-brand{width:310px;flex-basis:310px}.v17-brand .logo-pair,.v17-brand img{height:94px}
}
@media(max-width:980px){
  .v17-header-shell{min-height:100px}.v17-brand{width:275px;flex-basis:275px}.v17-brand .logo-pair,.v17-brand img{height:86px}
}
@media(max-width:760px){
  .v17-header-shell{min-height:88px}.v17-brand{width:220px;flex-basis:220px}.v17-brand .logo-pair,.v17-brand img{height:72px}
  .cms-card img{height:235px}
}
@media(max-width:430px){
  .v17-brand{width:195px;flex-basis:195px}.v17-brand .logo-pair,.v17-brand img{height:66px}
}


/* =========================================================
   V20 STRONGER CONTRAST + EDITORIAL FLOW
   ========================================================= */
:root{
  --blush:#f3e7ec;
  --blue:#e9f1f5;
  --mint:#edf2ee;
  --sand:#f3ede3;
  --lilac:#eee9f2;
}
body.dark{
  --off:#090c10;
  --white:#11161b;
  --ink:#f7f8fa;
  --ink-2:#e4e8ed;
  --muted:#c1c8d0;
  --line:#323a44;
  --smoke-soft:rgba(255,255,255,.085);
  --blush:#29161d;
  --blue:#14232d;
  --mint:#17261f;
  --sand:#292218;
  --lilac:#221a2a;
}

/* Homepage information card - more purposeful, less like a disconnected list */
.hero-glass{background:linear-gradient(145deg,rgba(18,22,26,.91),rgba(44,35,30,.82));border-color:rgba(255,255,255,.19)}
.hero-glass .kicker{color:#e9aabd!important;letter-spacing:.12em}
.hero-glass-intro{margin:0 0 14px;color:#d4d9df;font-size:14px;line-height:1.55}
.hero-glass-row{padding:12px 0}
.hero-glass-row strong{color:#fff;min-width:64px}
.hero-glass-row span{color:#d7dbe0}
.hero-glass-link{display:inline-flex;margin-top:18px;color:#fff;font-weight:850;font-size:14px;border-bottom:1px solid rgba(255,255,255,.42);padding-bottom:3px}
.hero-glass-link:hover{color:#f2bac8;border-color:#f2bac8}

/* Richer cards in both light and dark themes */
.service-wide,.pastel-card,.accred-card,.feature-card,.content-panel,.trust-card,.cms-card,.code-card,.form-card,.contact-aside{transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
body.dark .service-wide,body.dark .pastel-card,body.dark .accred-card,body.dark .feature-card,body.dark .content-panel,body.dark .trust-card,body.dark .cms-card,body.dark .code-card,body.dark .form-card,body.dark .contact-aside{border-color:#313a44;box-shadow:0 20px 52px rgba(0,0,0,.24)}
body.dark .service-wide:nth-child(4n+1),body.dark .pastel-card:nth-child(6n+1),body.dark .accred-card:nth-child(1){background:#28171d}
body.dark .service-wide:nth-child(4n+2),body.dark .pastel-card:nth-child(6n+2),body.dark .accred-card:nth-child(2){background:#14242d}
body.dark .service-wide:nth-child(4n+3),body.dark .pastel-card:nth-child(6n+3),body.dark .accred-card:nth-child(3){background:#18251f}
body.dark .service-wide:nth-child(4n+4),body.dark .pastel-card:nth-child(6n+4),body.dark .accred-card:nth-child(4){background:#292218}
body.dark .pastel-card:nth-child(6n+5){background:#22192a}
body.dark .pastel-card:nth-child(6n+6){background:#151a20}
body.dark .service-wide p,body.dark .pastel-card p,body.dark .accred-card p,body.dark .feature-card p,body.dark .cms-card-body p,body.dark .rich-copy p,body.dark .rich-copy li{color:#c6cdd5}
body.dark .service-wide h3,body.dark .pastel-card h3,body.dark .feature-card h3,body.dark .cms-card h2,body.dark .cms-card h3,body.dark .content-panel h2,body.dark .content-panel h3,body.dark .accred-card h3{color:#f7f8fa}
body.dark .cms-list-intro{background:linear-gradient(135deg,#182029 0%,#101419 100%);border-color:#313a44;box-shadow:0 22px 58px rgba(0,0,0,.27)}
body.dark .cms-list-intro h1,body.dark .cms-list-intro h2,body.dark .cms-list-intro .display-lg{color:#f8f9fb!important}
body.dark .cms-list-intro .lede,body.dark .cms-list-intro p{color:#c5ccd4!important}
body.dark .contact-mini{background:#171d23;border-color:#313a44}
body.dark .contact-mini strong{color:#f7f8fa}
body.dark .contact-mini span{color:#bbc3cc}
body.dark .form-group input,body.dark .form-group textarea,body.dark .form-group select{background:#0d1217;border-color:#333c46;color:#f7f8fa}
body.dark .rich-copy h2,body.dark .rich-copy h3{color:#f7f8fa}
body.dark .standard-band{background:#191d22}

/* Alternating maintenance story rows - removes the awkward double-stacked image block */
.feature-flow{display:grid;gap:24px}
.feature-split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:430px;border-radius:28px;overflow:hidden;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.feature-split.reverse{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.feature-split.reverse .feature-split-copy{order:2}.feature-split.reverse .feature-split-media{order:1}
.feature-split-copy{padding:44px;display:flex;flex-direction:column;justify-content:center}
.feature-split-copy .display-md{margin:14px 0 16px}
.feature-split-copy .lede{font-size:18px}
.feature-split-copy .mini-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.feature-split-copy .mini-list span{padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:var(--off);font-size:12px;font-weight:800;color:var(--ink)}
.feature-split-media{min-height:430px;position:relative;overflow:hidden}
.feature-split-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body.dark .feature-split{background:#11161b;border-color:#313a44;box-shadow:0 22px 58px rgba(0,0,0,.25)}
body.dark .feature-split-copy .mini-list span{background:#0c1116;border-color:#343d47;color:#eef1f4}

/* Homepage editorial cards */
.home-news-grid .cms-card img{height:260px}
.home-news-grid .cms-card-body h3{font-size:24px;line-height:1.08;margin:10px 0}

@media(max-width:1050px){
  .feature-split,.feature-split.reverse{grid-template-columns:1fr;min-height:0}
  .feature-split.reverse .feature-split-copy,.feature-split.reverse .feature-split-media{order:initial}
  .feature-split-media{min-height:340px}
}
@media(max-width:760px){
  .feature-split{border-radius:22px}.feature-split-copy{padding:26px 22px}.feature-split-media{min-height:280px}
  .home-news-grid .cms-card img{height:230px}
}


/* =========================================================
   V21 NAV CONTRAST + STAGGERED PAGE FLOW + LONGFORM BLOGS
   ========================================================= */
/* The current page must stay readable in dark mode, not maroon-on-maroon. */
body.dark .v17-nav a{color:#f5f7fa}
body.dark .v17-nav a:hover{background:#28171e;color:#ffffff}
body.dark .v17-nav a.active{background:linear-gradient(135deg,#a8173f,#78112c);color:#ffffff;box-shadow:0 8px 24px rgba(151,20,55,.28)}
body.dark .v17-nav a.active:after{background:#f2adbf}
body.dark .v17-phone{background:#111820;border-color:#39434e;color:#ffffff}
body.dark .v17-phone:hover{background:#18212a;border-color:#52606d}
body.dark .v17-round{background:#111820;border-color:#39434e;color:#ffffff}
body.dark .v17-quote{color:#ffffff}
body.dark .btn-outline{background:#111820;border-color:#3a4551;color:#f7f9fb}
body.dark .btn-outline:hover{background:#1a232c;border-color:#596674;color:#ffffff}
body.dark .btn-dark{background:#f7f8fa;color:#101419}
body.dark .link-arrow{color:#f06d8e}
body.dark .fact-pill{background:#111820;border-color:#3b4550;color:#f5f7fa}
body.dark .renew-spec{color:#fff}

/* Make all interactive controls unmistakably interactive. */
a.btnx,.v17-nav a,.v17-actions a,.project-card,.service-wide,.renew-spec,.link-arrow,.cms-card a{cursor:pointer;pointer-events:auto;position:relative;z-index:2}
a.btnx:focus-visible,.v17-nav a:focus-visible,.v17-actions a:focus-visible,.project-card:focus-visible,.service-wide:focus-visible,.renew-spec:focus-visible,.link-arrow:focus-visible{outline:3px solid #e18aa1;outline-offset:3px}

/* Alternating image/text layout on wide screens to stop images stacking down one side. */
.content-split.reverse{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.content-split.reverse>.content-panel:first-child{order:2}
.content-split.reverse>.content-panel.visual{order:1}
@media(max-width:1500px){
  .content-split.reverse{grid-template-columns:1fr}
  .content-split.reverse>.content-panel:first-child{order:1}
  .content-split.reverse>.content-panel.visual{order:2}
}

/* Stronger dark cards - less washed-out and more deliberate. */
body.dark .service-wide:nth-child(4n+1),body.dark .pastel-card:nth-child(6n+1),body.dark .accred-card:nth-child(1){background:#321821;border-color:#542632}
body.dark .service-wide:nth-child(4n+2),body.dark .pastel-card:nth-child(6n+2),body.dark .accred-card:nth-child(2){background:#132934;border-color:#274654}
body.dark .service-wide:nth-child(4n+3),body.dark .pastel-card:nth-child(6n+3),body.dark .accred-card:nth-child(3){background:#162b22;border-color:#2d493b}
body.dark .service-wide:nth-child(4n+4),body.dark .pastel-card:nth-child(6n+4),body.dark .accred-card:nth-child(4){background:#302719;border-color:#51412a}
body.dark .service-wide p,body.dark .pastel-card p,body.dark .accred-card p{color:#d5dbe1}
body.dark .service-wide .mini-list span{color:#ffffff}

/* Long-form blog presentation. */
.blog-article-wrap{max-width:1120px;margin:0 auto}
.blog-article{font-size:18px;line-height:1.78}
.blog-article>p:first-of-type{font-size:22px;line-height:1.65;color:var(--ink-2)}
.blog-article h2{font-size:clamp(30px,2.8vw,44px);line-height:1.08;letter-spacing:-.035em;margin:54px 0 18px}
.blog-article h3{font-size:clamp(23px,2vw,31px);line-height:1.15;letter-spacing:-.025em;margin:38px 0 14px}
.blog-article p{margin:0 0 22px;color:var(--muted)}
.blog-article ul,.blog-article ol{margin:0 0 28px;padding-left:26px;color:var(--muted)}
.blog-article li{margin:9px 0;padding-left:5px}
.blog-article strong{color:var(--ink)}
body.dark .blog-article>p:first-of-type{color:#e9edf1}
body.dark .blog-article p,body.dark .blog-article li{color:#cbd2d9}
body.dark .blog-article h2,body.dark .blog-article h3,body.dark .blog-article strong{color:#ffffff}

/* Quarry cards should read as heavy industrial work, not a generic coastal build. */
.quarry-project-card .media img{object-position:center 54%}

/* V23 - editorial AI-assisted blog layout */
.blog-editorial-grid{width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:clamp(30px,4vw,64px);align-items:start}.blog-article-wide{max-width:980px;min-width:0}.blog-article-side{position:sticky;top:120px;display:grid;gap:16px}.article-side-card{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow-sm)}.article-side-card p{font-size:13px;line-height:1.55;color:var(--muted);margin:8px 0 14px}.article-toc{display:grid;gap:4px;margin-top:10px}.article-toc a{padding:9px 10px;border-radius:10px;color:var(--ink);font-size:13px;font-weight:760;line-height:1.35;text-decoration:none}.article-toc a:hover{background:var(--maroon-soft);color:var(--maroon)}.article-sources{display:grid;gap:7px}.article-sources a{display:block;padding:10px;border-radius:11px;background:var(--smoke-soft);color:var(--ink);text-decoration:none}.article-sources strong,.article-sources span{display:block}.article-sources strong{font-size:12px;line-height:1.35}.article-sources span{font-size:10px;color:var(--muted);margin-top:3px;word-break:break-word}.article-inline-media{margin:42px 0 46px;position:relative}.article-inline-media img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:26px;box-shadow:var(--shadow);border:1px solid var(--line)}.article-inline-media figcaption{font-size:11px;color:var(--muted);padding:8px 4px 0}.blog-article h2{scroll-margin-top:130px}.blog-article blockquote{margin:30px 0;padding:20px 24px;border-left:4px solid var(--maroon);background:var(--smoke-soft);border-radius:0 18px 18px 0;font-size:19px;line-height:1.6;color:var(--ink)}
body.dark .article-side-card{background:#151a1f;border-color:#2c343d}body.dark .article-toc a,body.dark .article-sources a{color:#f6f8fa}body.dark .article-toc a:hover{background:#341824;color:#fff}body.dark .article-sources a{background:#11161a}body.dark .article-sources span,body.dark .article-side-card p,body.dark .article-inline-media figcaption{color:#aeb8c2}body.dark .blog-article blockquote{background:#172027;color:#f7f8f9}
@media(max-width:1050px){.blog-editorial-grid{grid-template-columns:1fr}.blog-article-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr));order:2}.blog-article-wide{max-width:none}}
@media(max-width:650px){.blog-article-side{grid-template-columns:1fr}.article-inline-media{margin:30px 0 34px}.article-inline-media img{border-radius:20px}.article-side-card{padding:18px}.blog-article h2{scroll-margin-top:90px}}

/* V26 - magazine-style long-form articles: sidebar floats so text reclaims the page below it. */
.blog-editorial-grid{display:block;width:var(--wrap);margin:0 auto;max-width:none}
.blog-article-side{float:right;width:min(320px,27%);margin:0 0 34px clamp(28px,4vw,58px);position:relative;top:auto;display:grid;gap:16px;z-index:2}
.blog-article-wide{max-width:none;min-width:0;background:var(--white);border:1px solid var(--line);border-radius:30px;padding:clamp(26px,4vw,58px);box-shadow:var(--shadow-sm)}
.blog-editorial-clear{clear:both;height:0}
.blog-article p,.blog-article ul,.blog-article ol{max-width:1080px}
.blog-article>p:first-of-type{max-width:1120px}
.blog-article h2,.blog-article h3{max-width:1120px}
.article-inline-media{max-width:1120px;margin:44px 0 50px}
.article-inline-media img{aspect-ratio:3/2;min-height:340px}
body.dark .blog-article-wide{background:#11161b;border-color:#2b333b;box-shadow:0 22px 58px rgba(0,0,0,.22)}
@media(max-width:1050px){.blog-article-side{float:none;width:auto;margin:0 0 24px;grid-template-columns:repeat(2,minmax(0,1fr))}.blog-article-wide{padding:clamp(22px,5vw,42px)}}
@media(max-width:650px){.blog-article-side{grid-template-columns:1fr}.blog-article-wide{border-radius:22px;padding:22px 18px}.article-inline-media img{min-height:0;border-radius:18px}}

/* V27 - homepage eyebrow without the decorative dash */
.eyebrow.no-line{gap:0}.eyebrow.no-line:before{display:none!important}

/* V31 matched light/dark brand pair - identical canvas prevents theme-switch jumping. */
.brand{width:280px;min-width:235px}.brand img{width:100%;height:68px;object-fit:contain;object-position:left center}.v13-mobile-logo img{max-height:72px;object-fit:contain}.footer-logo img{max-height:110px;object-fit:contain;object-position:left center}
@media(max-width:1380px){.brand{width:245px;min-width:210px}.brand img{height:64px}}

/* V34 - two supporting editorial images spaced through long-form articles. */
.article-inline-media-one{max-width:980px;margin:52px auto 56px 0}
.article-inline-media-two{max-width:980px;margin:58px 0 56px auto}
.article-inline-media-one img,.article-inline-media-two img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:26px;box-shadow:var(--shadow);border:1px solid var(--line)}
@media(max-width:1050px){.article-inline-media-one,.article-inline-media-two{max-width:none;margin:38px 0 42px}}
@media(max-width:650px){.article-inline-media-one,.article-inline-media-two{margin:30px 0 34px}.article-inline-media-one img,.article-inline-media-two img{border-radius:18px}}

/* V34 original Maenporth Electrical colour logo - larger but stable in both themes. */
.brand{width:300px;min-width:255px}.brand img{width:100%;height:96px;object-fit:contain;object-position:left center}.v13-mobile-logo img{max-height:86px;object-fit:contain}.footer-logo img{max-height:126px;object-fit:contain;object-position:left center}
@media(max-width:1380px){.brand{width:260px;min-width:225px}.brand img{height:88px}}

/* V35 - three supporting article images, alternating gently through long-form copy. */
.article-inline-media-three{max-width:980px;margin:58px auto 56px 0}
.article-inline-media-three img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:26px;box-shadow:var(--shadow);border:1px solid var(--line)}
@media(max-width:1050px){.article-inline-media-three{max-width:none;margin:38px 0 42px}}
@media(max-width:650px){.article-inline-media-three{margin:30px 0 34px}.article-inline-media-three img{border-radius:18px}}


/* V36 - polished long-form blog layout, real in-page contents navigation and clickable card titles. */
html{scroll-behavior:smooth}
.cms-card-title-link{color:inherit;text-decoration:none}.cms-card-title-link:hover{color:var(--maroon)}
.v36-blog-layout{width:var(--wrap);margin:0 auto;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(235px,285px);gap:clamp(24px,3vw,46px);align-items:start}
.v36-blog-layout .blog-article-wide{width:100%;max-width:none;min-width:0;padding:clamp(28px,3.4vw,56px);background:var(--white);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow-sm)}
.v36-blog-layout .blog-article-side{float:none;width:auto;margin:0;display:block;position:sticky;top:118px;z-index:3}
.v36-blog-layout .article-side-card{padding:20px 18px}
.v36-blog-layout .article-toc a{display:block;border-left:3px solid transparent}
.v36-blog-layout .article-toc a.is-current{background:var(--maroon-soft);color:var(--maroon);border-left-color:var(--maroon)}
.v36-blog-layout .blog-article p,.v36-blog-layout .blog-article ul,.v36-blog-layout .blog-article ol,.v36-blog-layout .blog-article h2,.v36-blog-layout .blog-article h3{max-width:1120px}
.v36-blog-layout .blog-article a{color:var(--maroon);font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.v36-blog-layout .blog-article a:hover{color:#7e102b}
body.dark .v36-blog-layout .blog-article-wide{background:#11161b;border-color:#2b333b}
body.dark .v36-blog-layout .blog-article a{color:#f08aa5}
@media(max-width:1050px){
  .v36-blog-layout{grid-template-columns:1fr}
  .v36-blog-layout .blog-article-side{position:static;order:-1}
  .v36-blog-layout .article-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .v36-blog-layout .blog-article-wide{padding:clamp(24px,5vw,42px)}
}
@media(max-width:650px){
  .v36-blog-layout .article-toc{grid-template-columns:1fr}
  .v36-blog-layout .blog-article-wide{border-radius:22px;padding:22px 18px}
}


/* V38 - professional single-surface blog article with a short editorial sidebar.
   The sidebar floats only at the top, so the article naturally becomes full width below it. */
.v38-blog-layout{display:block!important;width:var(--wrap);max-width:1440px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:30px;padding:clamp(28px,3.6vw,56px);box-shadow:none;overflow:visible}
.v38-blog-layout .v38-blog-article{max-width:none!important;width:auto;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
.v38-blog-layout .v38-blog-side{float:right;width:min(300px,27%);margin:0 0 34px clamp(30px,4vw,54px);position:relative!important;top:auto!important;z-index:1;display:grid!important;gap:16px}
.v38-blog-layout .article-side-card{background:var(--smoke-soft);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:none}
.v38-blog-layout .article-toc{gap:2px}.v38-blog-layout .article-toc a{padding:8px 9px;font-size:12.5px;line-height:1.35}
.v38-recent-blogs{display:grid;margin-top:9px}.v38-recent-blogs a{display:block;padding:10px 0;border-top:1px solid var(--line);text-decoration:none!important}.v38-recent-blogs a:first-child{border-top:0}.v38-recent-blogs strong{display:block;color:var(--ink);font-size:13px;line-height:1.35}.v38-recent-blogs span{display:block;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.v38-recent-blogs a:hover strong{color:var(--maroon)}.v38-all-blogs{display:inline-flex;margin-top:10px;color:var(--maroon);font-size:12px;font-weight:800;text-decoration:none!important}
.v38-blog-layout .blog-article p,.v38-blog-layout .blog-article ul,.v38-blog-layout .blog-article ol,.v38-blog-layout .blog-article h2,.v38-blog-layout .blog-article h3{max-width:none}
.v38-blog-layout .blog-article h2{font-size:clamp(30px,2.7vw,42px);margin-top:50px}.v38-blog-layout .blog-article h3{font-size:clamp(22px,1.9vw,29px)}
.v38-blog-layout .article-inline-media,.v38-blog-layout .article-inline-media-one,.v38-blog-layout .article-inline-media-two,.v38-blog-layout .article-inline-media-three{clear:both;width:min(100%,1100px);max-width:1100px;margin:48px auto 52px!important}
.v38-blog-layout .article-inline-media img,.v38-blog-layout .article-inline-media-one img,.v38-blog-layout .article-inline-media-two img,.v38-blog-layout .article-inline-media-three img{width:100%;min-height:0;aspect-ratio:3/2;object-fit:cover;border-radius:22px;border:1px solid var(--line);box-shadow:none}
.v38-blog-layout .blog-editorial-clear{clear:both;height:0}
body.dark .v38-blog-layout{background:#11161b;border-color:#2b333b}body.dark .v38-blog-layout .article-side-card{background:#151b20;border-color:#2c343d}
@media(max-width:1050px){.v38-blog-layout{padding:clamp(24px,5vw,42px)}.v38-blog-layout .v38-blog-side{float:none;width:auto;margin:0 0 32px;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.v38-blog-layout .article-toc{grid-template-columns:1fr}.v38-blog-layout .article-inline-media,.v38-blog-layout .article-inline-media-one,.v38-blog-layout .article-inline-media-two,.v38-blog-layout .article-inline-media-three{margin:38px auto 42px!important}}
@media(max-width:650px){.v38-blog-layout{width:calc(100% - 20px);border-radius:22px;padding:22px 18px}.v38-blog-layout .v38-blog-side{grid-template-columns:1fr}.v38-blog-layout .article-inline-media,.v38-blog-layout .article-inline-media-one,.v38-blog-layout .article-inline-media-two,.v38-blog-layout .article-inline-media-three{margin:30px auto 34px!important}.v38-blog-layout .article-inline-media img,.v38-blog-layout .article-inline-media-one img,.v38-blog-layout .article-inline-media-two img,.v38-blog-layout .article-inline-media-three img{border-radius:17px}}

/* V39 - supporting images use deliberate section placement and one consistent centre line. */
.v39-blog-layout .article-inline-media,.v39-blog-layout .article-inline-media-one,.v39-blog-layout .article-inline-media-two,.v39-blog-layout .article-inline-media-three{width:min(100%,1040px);max-width:1040px;margin:46px auto 50px!important;clear:both;float:none!important;display:block!important;margin-left:auto!important;margin-right:auto!important}
.v39-blog-layout .article-inline-media img,.v39-blog-layout .article-inline-media-one img,.v39-blog-layout .article-inline-media-two img,.v39-blog-layout .article-inline-media-three img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;margin:0 auto;border-radius:20px;box-shadow:none}
@media(max-width:1050px){.v39-blog-layout .article-inline-media,.v39-blog-layout .article-inline-media-one,.v39-blog-layout .article-inline-media-two,.v39-blog-layout .article-inline-media-three{width:100%;margin:36px auto 40px!important}}

/* V40 - internal blog links stay visually quiet until the reader hovers or focuses them. */
.v39-blog-layout .blog-article a[href^="/"],
.v39-blog-layout .blog-article a[href^="./"],
.v39-blog-layout .blog-article a[href^="../"],
.v39-blog-layout .blog-article a[href^="https://maenporthelectrical.co.uk/"],
.v39-blog-layout .blog-article a[href^="https://www.maenporthelectrical.co.uk/"],
.v39-blog-layout .blog-article a[href^="http://maenporthelectrical.co.uk/"],
.v39-blog-layout .blog-article a[href^="http://www.maenporthelectrical.co.uk/"]{color:inherit!important;font-weight:inherit!important;text-decoration:none!important}
.v39-blog-layout .blog-article a[href^="/"]:hover,
.v39-blog-layout .blog-article a[href^="./"]:hover,
.v39-blog-layout .blog-article a[href^="../"]:hover,
.v39-blog-layout .blog-article a[href^="https://maenporthelectrical.co.uk/"]:hover,
.v39-blog-layout .blog-article a[href^="https://www.maenporthelectrical.co.uk/"]:hover,
.v39-blog-layout .blog-article a[href^="http://maenporthelectrical.co.uk/"]:hover,
.v39-blog-layout .blog-article a[href^="http://www.maenporthelectrical.co.uk/"]:hover,
.v39-blog-layout .blog-article a[href^="/"]:focus-visible,
.v39-blog-layout .blog-article a[href^="./"]:focus-visible,
.v39-blog-layout .blog-article a[href^="../"]:focus-visible,
.v39-blog-layout .blog-article a[href^="https://maenporthelectrical.co.uk/"]:focus-visible,
.v39-blog-layout .blog-article a[href^="https://www.maenporthelectrical.co.uk/"]:focus-visible,
.v39-blog-layout .blog-article a[href^="http://maenporthelectrical.co.uk/"]:focus-visible,
.v39-blog-layout .blog-article a[href^="http://www.maenporthelectrical.co.uk/"]:focus-visible{text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important}

/* V44 - quiet editorial links and clean blog hierarchy.
   Article links read like normal copy until hover/focus, whether internal or external. */
.v39-blog-layout .blog-article a{
  color:inherit!important;
  font-weight:inherit!important;
  text-decoration:none!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
}
.v39-blog-layout .blog-article a:hover{
  color:inherit!important;
  text-decoration:underline!important;
}
.v39-blog-layout .blog-article a:focus-visible{
  color:inherit!important;
  text-decoration:underline!important;
  outline:2px solid var(--maroon);
  outline-offset:3px;
  border-radius:2px;
}


/* V48 - selectable blog image format. Wide is the default and fills the complete article surface. */
.v39-blog-layout.ai-blog-images-wide .article-inline-media,
.v39-blog-layout.ai-blog-images-wide .article-inline-media-one,
.v39-blog-layout.ai-blog-images-wide .article-inline-media-two,
.v39-blog-layout.ai-blog-images-wide .article-inline-media-three{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
}
.v39-blog-layout.ai-blog-images-wide .article-inline-media img,
.v39-blog-layout.ai-blog-images-wide .article-inline-media-one img,
.v39-blog-layout.ai-blog-images-wide .article-inline-media-two img,
.v39-blog-layout.ai-blog-images-wide .article-inline-media-three img{
  width:100%!important;aspect-ratio:16/9!important;object-fit:cover!important;object-position:center center;
}
.v39-blog-layout.ai-blog-images-standard .article-inline-media img,
.v39-blog-layout.ai-blog-images-standard .article-inline-media-one img,
.v39-blog-layout.ai-blog-images-standard .article-inline-media-two img,
.v39-blog-layout.ai-blog-images-standard .article-inline-media-three img{aspect-ratio:3/2!important}
@media(max-width:650px){
  .v39-blog-layout.ai-blog-images-wide .article-inline-media,
  .v39-blog-layout.ai-blog-images-wide .article-inline-media-one,
  .v39-blog-layout.ai-blog-images-wide .article-inline-media-two,
  .v39-blog-layout.ai-blog-images-wide .article-inline-media-three{margin-left:0!important;margin-right:0!important}
}


/* V49 - blog discovery and scalable archive */
.v49-blog-intro{padding-top:50px;padding-bottom:50px}.v49-blog-intro .lede{max-width:980px}.v49-public-blog-tools{padding:10px 0 0}.v49-blog-search-panel{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:20px;background:var(--white);box-shadow:var(--shadow-sm)}.v49-public-search{height:52px;display:flex;align-items:center;gap:9px;padding:0 15px;border:1px solid var(--line);border-radius:14px;background:var(--off)}.v49-public-search span{font-size:22px;color:var(--muted)}.v49-public-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:15px}.v49-public-categories{display:flex;gap:7px;flex-wrap:wrap}.v49-public-categories button{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:850;cursor:pointer}.v49-public-categories button:hover,.v49-public-categories button.active{border-color:#b52246;background:var(--maroon-soft);color:var(--maroon)}.v49-public-result-count{font-size:12px;color:var(--muted);white-space:nowrap}.v49-public-result-count strong{font-size:18px;color:var(--ink)}.v49-blog-section{padding-top:24px}.v49-featured-blog{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);min-height:430px;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--white);box-shadow:var(--shadow-sm);margin-bottom:22px}.v49-featured-image{display:block;min-height:430px}.v49-featured-image img{width:100%;height:100%;min-height:430px;object-fit:cover}.v49-featured-copy{padding:40px;display:flex;flex-direction:column;justify-content:center}.v49-featured-copy h2{font-size:clamp(30px,3vw,46px);line-height:1.02;letter-spacing:-.04em;margin:12px 0 16px}.v49-featured-copy h2 a{color:inherit;text-decoration:none}.v49-featured-copy p{font-size:17px;color:var(--muted);line-height:1.6}.v49-featured-copy .link-arrow{margin-top:14px}.v49-public-blog-empty{padding:70px 20px;text-align:center;border:1px dashed var(--line);border-radius:24px;color:var(--muted)}body.dark .v49-blog-search-panel,body.dark .v49-featured-blog{background:#171d23;border-color:#313a44}body.dark .v49-public-search{background:#11161b;border-color:#313a44}body.dark .v49-public-categories button{background:#171d23;border-color:#313a44;color:#f4f6f8}body.dark .v49-featured-copy p{color:#c6cdd5}
@media(max-width:1050px){.v49-blog-search-panel{grid-template-columns:1fr}.v49-public-result-count{justify-self:start}.v49-featured-blog{grid-template-columns:1fr}.v49-featured-image,.v49-featured-image img{min-height:330px;height:330px}.v49-featured-copy{padding:30px}}
@media(max-width:700px){.v49-blog-intro{padding:30px 22px}.v49-blog-intro h1{font-size:42px!important}.v49-blog-search-panel{padding:11px;border-radius:16px}.v49-public-categories{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.v49-public-categories button{flex:0 0 auto}.v49-featured-blog{border-radius:22px}.v49-featured-image,.v49-featured-image img{height:250px;min-height:250px}.v49-featured-copy{padding:23px}.v49-featured-copy h2{font-size:30px}}


/* V50 - robust, readable blog search and canonical category filters */
.v50-public-blog-tools{padding:14px 0 0}.v50-blog-search-panel{padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--white);box-shadow:var(--shadow-sm)}
.v50-blog-search-top{display:grid;grid-template-columns:minmax(0,760px) auto;gap:14px;align-items:center;justify-content:space-between}.v50-public-search{height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 7px 0 16px;border:1px solid var(--line);border-radius:15px;background:var(--off)}.v50-public-search>span{font-size:22px;color:var(--muted)}.v50-public-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:16px}.v50-public-search button{height:44px;border:0;border-radius:11px;background:linear-gradient(135deg,#ad173d,#82112f);color:#fff;padding:0 23px;font:inherit;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(142,18,52,.18)}.v50-public-search button:hover{filter:brightness(1.05)}
.v50-public-result-count{min-width:95px;display:flex;align-items:baseline;justify-content:flex-end;gap:6px;color:var(--muted)}.v50-public-result-count strong{font-size:24px;color:var(--ink)}.v50-public-result-count span{font-size:13px;font-weight:750}.v50-public-categories{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.v50-public-categories a{min-height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:800;line-height:1.15;text-decoration:none;transition:.16s ease}.v50-public-categories a:hover,.v50-public-categories a.active{border-color:#b52246;background:var(--maroon-soft);color:var(--maroon);transform:translateY(-1px)}.v50-active-filter{margin-top:14px;padding:11px 13px;border-radius:12px;background:var(--off);display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;color:var(--muted)}.v50-active-filter a{font-weight:850;color:var(--maroon);text-decoration:none}.v50-public-blog-empty{padding:70px 24px;text-align:center;border:1px dashed var(--line);border-radius:24px;color:var(--muted)}.v50-public-blog-empty h2{color:var(--ink)}.v50-public-blog-empty .btnx{margin-top:12px}.v50-blog-pagination{margin-top:28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--white)}.v50-blog-pagination a{font-weight:850;color:var(--maroon);text-decoration:none}.v50-blog-pagination a:last-child{text-align:right}.v50-blog-pagination strong{font-size:13px;color:var(--muted)}
body.dark .v50-blog-search-panel,body.dark .v50-blog-pagination{background:#171d23;border-color:#313a44}body.dark .v50-public-search,body.dark .v50-active-filter{background:#11161b;border-color:#313a44}body.dark .v50-public-categories a{background:#171d23;border-color:#313a44;color:#f4f6f8}
@media(max-width:760px){.v50-blog-search-panel{padding:12px;border-radius:17px}.v50-blog-search-top{grid-template-columns:1fr}.v50-public-search{height:auto;min-height:56px;grid-template-columns:auto 1fr;padding:6px 7px 6px 13px}.v50-public-search button{grid-column:1/-1;width:100%;height:46px}.v50-public-result-count{justify-content:flex-start}.v50-public-categories{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;-webkit-overflow-scrolling:touch}.v50-public-categories a{flex:0 0 auto;font-size:14px;min-height:44px}.v50-active-filter{align-items:flex-start;flex-direction:column}.v50-blog-pagination{grid-template-columns:1fr 1fr}.v50-blog-pagination strong{grid-column:1/-1;grid-row:1;text-align:center}.v50-blog-pagination a{grid-row:2}}

/* V52 - lighter public blog archive and compact topic browsing */
.v52-blog-section{padding-top:26px}
.v52-blog-archive-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:10px 0 24px;padding:22px 2px 18px;border-bottom:1px solid var(--line)}
.v52-blog-archive-title h2{margin:7px 0 0;font-size:clamp(28px,2.5vw,38px);line-height:1.05;letter-spacing:-.035em}
.v52-blog-archive-title p{margin:8px 0 0;color:var(--muted);font-size:14px}
.v52-blog-archive-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.v52-blog-count{display:flex;align-items:baseline;gap:5px;color:var(--muted);white-space:nowrap}
.v52-blog-count strong{font-size:20px;color:var(--ink)}
.v52-blog-count span{font-size:12px;font-weight:800}
.v52-blog-topic-filter{display:flex;align-items:center;gap:8px}
.v52-blog-topic-filter label{font-size:12px;font-weight:850;color:var(--muted)}
.v52-blog-topic-filter select{height:44px;min-width:205px;padding:0 38px 0 13px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);font-size:14px;font-weight:800;outline:none;cursor:pointer}
.v52-blog-topic-filter select:focus{border-color:#b52246;box-shadow:0 0 0 3px rgba(181,34,70,.10)}
.v52-blog-topic-filter noscript button{height:44px;border:0;border-radius:11px;padding:0 16px;background:var(--maroon);color:#fff;font-weight:850}
.v52-blog-clear{height:44px;display:inline-flex;align-items:center;padding:0 4px;color:var(--maroon);font-size:13px;font-weight:850;text-decoration:none}
body.dark .v52-blog-topic-filter select{background:#171d23;border-color:#313a44;color:#f4f6f8}
@media(max-width:760px){.v52-blog-section{padding-top:18px}.v52-blog-archive-head{align-items:flex-start;flex-direction:column;gap:14px;margin-top:2px;padding:18px 0 16px}.v52-blog-archive-actions{width:100%;justify-content:flex-start}.v52-blog-topic-filter{flex:1 1 100%}.v52-blog-topic-filter select{min-width:0;width:100%}.v52-blog-count{order:2}.v52-blog-clear{order:3}.v52-blog-topic-filter{order:1}}

/* V53 - blog reading flow */
.v53-blog-back-top{padding-top:18px;padding-bottom:8px}.v53-blog-back-top a{display:inline-flex;align-items:center;gap:7px;color:var(--maroon);font-size:14px;font-weight:850;text-decoration:none}.v53-blog-back-top a:hover{text-decoration:underline;text-underline-offset:4px}.v53-blog-reader-nav{padding:0 0 70px}.v53-blog-reader-bar{border-top:1px solid var(--line);padding-top:26px}.v53-blog-all-link{display:inline-flex;color:var(--maroon);font-size:14px;font-weight:850;text-decoration:none;margin-bottom:18px}.v53-blog-all-link:hover{text-decoration:underline;text-underline-offset:4px}.v53-blog-neighbours{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v53-blog-neighbour{min-height:118px;border:1px solid var(--line);border-radius:18px;background:var(--white);padding:18px 20px;display:flex;flex-direction:column;justify-content:center;gap:8px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm);transition:.18s ease}.v53-blog-neighbour small{font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--maroon)}.v53-blog-neighbour strong{font-size:18px;line-height:1.25;letter-spacing:-.015em}.v53-blog-neighbour.next{text-align:right;grid-column:2}.v53-blog-neighbour:hover{border-color:#c03556;transform:translateY(-2px)}body.dark .v53-blog-neighbour{background:#171d23;border-color:#313a44;color:#f4f6f8}@media(max-width:760px){.v53-blog-back-top{padding-top:12px}.v53-blog-reader-nav{padding-bottom:44px}.v53-blog-neighbours{grid-template-columns:1fr}.v53-blog-neighbour.next{grid-column:auto;text-align:left}.v53-blog-neighbour{min-height:104px;padding:16px}}

/* V56 */
.v56-blog-filter-submit{margin-left:8px;border:1px solid #d9dce2;background:#fff;border-radius:999px;padding:8px 14px;font-weight:700}
