

/* 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)}
