/*
Theme Name: Fairbank Facilities Management Website
Theme URI: https://fairbankinvestments.com/
Author: Fairbank
Description: Multi-page WordPress theme for Fairbank Facilities Management. Includes Home, Services, individual service pages, About, Contact, enquiry form, WhatsApp and responsive mobile design.
Version: 6.0.0
Text Domain: fairbank-fm
*/

:root{
  --ffm-ink:#101514;
  --ffm-deep:#073f2d;
  --ffm-deep-2:#0a5b40;
  --ffm-green:#6fc23c;
  --ffm-green-bright:#95d63c;
  --ffm-soft:#f4f7f4;
  --ffm-line:#dfe6e1;
  --ffm-muted:#5b6660;
  --ffm-white:#fff;
  --ffm-max:1180px;
  --ffm-radius:24px;
  --ffm-shadow:0 18px 60px rgba(6,52,37,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ffm-ink);background:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.ffm-shell{width:min(calc(100% - 40px),var(--ffm-max));margin-inline:auto}
.ffm-eyebrow{font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;font-weight:850;color:var(--ffm-deep-2)}
.ffm-eyebrow-light{color:#a8dc87}
.ffm-green-rule{width:58px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--ffm-deep),var(--ffm-green));margin:20px 0}
.ffm-text-link{display:inline-block;margin-top:15px;font-weight:850;color:var(--ffm-deep)}
.ffm-center-action{text-align:center;margin-top:34px}

