/* Top Trimmers inner pages (Stage 7, 23 Oct 2026). Loaded only by inner pages, after home.css and shapes.css, so the
   homepage never sees it; every rule sits under .pg (the inner-page body class). It adds only what the homepage does
   not have: breadcrumbs, the page hero, reading text, tables, price cards, the promise and fit cards, the article
   layout with its sidebar form, team and fact cards. Everything else (header, hero, form, reviews, cards, FAQ, area
   cards, call-to-action band, map, footer, phone bar) is the homepage's own CSS. Laptop shapes follow 8.26: the grass
   band for the process, one tinted section on the hero's angle, the outlined "?" behind the questions, the area map. */

/* Breadcrumbs (the visible twin of the BreadcrumbList schema) */
.pg .crumbs ol{list-style:none;display:flex;flex-wrap:wrap;font-size:13px;line-height:1.5;color:rgba(255,255,255,.8);margin-bottom:16px}
.pg .crumbs li+li::before{content:"/";margin:0 8px;opacity:.55}
.pg .crumbs a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.35)}
.pg .crumbs a:hover{color:#fff}
.pg .legal .crumbs ol{color:var(--muted)}
.pg .legal .crumbs a{text-decoration-color:var(--line)}

/* A fact still to confirm with Tylor: shown plainly on the preview so nothing slips through (never on the live site) */
.pg mark.fact{background:#ffe680;color:#3b3200;border-radius:4px;padding:0 4px;font-size:.88em;font-weight:500}

/* Hero on service, location and hub pages: the homepage hero, the photo and its focus set per page */
.pg .hero-in picture img{object-position:var(--pos)}
.pg .hero-in{height:auto;min-height:max(720px,100vh)}   /* grows rather than run under the header */
.pg .hero-in .wrap{padding-top:124px}
.pg .hero-in .line{font-size:clamp(34px,3.2vw,48px);max-width:18ch;margin:16px 0 12px}
.pg .hero-in .form h2{font-size:22px;line-height:1.2}
.pg .hero-in .form .grid{margin-top:12px;gap:8px 12px}
.pg .hero-in .intro{max-width:50ch;font-size:17px}
.pg .h-price{display:flex;align-items:center;gap:10px;margin-top:14px;font-weight:600;font-size:16px}
.pg .h-price::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--on-dark);box-shadow:0 0 0 4px rgba(61,220,132,.25)}
.pg .f-photos{margin-top:10px}
.pg .f-photos a{text-decoration:underline;text-underline-offset:2px;font-weight:600}

