/* carpetcleaninglincolnshire.co.uk – stylesheet: self-hosted fonts, base layer, then the site theme */

@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(../fonts/lora-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/source-sans-3-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ==========================================================================
   Base layer: reset, layout primitives, forms, shared components.
   Colours, fonts and page layouts are defined in the theme layer below.
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;color:var(--c-text);background:var(--c-bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,picture,svg{display:block;max-width:100%}
img{height:auto}
picture img{width:100%}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.15;margin:0 0 .6em;color:var(--c-heading);text-wrap:balance}
p,ul,ol{margin:0 0 1.1em}
a{color:var(--c-link)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--c-focus);outline-offset:3px;border-radius:4px}
button,input,select,textarea{font:inherit;color:inherit}
.container{width:min(100% - 32px,var(--container,1180px));margin-inline:auto}
@media (min-width:700px){.container{width:min(100% - 64px,var(--container,1180px))}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;padding:10px 16px;background:var(--c-heading);color:#fff;border-radius:6px;text-decoration:none;font-weight:700}
.skip-link:focus{top:12px}
.icon{width:1.15em;height:1.15em;flex:none}
.section{padding:clamp(56px,8vw,104px) 0}
.lead{font-size:clamp(1.1rem,1.6vw,1.25rem)}
.muted{color:var(--c-muted)}
.center{text-align:center}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.75em 1.4em;border:2px solid transparent;border-radius:var(--btn-radius,999px);font-family:var(--font-head);font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-1px)}
.btn .icon{width:1.1em;height:1.1em}
.btn--primary{background:var(--c-cta);color:var(--c-cta-ink)}
.btn--primary:hover{background:var(--c-cta-hover)}
.btn--block{width:100%}
.btn[disabled]{opacity:.7;cursor:progress;transform:none}

/* Navigation mechanics (styling lives in the theme) */
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:10px;background:transparent;cursor:pointer}
.nav-toggle .icon{width:28px;height:28px}
.nav-toggle .icon-close{display:none}
.nav-open .nav-toggle .icon-open{display:none}
.nav-open .nav-toggle .icon-close{display:block}
@media (max-width:959.98px){
  .site-nav{display:none}
  .nav-open .site-nav{display:block}
  .nav-open{overflow:hidden}
}
@media (min-width:960px){.nav-toggle{display:none}}