/* Header */
.ffm-header{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(10,60,45,.08)}
.ffm-nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ffm-brand{display:flex;align-items:center;gap:13px;min-width:0}
.ffm-mark{width:48px;height:48px;object-fit:contain;flex:0 0 auto}
.ffm-brand-word{line-height:.92}
.ffm-brand-word strong{display:block;font-size:1.37rem;letter-spacing:.055em;font-weight:950}
.ffm-brand-word span{display:block;margin-top:8px;font-size:.58rem;letter-spacing:.30em;text-transform:uppercase;color:#303735;white-space:nowrap}
.ffm-links{display:flex;align-items:center;gap:22px}
.ffm-menu{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0;font-size:.91rem;font-weight:780}
.ffm-menu a:hover,.ffm-menu .current-menu-item>a{color:var(--ffm-deep-2)}
.ffm-menu-toggle{display:none;border:1px solid var(--ffm-line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}

/* Buttons */
.ffm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:13px 20px;font-weight:850;border:1px solid transparent;transition:.2s ease;cursor:pointer}
.ffm-btn:hover{transform:translateY(-1px)}
.ffm-btn-primary{background:var(--ffm-deep);color:#fff;box-shadow:0 10px 28px rgba(8,62,46,.18)}
.ffm-btn-primary:hover{background:#052f23}
.ffm-btn-light{background:#fff;border-color:var(--ffm-line);color:var(--ffm-ink)}
.ffm-btn-light:hover{border-color:#b9c6be}
.ffm-btn-ghost{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.03)}
.ffm-btn-outline-dark{color:#fff;border-color:rgba(255,255,255,.28);background:transparent}

/* Hero */
.ffm-hero{position:relative;overflow:hidden;padding:92px 0 78px;background:linear-gradient(160deg,#fff 0%,#fff 58%,#f2f7f3 100%)}
.ffm-hero:before,.ffm-hero:after,.ffm-page-hero:before{content:"";position:absolute;pointer-events:none;opacity:.055;transform:rotate(45deg);border:46px solid var(--ffm-deep);width:310px;height:310px}
.ffm-hero:before{left:-230px;top:-50px}
.ffm-hero:after{right:-240px;bottom:-170px;border-color:var(--ffm-green)}
.ffm-hero-grid{display:grid;grid-template-columns:1.13fr .87fr;gap:72px;align-items:center;position:relative;z-index:2}
.ffm-hero h1{font-size:clamp(3.3rem,7vw,6.25rem);letter-spacing:-.064em;line-height:.9;margin:14px 0 27px;font-weight:950;max-width:880px}
.ffm-hero h1 span{display:block;color:var(--ffm-deep)}
.ffm-lead{font-size:clamp(1.08rem,2vw,1.34rem);color:#46504b;max-width:720px;margin:0 0 34px}
.ffm-actions{display:flex;gap:12px;flex-wrap:wrap}
.ffm-hero-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:32px;font-size:.78rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:#56615b}
.ffm-hero-trust span{position:relative}
.ffm-hero-trust span:not(:last-child):after{content:"";position:absolute;right:-12px;top:50%;width:3px;height:3px;background:var(--ffm-green);border-radius:50%}
.ffm-hero-panel{border-radius:30px;background:var(--ffm-deep);color:#fff;padding:36px;box-shadow:0 30px 90px rgba(5,50,36,.22);position:relative;overflow:hidden}
.ffm-hero-panel:after{content:"";position:absolute;right:-90px;top:-70px;width:280px;height:280px;border:40px solid var(--ffm-green);opacity:.14;transform:rotate(45deg)}
.ffm-panel-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:850;color:#a7dc82;margin-bottom:22px}
.ffm-hero-panel h2{font-size:2.05rem;line-height:1.06;letter-spacing:-.03em;margin:0 0 25px;position:relative;z-index:2}
.ffm-panel-list{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.16);position:relative;z-index:2}
.ffm-panel-list span{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.16);color:#dce8e1;font-weight:700}
.ffm-panel-contact{display:grid;gap:6px;margin-top:22px;position:relative;z-index:2}
.ffm-panel-contact a{font-weight:850;color:#fff}

/* Shared sections */
.ffm-section{padding:88px 0}
.ffm-section-soft{background:var(--ffm-soft)}
.ffm-section-dark{background:#071f18;color:#fff}
.ffm-section-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:38px}
.ffm-section-head-light .ffm-section-intro{color:#c7d8cf}
.ffm-section h2,.ffm-page-hero h1{font-size:clamp(2.35rem,4.6vw,4.35rem);line-height:.97;letter-spacing:-.052em;margin:8px 0 0}
.ffm-section-intro{max-width:570px;color:var(--ffm-muted);font-size:1.06rem}
.ffm-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.ffm-split .ffm-btn{margin-top:22px}

/* Services */
.ffm-services-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ffm-line)}
.ffm-service-card{display:grid;grid-template-columns:62px 1fr;gap:18px;padding:26px 28px 26px 0;border-bottom:1px solid var(--ffm-line);min-height:150px;transition:.18s ease}
.ffm-service-card:nth-child(odd){border-right:1px solid var(--ffm-line);padding-right:34px}
.ffm-service-card:nth-child(even){padding-left:34px}
.ffm-service-card:hover{background:linear-gradient(90deg,rgba(111,194,60,.035),transparent)}
.ffm-icon{width:56px;height:56px;border:2px solid var(--ffm-green);border-radius:50%;display:grid;place-items:center;color:var(--ffm-deep);background:#fff;flex:0 0 auto}
.ffm-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ffm-service-card h3,.ffm-service-card h2{font-size:1.11rem;line-height:1.18;margin:2px 0 7px;letter-spacing:-.01em}
.ffm-service-card p{margin:0;color:var(--ffm-muted);font-size:.95rem}
.ffm-services-grid-large .ffm-service-card{min-height:180px}

/* Steps */
.ffm-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}
.ffm-steps article{padding:28px 24px 0 0;border-right:1px solid rgba(255,255,255,.18);min-height:230px}
.ffm-steps article:not(:first-child){padding-left:24px}
.ffm-steps article:last-child{border-right:0}
.ffm-steps span{font-size:.74rem;letter-spacing:.16em;color:#9bd879;font-weight:900}
.ffm-steps h3{font-size:1.15rem;margin:45px 0 9px}
.ffm-steps p{color:#c8d7cf;margin:0;font-size:.95rem}
.ffm-steps-light{border-top-color:var(--ffm-line);color:var(--ffm-ink)}
.ffm-steps-light article{border-right-color:var(--ffm-line)}
.ffm-steps-light p{color:var(--ffm-muted)}
.ffm-steps-light span{color:var(--ffm-deep-2)}

/* Audiences and proof */
.ffm-audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ffm-audience-grid article{border:1px solid var(--ffm-line);border-radius:22px;background:#fff;padding:28px;min-height:250px}
.ffm-audience-number{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ffm-deep-2);font-weight:900}
.ffm-audience-grid h3{font-size:1.75rem;margin:55px 0 10px;letter-spacing:-.035em}
.ffm-audience-grid p{color:var(--ffm-muted);margin:0}
.ffm-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ffm-proof{background:#fff;border:1px solid var(--ffm-line);border-radius:20px;padding:26px;min-height:230px;box-shadow:0 10px 34px rgba(14,50,38,.04)}
.ffm-proof .ffm-icon{margin-bottom:18px}
.ffm-proof h3{font-size:1.08rem;margin:0 0 8px}
.ffm-proof p{color:var(--ffm-muted);margin:0;font-size:.94rem}
.ffm-proof-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ffm-line);border-radius:24px;overflow:hidden;background:#fff}
.ffm-proof-strip div{padding:30px;border-right:1px solid var(--ffm-line)}
.ffm-proof-strip div:last-child{border-right:0}
.ffm-proof-strip strong{display:block;font-size:1.4rem;margin-bottom:7px}
.ffm-proof-strip span{color:var(--ffm-muted)}
.ffm-proof-strip.vertical{grid-template-columns:1fr}
.ffm-proof-strip.vertical div{border-right:0;border-bottom:1px solid var(--ffm-line)}
.ffm-proof-strip.vertical div:last-child{border-bottom:0}

/* Band */
.ffm-band{background:var(--ffm-deep);color:#fff;padding:58px 0;position:relative;overflow:hidden}
.ffm-band:after{content:"";position:absolute;right:-90px;top:-145px;width:390px;height:390px;border:54px solid var(--ffm-green);opacity:.11;transform:rotate(45deg)}
.ffm-band-grid{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;position:relative;z-index:2}
.ffm-band h2{font-size:clamp(2.35rem,5vw,4.4rem);line-height:.95;letter-spacing:-.05em;margin:7px 0 13px}
.ffm-band p{margin:0;color:#d8e9df;font-size:1.08rem}
.ffm-band-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

/* Page heroes */
.ffm-page-hero{position:relative;overflow:hidden;padding:82px 0 72px;background:linear-gradient(155deg,#fff,#f2f7f3)}
.ffm-page-hero:before{left:-250px;bottom:-160px;opacity:.045}
.ffm-page-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:72px;align-items:end;position:relative;z-index:2}
.ffm-page-hero h1{max-width:850px}
.ffm-page-hero p{font-size:1.16rem;color:#52605a;max-width:760px;margin:24px 0 0}
.ffm-page-hero-note{background:#fff;border:1px solid var(--ffm-line);border-radius:22px;padding:28px;box-shadow:var(--ffm-shadow);display:grid;gap:10px}
.ffm-page-hero-note strong{font-size:1.2rem}
.ffm-page-hero-note span{color:var(--ffm-muted)}
.ffm-page-hero-note a{color:var(--ffm-deep);font-weight:850;overflow-wrap:anywhere}
.ffm-page-hero-simple{padding-bottom:58px}

/* Service pages */
.ffm-service-hero-grid{display:grid;grid-template-columns:1fr .6fr;gap:70px;align-items:center}
.ffm-service-hero-icon{width:72px;height:72px;margin-bottom:22px}
.ffm-service-hero-panel{min-height:300px;border-radius:28px;background:var(--ffm-deep);color:#fff;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.ffm-service-hero-panel:before{content:"";position:absolute;width:250px;height:250px;right:-100px;top:-100px;border:38px solid var(--ffm-green);opacity:.14;transform:rotate(45deg)}
.ffm-service-hero-panel span{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#a7dc82;margin-bottom:auto}
.ffm-service-hero-panel strong{font-size:1.65rem;line-height:1.08}
.ffm-service-intro{margin-bottom:42px}
.ffm-task-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ffm-line);border-left:1px solid var(--ffm-line)}
.ffm-task-grid div{padding:20px;border-right:1px solid var(--ffm-line);border-bottom:1px solid var(--ffm-line);font-weight:780;background:#fff}
.ffm-task-grid span{color:var(--ffm-green);margin-right:9px;font-weight:950}
.ffm-note{margin-top:22px;border-left:4px solid var(--ffm-green);background:var(--ffm-soft);padding:16px 18px;border-radius:0 12px 12px 0;color:#405049;font-size:.94rem}
.ffm-related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ffm-related-grid a{border:1px solid var(--ffm-line);border-radius:18px;padding:20px;background:#fff;display:grid;gap:18px;transition:.2s ease}
.ffm-related-grid a:hover{transform:translateY(-2px);box-shadow:var(--ffm-shadow)}
.ffm-related-grid strong{font-size:1rem}
.ffm-related-grid span{color:var(--ffm-deep);font-weight:850}

/* About */
.ffm-values-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ffm-line);border-left:1px solid var(--ffm-line)}
.ffm-values-grid article{padding:34px;border-right:1px solid var(--ffm-line);border-bottom:1px solid var(--ffm-line);background:#fff;min-height:205px}
.ffm-values-grid h3{font-size:1.45rem;margin:0 0 45px;letter-spacing:-.025em}
.ffm-values-grid p{color:var(--ffm-muted);margin:0}

/* Projects */
.ffm-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ffm-project-card{border:1px solid var(--ffm-line);border-radius:22px;background:#fff;overflow:hidden;transition:.2s ease}
.ffm-project-card:hover{transform:translateY(-3px);box-shadow:var(--ffm-shadow)}
.ffm-project-image{aspect-ratio:4/3;background:linear-gradient(145deg,#eef3ef,#dce9df);overflow:hidden}
.ffm-project-image img{width:100%;height:100%;object-fit:cover}
.ffm-project-placeholder{width:100%;height:100%;background:linear-gradient(135deg,rgba(7,63,45,.08),rgba(111,194,60,.17))}
.ffm-project-copy{padding:24px}
.ffm-project-copy h2,.ffm-project-copy h3{font-size:1.5rem;line-height:1.08;letter-spacing:-.03em;margin:8px 0 10px}
.ffm-project-copy p{color:var(--ffm-muted);margin:0}
.ffm-empty-projects{display:grid;grid-template-columns:1fr .72fr;gap:46px;align-items:center}
.ffm-empty-projects h2{margin-bottom:20px}
.ffm-empty-projects p{color:var(--ffm-muted);max-width:650px}
.ffm-empty-projects .ffm-btn{margin-top:14px}
.ffm-project-single-grid{display:grid;grid-template-columns:1fr 320px;gap:50px;align-items:start}
.ffm-project-featured{border-radius:22px;overflow:hidden;margin-bottom:30px}
.ffm-project-sidebar{border:1px solid var(--ffm-line);border-radius:20px;padding:24px;position:sticky;top:110px;display:grid;gap:22px}
.ffm-project-sidebar div{display:grid;gap:4px;padding-bottom:16px;border-bottom:1px solid var(--ffm-line)}
.ffm-project-sidebar span{color:var(--ffm-muted)}
.ffm-pagination{margin-top:40px}

/* Contact/form */
.ffm-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:start}
.ffm-contact-card{background:#fff;border:1px solid var(--ffm-line);border-radius:var(--ffm-radius);padding:34px;box-shadow:var(--ffm-shadow)}
.ffm-contact-lines{display:grid;gap:12px;margin-top:28px}
.ffm-contact-link{display:flex;align-items:center;gap:12px;font-weight:850;padding:14px 0;border-bottom:1px solid var(--ffm-line);overflow-wrap:anywhere}
.ffm-contact-link:last-child{border-bottom:0}
.ffm-contact-dot{width:38px;height:38px;border:1px solid var(--ffm-green);border-radius:50%;display:grid;place-items:center;color:var(--ffm-deep);flex:0 0 auto}
.ffm-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ffm-field{display:grid;gap:7px}
.ffm-field.full{grid-column:1/-1}
.ffm-field label{font-weight:800;font-size:.84rem}
.ffm-field input,.ffm-field select,.ffm-field textarea{width:100%;border:1px solid #cfd8d2;border-radius:12px;background:#fff;padding:13px 14px;color:var(--ffm-ink);outline:none}
.ffm-field input:focus,.ffm-field select:focus,.ffm-field textarea:focus{border-color:var(--ffm-green);box-shadow:0 0 0 3px rgba(118,196,66,.13)}
.ffm-field textarea{min-height:135px;resize:vertical}
.ffm-consent label{display:flex;gap:9px;align-items:flex-start;font-weight:600;color:#58625d}
.ffm-consent input{width:auto;margin-top:4px}
.ffm-submit{grid-column:1/-1;border:0}
.ffm-hp{position:absolute!important;left:-9999px!important}
.ffm-notice{padding:13px 15px;border-radius:12px;margin-bottom:18px;font-weight:700}
.ffm-notice-ok{background:#eaf7e6;color:#19592d}
.ffm-notice-bad{background:#fff0f0;color:#8a2525}

/* Prose */
.ffm-prose{max-width:860px}
.ffm-prose h2,.ffm-prose h3{line-height:1.1;letter-spacing:-.025em;margin-top:1.6em}
.ffm-prose p,.ffm-prose li{color:#46504b;font-size:1.03rem}
.ffm-prose a{color:var(--ffm-deep-2);text-decoration:underline}

/* Footer */
.ffm-footer{padding:58px 0 26px;background:#071f18;color:#d9e5df;font-size:.88rem}
.ffm-footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1.1fr .8fr;gap:36px}
.ffm-footer-grid h3{color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.14em;margin:0 0 14px}
.ffm-footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.ffm-footer-grid p{max-width:330px;color:#b9ccc2}
.ffm-footer-grid a{color:#fff;font-weight:700}
.ffm-brand-footer .ffm-brand-word strong{color:#fff}
.ffm-brand-footer .ffm-brand-word span{color:#bed0c6}
.ffm-footer-bottom{display:flex;justify-content:space-between;gap:22px;margin-top:46px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:#a9bbb1}
.ffm-footer-bottom a{color:#fff}
.ffm-mobile-cta{display:none}

@media(max-width:980px){
  .ffm-menu-toggle{display:block}
  .ffm-links{position:absolute;top:76px;left:20px;right:20px;background:#fff;border:1px solid var(--ffm-line);border-radius:20px;padding:18px;box-shadow:var(--ffm-shadow);display:none;align-items:stretch;flex-direction:column}
  .ffm-links.is-open{display:flex}
  .ffm-menu{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .ffm-menu li{border-bottom:1px solid var(--ffm-line)}
  .ffm-menu a{display:block;padding:12px 2px}
  .ffm-header-cta{width:100%}
  .ffm-hero-grid,.ffm-page-hero-grid,.ffm-service-hero-grid,.ffm-contact-grid,.ffm-split,.ffm-empty-projects,.ffm-project-single-grid{grid-template-columns:1fr}
  .ffm-hero-grid,.ffm-page-hero-grid{gap:42px}
  .ffm-proof-grid{grid-template-columns:repeat(2,1fr)}
  .ffm-steps{grid-template-columns:repeat(2,1fr)}
  .ffm-steps article:nth-child(2){border-right:0}
  .ffm-audience-grid{grid-template-columns:1fr}
  .ffm-project-grid{grid-template-columns:repeat(2,1fr)}
  .ffm-related-grid{grid-template-columns:repeat(2,1fr)}
  .ffm-task-grid{grid-template-columns:repeat(2,1fr)}
  .ffm-footer-grid{grid-template-columns:repeat(2,1fr)}
  .ffm-project-sidebar{position:static}
}

@media(max-width:680px){
  .ffm-shell{width:min(calc(100% - 28px),var(--ffm-max))}
  .ffm-nav{min-height:76px}
  .ffm-brand-word strong{font-size:1.06rem}
  .ffm-brand-word span{font-size:.47rem;letter-spacing:.22em}
  .ffm-mark{width:40px;height:40px}
  .ffm-hero{padding:54px 0 56px}
  .ffm-hero h1{font-size:3.3rem}
  .ffm-hero-panel{padding:28px}
  .ffm-section,.ffm-page-hero{padding:64px 0}
  .ffm-section-head{display:block}
  .ffm-section-intro{margin-top:18px}
  .ffm-services-grid{grid-template-columns:1fr}
  .ffm-service-card:nth-child(odd),.ffm-service-card:nth-child(even){padding:20px 0;border-right:0}
  .ffm-proof-grid,.ffm-project-grid,.ffm-related-grid,.ffm-values-grid,.ffm-task-grid{grid-template-columns:1fr}
  .ffm-steps{grid-template-columns:1fr}
  .ffm-steps article,.ffm-steps article:not(:first-child){padding:24px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.16);min-height:0}
  .ffm-steps-light article{border-bottom-color:var(--ffm-line)}
  .ffm-steps h3{margin-top:20px}
  .ffm-proof-strip{grid-template-columns:1fr}
  .ffm-proof-strip div{border-right:0;border-bottom:1px solid var(--ffm-line)}
  .ffm-proof-strip div:last-child{border-bottom:0}
  .ffm-band-grid{grid-template-columns:1fr}
  .ffm-band-actions{justify-content:flex-start}
  .ffm-form{grid-template-columns:1fr}
  .ffm-field.full,.ffm-submit{grid-column:auto}
  .ffm-contact-card{padding:23px}
  .ffm-footer-grid{grid-template-columns:1fr}
  .ffm-footer-bottom{display:grid}
  .ffm-mobile-cta{display:flex;position:fixed;z-index:80;left:10px;right:10px;bottom:10px;gap:8px;background:rgba(255,255,255,.97);padding:8px;border-radius:18px;box-shadow:0 18px 44px rgba(0,0,0,.2);border:1px solid rgba(0,0,0,.06)}
  .ffm-mobile-cta a{flex:1;padding:12px 10px;text-align:center;border-radius:12px;font-size:.82rem;font-weight:900}
  .ffm-mobile-cta .call{background:#eef2ef}
  .ffm-mobile-cta .wa{background:var(--ffm-deep);color:#fff}
  body{padding-bottom:78px}
}


/* v5: button contrast, legal footer, social links and cookie notice */
.ffm-band .ffm-btn-light,.ffm-service-hero .ffm-btn-light,.ffm-btn-light{color:#101514 !important;background:#fff !important}
.ffm-social-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.ffm-social-links a{font-size:.92rem;text-decoration:underline;text-underline-offset:3px}
.ffm-legal{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:.76rem;line-height:1.55;color:#c9d8d0}
.ffm-cookie-notice{position:fixed;left:20px;right:20px;bottom:20px;z-index:200;background:#fff;border:1px solid var(--ffm-line);box-shadow:0 20px 70px rgba(3,35,25,.22);border-radius:18px;padding:18px}
.ffm-cookie-notice[hidden]{display:none !important}
.ffm-cookie-inner{width:min(100%,1080px);margin:auto;display:flex;gap:24px;align-items:center;justify-content:space-between}
.ffm-cookie-inner strong{display:block;font-size:1rem;margin-bottom:4px}
.ffm-cookie-inner p{margin:0;color:var(--ffm-muted);font-size:.9rem}
.ffm-cookie-inner p a{color:var(--ffm-deep);font-weight:800;text-decoration:underline}
@media(max-width:700px){.ffm-cookie-notice{left:10px;right:10px;bottom:78px}.ffm-cookie-inner{align-items:flex-start;flex-direction:column;gap:12px}.ffm-cookie-inner .ffm-btn{width:100%}}