/* Page hero (guides, posts, about, hubs): a dark green band with the hero's angle, words left, the photo right */
.pg .phero{position:relative;color:#fff;background:radial-gradient(90% 120% at 100% 0,rgba(31,164,99,.35),transparent 60%),linear-gradient(165deg,#0b4a2c 0,var(--deep-ink) 45%,var(--dark) 100%);padding:174px 0 calc(88px + 4vw);clip-path:polygon(0 0,100% 0,100% calc(100% - 4vw),0 100%)}
.pg .ph-in{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(48px,6vw,96px);align-items:center}
.pg .phero.has-fig .ph-in{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.pg .phero h1{font-size:clamp(36px,4vw,56px);line-height:1.06;letter-spacing:-.025em;font-weight:600;margin-top:18px;max-width:20ch;text-wrap:balance}
.pg .ph-sum{font-size:18px;color:rgba(255,255,255,.88);max-width:54ch;margin-top:18px}
.pg .ph-meta{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:22px;font-size:14px;color:rgba(255,255,255,.75)}
.pg .ph-meta a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.pg .ph-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.pg .ph-fig{position:relative;margin:0;border-radius:var(--r-card);overflow:hidden;aspect-ratio:4/3;box-shadow:0 40px 70px -40px rgba(0,0,0,.7)}
.pg .ph-fig img{width:100%;height:100%;object-fit:cover;object-position:var(--pos)}
.pg .ph-fig figcaption{position:absolute;left:14px;bottom:14px;padding:6px 14px;border-radius:var(--r-pill);background:#fff;color:var(--ink);font-size:13px;font-weight:600}

/* Section heads that sit over reading text */
.pg .sec-head.left{text-align:left;justify-items:start;margin-bottom:28px}
.pg .sec-head h2 .acc{color:var(--deep)}

/* Reading text */
.pg .prose{color:#33402d;font-size:17px;line-height:1.7}
.pg .prose>p+p,.pg .prose>*+p{margin-top:16px}
.pg .prose h2{font-size:clamp(26px,2.6vw,34px);line-height:1.15;letter-spacing:-.015em;color:var(--ink);margin:48px 0 4px;scroll-margin-top:120px}
.pg .prose h3{font-size:20px;line-height:1.3;color:var(--ink);margin:30px 0 2px}
.pg .prose strong{color:var(--ink)}
.pg .prose a:not(.btn):not(.pill){color:var(--deep);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.pg .prose ul,.pg .prose ol{margin:16px 0 0;padding-left:0;list-style:none;display:grid;gap:10px}
.pg .prose ul:not(.ticks):not(.pills):not(.check)>li{position:relative;padding-left:24px}
.pg .prose ul:not(.ticks):not(.pills):not(.check)>li::before{content:"";position:absolute;left:4px;top:.68em;width:8px;height:8px;border-radius:50%;background:var(--acc)}
.pg .prose ol{counter-reset:n}
.pg .prose ol>li{position:relative;padding-left:40px;counter-increment:n}
.pg .prose ol>li::before{content:counter(n);position:absolute;left:0;top:.1em;width:28px;height:28px;border-radius:50%;background:var(--deep);color:#fff;font-size:14px;font-weight:700;display:grid;place-items:center}
.pg .prose .check>li{position:relative;padding:12px 16px 12px 52px;background:#fff;border:1px solid var(--line);border-radius:14px}
.pg .prose .check>li::before{content:"\2713";position:absolute;left:16px;top:13px;width:22px;height:22px;border-radius:6px;border:2px solid var(--deep);color:var(--deep);font-size:13px;font-weight:700;display:grid;place-items:center}
.pg .note{margin-top:20px;padding:16px 20px;border-radius:14px;background:#e6f3ea;border-left:4px solid var(--acc);color:var(--ink);font-size:16px}
.pg .pic{margin:28px 0 0}
.pg .pic img{width:100%;border-radius:20px}
.pg .pic figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.pg .pq{margin:28px 0 0;padding:24px 28px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card)}
.pg .pq p{font-size:20px;line-height:1.45;color:var(--ink)}
.pg .pq footer{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:14px;color:var(--muted);background:none;padding:0}

/* Prose with a photo beside it */
.pg .split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(48px,6vw,96px);align-items:start}
.pg .split.no-fig{grid-template-columns:minmax(0,820px)}
.pg .pr-fig{position:sticky;top:120px;margin:0;border-radius:var(--r-card);overflow:hidden;aspect-ratio:4/5}
.pg .pr-fig img{width:100%;height:100%;object-fit:cover;object-position:var(--pos)}
.pg .pr-fig figcaption{position:absolute;left:14px;bottom:14px;right:14px;padding:6px 14px;border-radius:14px;background:rgba(255,255,255,.94);font-size:13px;font-weight:600;width:max-content;max-width:calc(100% - 28px)}
.pg .pills,.pg .prose .pills{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:26px!important}
.pg .pills-c{justify-content:center}
.pg .pills .pill{padding:6px 16px 6px 6px;font-size:15px;font-weight:600;gap:10px;transition:transform .2s}
.pg .pills .pill:hover{transform:translateY(-2px)}
.pg .pills .pin{width:28px;height:28px;border-radius:8px}
.pg .pills .pin svg{width:14px;height:14px}

/* Service cards: the homepage's photo tiles, in an even grid */
.pg .cards{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:320px;gap:16px}
.pg .cards.c2{grid-template-columns:repeat(2,1fr);grid-auto-rows:340px}
.pg .ctile .cap span{max-width:52ch}
.pg .ctile .c-subs{display:block;margin-top:6px;font-size:13px;font-weight:600;color:var(--on-dark)}

/* Numbered cards (warning signs, types) */
.pg .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pg .tiles.t3{grid-template-columns:repeat(3,1fr)}
.pg .tiles.t2{grid-template-columns:repeat(2,1fr)}
.pg .tile{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column;gap:10px}
.pg .tile .n{font-size:40px;font-weight:600;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.3px var(--deep);margin-bottom:18px}
.pg .tile h3{font-size:20px;line-height:1.25}
.pg .tile p{font-size:15px;color:var(--muted)}
.pg .t-link{margin-top:auto;padding-top:8px;font-weight:600;font-size:15px;color:var(--deep)}

/* Process steps: the homepage puzzle tiles in a row */
.pg .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pg .steps.s3{grid-template-columns:repeat(3,1fr)}
.pg .steps.s5{grid-template-columns:repeat(5,1fr)}
.pg .step{background:#fff;border:1px solid var(--line);min-height:250px;justify-content:flex-end}
.pg .step .st-time{font-size:clamp(30px,2.6vw,40px);color:var(--deep);margin-top:56px}
.pg .band-after{margin-top:28px;max-width:820px}

/* Tables */
.pg .tbl{overflow-x:auto;border-radius:20px;border:1px solid var(--line);background:#fff;margin-top:24px}
.pg .tbl table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5;min-width:560px}
.pg .tbl caption{caption-side:bottom;text-align:left;padding:12px 18px;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}
.pg .tbl th,.pg .tbl td{padding:14px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.pg .tbl thead th{background:var(--deep);color:#fff;font-size:14px;font-weight:600;letter-spacing:.02em;border:0}
.pg .tbl tbody th{font-weight:600;color:var(--ink)}
.pg .tbl tbody tr:last-child>*{border-bottom:0}
.pg .tbl td{color:#33402d}
.pg .sec>.wrap>.tbl{margin-top:0}
.pg .t-after{margin-top:28px;max-width:820px}

/* Prices */
.pg .prices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pg .prices.p2{grid-template-columns:repeat(2,1fr)}
.pg .prices.p4{grid-template-columns:repeat(4,1fr)}
.pg .price{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:28px;display:grid;gap:8px;align-content:start}
.pg .price .p-t{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pg .price b{font-size:clamp(30px,2.8vw,40px);line-height:1.05;letter-spacing:-.03em;font-weight:600;color:var(--deep)}
.pg .price p{font-size:15px;color:var(--muted)}
.pg .c-body{margin-top:28px;max-width:820px}
.pg .disc{margin-top:20px;font-size:14px;color:var(--muted);text-align:center}

/* Why choose us: points left; the fit card and the Promise block right */
.pg .why{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4vw,64px);align-items:start}
.pg .why-r{display:grid;gap:16px}
.pg .points{list-style:none;display:grid;gap:14px}
.pg .points li{position:relative;display:grid;gap:4px;padding:22px 24px 22px 66px;background:#fff;border:1px solid var(--line);border-radius:20px}
.pg .points li::before{content:"\2713";position:absolute;left:22px;top:22px;width:28px;height:28px;border-radius:50%;background:var(--deep);color:#fff;font-size:14px;font-weight:700;display:grid;place-items:center}
.pg .points b{font-size:18px}
.pg .points span{color:var(--muted);font-size:15px}
.pg .fitcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:28px;display:grid;gap:12px;align-content:start}
.pg .fitcard h3{font-size:17px}
.pg .fitcard h3:not(:first-child){margin-top:10px}
.pg .fitcard p{color:var(--muted);font-size:15px}
.pg .fitcard .ticks,.pg .promise .ticks{grid-template-columns:1fr}
.pg .xs{list-style:none;display:grid;gap:10px}
.pg .xs li{display:flex;gap:10px;align-items:center;font-size:15px;font-weight:500}
.pg .xs li::before{content:"\00D7";flex:none;width:22px;height:22px;border-radius:50%;background:#efe3dc;color:#8a3b17;font-size:15px;font-weight:700;display:grid;place-items:center}
.pg .promise{margin-top:16px;padding:30px;border-radius:var(--r-card);background:linear-gradient(160deg,var(--deep),var(--deep-ink));color:#fff;display:grid;gap:12px}
.pg .why .promise{margin-top:0}
.pg .promise .eyebrow{color:var(--on-dark)}
.pg .promise h3{font-size:24px;letter-spacing:-.01em}
.pg .promise .ticks li{font-weight:500;align-items:flex-start}
.pg .promise .ticks li::before{background:var(--on-dark);color:var(--deep-ink);margin-top:2px}
.pg .split+.promise{max-width:820px;margin-top:32px}
.pg .fit{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* Area pages list and the other towns */
.pg .locs{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.pg .loc{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:18px;padding:20px 22px;transition:transform .2s}
.pg .loc:hover{transform:translateY(-2px)}
.pg .loc>span{display:grid;gap:4px}
.pg .loc b{font-size:19px}
.pg .loc small{font-size:13px;font-weight:600;color:var(--deep)}
.pg .loc>span>span{font-size:15px;color:var(--muted)}

/* Key takeaways, table of contents, the article with its sidebar form */
.pg .tk{padding-bottom:0}
.pg .takeaways{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);border-left:5px solid var(--acc);border-radius:var(--r-card);padding:30px 36px;display:grid;gap:16px}
.pg .takeaways .ticks{grid-template-columns:1fr;gap:12px}
.pg .takeaways .ticks li{align-items:flex-start;font-size:16px;line-height:1.55}
.pg .takeaways .ticks li::before{margin-top:1px}
.pg .art{display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"main aside" "end aside";column-gap:clamp(48px,6vw,96px);align-items:start}
.pg .art-main{grid-area:main;max-width:72ch}
.pg .art-end{grid-area:end;max-width:72ch}
.pg .art-aside{grid-area:aside;align-self:stretch}
.pg .art-stick{position:sticky;top:116px}
.pg .art-main>h2:first-of-type{margin-top:36px}
.pg .toc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 26px}
.pg .toc b{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--deep)}
.pg .prose .toc ol{gap:6px;margin-top:10px}
.pg .prose .toc ol>li{padding-left:30px;font-size:16px}
.pg .prose .toc ol>li::before{width:22px;height:22px;font-size:12px;top:.15em;background:#e6f3ea;color:var(--deep)}
.pg .prose .toc a{font-weight:500;text-decoration:none}
.pg .prose .toc a:hover{text-decoration:underline}

/* The form on a light ground (sidebar, contact): the phone's white card */
.pg .form-light{background:#fff;color:var(--ink);border:1px solid var(--line);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 30px 60px -40px rgba(10,40,20,.45)}
.pg .form-light .sub{color:var(--muted)}
.pg .form-light label{color:var(--ink)}
.pg .form-light input,.pg .form-light select,.pg .form-light textarea{background:var(--ground);border:1px solid var(--line)}
.pg .form-light .f-photos a{color:var(--deep)}

/* Author box */
.pg .au{padding-top:0}
.pg .author{max-width:900px;margin:0 auto;display:grid;grid-template-columns:150px 1fr;gap:32px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:28px 32px}
.pg .au-ph{width:150px;height:150px;border-radius:50%;overflow:hidden;background:linear-gradient(160deg,#dff0e4,#b6dfc5);display:flex;justify-content:center}
.pg .au-ph img{width:140px;max-width:none;height:auto;margin-top:8px}
.pg .au-logo{background:#fff;border:1px solid var(--line);align-items:center}
.pg .au-logo img{width:116px;margin:0}
.pg .author h3{font-size:22px;margin:6px 0 8px}
.pg .author p{color:var(--muted);font-size:16px}
.pg .au-more{display:inline-block;margin-top:12px;font-weight:600;color:var(--deep)}

/* Related services and reading */
.pg .rels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pg .rel{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;transition:transform .2s}
.pg .rel:hover{transform:translateY(-2px)}
.pg .rel img{width:96px;height:96px;border-radius:14px;object-fit:cover}
.pg .rel span{display:grid;gap:4px}
.pg .rel b{font-size:17px}
.pg .rel small{font-size:14px;color:var(--muted);line-height:1.45}
.pg .rel-h{font-size:17px;margin:36px 0 12px}
.pg .rel-posts{list-style:none;display:grid;gap:8px}
.pg .rel-posts a{font-weight:600;color:var(--deep);text-decoration:underline;text-underline-offset:3px}
.pg .rel-posts small{color:var(--muted)}

/* Business facts, by the numbers, team */
.pg .factbox{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:30px;display:grid;gap:12px}
.pg .factbox h3{font-size:20px}
.pg .factbox p{color:var(--muted)}
.pg .factbox ul{list-style:none;display:grid;gap:10px;font-size:15px}
.pg .factbox li{padding-top:10px;border-top:1px solid var(--line)}
.pg .factbox b{color:var(--ink)}
.pg .nums-h{font-size:17px;margin:40px 0 14px}
.pg .nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.pg .num{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;display:grid;gap:4px;align-content:start}
.pg .num b{font-size:clamp(34px,3vw,46px);line-height:1;letter-spacing:-.03em;font-weight:600;color:var(--deep)}
.pg .num span{font-size:15px;font-weight:500}
.pg .num small{font-size:12.5px;color:var(--muted)}
.pg .team-photo{margin:0 0 22px;border-radius:var(--r-card);overflow:hidden;aspect-ratio:16/9}
.pg .team-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;display:block}
.pg .team{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pg .person{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:26px 18px;display:grid;justify-items:center;text-align:center;gap:6px;align-content:start}
.pg .person img,.pg .person .ini{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:50% 6%;margin-bottom:8px;background:linear-gradient(160deg,#dff0e4,#b6dfc5)}
.pg .person .ini{display:grid;place-items:center;background:linear-gradient(160deg,var(--deep),var(--deep-ink));color:var(--on-dark);font-size:32px;font-weight:600}
.pg .person h3{font-size:19px}
.pg .person .role{font-size:14px;color:var(--muted)}
.pg .person p{font-size:14px;color:var(--muted)}
.pg .team-note{margin-top:18px;text-align:center;color:var(--muted);font-size:15px}
.pg .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.pg .rev-grid .gcard{flex:none}

/* Closing band with the quote form (pages with no form higher up) */
.pg .cta-line{color:rgba(255,255,255,.88);max-width:52ch}
.pg .cta-form .cta-in{grid-template-columns:minmax(0,1fr) 440px;text-align:left;justify-items:stretch;align-items:center;gap:clamp(48px,7vw,112px)}
.pg .cta-form .cta-txt{display:grid;gap:20px;justify-items:start}
.pg .cta-form .cta-txt h2{max-width:18ch}
.pg .cta-form .btns{justify-content:flex-start}
.pg .btn-wa{color:#fff;padding:0 24px 0 18px;gap:10px;text-shadow:0 1px 2px rgba(0,0,0,.2)}   /* WhatsApp's own green and white, always */
.pg .btn-wa svg{width:22px;height:22px}

/* Contact row */
.pg .contact{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.pg .c-det h2{font-size:clamp(28px,3vw,40px)}
.pg .det{list-style:none;display:grid;gap:14px;margin-top:22px}
.pg .det li{display:flex;gap:12px;align-items:flex-start}
.pg .det .pin{width:34px;height:34px;border-radius:10px}
.pg .det span:not(.pin){display:block}
.pg .det b{display:block;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pg .c-wa{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 36px}
.pg .c-det h3{font-size:19px;margin-bottom:12px}
.pg .next{list-style:none;display:grid;gap:12px}
.pg .next li{display:flex;gap:14px;align-items:baseline}
.pg .next b{font-size:22px;color:transparent;-webkit-text-stroke:1.1px var(--deep)}

/* Legal pages: text only (8.21) */
.pg .legal{padding:170px 0 var(--sec)}
.pg .legal .prose{max-width:820px}
.pg .legal h1{font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:-.02em;margin-bottom:24px}
.pg-legal .hdr{background:rgba(11,15,9,.82)}

/* 404 */
.pg .nf-search{display:grid;gap:8px;margin-top:28px;max-width:520px}
.pg .nf-search label{font-size:14px;font-weight:500;color:rgba(255,255,255,.88)}
.pg .nf-row{display:flex;gap:10px}
.pg .nf-search input:not([type=hidden]){flex:1;min-width:0;font:inherit;font-size:16px;height:52px;padding:0 18px;border:0;border-radius:var(--r-pill);color:var(--ink)}
.pg .nf-links{padding-top:72px}

/* ===================== Laptop shapes (901px and up; a phone never sees them) ===================== */
@media (min-width:901px){
  /* The process on the homepage's deep green band, its top edge grass */
  .pg .band{position:relative;z-index:2;color:#fff;background:linear-gradient(180deg,var(--deep) 0,var(--deep) 24px,#0a4a2b 50%,var(--deep-ink) 100%);margin-top:46px}
  .pg .band::before{content:"";position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:46px;background:url(img/grass-edge.svg) repeat-x left bottom/320px 46px;pointer-events:none}
  .pg .band h2{color:#fff}
  .pg .band .lede,.pg .band .prose{color:rgba(255,255,255,.85)}
  .pg .band .prose strong{color:#fff}
  .pg .band .eyebrow{color:#a6f2c6}
  .pg .band .eyebrow.dot::before{background:#a6f2c6}
  .pg .band .step{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#fff}
  .pg .band .pz>span:not(.n){color:rgba(255,255,255,.8)}
  .pg .band .pz .n{-webkit-text-stroke-color:var(--on-dark)}
  .pg .band .st-time{color:var(--on-dark)}
  .pg .band .btn-main{background:var(--on-dark);color:var(--deep-ink)}
  .pg .band .btn-main .chip{background:rgba(8,50,29,.14)}
  .pg .band .btn-ghost{border-color:transparent}
  .pg .band + .sec{padding-top:calc(var(--sec) + 8px)}
  /* One tinted section a page, cut on the hero's angle at both edges */
  .pg .tint{position:relative;background:var(--tint);clip-path:polygon(0 var(--slant),100% 0,100% calc(100% - var(--slant)),0 100%);padding:calc(var(--sec) + var(--slant)) 0}
  /* The outlined question mark behind the questions */
  .pg .qa{position:relative;overflow:hidden}
  .pg .qa::before{content:"?";position:absolute;z-index:0;right:3vw;top:calc(var(--sec) - 40px);font-size:clamp(220px,24vw,400px);font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:2px rgba(14,107,63,.13);pointer-events:none}
  .pg .qa .wrap{position:relative;z-index:1}
  /* The area pages on the faint street map of the service area (credited) */
  .pg .mapbg{position:relative;background:var(--tint) url(img/area-map.svg) center/cover no-repeat;clip-path:polygon(0 var(--slant),100% 0,100% 100%,0 100%);padding-top:calc(var(--sec) + var(--slant))}
  .pg .mapbg::after{content:"Map data \00A9 OpenStreetMap contributors";position:absolute;right:16px;bottom:10px;font-size:11px;color:#0b5a35}
  .pg .mapbg .lede{color:#444e3e}
}
@media (min-width:901px) and (max-width:1180px){
  .pg .tiles,.pg .steps.s5{grid-template-columns:repeat(2,1fr)}
  .pg .team{grid-template-columns:repeat(3,1fr)}
  .pg .art{grid-template-columns:minmax(0,1fr) 360px}
  .pg .rels{grid-template-columns:1fr 1fr}
  .pg .cta-form .cta-in{grid-template-columns:minmax(0,1fr) 400px}
}

/* ===================== Phones: the homepage's phone mechanics (alternating grounds, angled cuts, no button rows) ===================== */
@media (max-width:900px){
  .pg .crumbs ol{font-size:12px;margin-bottom:12px}
  /* Hero: as on the homepage, the words a little higher so the intro fits on the first screen */
  .pg .hero-in picture img{object-position:var(--pos-ph)}
  .pg .hero-in .wrap>div:first-child{padding-top:calc(64px + env(safe-area-inset-top) + 7svh);padding-bottom:calc(84px + 9svh)}
  .pg .hero-in .line{font-size:30px;margin:12px 0 0;max-width:none}
  .pg .hero-in .intro{font-size:15px;line-height:1.5;margin-top:12px;color:rgba(255,255,255,.92);text-shadow:0 1px 12px rgba(0,0,0,.4)}
  .pg .h-price{font-size:14.5px;margin-top:10px}
  .pg .hero-in .h-badges{padding-top:28px}
  /* Page hero */
  .pg .phero{padding:calc(64px + env(safe-area-inset-top) + 36px) 0 calc(var(--cut) + 48px);clip-path:none}
  .pg .phero.has-fig .ph-in{grid-template-columns:1fr;gap:28px}
  .pg .phero h1{font-size:32px;line-height:1.1;margin-top:14px}
  .pg .ph-sum{font-size:16px;margin-top:14px}
  .pg .ph-meta{font-size:13px;gap:4px 16px}
  .pg .ph-btns{display:none}
  .pg .nf .ph-btns{display:flex}
  .pg .ph-fig{aspect-ratio:4/3;border-radius:18px}
  /* Rows stack */
  .pg .split,.pg .split.no-fig,.pg .why,.pg .fit,.pg .contact,.pg .art,.pg .phero.has-fig .ph-in,.pg .cta-form .cta-in{grid-template-columns:minmax(0,1fr)}
  .pg .pr-fig{position:relative;top:auto;aspect-ratio:4/3;border-radius:18px;margin-top:24px}
  .pg .prose{font-size:16px}
  .pg .prose h2{font-size:25px;margin-top:36px}
  .pg .cards,.pg .cards.c2{grid-template-columns:1fr;grid-auto-rows:220px;gap:10px}
  .pg .cards .bt{border-radius:16px}
  .pg .tiles,.pg .tiles.t2,.pg .tiles.t3,.pg .steps,.pg .steps.s3,.pg .steps.s5,.pg .prices,.pg .prices.p2,.pg .prices.p4,.pg .locs,.pg .rels,.pg .rev-grid{grid-template-columns:1fr;gap:10px}
  .pg .tile,.pg .price{padding:20px;border-radius:18px}
  .pg .tile .n{font-size:32px;margin-bottom:6px}
  .pg .step{min-height:0;padding:20px;border-radius:18px}
  .pg .step .n{position:static;font-size:34px;margin-bottom:6px}
  .pg .step .st-time{margin-top:0;font-size:30px}
  .pg .points li{padding:18px 18px 18px 58px}
  .pg .points li::before{left:18px;top:18px}
  .pg .fitcard,.pg .promise,.pg .factbox{padding:22px;border-radius:18px}
  .pg .tbl{border-radius:16px;margin-left:-4px;margin-right:-4px}
  .pg .tbl table{font-size:15px}
  .pg .disc{text-align:left}
  .pg .art{grid-template-areas:"main" "aside" "end"}
  .pg .art-stick{position:static;margin:32px 0 8px}
  .pg .takeaways{padding:22px}
  .pg .author{grid-template-columns:1fr;gap:16px;padding:22px;justify-items:start}
  .pg .au-ph{width:110px;height:110px}
  .pg .au-ph img{width:104px}
  .pg .team{grid-template-columns:1fr 1fr;gap:10px}
  .pg .team .person:last-child:nth-child(odd){grid-column:span 2}
  .pg .nums{grid-template-columns:1fr 1fr;gap:10px}
  .pg .cta-form .cta-in{grid-template-columns:1fr;gap:28px}
  .pg .cta-form .cta-txt{justify-items:start}
  .pg .cta .cta-line{font-size:15px}
  .pg .legal{padding-top:110px}
  .pg .c-wa .btn{flex:1;justify-content:center}
  .pg .nf-row{flex-direction:column}
}

/* Links inside the closing band's line, and a darker wash where the band carries the form (text sits on the photo) */
.pg .cta-line a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.pg .cta-form::before{background:linear-gradient(90deg,rgba(11,15,9,.86) 0,rgba(11,15,9,.7) 50%,rgba(11,15,9,.55) 100%)}
/* Breadcrumbs inside reading text (legal pages): not a numbered list */
.pg .prose .crumbs ol{display:flex;gap:0;margin:0 0 16px}
.pg .prose .crumbs ol>li{padding-left:0}
.pg .prose .crumbs ol>li::before{content:none}
.pg .prose .crumbs li+li::before{content:"/";position:static;display:inline;width:auto;height:auto;background:none;color:inherit;margin:0 8px;font-size:inherit;font-weight:400}
/* Tick lists that carry bold words or links: one line of text, the tick hung on the left (home.css lays ticks out
   as flex, which splits a bold word into its own column) */
.pg .takeaways .ticks li,.pg .fitcard .ticks li,.pg .promise .ticks li{display:block;position:relative;padding-left:32px}
.pg .takeaways .ticks li::before,.pg .fitcard .ticks li::before,.pg .promise .ticks li::before{position:absolute;left:0;top:1px;margin:0}
.pg .xs li{display:block;position:relative;padding-left:32px}
.pg .xs li::before{position:absolute;left:0;top:1px}
/* Photos inside reading text stay landscape-sized, portrait ones cropped */
.pg .pic img{max-height:520px;object-fit:cover}
@media (max-width:900px){.pg .pic img{max-height:340px}}

/* Page hero words column 10% bigger on desktop, as on the homepage hero (Jean, 23 Oct 2026) */
@media (min-width:901px){.pg .phero .ph-in>div:first-child{zoom:1.1}}
/* Photo heroes on inner pages: same centring as the homepage hero (Jean, 23 Oct 2026) */
@media (min-width:901px){.pg .hero-in .wrap{padding-top:136px}}