/* Free quote panel */
.quote-options p{margin-bottom:16px}
.quote-options__buttons{display:grid;gap:12px;margin:20px 0 6px}
.quote-options__alt{background:transparent;border-color:var(--c-link);color:var(--c-link)}
.quote-options__alt:hover{background:var(--c-link);color:#fff}
.quote-options__email{font-size:.92rem;color:var(--c-muted);text-align:center}
.quote-options__subtitle{font-size:1.05rem;margin:24px 0 12px}
.quote-options__list{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px}
.quote-options__list li{display:flex;gap:10px;align-items:flex-start}
.quote-options__list .icon{color:var(--c-link);margin-top:.25em}
.quote-options__small{margin:0!important;padding-top:14px;border-top:1px solid var(--c-border);font-size:.92rem;color:var(--c-muted);text-align:center}

/* Before / after */
.ba-grid{display:grid;gap:24px}
@media (min-width:800px){.ba-grid{grid-template-columns:1fr 1fr}}
.ba{margin:0}
.ba figcaption{margin-top:8px;color:var(--c-muted);font-size:.95rem}
.ba-slider{position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:3/2;background:#ddd}
.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.2);pointer-events:none}
.ba-handle::after{content:"";position:absolute;top:50%;left:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba-range:focus-visible+.ba-handle,.ba-slider:focus-within .ba-handle{background:var(--c-focus)}
.ba-tag{position:absolute;top:12px;padding:4px 10px;border-radius:6px;background:rgba(0,0,0,.6);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;pointer-events:none}
.ba-tag--before{left:12px}.ba-tag--after{right:12px}
.ba-compare{display:grid;gap:28px;align-items:center}
@media (min-width:900px){.ba-compare{grid-template-columns:1fr 1.1fr}}
.ba-compare__media picture,.ba-compare__media img{border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover}
.ba-compare__cols{display:grid;gap:18px}
@media (min-width:600px){.ba-compare__cols{grid-template-columns:1fr 1fr}}
.ba-col{padding:24px;border-radius:var(--radius)}
.ba-col h3{font-size:1.15rem}
.ba-col ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ba-col li{display:flex;gap:10px;align-items:flex-start}
.ba-col--before li::before{content:"";flex:none;width:8px;height:8px;margin-top:.6em;border-radius:50%;background:currentColor;opacity:.5}
.ba-col li .icon{margin-top:.25em}

/* Reviews */
.reviews__grid{display:grid;gap:22px}
@media (min-width:800px){.reviews__grid{grid-template-columns:repeat(3,1fr)}}
.review{margin:0;padding:26px;border-radius:var(--radius);background:var(--c-surface)}
.review__stars{display:flex;gap:2px;color:#e0a100}
.review blockquote{margin:12px 0}

/* Mobile call bar */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--c-callbar,#fff);box-shadow:0 -4px 18px rgba(0,0,0,.14)}
.callbar .btn{min-height:46px;padding:.6em .8em;font-size:.95rem}
@media (min-width:960px){.callbar{display:none}}
@media (max-width:959.98px){body{padding-bottom:72px}}

/* Breadcrumbs */
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 14px;font-size:.92rem}
.breadcrumbs li+li::before{content:"/";margin-right:6px;opacity:.6}
.breadcrumbs a{color:inherit}

/* FAQ */
.faq details{border-bottom:1px solid var(--c-border);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-family:var(--font-head);font-weight:700;font-size:1.08rem;color:var(--c-heading)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-size:1.5rem;line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 18px}

/* Reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* Price tables */
.price-table{width:100%;border-collapse:collapse;font-size:1rem}
.price-table th,.price-table td{padding:12px 4px;text-align:left;border-bottom:1px solid var(--c-border)}
.price-table td:last-child,.price-table th:last-child{text-align:right;white-space:nowrap;font-weight:700}
.price-table caption{text-align:left;font-family:var(--font-head);font-weight:700;font-size:1.15rem;color:var(--c-heading);padding-bottom:8px}

/* Home pricing section */
.pricing__sub{font-family:var(--font-head);font-weight:700;font-size:1.15rem;color:var(--c-link)!important;margin-bottom:.4em}
.pricing__grid{display:grid;gap:22px;align-items:stretch}
@media (min-width:900px){.pricing__grid{grid-template-columns:repeat(3,1fr)}}
.plan{position:relative;display:flex;flex-direction:column;padding:30px 28px;border-radius:var(--radius);background:var(--plan-bg,#fff);border:1px solid var(--c-border);box-shadow:0 14px 34px -28px rgba(0,0,0,.45)}
.plan--featured{border:2px solid var(--c-cta)}
@media (min-width:900px){.plan--featured{transform:translateY(-10px)}}
.plan__badge{position:absolute;top:-14px;left:28px;padding:5px 14px;border-radius:999px;background:var(--c-cta);color:var(--c-cta-ink);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.plan__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:calc(var(--radius) / 1.5);background:var(--c-surface);color:var(--c-link);margin-bottom:16px}
.plan__icon .icon{width:26px;height:26px}
.plan h3{margin-bottom:10px}
.plan__price{display:flex;align-items:baseline;gap:8px;margin:0 0 6px;color:var(--c-muted)}
.plan__label{font-size:.9rem;text-transform:lowercase}
.plan__price strong{font-family:var(--font-head);font-size:2.6rem;line-height:1;color:var(--c-heading)}
.plan__note{color:var(--c-muted);font-size:.97rem;margin-bottom:16px}
.plan__list{list-style:none;padding:0;margin:auto 0 0;border-top:1px solid var(--c-border)}
.plan__list li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--c-border)}
.plan__list strong{color:var(--c-heading)}
.pricing__foot{margin-top:36px;text-align:center}
.pricing__addon{display:inline-flex;align-items:flex-start;gap:12px;padding:14px 20px;border-radius:var(--radius);background:var(--c-surface);text-align:left;margin-bottom:22px}
.pricing__addon .icon{color:var(--c-link);margin-top:.2em}
.pricing__actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 24px}
.pricing__link{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--c-link)}
.pricing__small{margin:16px 0 0;font-size:.92rem;color:var(--c-muted)}

