

/* Real styling lives in assets/css/style.css, enqueued from functions.php. */


/* ---------------------------------------------------------------
   Components added by the WordPress rebuild.
   Everything here inherits the original palette and type scale.
   --------------------------------------------------------------- */

.screen-reader-text {
    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:focus {
    position: fixed !important;
    top: 12px; left: 12px;
    width: auto; height: auto;
    clip: auto; z-index: 9999;
    padding: 12px 20px; background: #fff;
    border-radius: 6px; box-shadow: 0 2px 12px rgba(0,0,0,.2);
}

/* Mobile navigation */
@media screen and (max-width: 991px) {
    .nav-menu.is-open { display: block; }
    body.nav-open { overflow: hidden; }
}

/* Sticky call bar */
.fibrepro-sticky-bar { transition: transform .25s ease, opacity .25s ease; }
@media screen and (max-width: 767px) {
    .fibrepro-sticky-bar { transform: translateY(120%); opacity: 0; }
    .fibrepro-sticky-bar.is-visible { transform: translateY(0); opacity: 1; }
}

/* Card grids */
.service-grid, .blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    grid-column-gap: 28px;
    grid-row-gap: 28px;
    margin-top: 40px;
    margin-bottom: 40px;
}
.service-card, .blog-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 18px rgba(16, 42, 67, .08);
    display: flex;
    flex-direction: column;
}
.service-card { padding: 28px; }
.service-card-image img, .blog-card-image img {
    width: 100%; height: auto; display: block; object-fit: cover;
}
.service-card-title, .blog-card-title { margin: 16px 0 10px; font-size: 22px; line-height: 1.3; }
.service-card-title a, .blog-card-title a { color: inherit; text-decoration: none; }
.service-card-title a:hover, .blog-card-title a:hover { text-decoration: underline; }
.blog-card-content { padding: 24px 28px 28px; }
.blog-card-date { font-size: 14px; opacity: .7; }
.blog-feature-image img { width: 100%; height: auto; border-radius: 16px; margin-bottom: 32px; }

/* FAQ accordion - native details/summary, no JS required */
.faq-wrap { max-width: 860px; margin: 40px auto 0; }
.faq-item {
    border-bottom: 1px solid rgba(16, 42, 67, .12);
    padding: 20px 0;
}
.faq-question { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.faq-question::-webkit-details-marker { display: none; }
.faq-question::after { content: "+"; font-size: 26px; line-height: 1; flex: 0 0 auto; }
.faq-item[open] .faq-question::after { content: "\2013"; }
.faq-question-text { margin: 0; font-size: 19px; line-height: 1.4; }
.faq-answer { padding-top: 12px; }
.faq-answer p { margin: 0; }

/* Rich text defaults so editor content never looks unstyled */
.rich-text h2 { margin-top: 40px; }
.rich-text h3 { margin-top: 28px; }
.rich-text ul, .rich-text ol { padding-left: 22px; margin-bottom: 20px; }
.rich-text li { margin-bottom: 8px; }
.rich-text img { max-width: 100%; height: auto; border-radius: 12px; }

/* Pagination */
.pagination { display: flex; justify-content: center; margin-top: 32px; }
.pagination .page-numbers {
    display: inline-block; padding: 10px 16px; margin: 0 4px;
    border-radius: 8px; text-decoration: none;
}
.pagination .page-numbers.current { font-weight: 700; }

/* Turnstile widget spacing inside the quote form */
.quote-form .cf-turnstile { margin: 8px 0 16px; }


/* ---------------------------------------------------------------
   Webflow animation fallback.
   Webflow shipped inline opacity:0 on animated elements and faded
   them in with its own 450 KB JS bundle. That bundle is gone, so
   anything still carrying a Webflow animation hook must be visible
   by default or it disappears entirely (this is what emptied the
   footer). The reveal below is added by JS only, so with JS off or
   reduced-motion on, everything is simply visible.
   --------------------------------------------------------------- */
[data-w-id] {
    opacity: 1 !important;
    transform: none !important;
}

.fp-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .5s ease, transform .5s ease;
    will-change: opacity, transform;
}
.fp-reveal.is-in {
    opacity: 1;
    transform: none;
}
@media (prefers-reduced-motion: reduce) {
    .fp-reveal,
    .fp-reveal.is-in {
        opacity: 1;
        transform: none;
        transition: none;
    }
}


/* ---------------------------------------------------------------
   Rich-text corrections.
   The Webflow stylesheet colours list items and headings with the
   brand blue, which is fine for short marketing blocks but unreadable
   for body content. Body copy inherits the normal text colour, and
   in-page headings step down to a sensible scale.
   --------------------------------------------------------------- */
