/* ──────────────────────────────────────────────────────────────────
   Inner pages (services, about, contact, privacy).

   The homepage is a pagePiling one-pager: every slide is absolutely
   positioned and the footer is fixed. None of that applies here, so
   these pages get their own scrolling layout and reuse only the
   header, the off-canvas menu and the brand tokens from brand.css.
   ────────────────────────────────────────────────────────────────── */

/* The template locks the document for the fullpage slider —
   html{overflow:hidden;height:100%}. pagePiling never runs on these pages,
   so that lock just clipped everything below the fold: the footer was laid
   out correctly at the right offset but never painted. Release it. */
html.wfm-html,html.wfm-html body{overflow-x:hidden!important;overflow-y:visible!important;
  height:auto!important;min-height:100%;position:static!important}

.wfm-page{background:var(--wfm-cream);color:#222C26;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased}
.wfm-page .vlt-header{position:fixed;top:0;left:0;right:0;z-index:80}
/* the navbar is transparent over the hero video on the homepage; here it
   needs a surface of its own or the links sit on top of the content */
.wfm-page .vlt-navbar-background{background:rgba(250,248,240,.92);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid rgba(20,73,43,.10);opacity:1}
.wfm-main{padding-top:96px}
.wfm-wrap{width:min(1180px,92vw);margin-inline:auto}

/* ── type ─────────────────────────────────────────────────────── */
.wfm-page h1,.wfm-page h2,.wfm-page h3,.wfm-page h4{
  font-family:"Playfair Display",Georgia,serif;color:var(--wfm-green-deep);
  letter-spacing:-.01em;margin:0 0 .5em}
.wfm-page h1{font-size:clamp(2.3rem,5.2vw,4rem);line-height:1.04}
.wfm-page h2{font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.15;margin-top:2.2rem}
.wfm-page h3{font-size:1.14rem;line-height:1.3}
.wfm-page p{margin:0 0 1.05em;line-height:1.72}
.wfm-page a{color:var(--wfm-gold-deep);text-decoration:none}
.wfm-page a:hover{color:var(--wfm-green);text-decoration:underline}

.wfm-kicker{font:600 11px/1 Inter,sans-serif;letter-spacing:.22em;
  text-transform:uppercase;color:var(--wfm-gold-ink);margin:0 0 1.1rem}
.wfm-lede{font-size:clamp(1.02rem,1.5vw,1.24rem);line-height:1.6;
  color:#3A463E;max-width:62ch}

/* ── breadcrumbs ──────────────────────────────────────────────── */
.wfm-crumbs{padding:14px 0 0;font-size:.82rem;color:#6B7770}
.wfm-crumbs span{opacity:.55;margin:0 .15rem}
.wfm-crumbs a{color:#6B7770}
.wfm-crumbs a:hover{color:var(--wfm-green)}

/* ── hero ─────────────────────────────────────────────────────── */
.wfm-hero{padding:44px 0 30px;position:relative}
.wfm-hero::after{content:"";display:block;width:64px;height:3px;
  background:var(--wfm-gold);margin-top:26px;border-radius:2px}

/* ── sections ─────────────────────────────────────────────────── */
.wfm-sec{padding:44px 0}
.wfm-sec--tint{background:#F2EFE3;border-block:1px solid rgba(20,73,43,.08);
  margin-top:44px}
.wfm-prose{max-width:74ch}

/* ── service cards ────────────────────────────────────────────── */
.wfm-grid{display:grid;gap:18px;
  grid-template-columns:repeat(auto-fill,minmax(275px,1fr))}
.wfm-card{display:block;background:#fff;border:1px solid rgba(20,73,43,.12);
  border-radius:12px;padding:24px 22px 20px;transition:
    transform .28s cubic-bezier(.25,.8,.28,1),box-shadow .28s,border-color .28s}
.wfm-card:hover{transform:translateY(-4px);border-color:var(--wfm-gold);
  box-shadow:0 14px 34px rgba(20,73,43,.13);text-decoration:none}
.wfm-card h3{margin-bottom:.45em}
.wfm-card p{color:#4A564E;font-size:.94rem;margin-bottom:1em}
.wfm-card__go{font:600 12px/1 Inter,sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--wfm-gold-ink)}
.wfm-card__go::after{content:" →"}

/* ── two-column service layout ────────────────────────────────── */
.wfm-split{display:grid;gap:40px;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
  align-items:start}
.wfm-split__side{background:#fff;border:1px solid rgba(20,73,43,.12);
  border-radius:12px;padding:26px 24px;position:sticky;top:112px}
.wfm-split__side h3{margin-top:1.3rem}
.wfm-split__side h3:first-child{margin-top:0}
@media(max-width:900px){
  .wfm-split{grid-template-columns:1fr}
  .wfm-split__side{position:static}
}

/* ── lists ────────────────────────────────────────────────────── */
.wfm-ticks{list-style:none;padding:0;margin:0 0 1.4em}
.wfm-ticks li{position:relative;padding-left:30px;margin-bottom:.72em;line-height:1.62}
.wfm-ticks li::before{content:"";position:absolute;left:4px;top:.52em;
  width:9px;height:9px;border-radius:50%;background:var(--wfm-gold)}
.wfm-tags{list-style:none;padding:0;margin:0 0 .4em;display:flex;flex-wrap:wrap;gap:7px}
.wfm-tags li{background:rgba(20,73,43,.08);color:var(--wfm-green-deep);
  border-radius:99px;padding:5px 12px;font-size:.82rem}
.wfm-chips{display:flex;flex-wrap:wrap;gap:9px}
.wfm-chip{background:#fff;border:1px solid rgba(20,73,43,.16);border-radius:99px;
  padding:9px 16px;font-size:.88rem;color:var(--wfm-green-deep);transition:.22s}
.wfm-chip:hover{border-color:var(--wfm-gold);background:#fff;
  color:var(--wfm-green-deep);text-decoration:none}

/* ── contact + steps ──────────────────────────────────────────── */
.wfm-contact{list-style:none;padding:0;margin:0 0 1.4em}
.wfm-contact li{display:flex;gap:16px;padding:11px 0;
  border-bottom:1px solid rgba(20,73,43,.10)}
.wfm-contact li>span:first-child{flex:0 0 108px;color:#6B7770;font-size:.82rem;
  text-transform:uppercase;letter-spacing:.09em;padding-top:2px}
.wfm-steps{margin:0 0 1.3em;padding-left:1.15em}
.wfm-steps li{margin-bottom:.62em;line-height:1.6}

/* ── FAQ ──────────────────────────────────────────────────────── */
.wfm-faq{border-bottom:1px solid rgba(20,73,43,.12);padding:4px 0}
.wfm-faq summary{cursor:pointer;padding:14px 0;font-weight:600;
  color:var(--wfm-green-deep);list-style:none;position:relative;padding-right:32px}
.wfm-faq summary::-webkit-details-marker{display:none}
.wfm-faq summary::after{content:"+";position:absolute;right:6px;top:11px;
  font-size:1.3rem;color:var(--wfm-gold-ink);transition:transform .22s}
.wfm-faq[open] summary::after{transform:rotate(45deg)}
.wfm-faq p{padding:0 0 14px;color:#4A564E}

/* ── stats ────────────────────────────────────────────────────── */
.wfm-stats{display:grid;gap:18px;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.wfm-stat{background:#fff;border:1px solid rgba(20,73,43,.12);border-radius:12px;
  padding:22px}
.wfm-stat strong{display:block;font-family:"Playfair Display",Georgia,serif;
  font-size:2.1rem;color:var(--wfm-green);line-height:1}
.wfm-stat span{display:block;margin-top:.45rem;font-weight:600;
  color:var(--wfm-green-deep);font-size:.94rem}
.wfm-stat em{display:block;margin-top:.3rem;font-style:normal;
  color:#6B7770;font-size:.85rem;line-height:1.5}

/* ── buttons + CTA ────────────────────────────────────────────── */
.wfm-btn{display:inline-block;background:var(--wfm-gold);
  color:var(--wfm-green-deep)!important;font-weight:600;font-size:.94rem;
  border:1.5px solid var(--wfm-gold);border-radius:99px;padding:13px 26px;
  transition:.24s cubic-bezier(.25,.8,.28,1)}
.wfm-btn:hover{background:var(--wfm-gold-lite);border-color:var(--wfm-gold-lite);
  text-decoration:none;transform:translateY(-2px)}
.wfm-btn--ghost{background:transparent;border-color:rgba(255,255,255,.5);
  color:#fff!important}
.wfm-btn--ghost:hover{background:rgba(255,255,255,.1);
  border-color:#fff;color:#fff!important}

.wfm-cta{background:var(--wfm-green);color:#fff;padding:54px 0;margin-top:52px}
.wfm-cta h2{color:#fff;margin-top:0}
.wfm-cta p{color:rgba(255,255,255,.86);max-width:60ch}
.wfm-cta__row{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6rem}

/* ── footer ───────────────────────────────────────────────────── */
.wfm-foot{background:var(--wfm-green-deep);color:rgba(255,255,255,.76);
  padding:52px 0 0;font-size:.92rem}
.wfm-foot__grid{display:grid;gap:32px;
  grid-template-columns:1.4fr 1fr 1fr 1fr;padding-bottom:38px}
@media(max-width:860px){.wfm-foot__grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.wfm-foot__grid{grid-template-columns:1fr}}
.wfm-foot h4{color:#fff;font-family:Inter,sans-serif;font-size:12px;
  font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.1em}
.wfm-foot ul{list-style:none;padding:0;margin:0}
.wfm-foot li{margin-bottom:.62em;line-height:1.5}
.wfm-foot a{color:rgba(255,255,255,.76)}
.wfm-foot a:hover{color:var(--wfm-gold-lite);text-decoration:none}
.wfm-foot__name{font-family:"Playfair Display",Georgia,serif;color:#fff;
  font-size:1.16rem;margin-bottom:.5em}
.wfm-foot__legal{border-top:1px solid rgba(255,255,255,.14);padding:18px 0;
  font-size:.82rem;color:rgba(255,255,255,.52)}
.wfm-foot__legal p{margin:0}

.wfm-note{background:rgba(201,162,47,.13);border-left:3px solid var(--wfm-gold);
  padding:14px 16px;border-radius:0 8px 8px 0;font-size:.9rem}

@media(max-width:640px){
  .wfm-main{padding-top:80px}
  .wfm-hero{padding:30px 0 22px}
  .wfm-sec{padding:32px 0}
}

/* ── contact detail on service pages ──────────────────────────────
   These pages previously offered only a button. The phone, the second
   line, the email and the opening hours were all in the recovered
   Shopify content and were going unused — which is exactly what a
   facilities manager looks for before enquiring. */
.wfm-contactcard{margin-top:1.6rem;padding-top:1.4rem;
  border-top:1px solid rgba(20,73,43,.14)}
.wfm-contact--tight li{padding:8px 0}
.wfm-contact--tight li>span:first-child{flex:0 0 92px;font-size:.74rem}
.wfm-contactcard .wfm-btn{margin-top:1rem;width:100%;text-align:center}
.wfm-small{font-size:.83rem;color:#6B7770;line-height:1.55;margin-top:.6em}

/* the four proof points, recovered and previously only on About */
.wfm-proofrow{display:grid;gap:16px;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.wfm-proof{background:#fff;border:1px solid rgba(20,73,43,.12);
  border-radius:12px;padding:20px 18px}
.wfm-proof strong{display:block;font-family:"Playfair Display",Georgia,serif;
  font-size:1.06rem;color:var(--wfm-green-deep);line-height:1.3;margin-bottom:.4rem}
.wfm-proof span{display:block;color:#5C6A62;font-size:.87rem;line-height:1.55}

/* FAQs now appear on every service page, not just Contact */
.wfm-split__main .wfm-faq:first-of-type{margin-top:.4rem}

/* ── frequency guidance ───────────────────────────────────────────
   The question every cleaning enquiry actually opens with, and almost
   no competitor answers on the page. Worth giving it real weight. */
.wfm-freqlist{margin:1.1rem 0 1.8rem;border-top:1px solid rgba(20,73,43,.12)}
.wfm-freq{display:flex;gap:20px;padding:14px 0;
  border-bottom:1px solid rgba(20,73,43,.10)}
.wfm-freq strong{flex:0 0 132px;color:var(--wfm-green-deep);font-size:.95rem}
.wfm-freq span{color:#4A564E;line-height:1.62;font-size:.95rem}
@media(max-width:620px){
  .wfm-freq{flex-direction:column;gap:5px}
  .wfm-freq strong{flex:none}
}

/* ── what we put in writing ───────────────────────────────────────
   Deliberately documents, not badges. Nothing here claims an
   accreditation Wycombe FM has not confirmed. */
.wfm-docs{display:grid;gap:16px;margin-top:1.6rem;
  grid-template-columns:repeat(auto-fit,minmax(268px,1fr))}
.wfm-doc{background:#fff;border:1px solid rgba(20,73,43,.12);
  border-radius:12px;padding:22px 20px;border-left:3px solid var(--wfm-gold)}
.wfm-doc strong{display:block;color:var(--wfm-green-deep);font-size:1rem;
  margin-bottom:.45rem}
.wfm-doc span{display:block;color:#5C6A62;font-size:.9rem;line-height:1.6}