/* ========================================================================== */
/* Theme                                                                      */
/* ========================================================================== */
.quote-options .btn--primary{color:var(--c-cta-ink)}
.quote-options .quote-options__alt{color:var(--c-link)}
.quote-options .quote-options__alt:hover{color:#fff}
/* Lincolnshire Carpet Cleaning – forest green, charcoal and cream. Dependable and established. */
:root{
  --forest:#1f4d3a;--forest-2:#2d6a4f;--forest-dark:#143326;--sage:#e3ece5;
  --charcoal:#262a29;--charcoal-2:#363b3a;--cream:#f7f2e6;--cream-2:#eee5cf;--brass:#8a6420;
  --c-bg:#fffdf8;--c-surface:#f7f2e6;--c-text:#2a2f2d;--c-heading:#1c2b25;--c-muted:#55605b;
  --c-border:#e2dac6;--c-link:#1f4d3a;--c-focus:#2d6a4f;--c-error:#a8261b;
  --c-cta:#1f4d3a;--c-cta-ink:#fff;--c-cta-hover:#143326;
  --c-input-border:#c4bba6;--c-callbar:#fffdf8;
  --font-head:"Lora",Georgia,"Times New Roman",serif;--font-body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius:6px;--btn-radius:4px;--input-radius:4px;--container:1180px;
  --shadow:0 18px 40px -26px rgba(20,51,38,.55);
}
body{font-size:1.1rem}
h1,h2,h3{font-weight:600}
h2{font-size:clamp(1.8rem,3.2vw,2.5rem)}
h3{font-size:1.25rem}
.overline{display:inline-block;margin:0 0 12px;padding-bottom:6px;border-bottom:2px solid var(--brass);font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--forest)}
.section-head{max-width:720px;margin-bottom:44px}
.section-head--center{margin-inline:auto;text-align:center}
.section-head p:not(.overline){color:var(--c-muted)}
.section--cream{background:var(--cream)}
.container--narrow{--container:840px}
.small{font-size:.95rem;margin-top:14px}
.break{word-break:break-all}
.btn{font-family:var(--font-body);font-size:1.02rem}
.btn--outline{border-color:var(--forest);color:var(--forest);background:transparent}
.btn--outline:hover{background:var(--forest);color:#fff}
.btn--ghost{border-color:var(--c-border);color:var(--forest)}

/* Utility bar + header */
.utility{background:var(--charcoal);color:#cfd5d2;font-size:.92rem}
.utility__inner{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:42px}
.utility p{margin:0}
.utility ul{list-style:none;margin:0;padding:0;display:flex;gap:22px}
.utility a{display:inline-flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-weight:600}
.utility .icon{color:#9cc5a9}
@media (max-width:759px){.utility p,.utility__email{display:none}.utility__inner{justify-content:center}}
.site-header{position:sticky;top:0;z-index:100;background:#fffdf8;border-bottom:3px solid var(--forest);transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:0 8px 22px -14px rgba(0,0,0,.35)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--c-heading)}
.brand__text{font-family:var(--font-head);font-weight:600;font-size:1.15rem;line-height:1.15}
.brand__text span{display:block;font-size:1.45rem;color:var(--forest)}
.site-nav ul{list-style:none;margin:0;padding:0}
.site-nav a:not(.btn){color:var(--c-heading);text-decoration:none;font-weight:600}
.nav-toggle{width:auto;gap:6px;padding:0 12px;border:2px solid var(--forest);color:var(--forest);font-weight:700;border-radius:4px}
.nav-toggle .icon{width:24px;height:24px}
@media (min-width:960px){
  .site-nav{display:flex;align-items:center;gap:26px}
  .site-nav ul{display:flex;gap:4px}
  .site-nav a:not(.btn){display:block;padding:10px 12px;border-radius:4px}
  .site-nav a:not(.btn):hover{background:var(--sage)}
  .site-nav a[aria-current]{color:var(--forest);box-shadow:inset 0 -3px 0 var(--brass);border-radius:0}
}
@media (max-width:959.98px){
  .site-nav{position:absolute;top:100%;left:0;right:0;height:calc(100dvh - 87px);background:#fffdf8;padding:12px 16px 40px;overflow-y:auto;border-top:1px solid var(--c-border)}
  .site-nav li a{display:block;padding:15px 6px;font-size:1.15rem;border-bottom:1px solid var(--c-border)}
  .site-nav a[aria-current]{color:var(--forest);font-weight:700}
  .site-nav .btn{width:100%;margin-top:22px}
  .brand__text span{font-size:1.25rem}
  .brand img{width:42px;height:42px}
}

/* Hero – centred headline over panoramic image */
.hero{background:var(--cream);padding-top:clamp(48px,7vw,88px);position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:#fffdf8}
.hero__head{text-align:center;max-width:900px}
.hero h1{font-size:clamp(2.3rem,5.2vw,3.9rem);line-height:1.08;margin-bottom:20px}
.hero .lead{color:var(--c-muted);max-width:760px;margin-inline:auto}
.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:28px 0 48px}
.hero__media{position:relative;z-index:1}
.hero__media img{border-radius:var(--radius);aspect-ratio:21/9;object-fit:cover;box-shadow:var(--shadow)}
@media (max-width:699px){.hero__media img{aspect-ratio:4/3}}
.credentials{list-style:none;margin:-48px auto 0;padding:0;position:relative;width:calc(100% - 40px);display:grid;grid-template-columns:repeat(2,1fr);background:var(--forest);color:#d6e6db;border-radius:var(--radius);box-shadow:var(--shadow)}
@media (min-width:900px){.credentials{grid-template-columns:repeat(4,1fr);width:calc(100% - 120px)}}
.credentials li{display:flex;align-items:center;gap:12px;padding:20px 22px;line-height:1.3;font-size:.95rem}
.credentials li+li{border-left:1px solid rgba(255,255,255,.14)}
@media (max-width:899px){.credentials li:nth-child(3){border-left:0}.credentials li:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)}}
.credentials strong{display:block;color:#fff;font-size:1.05rem}
.credentials .icon{width:30px;height:30px;color:#9cc5a9}

/* Service index cards */
.index-grid{display:grid;gap:22px}
@media (min-width:640px){.index-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.index-grid{grid-template-columns:repeat(3,1fr)}}
.index-card{display:flex;flex-direction:column;align-items:flex-start;padding:30px;background:#fff;border:1px solid var(--c-border);border-radius:var(--radius);border-top:4px solid var(--forest);transition:box-shadow .2s}
.index-card:hover{box-shadow:var(--shadow)}
.index-card__icon{display:inline-grid;place-items:center;flex:none;width:54px;height:54px;border-radius:4px;background:var(--sage);color:var(--forest);margin-bottom:16px}
.index-card__icon .icon{width:28px;height:28px}
.index-card p{color:var(--c-muted);flex:1}
.index-card a{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--forest)}

/* Why */
.why{background:var(--cream)}
.why__inner{display:grid;gap:48px;align-items:center}
@media (min-width:960px){.why__inner{grid-template-columns:.9fr 1.1fr}}
.why__media img{border-radius:var(--radius);aspect-ratio:4/5;object-fit:cover;box-shadow:16px 16px 0 var(--forest)}
.why__copy p:not(.overline){color:var(--c-muted)}
.checklist{list-style:none;padding:0;margin:20px 0 28px;display:grid;gap:12px}
.checklist li{display:flex;gap:12px;align-items:flex-start}
.checklist .icon{flex:none;width:24px;height:24px;padding:3px;border-radius:50%;background:var(--forest);color:#fff;margin-top:.15em}

/* Process flow */
.flow{list-style:none;padding:0;margin:0;display:grid;gap:22px}
@media (min-width:800px){.flow{grid-template-columns:repeat(5,1fr);gap:18px}}
.flow li{position:relative;text-align:center;padding:28px 18px;background:#fff;border:1px solid var(--c-border);border-radius:var(--radius)}
@media (min-width:800px){.flow li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-14px;width:10px;height:10px;border-top:2px solid var(--brass);border-right:2px solid var(--brass);transform:translateY(-50%) rotate(45deg)}}
.flow__n{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:var(--forest);color:#fff;font-family:var(--font-head);font-size:1.4rem;font-weight:700}
.flow p{margin:0;color:var(--c-muted);font-size:1rem}

/* Before / after */
.results{background:var(--cream)}
.ba-col{background:#fff;border:1px solid var(--c-border)}
.ba-col--after{background:var(--sage);border-color:#c6d8cb}
.ba-col--after .icon{color:var(--forest)}

/* Areas */
.areas__inner{display:grid;gap:40px;align-items:center}
@media (min-width:960px){.areas__inner{grid-template-columns:1fr 1.1fr}}
.areas p:not(.overline){color:var(--c-muted)}
.town-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden;background:#fff}
@media (min-width:560px){.town-grid{grid-template-columns:repeat(3,1fr)}}
.town-grid>*{padding:14px 18px;border-right:1px solid var(--c-border);border-bottom:1px solid var(--c-border);font-weight:600;color:var(--c-heading);margin-right:-1px;margin-bottom:-1px}
.town-grid>*::before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:2px;background:var(--forest);vertical-align:middle}
.town-grid--small{margin-top:14px}

/* Enquiry */
.enquiry{background:var(--forest) linear-gradient(135deg,var(--forest),var(--forest-dark));color:#d6e6db}
.enquiry h2,.enquiry h3{color:#fff}
.enquiry a{color:#fff}
.enquiry__inner{display:grid;gap:44px;align-items:start}
@media (min-width:960px){.enquiry__inner{grid-template-columns:.8fr 1.2fr}}
.enquiry .checklist .icon{background:#9cc5a9;color:var(--forest-dark)}
.quote-card{background:#fffdf8;color:var(--c-text);border-radius:var(--radius);padding:clamp(22px,4vw,40px);border-top:5px solid var(--brass)}
.quote-card a{color:var(--c-link)}
.contact-list{list-style:none;padding:0;margin:22px 0;display:grid;gap:14px}
.contact-list li{display:flex;gap:12px;align-items:center;font-weight:700;font-size:1.1rem}
.contact-list .icon{width:40px;height:40px;padding:9px;border-radius:4px;background:rgba(255,255,255,.12);color:#9cc5a9}
.contact-list a{text-decoration:none}
.contact-list a:hover{text-decoration:underline}

/* Footer */
.site-footer{background:var(--charcoal);color:#b9c1bd;padding-top:64px}
.site-footer__grid{display:grid;gap:36px;padding-bottom:44px}
@media (min-width:700px){.site-footer__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.site-footer__grid{grid-template-columns:1.4fr 1.1fr .9fr 1.3fr}}
.brand--footer{color:#fff;margin-bottom:16px}
.brand--footer .brand__text span{color:#9cc5a9}
.site-footer__title{color:#fff;font-size:1.15rem;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--brass);display:inline-block}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.site-footer a{color:#e8ece9;text-decoration:none}
.site-footer a:hover{color:#9cc5a9;text-decoration:underline}
.site-footer address{font-style:normal;display:grid;gap:10px}
.site-footer address a{display:flex;gap:10px;align-items:flex-start}
.site-footer address .icon{color:#9cc5a9;margin-top:.3em}
.site-footer__strip{background:var(--charcoal-2)}
.site-footer__strip ul{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px;padding:18px 0;color:#e8ece9;font-weight:600}
.site-footer__strip li{display:inline-flex;align-items:center;gap:8px}
.site-footer__strip .icon{color:#9cc5a9}
.site-footer__base{padding:18px 0;font-size:.9rem;text-align:center}
.site-footer__base p{margin:0}
.callbar .btn--outline{background:#fff}

/* Inner pages */
.page-hero{background:var(--cream);border-bottom:1px solid var(--c-border);padding:clamp(44px,6vw,76px) 0}
.page-hero h1{font-size:clamp(2.1rem,4.6vw,3.2rem);max-width:820px}
.page-hero .lead{color:var(--c-muted);max-width:720px}
.page-hero .breadcrumbs{color:var(--c-muted)}
.two-col{display:grid;gap:48px;align-items:start}
@media (min-width:960px){.two-col{grid-template-columns:1.1fr .9fr}}
.framed img{border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover;box-shadow:16px 16px 0 var(--cream-2)}
.spec-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--c-border)}
.spec-table th,.spec-table td{padding:12px 16px;border-bottom:1px solid var(--c-border);text-align:left}
.spec-table th{width:38%;background:var(--cream);color:var(--c-heading)}
.contact-box{background:var(--cream);border:1px solid var(--c-border);border-top:5px solid var(--forest);border-radius:var(--radius);padding:32px}
.contact-box .contact-list .icon{background:var(--sage);color:var(--forest)}
.contact-box .contact-list a{color:var(--c-heading)}
.subnav{position:sticky;top:87px;z-index:50;background:#fff;border-bottom:1px solid var(--c-border)}
.subnav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin}
.subnav a{display:block;padding:14px 14px;white-space:nowrap;color:var(--c-heading);text-decoration:none;font-weight:600;font-size:.98rem}
.subnav a:hover{color:var(--forest);box-shadow:inset 0 -3px 0 var(--forest)}
.service-table{display:grid;gap:0}
.service-entry{scroll-margin-top:150px;display:grid;gap:28px;padding:36px 0;border-bottom:1px solid var(--c-border);align-items:center}
.service-entry:first-child{padding-top:0}
@media (min-width:800px){.service-entry{grid-template-columns:340px 1fr;gap:44px}}
.service-entry__media img{border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover}
.service-entry h2{display:flex;align-items:center;gap:14px;font-size:1.75rem}
.service-entry h2 .index-card__icon{margin:0}
.service-entry p{color:var(--c-muted)}
.prices{display:grid;gap:22px}
@media (min-width:900px){.prices{grid-template-columns:repeat(3,1fr)}}
.prices__card{background:#fff;border:1px solid var(--c-border);border-top:4px solid var(--forest);border-radius:var(--radius);padding:24px}
.prices__extra{margin-top:24px}
.faq{scroll-margin-top:150px}
.faq__more{margin-top:24px}
.districts details{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius);margin-bottom:12px}
.districts summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;cursor:pointer;font-family:var(--font-head);font-weight:600;font-size:1.3rem;color:var(--c-heading);list-style:none}
.districts summary::-webkit-details-marker{display:none}
.districts summary span{margin-left:auto;font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--forest);background:var(--sage);padding:4px 10px;border-radius:4px}
.districts summary::after{content:"+";font-size:1.5rem;color:var(--forest)}
.districts details[open] summary::after{content:"–"}
.districts__body{padding:0 24px 24px}
.districts__body p{color:var(--c-muted);margin:0}
.districts__more{margin-top:20px}
.contact-row{display:grid;gap:18px}
@media (min-width:800px){.contact-row{grid-template-columns:repeat(3,1fr)}}
.contact-tile{display:flex;flex-direction:column;gap:4px;padding:26px;background:#fff;border:1px solid var(--c-border);border-left:5px solid var(--forest);border-radius:var(--radius);text-decoration:none;color:var(--c-muted)}
.contact-tile .icon{width:30px;height:30px;color:var(--forest);margin-bottom:6px}
.contact-tile strong{font-size:1.2rem;color:var(--c-heading)}
.contact-tile:hover{box-shadow:var(--shadow)}
.enquiry--page{margin-top:0}
.notfound__links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:24px 0}

/* Pricing + quote panel */
.pricing{background:var(--sage)}
.pricing__sub{color:var(--brass)!important;font-style:italic}
.plan{border-top:4px solid var(--forest);border-radius:var(--radius)}
.plan--featured{border:2px solid var(--forest);border-top-width:6px}
.plan__icon{border-radius:4px;background:var(--sage);color:var(--forest)}
.pricing__addon{background:#fff;border:1px solid var(--c-border)}