.rich-text li,
.rich-text ul,
.rich-text ol {
    color: #434f59;
    font-size: 17px;
    line-height: 1.7;
}
.rich-text li::marker { color: #2bb1e9; }

.rich-text h2 {
    color: #1a1d21;
    font-size: 32px;
    line-height: 1.25;
    margin-top: 44px;
    margin-bottom: 14px;
}
.rich-text h3 {
    color: #1a1d21;
    font-size: 23px;
    line-height: 1.3;
    margin-top: 30px;
    margin-bottom: 10px;
}
.rich-text p {
    font-size: 17px;
    line-height: 1.75;
    margin-bottom: 18px;
}
.rich-text a { color: #2bb1e9; text-decoration: underline; }
.rich-text a:hover { text-decoration: none; }

@media screen and (max-width: 767px) {
    .rich-text h2 { font-size: 26px; }
    .rich-text h3 { font-size: 20px; }
}


/* ---------------------------------------------------------------
   Rich-text lists flow into columns on wider screens.
   Service inclusions and suburb lists ran to a full screen of
   single-column bullets otherwise, which nobody reads.
   --------------------------------------------------------------- */
.rich-text ul,
.rich-text ol {
    padding-left: 20px;
    margin: 0 0 24px;
}
.rich-text li {
    margin-bottom: 6px;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
}
@media screen and (min-width: 768px) {
    .rich-text ul {
        column-count: 2;
        column-gap: 44px;
    }
}
@media screen and (min-width: 1100px) {
    .rich-text ul {
        column-count: 3;
    }
}
/* Ordered lists stay single column - the sequence matters. */
.rich-text ol {
    column-count: 1 !important;
}

/* ===============================================================
   FibrePro static build: additions on top of the original theme CSS.
   Brand: blue #2bb1e9, lime #bbef41 / #c5d82c, ink #131b33, text #434f59
   =============================================================== */
:root {
  --fp-blue: #2bb1e9;
  --fp-blue-deep: #0b7fb3;
  --fp-lime: #bbef41;
  --fp-lime-deep: #8fbf1a;
  --fp-ink: #131b33;
  --fp-text: #434f59;
  --fp-muted: #6b7782;
  --fp-line: #e3e9ee;
  --fp-bg-soft: #f4f8fb;
  --fp-radius: 20px;
  --fp-shadow: 0 1px 2px rgba(19, 27, 51, .05), 0 8px 28px rgba(19, 27, 51, .07);
  --fp-shadow-lg: 0 2px 4px rgba(19, 27, 51, .06), 0 22px 48px rgba(19, 27, 51, .13);
}

/* ---------- Sticky call / book bar (moved out of inline header) ---------- */
.fibrepro-sticky-bar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:15px;z-index:9999;width:90%;max-width:500px;box-sizing:border-box;transition:transform .25s ease,opacity .25s ease}
.sticky-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:50px;text-decoration:none;font-weight:700;font-size:16px;color:#fff!important;box-shadow:0 8px 24px rgba(0,0,0,.2);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}
.sticky-btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.3)}
.btn-call{background:linear-gradient(135deg,#0093E9 0%,#24C6DC 100%)}
.btn-book{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}
.btn-icon svg{width:22px;height:22px;display:block}
.anim-phone{animation:fp-ring 2.5s infinite ease-in-out}
.anim-calendar{animation:fp-pulse 2.5s infinite ease-in-out}
@keyframes fp-ring{0%,80%,100%{transform:rotate(0) scale(1)}85%{transform:rotate(-15deg) scale(1.1)}90%{transform:rotate(15deg) scale(1.1)}95%{transform:rotate(-10deg) scale(1.1)}}
@keyframes fp-pulse{0%,80%,100%{transform:scale(1)}85%{transform:scale(1.2)}90%{transform:scale(1.05)}95%{transform:scale(1.2)}}
@media (max-width:767px){.fibrepro-sticky-bar{transform:translate(-50%,120%);opacity:0}.fibrepro-sticky-bar.is-visible{transform:translate(-50%,0);opacity:1}}
@media (max-width:480px){.fibrepro-sticky-bar{bottom:0;left:0;width:100%;max-width:100%;gap:0;transform:translateY(120%)}.fibrepro-sticky-bar.is-visible{transform:none}.sticky-btn{border-radius:0;padding:16px 10px;font-size:15px;box-shadow:none}.sticky-btn:hover{transform:none}}
@media (prefers-reduced-motion:reduce){.anim-phone,.anim-calendar,.fp-pulse-dot::after{animation:none}}

/* ---------- Shared bits ---------- */
.fp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fp-blue-deep);background:#e6f6fd;border:1px solid #cdeefb;padding:7px 14px;border-radius:999px}
.fp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:999px;font-weight:700;font-size:16px;line-height:1;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease;white-space:nowrap}
.fp-btn svg{width:18px;height:18px;flex:0 0 auto}
.fp-btn--blue{background:var(--fp-blue);color:#fff}
.fp-btn--blue:hover{background:var(--fp-blue-deep);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(43,177,233,.35)}
.fp-btn--lime{background:var(--fp-lime);color:var(--fp-ink)}
.fp-btn--lime:hover{background:#a9e021;color:var(--fp-ink);transform:translateY(-2px);box-shadow:0 10px 24px rgba(143,191,26,.35)}
.fp-btn--ghost{background:#fff;color:var(--fp-ink);border:1px solid var(--fp-line)}
.fp-btn--ghost:hover{border-color:var(--fp-blue);color:var(--fp-blue-deep)}
.fp-btn--ghost-light{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.35)}
.fp-btn--ghost-light:hover{background:rgba(255,255,255,.16);color:#fff}
.fp-pulse-dot{position:relative;width:10px;height:10px;border-radius:50%;background:#ff4d4f;flex:0 0 auto}
.fp-pulse-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#ff4d4f;animation:fp-ping 1.6s cubic-bezier(0,0,.2,1) infinite}
@keyframes fp-ping{75%,100%{transform:scale(2.6);opacity:0}}

/* ===============================================================
   SERVICES PAGE (redesigned)
   =============================================================== */
.svc-hero{padding:72px 0 40px;background:radial-gradient(1200px 380px at 50% -40px,#e3f5fd 0%,rgba(227,245,253,0) 70%)}
.svc-hero-inner{max-width:860px;margin:0 auto;text-align:center}
.svc-hero h1{font-family:var(--_typography---font-family--title);font-size:clamp(34px,5vw,56px);line-height:1.08;letter-spacing:-.02em;color:var(--fp-ink);margin:18px 0 16px}
.svc-hero h1 span{color:var(--fp-blue)}
.svc-hero p{font-size:18px;line-height:1.65;color:var(--fp-text);max-width:680px;margin:0 auto}
.svc-hero-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}
.svc-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin:34px auto 0;padding:0;list-style:none}
.svc-trust li{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--fp-ink)}
.svc-trust svg{width:20px;height:20px;color:var(--fp-blue);flex:0 0 auto}
.svc-trust .stars{color:#f5b301;letter-spacing:1px}

/* Emergency flood feature */
.svc-emergency{padding:24px 0 8px}
.svc-emergency-card{position:relative;display:grid;grid-template-columns:1.05fr 1fr;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,#0d1b3a 0%,#0c3a5c 55%,#0b6b8f 100%);color:#fff;box-shadow:var(--fp-shadow-lg);isolation:isolate}
.svc-emergency-card::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 0% 100%,rgba(187,239,65,.18),transparent 60%);z-index:-1}
.svc-emergency-media{position:relative;min-height:420px}
.svc-emergency-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc-emergency-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,27,58,0) 55%,rgba(13,40,70,.95) 100%)}
.svc-emergency-badge{position:absolute;top:22px;left:22px;z-index:2;display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--fp-ink);font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:9px 16px;border-radius:999px;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.svc-emergency-body{padding:48px 48px 44px}
.svc-emergency-kicker{color:var(--fp-lime);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.svc-emergency-body h2{font-family:var(--_typography---font-family--title);color:#fff;font-size:clamp(28px,3.4vw,40px);line-height:1.12;margin:12px 0 14px;letter-spacing:-.01em}
.svc-emergency-body>p{color:rgba(255,255,255,.82);font-size:17px;line-height:1.65;margin:0 0 22px}
.svc-emergency-list{list-style:none;padding:0;margin:0 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.svc-emergency-list li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;line-height:1.45;color:#fff}
.svc-emergency-list svg{width:20px;height:20px;flex:0 0 auto;color:var(--fp-lime);margin-top:1px}
.svc-emergency-cta{display:flex;flex-wrap:wrap;gap:12px}

/* Filter + grid */
.svc-catalogue{padding:72px 0 40px}
.svc-catalogue-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.svc-catalogue-head h2{font-family:var(--_typography---font-family--title);color:var(--fp-ink);font-size:clamp(28px,3.2vw,40px);line-height:1.15;margin:10px 0 0;letter-spacing:-.01em}
.svc-filters{display:flex;flex-wrap:wrap;gap:8px}
.svc-filter{appearance:none;border:1px solid var(--fp-line);background:#fff;color:var(--fp-ink);font:600 14.5px/1 var(--_typography---font-family--content);padding:11px 16px;border-radius:999px;cursor:pointer;transition:all .18s ease;display:inline-flex;align-items:center;gap:8px}
.svc-filter .count{font-size:12px;font-weight:700;color:var(--fp-muted);background:var(--fp-bg-soft);border-radius:999px;padding:3px 7px}
.svc-filter:hover{border-color:var(--fp-blue);color:var(--fp-blue-deep)}
.svc-filter[aria-pressed="true"]{background:var(--fp-ink);border-color:var(--fp-ink);color:#fff}
.svc-filter[aria-pressed="true"] .count{background:rgba(255,255,255,.16);color:#fff}

.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.svc-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--fp-line);border-radius:var(--fp-radius);overflow:hidden;box-shadow:var(--fp-shadow);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.svc-card:hover{transform:translateY(-4px);box-shadow:var(--fp-shadow-lg);border-color:#cfe9f6}
.svc-card[hidden]{display:none}
.svc-card-media{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--fp-bg-soft)}
.svc-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.svc-card:hover .svc-card-media img{transform:scale(1.045)}
.svc-card-tag{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);color:var(--fp-ink);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 11px;border-radius:999px}
.svc-card-tag.is-urgent{background:#ff4d4f;color:#fff}
.svc-card-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.svc-card-title{font-family:var(--_typography---font-family--title);font-size:22px;line-height:1.25;font-weight:600;color:var(--fp-ink);margin:0 0 10px;letter-spacing:-.005em}
.svc-card-title a{color:inherit;text-decoration:none}
.svc-card-title a::after{content:"";position:absolute;inset:0;z-index:1}
.svc-card:hover .svc-card-title a{color:var(--fp-blue-deep)}
.svc-card-text{font-size:15.5px;line-height:1.6;color:var(--fp-text);margin:0 0 20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.svc-card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--fp-line)}
.svc-card-more{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--fp-blue-deep)}
.svc-card-more svg{width:18px;height:18px;transition:transform .2s ease}
.svc-card:hover .svc-card-more svg{transform:translateX(4px)}
.svc-card-quote{position:relative;z-index:2;font-size:14px;font-weight:700;color:var(--fp-ink);background:var(--fp-lime);padding:9px 14px;border-radius:999px;text-decoration:none;transition:background-color .2s ease}
.svc-card-quote:hover{background:#a9e021;color:var(--fp-ink)}
.svc-empty{display:none;text-align:center;color:var(--fp-muted);padding:30px 0}

/* Process */
.svc-process{padding:56px 0 24px}
.svc-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step}
.svc-step{background:var(--fp-bg-soft);border-radius:var(--fp-radius);padding:26px 24px;position:relative}
.svc-step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--_typography---font-family--title);font-weight:700;font-size:15px;color:var(--fp-blue-deep);background:#fff;border:1px solid #cdeefb;border-radius:999px;padding:5px 11px;display:inline-block;margin-bottom:14px}
.svc-step h3{font-family:var(--_typography---font-family--title);font-size:19px;line-height:1.3;color:var(--fp-ink);margin:0 0 8px}
.svc-step p{font-size:15px;line-height:1.6;margin:0;color:var(--fp-text)}

@media (max-width:991px){
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc-emergency-card{grid-template-columns:1fr}
  .svc-emergency-media{min-height:260px}
  .svc-emergency-media::after{background:linear-gradient(180deg,rgba(13,27,58,0) 50%,rgba(13,30,60,.9) 100%)}
  .svc-process-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .svc-hero{padding:48px 0 24px}
  .svc-grid{grid-template-columns:1fr;gap:18px}
  .svc-emergency-body{padding:30px 22px 28px}
  .svc-emergency-list{grid-template-columns:1fr}
  .svc-emergency-cta .fp-btn{flex:1 1 100%}
  .svc-catalogue{padding:52px 0 24px}
  .svc-filters{flex-wrap:nowrap;overflow-x:auto;margin:0 -20px;padding:2px 20px 6px;scrollbar-width:none}
  .svc-filters::-webkit-scrollbar{display:none}
  .svc-filter{flex:0 0 auto}
  .svc-process-grid{grid-template-columns:1fr}
  .svc-trust{gap:10px 18px}
}

/* Related services on single service pages */
.svc-related .svc-grid{margin-top:32px}

/* ===============================================================
   BLOG POSTS: additions used by the new flood articles
   =============================================================== */
.post-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:15px;color:var(--fp-muted);margin-top:16px}
.post-wrap{max-width:820px;margin:0 auto}
.rich-text p.lead{font-size:20px;line-height:1.7;color:var(--fp-ink)}
.post-callout{margin:36px 0 8px;padding:22px 24px;border-radius:16px;background:linear-gradient(135deg,#eaf8fe,#f3fbe4);border:1px solid #d4eef9;font-size:17px;line-height:1.65;color:var(--fp-ink)}
.post-callout a{color:var(--fp-blue-deep);font-weight:700}
.rich-text .cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 28px}
.cat-card{border-radius:16px;padding:20px 20px 8px;border:1px solid var(--fp-line);background:#fff}
.cat-card h3{margin:10px 0 8px!important;font-size:20px!important}
.cat-card p{font-size:15.5px!important;line-height:1.6!important;margin-bottom:12px!important}
.cat-tag{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.cat-1 .cat-tag{background:#e3f5fd;color:#0b7fb3}
.cat-2 .cat-tag{background:#fff3d6;color:#9a6a00}
.cat-3 .cat-tag{background:#ffe1e1;color:#b42318}
@media (max-width:767px){.rich-text .cat-grid{grid-template-columns:1fr}}
.rich-text ol li{margin-bottom:10px}
.post-related{padding-top:0}

/* Blog cards: date + read time row, consistent image ratio */
.blog-card-image{display:block;aspect-ratio:40/21;overflow:hidden;background:var(--fp-bg-soft)}
.blog-card-image img{width:100%;height:100%;object-fit:cover}
.blog-card .secondary-button{align-self:flex-start;margin-top:8px}
.blog-card-content{display:flex;flex-direction:column;flex:1}
.blog-card-title{font-size:21px!important}

/* Thank you / misc */
.fp-center-block{text-align:center;max-width:680px;margin:0 auto;padding:40px 0}
.content-pending{border:2px dashed #f0b429;background:#fffaeb;color:#7a5b00;padding:18px 20px;border-radius:12px;font-size:15px}

/* ---------- Mobile navigation (fixes menu not opening / overflowing) ---------- */
.navbar{position:relative;z-index:1000}
@media (max-width:991px){
  .w-nav[data-collapse="medium"] .w-nav-button{display:block;cursor:pointer;padding:12px;border-radius:10px}
  .w-nav[data-collapse="medium"] .w-nav-menu{display:none;position:absolute;top:100%;left:0;right:0;max-width:none!important;width:100%;
    flex-direction:column;align-items:stretch;background:#fff;padding:8px 20px 18px;box-shadow:0 18px 30px rgba(19,27,51,.12);border-top:1px solid var(--fp-line)}
  .w-nav[data-collapse="medium"] .w-nav-menu.is-open{display:flex}
  .w-nav[data-collapse="medium"] .w-nav-menu .nav-link{display:block;padding:14px 4px;margin:0;border-bottom:1px solid var(--fp-line);font-size:17px}
  .w-nav[data-collapse="medium"] .w-nav-menu .nav-link:last-child{border-bottom:0}
  .menu-button.w--open{background:var(--fp-bg-soft)}
}

/* ---------- Post + FAQ polish ---------- */
.post-wrap .rich-text ul{column-count:1!important}
article.section-regular{padding-bottom:40px}
.faq-wrap{display:flex;flex-direction:column;gap:12px}
.faq-wrap .faq-item{padding:0;border:1px solid var(--fp-line);border-radius:16px;background:#fff;overflow:hidden}
.faq-wrap .faq-question{padding:20px 24px}
.faq-wrap .faq-question-text{color:var(--fp-ink);font-size:18px;font-weight:600}
.faq-wrap .faq-item[open]{border-color:#cdeefb;box-shadow:var(--fp-shadow)}
.faq-wrap .faq-item[open] .faq-question-text{color:var(--fp-blue-deep)}
.faq-wrap .faq-answer{padding:0 24px 22px}
.faq-wrap .faq-question::after{color:var(--fp-blue)}

/* ---------- WordPress block basics (content written in the block editor) ---------- */
.has-text-align-center{text-align:center}
.has-text-align-right{text-align:right}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;margin:8px 0 4px}
.wp-block-button__link{display:inline-block;text-decoration:none!important;line-height:1.2;text-align:center}
.wp-block-group{box-sizing:border-box}
.wp-block-columns{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px}
.wp-block-column{flex:1 1 260px;min-width:0}
.wp-block-image img,.wp-block-image figure{max-width:100%;height:auto}
.wp-block-image figcaption{font-size:14px;color:var(--fp-muted);text-align:center;margin-top:8px}
.wp-block-separator{border:0;border-top:1px solid var(--fp-line);margin:32px 0}
.rich-text .wp-block-group p{margin-bottom:10px}

/* ---------- Home: Why choose FibrePro + IICRC band ---------- */
.why-fp{padding:0 0 40px}
.why-fp-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:64px;align-items:start}
.why-fp-intro .subtitle{justify-content:flex-start}
.why-fp-intro h2{font-family:var(--_typography---font-family--title);color:var(--fp-blue);font-size:clamp(34px,4vw,46px);line-height:1.1;font-weight:500;margin:0 0 14px}
.why-fp-intro p{font-size:17px;line-height:1.7;color:var(--fp-text);margin:0 0 28px}
.why-fp-intro .fp-btn svg{width:16px;height:16px}
.why-fp-cards{display:grid;grid-template-columns:1fr 1fr;gap:44px 48px}
.why-fp-card img{width:auto;height:50px;display:block;margin-bottom:22px}
.why-fp-card h3{font-family:var(--_typography---font-family--title);color:var(--fp-blue);font-size:26px;line-height:1.2;font-weight:500;margin:0 0 12px}
.why-fp-card p{font-size:16.5px;line-height:1.65;color:var(--fp-text);margin:0}
.iicrc-band{padding:40px 0 100px}
.iicrc-card{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,#5aaee6 0%,#2bb1e9 60%,#1d9fd6 100%);padding:56px 24px 60px;text-align:center;color:#fff;box-shadow:var(--fp-shadow-lg)}
.iicrc-card::before{content:"";position:absolute;inset:auto -10% -60% -10%;height:120%;background:radial-gradient(closest-side,rgba(255,255,255,.18),transparent);pointer-events:none}
.iicrc-card img{width:180px;height:180px;object-fit:contain;display:block;margin:0 auto 18px;filter:drop-shadow(0 10px 22px rgba(0,0,0,.18));position:relative}
.iicrc-card h2{font-family:var(--_typography---font-family--title);color:#fff;font-size:clamp(22px,2.6vw,28px);line-height:1.25;font-weight:600;letter-spacing:.01em;text-transform:uppercase;max-width:520px;margin:0 auto;position:relative}
.iicrc-card p{color:rgba(255,255,255,.88);font-size:16px;line-height:1.6;max-width:560px;margin:14px auto 0;position:relative}
@media (max-width:991px){.why-fp-grid{grid-template-columns:1fr;gap:44px}}
@media (max-width:600px){.why-fp{padding:0 0 24px}.why-fp-cards{grid-template-columns:1fr;gap:32px}.iicrc-band{padding:24px 0 64px}.iicrc-card{padding:40px 20px 44px}.iicrc-card img{width:140px;height:140px}}

/* ---------- Home hero buttons ---------- */
.hero-cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}
.hero-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 30px;border-radius:999px;font-size:18px;font-weight:500;line-height:1;text-decoration:none;color:#fff!important;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.hero-btn svg{width:18px;height:18px;transition:transform .2s ease}
.hero-btn:hover{transform:translateY(-2px)}
.hero-btn:hover svg{transform:translate(2px,-2px)}
.hero-btn--lime{background:#c5ec5d}
.hero-btn--lime:hover{background:#b3e03a;box-shadow:0 10px 24px rgba(143,191,26,.35)}
.hero-btn--blue{background:#5aaee6}
.hero-btn--blue:hover{background:#2f9bdc;box-shadow:0 10px 24px rgba(43,177,233,.35)}
@media (max-width:480px){.hero-cta{gap:12px}.hero-btn{flex:1 1 100%;justify-content:center}}

/* ---------- Breadcrumbs + internal link chips ---------- */
.fp-crumbs{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:14px;color:var(--fp-muted);margin-bottom:14px}
.fp-crumbs a{color:var(--fp-muted);text-decoration:none}
.fp-crumbs a:hover{color:var(--fp-blue-deep);text-decoration:underline}
.fp-crumbs .sep{opacity:.5}
.fp-crumbs [aria-current]{color:var(--fp-ink);font-weight:600}
.fp-links{padding:8px 0 64px}
.fp-links h2{font-family:var(--_typography---font-family--title);color:var(--fp-ink);font-size:22px;line-height:1.3;font-weight:600;margin:28px 0 14px}
.fp-chips{display:flex;flex-wrap:wrap;gap:8px}
.fp-chips a{display:inline-block;padding:9px 14px;border:1px solid var(--fp-line);border-radius:999px;background:#fff;color:var(--fp-ink);font-size:14.5px;font-weight:600;text-decoration:none;transition:all .18s ease}
.fp-chips a:hover{border-color:var(--fp-blue);color:var(--fp-blue-deep)}
.fp-chips a.more{background:var(--fp-bg-soft);color:var(--fp-blue-deep)}

/* ===============================================================
   LANDING PAGE /carpet-cleaning-christchurch/  (lp-*)
   =============================================================== */
.lp-ic{width:26px;height:26px;flex:0 0 auto}
.lp-ic-sm{width:18px;height:18px;flex:0 0 auto}
.lp-stars{color:#f5b301;letter-spacing:2px}
.lp-promo{background:var(--fp-ink);color:#e9f6d0;font-size:14.5px;text-align:center;padding:10px 0}
.lp-promo .w-container{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px}
.lp-promo strong{color:var(--fp-lime)}
.lp-promo-sep{opacity:.4}
.lp-hero{position:relative;overflow:hidden;color:#fff;padding:64px 0 72px;background:#0d1b3a}
.lp-hero-bg{position:absolute;inset:0;background:linear-gradient(100deg,rgba(13,27,58,.97) 0%,rgba(13,27,58,.9) 42%,rgba(11,90,130,.55) 100%),url(/wp-content/uploads/2026/08/carpet-cleaning-services.webp) center/cover no-repeat}
.lp-hero .w-container{position:relative}
.lp-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.lp-rating{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:9px 16px;border-radius:999px;font-size:14px;color:rgba(255,255,255,.88)}
.lp-hero h1{font-family:var(--_typography---font-family--title);color:#fff;font-size:clamp(40px,5.6vw,68px);line-height:1.02;letter-spacing:-.025em;font-weight:600;margin:22px 0 18px}
.lp-hero h1 span{color:var(--fp-lime)}
.lp-lead{font-size:18.5px;line-height:1.65;color:rgba(255,255,255,.85);max-width:600px;margin:0 0 24px}
.lp-price{display:inline-flex;align-items:baseline;gap:8px;margin-bottom:26px}
.lp-price-from{font-size:15px;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.lp-price-num{font-family:var(--_typography---font-family--title);font-size:52px;font-weight:700;color:var(--fp-lime);line-height:1}
.lp-price-gst{font-size:16px;color:rgba(255,255,255,.75)}
.lp-cta{display:flex;flex-wrap:wrap;gap:12px}
.lp-cta--center{justify-content:center}
.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;border-radius:999px;font-weight:700;font-size:16.5px;line-height:1;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.lp-btn:hover{transform:translateY(-2px)}
.lp-btn--lime{background:var(--fp-lime);color:var(--fp-ink)!important}
.lp-btn--lime:hover{background:#a9e021;box-shadow:0 12px 28px rgba(187,239,65,.35)}
.lp-btn--ghost{background:rgba(255,255,255,.08);color:#fff!important;border:1.5px solid rgba(255,255,255,.4)}
.lp-btn--ghost:hover{background:rgba(255,255,255,.16)}
.lp-hero-ticks{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:15px;color:rgba(255,255,255,.9)}
.lp-hero-ticks li{display:flex;align-items:center;gap:8px}
.lp-hero-ticks svg{color:var(--fp-lime)}
.lp-hero-form .quote-form-wrap{box-shadow:0 30px 60px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.15)}
.lp-hero-form .section-title{font-size:34px}
.lp-trust{background:#fff;border-bottom:1px solid var(--fp-line);box-shadow:0 6px 18px rgba(19,27,51,.05);position:relative;z-index:2}
.lp-trust ul{list-style:none;margin:0;padding:18px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px 22px}
.lp-trust li{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:var(--fp-ink)}
.lp-trust svg{color:var(--fp-blue);width:22px;height:22px}
.lp-sec{padding:88px 0}
.lp-sec--soft{background:var(--fp-bg-soft)}
.lp-head{text-align:center;max-width:760px;margin:0 auto 44px}
.lp-head h2{font-family:var(--_typography---font-family--title);color:var(--fp-ink);font-size:clamp(28px,3.4vw,42px);line-height:1.15;letter-spacing:-.015em;font-weight:600;margin:12px 0 10px}
.lp-head p{font-size:17px;color:var(--fp-text);margin:0}
.lp-kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--fp-blue-deep)}
.lp-kicker--lime{color:var(--fp-lime)}
.lp-why{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.lp-why-card{background:#fff;border:1px solid var(--fp-line);border-radius:20px;padding:28px 24px;box-shadow:var(--fp-shadow);transition:transform .25s ease,box-shadow .25s ease}
.lp-why-card:hover{transform:translateY(-4px);box-shadow:var(--fp-shadow-lg)}
.lp-why-ic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#e6f6fd,#f1fbdc);color:var(--fp-blue-deep);margin-bottom:18px}
.lp-why-card h3{font-family:var(--_typography---font-family--title);font-size:20px;line-height:1.3;color:var(--fp-ink);margin:0 0 8px;font-weight:600}
.lp-why-card p{font-size:15.5px;line-height:1.6;color:var(--fp-text);margin:0}
.lp-iicrc{display:flex;align-items:center;gap:18px;max-width:640px;margin:36px auto 0;padding:16px 22px;border-radius:18px;background:var(--fp-bg-soft)}
.lp-iicrc img{width:72px;height:72px}
.lp-iicrc p{margin:0;font-size:15.5px;color:var(--fp-text)}
.lp-svcs{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.lp-svc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--fp-line);border-radius:16px;overflow:hidden;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.lp-svc:hover{transform:translateY(-3px);box-shadow:var(--fp-shadow-lg);border-color:#cfe9f6}
.lp-svc-img{aspect-ratio:4/3;overflow:hidden;display:block}
.lp-svc-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.lp-svc:hover .lp-svc-img img{transform:scale(1.06)}
.lp-svc-name{padding:14px 14px 4px;font-weight:700;font-size:15.5px;line-height:1.3;color:var(--fp-ink)}
.lp-svc-more{padding:0 14px 14px;margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--fp-blue-deep)}
.lp-svc-more .lp-ic-sm{width:15px;height:15px}
.lp-bas{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lp-ba{margin:0}
.lp-ba-stage{position:relative;aspect-ratio:36/38;border-radius:20px;overflow:hidden;box-shadow:var(--fp-shadow-lg);background:#ddd;user-select:none}
.lp-ba-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.lp-ba-before{position:absolute;inset:0;clip-path:inset(0 50% 0 0)}
.lp-ba-handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 8px rgba(0,0,0,.3)}
.lp-ba-handle span{position:absolute;top:50%;left:50%;width:44px;height:44px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 6px 16px rgba(0,0,0,.25)}
.lp-ba-handle span::before,.lp-ba-handle span::after{content:"";position:absolute;top:50%;width:0;height:0;border:6px solid transparent;transform:translateY(-50%)}
.lp-ba-handle span::before{left:8px;border-right-color:var(--fp-ink)}
.lp-ba-handle span::after{right:8px;border-left-color:var(--fp-ink)}
.lp-ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;-webkit-appearance:none;appearance:none}
.lp-ba figcaption{text-align:center;font-weight:700;color:var(--fp-ink);margin-top:14px}
.lp-flood{padding:0 0 88px}
.lp-flood-card{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;border-radius:26px;padding:40px 44px;background:linear-gradient(135deg,#0d1b3a 0%,#0c3a5c 60%,#0b6b8f 100%);color:#fff;box-shadow:var(--fp-shadow-lg)}
.lp-flood-ic{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;background:rgba(187,239,65,.15);color:var(--fp-lime)}
.lp-flood-ic svg{width:36px;height:36px}
.lp-flood-copy h2{font-family:var(--_typography---font-family--title);color:#fff;font-size:clamp(24px,2.8vw,32px);line-height:1.2;margin:8px 0;font-weight:600}
.lp-flood-copy p{color:rgba(255,255,255,.82);margin:0;font-size:16.5px;line-height:1.6}
.lp-flood-cta{display:flex;flex-direction:column;gap:10px}
.lp-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:none}
.lp-steps li{position:relative;background:#fff;border:1px solid var(--fp-line);border-radius:20px;padding:30px 26px;box-shadow:var(--fp-shadow)}
.lp-step-n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--fp-lime);color:var(--fp-ink);font-weight:800;font-size:18px;margin-bottom:16px}
.lp-steps h3{font-family:var(--_typography---font-family--title);font-size:20px;color:var(--fp-ink);margin:0 0 8px;font-weight:600}
.lp-steps p{margin:0;font-size:15.5px;line-height:1.6;color:var(--fp-text)}
.lp-revs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lp-rev{margin:0;background:#fff;border-radius:20px;padding:28px;border:1px solid var(--fp-line);box-shadow:var(--fp-shadow);display:flex;flex-direction:column}
.lp-rev blockquote{margin:12px 0 18px;padding:0;border:0;font-size:17px;line-height:1.65;color:var(--fp-ink)}
.lp-rev figcaption{margin-top:auto;font-size:14.5px;color:var(--fp-muted)}
.lp-rev figcaption strong{color:var(--fp-ink)}
.lp-areas h3{display:flex;align-items:center;gap:8px;font-family:var(--_typography---font-family--title);font-size:19px;color:var(--fp-ink);margin:0 0 14px}
.lp-areas h3 svg{color:var(--fp-blue)}
.lp-more{margin-top:20px}
.lp-more summary{cursor:pointer;font-weight:700;color:var(--fp-blue-deep);margin-bottom:14px}
.lp-final{padding:0 0 96px}
.lp-final-card{text-align:center;border-radius:26px;padding:56px 24px;background:radial-gradient(800px 260px at 50% 0%,rgba(187,239,65,.18),transparent 70%),#0d1b3a;color:#fff}
.lp-final-card h2{font-family:var(--_typography---font-family--title);color:#fff;font-size:clamp(28px,3.4vw,40px);margin:0 0 10px;font-weight:600}
.lp-final-card p{color:rgba(255,255,255,.8);margin:0 0 26px;font-size:17px}
@media (max-width:1100px){.lp-svcs{grid-template-columns:repeat(3,1fr)}}
@media (max-width:991px){
  .lp-hero-grid{grid-template-columns:1fr;gap:36px}
  .lp-why{grid-template-columns:repeat(2,1fr)}
  .lp-bas,.lp-revs,.lp-steps{grid-template-columns:1fr 1fr}
  .lp-flood-card{grid-template-columns:1fr;text-align:left}
  .lp-flood-cta{flex-direction:row;flex-wrap:wrap}
  .lp-trust ul{justify-content:center}
}
@media (max-width:640px){
  .lp-hero{padding:40px 0 48px}
  .lp-sec{padding:60px 0}
  .lp-why,.lp-bas,.lp-revs,.lp-steps{grid-template-columns:1fr}
  .lp-svcs{grid-template-columns:1fr 1fr;gap:12px}
  .lp-btn{flex:1 1 100%}
  .lp-flood-card{padding:30px 22px}
  .lp-trust ul{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .lp-trust li{font-size:14px}
  .lp-rating{border-radius:16px}
  .lp-hero-form .section-title{font-size:28px}
}
.lp-hero-ticks li{color:rgba(255,255,255,.92)!important;font-size:15px}
.lp-rev blockquote{background:none!important;border:0!important;padding:0!important;font-style:normal}
.lp-rev figcaption{text-align:left}
@media (min-width:1100px){.lp-trust ul{flex-wrap:nowrap;gap:14px}.lp-trust li{font-size:14px;white-space:nowrap}}
.lp-rating{flex-wrap:nowrap}
@media (max-width:640px){.lp-rating{flex-wrap:wrap}}

/* ===============================================================
   HEADER v2 (fh-*)  top bar + sticky header + mega menu + drawer
   =============================================================== */
.fh-wrap{max-width:1320px;margin:0 auto;padding:0 24px}
.fh-top{background:var(--fp-ink);color:rgba(255,255,255,.82);font-size:13.5px}
.fh-top .fh-wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px}
.fh-top-l{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:#fff}
.fh-top-r{display:inline-flex;align-items:center;gap:14px}
.fh-top-r a{color:rgba(255,255,255,.82);text-decoration:none;display:inline-flex;align-items:center;gap:7px}
.fh-top-r a:hover{color:var(--fp-lime)}
.fh-top svg{width:15px;height:15px}
.fh-top-iicrc{display:inline-flex;align-items:center;gap:6px}
.fh-top-iicrc svg{color:var(--fp-lime)}
.fh-top-sep{width:1px;height:14px;background:rgba(255,255,255,.2)}
.fh-stars{color:#f5b301;letter-spacing:1px;margin-right:4px}
.fh{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:box-shadow .25s ease,border-color .25s ease}
.fh.is-scrolled{box-shadow:0 8px 28px rgba(19,27,51,.09);border-bottom-color:var(--fp-line)}
.fh-bar{display:flex;align-items:center;gap:20px;height:88px;transition:height .25s ease}
.fh.is-scrolled .fh-bar{height:72px}
.fh-logo{flex:0 0 auto;display:block;line-height:0}
.fh-logo img{height:58px;width:auto;transition:height .25s ease}
.fh.is-scrolled .fh-logo img{height:48px}
.fh-nav{display:flex;align-items:center;gap:2px;margin:0 auto}
.fh-item{position:relative}
.fh-link{display:inline-flex;align-items:center;gap:5px;padding:10px 15px;border-radius:999px;font-family:var(--_typography---font-family--content);font-size:16px;font-weight:600;color:var(--fp-ink)!important;text-decoration:none;transition:background-color .18s ease,color .18s ease;white-space:nowrap}
.fh-link svg{width:15px;height:15px;transition:transform .2s ease}
.fh-link:hover{background:var(--fp-bg-soft);color:var(--fp-blue-deep)!important}
.fh-link.is-active{color:var(--fp-blue-deep)!important;background:#e8f6fd}
.fh-has-mega:hover .fh-link svg,.fh-has-mega.is-open .fh-link svg{transform:rotate(180deg)}
.fh-mega{position:absolute;top:100%;left:50%;transform:translate(-50%,10px);padding-top:14px;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:20}
.fh-has-mega:hover .fh-mega,.fh-has-mega:focus-within .fh-mega,.fh-has-mega.is-open .fh-mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.fh-mega-inner{display:grid;grid-template-columns:repeat(3,210px) 240px;gap:10px 22px;background:#fff;border:1px solid var(--fp-line);border-radius:22px;padding:24px;box-shadow:0 30px 60px rgba(19,27,51,.16)}
.fh-mega-h{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fp-muted);margin:0 0 8px 10px}
.fh-mega-col a{display:block;padding:9px 10px;border-radius:12px;text-decoration:none;transition:background-color .15s ease}
.fh-mega-col a:hover,.fh-mega-col a[aria-current]{background:var(--fp-bg-soft)}
.fh-mega-col strong{display:block;font-size:15px;color:var(--fp-ink);font-weight:700;line-height:1.3}
.fh-mega-col span{display:block;font-size:13px;color:var(--fp-muted);line-height:1.4;margin-top:2px}
.fh-mega-col a:hover strong{color:var(--fp-blue-deep)}
.fh-mega-promo{border-radius:16px;padding:20px;background:linear-gradient(150deg,#0d1b3a 0%,#0c3a5c 65%,#0b6b8f 100%);color:#fff;display:flex;flex-direction:column}
.fh-promo-tag{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--fp-lime)}
.fh-promo-t{font-family:var(--_typography---font-family--title);font-size:20px;line-height:1.25;font-weight:600;margin:12px 0 6px;color:#fff}
.fh-promo-d{font-size:14px;line-height:1.5;color:rgba(255,255,255,.8);margin:0 0 16px}
.fh-promo-call{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--fp-lime);color:var(--fp-ink)!important;border-radius:999px;padding:11px 14px;font-weight:800;font-size:15px;text-decoration:none}
.fh-promo-call svg{width:16px;height:16px}
.fh-promo-all{margin-top:auto;padding-top:16px;display:inline-flex;align-items:center;gap:6px;color:#fff!important;font-weight:700;font-size:14px;text-decoration:none}
.fh-promo-all svg{width:15px;height:15px}
.fh-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.fh-call{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--fp-ink)!important;padding:6px 14px 6px 6px;border-radius:999px;border:1px solid var(--fp-line);transition:border-color .2s ease,box-shadow .2s ease}
.fh-call:hover{border-color:var(--fp-blue);box-shadow:0 6px 16px rgba(43,177,233,.18)}
.fh-call-ic{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0093E9,#24C6DC);color:#fff}
.fh-call-ic svg{width:18px;height:18px}
.fh-call-txt{display:flex;flex-direction:column;line-height:1.15}
.fh-call-txt small{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fp-muted)}
.fh-call-txt strong{font-size:16px;font-weight:800}
.fh-quote{display:inline-flex;align-items:center;gap:8px;background:var(--fp-lime);color:var(--fp-ink)!important;font-weight:800;font-size:15.5px;padding:14px 22px;border-radius:999px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;white-space:nowrap}
.fh-quote svg{width:17px;height:17px;transition:transform .2s ease}
.fh-quote:hover{background:#a9e021;transform:translateY(-1px);box-shadow:0 10px 24px rgba(143,191,26,.35)}
.fh-quote:hover svg{transform:translateX(3px)}
.fh-burger{display:none;width:46px;height:46px;border-radius:14px;border:1px solid var(--fp-line);background:#fff;padding:0;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.fh-burger span{display:block;width:20px;height:2px;border-radius:2px;background:var(--fp-ink)}
.fh-drawer{position:fixed;inset:0;z-index:2000;background:rgba(13,27,58,.45);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s}
.fh-drawer.is-open{opacity:1;visibility:visible}
.fh-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(400px,88vw);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);overflow-y:auto}
.fh-drawer.is-open .fh-drawer-panel{transform:none}
.fh-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--fp-line)}
.fh-drawer-head img{height:44px;width:auto}
.fh-close{width:42px;height:42px;border-radius:12px;border:1px solid var(--fp-line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--fp-ink)}
.fh-close svg{width:20px;height:20px}
.fh-m-nav{padding:10px 20px}
.fh-m-link,.fh-m-group summary{display:flex;justify-content:space-between;align-items:center;padding:15px 4px;border-bottom:1px solid var(--fp-line);font-size:17px;font-weight:700;color:var(--fp-ink)!important;text-decoration:none;cursor:pointer;list-style:none}
.fh-m-group summary::-webkit-details-marker{display:none}
.fh-m-group summary svg{width:18px;height:18px;transition:transform .2s ease}
.fh-m-group[open] summary svg{transform:rotate(180deg)}
.fh-m-link.is-active{color:var(--fp-blue-deep)!important}
.fh-m-sub{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;padding:10px 0 14px;border-bottom:1px solid var(--fp-line)}
.fh-m-sub a{font-size:14.5px;color:var(--fp-text)!important;text-decoration:none;padding:7px 4px}
.fh-m-sub a.fh-m-all{grid-column:1/-1;font-weight:800;color:var(--fp-blue-deep)!important}
.fh-drawer-cta{padding:18px 20px 28px;display:flex;flex-direction:column;gap:12px;margin-top:auto}
.fh-quote--block{justify-content:center;padding:16px}
.fh-call--block{justify-content:center;padding:8px 16px 8px 8px}
.fh-drawer-meta{font-size:13.5px;color:var(--fp-muted);text-align:center;margin:4px 0 0}
body.fh-locked{overflow:hidden}
@media (max-width:1240px){.fh-call-txt small{display:none}.fh-link{padding:10px 11px;font-size:15.5px}}
@media (max-width:1100px){.fh-call{padding:0;border:0}.fh-call-txt{display:none}}
@media (max-width:991px){
  .fh-nav{display:none}.fh-burger{display:flex}.fh-bar{height:72px}.fh-logo img{height:48px}
  .fh-actions{margin-left:auto}
  .fh-top-r .fh-top-iicrc,.fh-top-r a,.fh-top-sep{display:none}
}
@media (max-width:600px){
  .fh-quote:not(.fh-quote--block){display:none}
  .fh-top{font-size:12.5px}.fh-top .fh-wrap{justify-content:center;min-height:36px}
  .fh-top-r{display:none}
  .fh-wrap{padding:0 16px}
}
.fh-short{display:none;color:#fff!important;text-decoration:none}
@media (max-width:600px){.fh-long{display:none}.fh-short{display:inline}}

/* ---------- Live Google reviews widget (gr-*) ---------- */
.gr{padding:88px 0}
.gr--soft{background:var(--fp-bg-soft)}
.gr-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:32px}
.gr-score{display:flex;align-items:center;gap:14px;margin-top:12px}
.gr-score .gr-g{width:44px;height:44px}
.gr-score-n{font-family:var(--_typography---font-family--title);font-size:56px;font-weight:700;line-height:1;color:var(--fp-ink)}
.gr-score-r{display:flex;flex-direction:column;gap:4px;font-size:15px;color:var(--fp-text)}
.gr-stars{color:#f5b301;letter-spacing:2px;font-size:17px}
.gr-stars--lg{font-size:22px}
.gr-off{color:#d6dbe0}
.gr-head-r{display:flex;flex-wrap:wrap;gap:10px}
.gr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gr-card{margin:0;background:#fff;border:1px solid var(--fp-line);border-radius:20px;padding:24px;box-shadow:var(--fp-shadow);display:flex;flex-direction:column}
.gr-card-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.gr-avatar{width:40px;height:40px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;background:linear-gradient(135deg,#2bb1e9,#0b7fb3);color:#fff;font-weight:800;object-fit:cover}
.gr-who{display:flex;flex-direction:column;line-height:1.25;min-width:0;flex:1}
.gr-who strong,.gr-who a{font-size:15.5px;color:var(--fp-ink);font-weight:700;text-decoration:none}
.gr-who small{font-size:13px;color:var(--fp-muted)}
.gr-card-top .gr-g{width:22px;height:22px;flex:0 0 auto}
.gr-text{margin:10px 0 0;padding:0;border:0;background:none;font-size:16px;line-height:1.65;color:var(--fp-ink);font-style:normal}
.gr-text.is-clamped{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.gr-more{align-self:flex-start;margin-top:8px;background:none;border:0;padding:0;color:var(--fp-blue-deep);font-weight:700;cursor:pointer;font-size:14.5px}
.gr-note{margin:18px 0 0;font-size:13px;color:var(--fp-muted);text-align:center}
@media (max-width:991px){.gr-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.gr{padding:60px 0}.gr-grid{grid-template-columns:1fr}.gr-head-r .fp-btn{flex:1 1 auto}.gr-score-n{font-size:46px}}
