.elementor-kit-35{--e-global-color-primary:#532C5F;--e-global-color-secondary:#E9D7C3;--e-global-color-text:#1B3558;--e-global-color-accent:#F2F1EE;--e-global-color-c696dce:#FFFFFF;--e-global-color-14ef391:#C8D5DC;--e-global-color-764183d:#F9FAFD;--e-global-color-d6cea4e:#FFFFFF;--e-global-color-86b4fcd:#02010100;--e-global-color-57c8da2:#000000CC;--e-global-color-d250053:#3A1F43;--e-global-color-94d8401:#DFCFE4;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:400;--e-global-typography-392b9e0-font-family:"Inter";--e-global-typography-392b9e0-font-size:22px;--e-global-typography-392b9e0-font-weight:600;--e-global-typography-392b9e0-font-style:normal;--e-global-typography-392b9e0-text-decoration:none;--e-global-typography-392b9e0-line-height:1.2em;--e-global-typography-392b9e0-letter-spacing:0px;--e-global-typography-c05b693-font-family:"Inter";--e-global-typography-c05b693-font-size:22px;--e-global-typography-c05b693-font-weight:300;--e-global-typography-c05b693-text-transform:none;--e-global-typography-c05b693-font-style:normal;--e-global-typography-c05b693-text-decoration:none;--e-global-typography-c05b693-line-height:1.5em;--e-global-typography-c05b693-letter-spacing:0px;--e-global-typography-6558fb1-font-family:"Inter";--e-global-typography-6558fb1-font-size:16px;--e-global-typography-6558fb1-font-weight:300;--e-global-typography-6558fb1-text-transform:uppercase;--e-global-typography-6558fb1-font-style:normal;--e-global-typography-6558fb1-text-decoration:none;--e-global-typography-6558fb1-line-height:1.5em;--e-global-typography-6558fb1-letter-spacing:10px;--e-global-typography-92bce3b-font-family:"Inter";--e-global-typography-92bce3b-font-size:16px;--e-global-typography-92bce3b-font-weight:400;--e-global-typography-92bce3b-text-transform:capitalize;--e-global-typography-92bce3b-font-style:italic;--e-global-typography-92bce3b-text-decoration:underline;--e-global-typography-92bce3b-line-height:1em;--e-global-typography-92bce3b-letter-spacing:0px;--e-global-typography-b2deeae-font-family:"Inter";--e-global-typography-b2deeae-font-size:85px;--e-global-typography-b2deeae-font-weight:600;--e-global-typography-b2deeae-text-transform:none;--e-global-typography-b2deeae-font-style:normal;--e-global-typography-b2deeae-text-decoration:none;--e-global-typography-b2deeae-line-height:1em;--e-global-typography-b2deeae-letter-spacing:0px;--e-global-typography-fb1a3e0-font-family:"Inter";--e-global-typography-fb1a3e0-font-size:200px;--e-global-typography-fb1a3e0-font-weight:600;--e-global-typography-fb1a3e0-text-transform:none;--e-global-typography-fb1a3e0-font-style:normal;--e-global-typography-fb1a3e0-text-decoration:none;--e-global-typography-fb1a3e0-line-height:1.2em;--e-global-typography-fb1a3e0-letter-spacing:0px;--e-global-typography-397e168-font-family:"Inter";--e-global-typography-397e168-font-size:16px;--e-global-typography-397e168-font-weight:400;--e-global-typography-397e168-text-transform:capitalize;--e-global-typography-397e168-font-style:italic;--e-global-typography-397e168-text-decoration:none;--e-global-typography-397e168-line-height:1.3em;--e-global-typography-397e168-letter-spacing:0px;background-color:var( --e-global-color-c696dce );font-family:"Poppins", Sans-serif;}.elementor-kit-35 e-page-transition{background-color:#FFBC7D;}.site-header{background-color:var( --e-global-color-c696dce );padding-inline-end:8%;padding-inline-start:8%;}.site-footer{background-color:var( --e-global-color-accent );}.elementor-kit-35 a{color:var( --e-global-color-accent );}.elementor-kit-35 a:hover{color:var( --e-global-color-primary );}.elementor-kit-35 h1{color:#1B3558;}.elementor-kit-35 h4{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:22px;font-weight:600;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1600px;}.e-con{--container-max-width:1600px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .header-inner{width:1600px;max-width:100%;}.site-header .site-branding .site-logo img{width:253px;max-width:253px;}.site-header .site-navigation ul.menu > li > a{color:var( --e-global-color-primary );}.site-header .site-navigation ul.menu > li.menu-item-has-children::after{color:var( --e-global-color-primary );}.site-header .site-navigation-toggle .site-navigation-toggle-icon{color:var( --e-global-color-accent );}.site-header .site-navigation .menu li{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.site-footer .copyright p{color:var( --e-global-color-c696dce );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}@media(max-width:1024px){.elementor-kit-35{--e-global-typography-c05b693-font-size:18px;--e-global-typography-c05b693-line-height:1.4em;--e-global-typography-6558fb1-font-size:14px;--e-global-typography-92bce3b-font-size:14px;--e-global-typography-b2deeae-font-size:65px;--e-global-typography-fb1a3e0-font-size:145px;--e-global-typography-397e168-font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}.site-header{padding-inline-end:5%;padding-inline-start:5%;}}@media(max-width:767px){.elementor-kit-35{--e-global-typography-392b9e0-font-size:18px;--e-global-typography-c05b693-font-size:16px;--e-global-typography-b2deeae-font-size:42px;--e-global-typography-b2deeae-line-height:1em;--e-global-typography-fb1a3e0-font-size:100px;--e-global-typography-fb1a3e0-line-height:1em;}.elementor-kit-35 h4{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}.site-header{padding-inline-end:8%;padding-inline-start:8%;}}/* Start custom CSS *//* =================================================================
   FORTANA CSS — fortana-base.css
   Globale variabelen, basistypografie én alle fbs-* componenten.
   Dit is het enige CSS-bestand — laden via Elementor Site Settings.

   Platform : WordPress + Elementor
   Fonts    : Inter via Elementor Custom Fonts (TTF geüpload)
   ================================================================= */


/* -----------------------------------------------------------------
   AI CONTEXT — structuuroverzicht voor elke AI die met dit bestand werkt
   -----------------------------------------------------------------
   Dit is de ENIGE stylesheet van de Fortana website. Laden via:
   Elementor → Site Settings → Custom CSS.

   PREFIX-SYSTEEM (zoek op prefix om de juiste sectie te vinden):
     :root              — alle CSS-variabelen (kleuren, spacing, radius, typografie)
     .site-navigation   — desktop- en mobiele navigatie (WordPress theme nav)
     .fbs-*             — blog/artikel template (scenario-detailpagina's)
     .fhp-*             — homepage secties: Hero, Proces, Scenarios, Benefits
     .fft-*             — footer
     .flp-*             — juridische pagina's: Privacyverklaring, Cookiebeleid
     .ctp-*             — contactpagina
     .fortana-story-*   — stakeholder-paginatemplate (Aankoopmakelaar, Notaris, etc.)
     .fortana-*         — gedeelde componenten: scenario-cards, CTA, law-box, aside-boxes

   WERKREGELS:
     • Kleuren altijd via :root variabelen (--plum-base, --navy-base, etc.)
     • Geen inline styles — altijd class-gebaseerd
     • !important alleen als Elementor/WordPress theme-CSS de specificiteitsslag wint
     • Responsive breakpoints: 1024px → 900px → 768px → 580px

   MERKNAAM (kritisch):
     Bedrijf  : "Fortana" of "Fortana Verkopershypotheken" (meervoud, hoofdletter V)
     Product  : "de Fortana verkopershypotheek" (enkelvoud, kleine letter v)
     Juridisch: "Fortana faciliteert en beheert — geeft geen financieel of juridisch advies"

   BEKENDE EIGENAARDIGHEDEN:
     • Swiper fade-slider lekt opacity naar header → isolation:isolate op .fhp-hero-right
     • Mobile hamburger-knop vereist !important op background/border (theme-override)
     • Volledig projectoverzicht: zie /BRIEFING.md in de project-root
   ----------------------------------------------------------------- */


/* -----------------------------------------------------------------
   KLEURENPALET
   Wijzig kleuren uitsluitend hier. Alle CSS erft dit.
   ----------------------------------------------------------------- */
:root {

  /* Plum — accent, spaarzaam gebruiken */
  --plum-subtle : #F5F0F6;
  --plum-light  : #DFCFE4;
  --plum-mid    : #A995AF;
  --plum-base   : #532C5F;
  --plum-dark   : #3A1F43;
  --plum-deep   : #2A1630;
  --plum-rgb    : 83, 44, 95;

  /* Navy — primaire tekst- en structuurkleur */
  --navy-subtle : #EEF1F5;
  --navy-light  : #BCC4CE;
  --navy-mid    : #6B7E93;
  --navy-base   : #1B3558;
  --navy-dark   : #132540;
  --navy-text   : #3D5473;  /* secondary leestekst — WCAG AA ~7:1 */
  --navy-deep   : #0E1B2C;
  --navy-rgb    : 27, 53, 88;

  /* Warm Sand — dividers op witte achtergrond */
  --sand-pale   : #FAF6F2;
  --sand-light  : #F1E7DC;
  --sand-base   : #E9D7C3;
  --sand-deep   : #C6B7A6;

  /* Warm Light Grey — neutraal, achtergronden en cards */
  --grey-white  : #FAFAF9;
  --grey-base   : #F2F1EE;
  --grey-border : #CECDCA;
  --grey-mid    : #A9A9A7;

  /* Knoppen */
  --olive        : #74855C;
  --olive-hover  : #5F6E4B;
  --olive-active : #4E5B3E;
  --terra        : #B9784A;
  --terra-hover  : #9F643C;
  --terra-active : #875533;

  /* Typografie */
  --font-base    : 'Inter', sans-serif;

  /* Aliassen — backwards compat met oude Elementor CSS */
  --navy            : var(--navy-base);
  --slate-700       : var(--navy-mid);
  --slate-600       : var(--navy-mid);
  --sand-border     : var(--grey-border);
  --sand-border-strong: var(--sand-deep);
  --sand-soft       : var(--grey-base);
  --surface-mint-80 : var(--grey-white);
  --surface-mint-soft: var(--navy-subtle);

  /* Tekstschaal */
  --text-xs   : 11px;
  --text-sm   : 13px;
  --text-base : 16px;
  --text-md   : 17px;
  --text-lg   : 21px;
  --text-xl   : 24px;
  --text-2xl  : 30px;
  --text-3xl  : 42px;

  /* Ruimteschaal */
  --space-1  :  4px;
  --space-2  :  8px;
  --space-3  : 14px;
  --space-4  : 18px;
  --space-5  : 24px;
  --space-6  : 32px;
  --space-7  : 48px;
  --space-8  : 64px;
  --space-9  : 80px;

  /* Breedte-maxima */
  --width-prose  : 720px;
  --width-header : 820px;
  --width-full   : 1180px;

  /* Border-radius schaal */
  --radius-sm  : 4px;
  --radius-md  : 6px;
  --radius-lg  : 8px;
  --radius-xl  : 10px;
}


/* =================================================================
   SITE HEADER + NAVIGATIE
   Scope: .site-navigation (WordPress thema nav)
   ================================================================= */

/* Elementor main menu */
.elementor-location-header .elementor-nav-menu--main .elementor-item {
    font-family: var(--font-base);
    font-size: 18px;
    font-weight: 600;
    color: var(--plum-base) !important;
    padding: 8px 14px;
    border-radius: var(--radius-md);
}

.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active {
    color: var(--plum-base) !important;
    background: var(--plum-subtle);
}

/* Dropdown */
.elementor-location-header .elementor-nav-menu--dropdown {
    z-index: 9999;
}

.elementor-location-header .elementor-nav-menu--dropdown .elementor-item {
    font-family: var(--font-base);
    color: var(--navy-base) !important;
}

.elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
    color: var(--plum-base) !important;
    background: var(--plum-subtle);
}

/* Mobile hamburger */
.elementor-location-header .elementor-menu-toggle {
    background: var(--plum-base) !important;
    color: #fff !important;
    border-radius: var(--radius-md);
}

.site-navigation {
    display:     flex;
    align-items: center;
}

.site-navigation .menu {
    display:     flex;
    align-items: center;
    list-style:  none;
    margin:      0;
    padding:     0;
    gap:         4px;
}

.site-navigation .menu-item a {
    display:         block;
    padding:         8px 18px;
    font-family:     var(--font-base);
    font-size:       18px;
    font-weight:     700;
    color:           var(--navy-base) !important;
    text-decoration: none;
    border-radius:   var(--radius-md);
    transition:      color .2s, background .2s;
    white-space:     nowrap;
}

.site-navigation .menu-item a:hover {
    color:      var(--plum-base) !important;
    background: var(--plum-subtle);
}

.site-navigation .current-menu-item > a,
.site-navigation .current-menu-ancestor > a {
    color: var(--plum-base) !important;
}

.elementor-location-header {
    position:  relative;
    z-index:   9999;
    transform: translateZ(0); /* eigen GPU-layer — header isoleert van slider fade-transitie */
}

.sub-menu {
    z-index: 9999;
}

/* Slider swiper-slides mogen geen eigen z-index krijgen tijdens transitie */
.fhp-hero-right .swiper-slide,
.fhp-hero-right .swiper-slide-active,
.fhp-hero-right .swiper-slide-prev,
.fhp-hero-right .swiper-slide-next {
    z-index: auto !important;
}

/* Tijdelijk verbergen van Elementor-secties op de frontend */
.temp-hidden {
    display: none !important;
}

/* -----------------------------------------------------------------
   MOBIELE NAVIGATIE
   Toggle: .site-navigation-toggle
   Menu:   .site-navigation (wordt zichtbaar na toggle)
   ----------------------------------------------------------------- */

/* Verberg toggle op desktop */
.site-navigation-toggle {
    display: none;
}

@media (max-width: 768px) {

    /* Hamburger-knop */
    .site-navigation-toggle {
        display:         flex;
        align-items:     center;
        justify-content: center;
        width:           44px;
        height:          44px;
        background:      var(--plum-base) !important;
        border:          none !important;
        border-radius:   var(--radius-md);
        cursor:          pointer;
        padding:         0;
        flex-shrink:     0;
    }

    /* Hamburger-lijnen (spans of svg binnen de knop) */
    .site-navigation-toggle span,
    .site-navigation-toggle svg,
    .site-navigation-toggle i {
        color:  #fff;
        fill:   #fff;
        stroke: #fff;
    }

    /* Als de theme CSS ::before/::after bars gebruikt */
    .site-navigation-toggle::before,
    .site-navigation-toggle::after {
        background: #fff;
    }

    /* Mobiel menu — verborgen tot toggle actief */
    .site-navigation {
        display:       none;
        flex-direction: column;
        align-items:   stretch;
        background:    var(--plum-dark);
        width:         100%;
    }

    /* Zichtbaar wanneer de theme een open-class toevoegt */
    .site-navigation.toggled,
    .site-navigation.is-open,
    .site-navigation[aria-expanded="true"],
    .site-navigation-toggle[aria-expanded="true"] ~ .site-navigation {
        display: flex;
    }

    /* Menu-items */
    .site-navigation .menu {
        flex-direction: column;
        gap:            0;
        width:          100%;
    }

    .site-navigation .menu-item a {
        color:         #fff !important;
        font-size:     16px;
        padding:       16px 24px;
        border-radius: 0;
        border-bottom: 1px solid rgba(255,255,255,0.10);
        white-space:   normal;
    }

    .site-navigation .menu-item a:hover {
        background: rgba(255,255,255,0.08);
        color:      #fff !important;
    }

    .site-navigation .current-menu-item > a,
    .site-navigation .current-menu-ancestor > a {
        background: rgba(255,255,255,0.14);
        color:      #fff !important;
    }
}


/* -----------------------------------------------------------------
   GLOBALE TYPOGRAFIE
   ----------------------------------------------------------------- */
.elementor,
.fbs-root {
    font-family: var(--font-base);
    color: var(--plum-base);
    -webkit-font-smoothing: antialiased;
}

.elementor h1,
.elementor h2,
.elementor h3,
.elementor h4,
.elementor h5,
.elementor h6 {
    font-family: var(--font-base);
    color: var(--navy-base);
    line-height: 1.2;
    font-weight: 700;
}

.elementor p {
    font-family: var(--font-base);
    color: var(--navy-base);
    line-height: 1.7;
}

.elementor a {
    color: var(--navy-base);
    transition: color .18s;
}

.elementor a:hover {
    color: var(--plum-base);
}


/* =================================================================
   FBS-* BLOG ARTIKEL TEMPLATE
   Vereist: bovenstaande :root variabelen
   ================================================================= */


/* -----------------------------------------------------------------
   ROOT & RESET
   ----------------------------------------------------------------- */
.fbs-root {
    font-family: var(--font-base);
    color: var(--navy-base);
    line-height: 1.7;
    max-width: 1180px;
    margin: 0 auto;
    padding: 48px 24px 80px;
    -webkit-font-smoothing: antialiased;
}
.fbs-root * { box-sizing: border-box; }
.fbs-root a { color: inherit; }


/* -----------------------------------------------------------------
   1. ARTICLE HEADER
   ----------------------------------------------------------------- */
.fbs-header {
    max-width: 820px;
    margin: 0 auto 36px;
    text-align: left;
}
.fbs-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--plum-base);
    margin-bottom: 22px;
}
.fbs-eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--plum-base);
}
.fbs-title {
    font-size: clamp(34px, 5vw, 56px);
    line-height: 1.08;
    font-weight: 700;
    color: var(--navy-base);
    letter-spacing: -0.02em;
    margin: 0 0 24px 0;
}
.fbs-lead {
    font-size: 21px;
    line-height: 1.55;
    font-weight: 400;
    color: var(--navy-text);
    margin: 0 0 28px 0;
    max-width: 720px;
}
.fbs-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    align-items: center;
    padding: 18px 0;
    border-top: 1px solid var(--sand-base);
    border-bottom: 1px solid var(--sand-base);
    font-size: 13px;
    color: var(--navy-text);
}
.fbs-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 18px;
    border-right: 1px solid var(--sand-base);
}
.fbs-meta-item:first-child { padding-left: 0; }
.fbs-meta-item:last-child  { border-right: none; }
.fbs-meta-label {
    font-weight: 600;
    color: var(--navy-base);
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: 11px;
}
.fbs-meta-value { color: var(--navy-text); }


/* -----------------------------------------------------------------
   2. HERO IMAGE
   ----------------------------------------------------------------- */
.fbs-hero {
    max-width: 1180px;
    margin: 0 auto 18px;
    border-radius: 4px;
    overflow: hidden;
    background: var(--grey-base);
}
.fbs-hero img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 560px;
    object-fit: cover;
}
.fbs-hero-caption {
    max-width: 820px;
    margin: 0 auto 56px;
    font-size: 13px;
    color: var(--navy-mid);
    padding: 14px 4px 0;
    border-top: 1px solid var(--sand-base);
}


/* -----------------------------------------------------------------
   3. STAT STRIP
   ----------------------------------------------------------------- */
.fbs-stats {
    max-width: 1180px;
    margin: 0 auto 64px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    background: var(--grey-white);
    border: 1px solid var(--grey-border);
    border-radius: 6px;
    overflow: hidden;
}
.fbs-stat {
    padding: 28px 32px;
    border-right: 1px solid var(--grey-border);
}
.fbs-stat:last-child { border-right: none; }
.fbs-stat-num {
    font-size: 26px;
    font-weight: 700;
    color: var(--plum-base);
    letter-spacing: -0.015em;
    line-height: 1.1;
    margin-bottom: 10px;
}
.fbs-stat-label {
    font-size: 13px;
    color: var(--navy-text);
    line-height: 1.5;
}

/* Variant voor woord-labels ipv getallen */
.fbs-stat--label .fbs-stat-num {
    font-size: 13px;
    font-weight: 700;
    color: var(--navy-base);
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 8px;
}


/* -----------------------------------------------------------------
   4. BODY LAYOUT — sticky TOC + prose column
   ----------------------------------------------------------------- */
.fbs-body {
    display: grid;
    grid-template-columns: 200px minmax(0, 720px);
    gap: 80px;
    max-width: 1180px;
    margin: 0 auto;
    justify-content: center;
}
.fbs-toc {
    position: sticky;
    top: 40px;
    align-self: start;
    font-size: 13px;
    padding-top: 6px;
}
.fbs-toc-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--navy-text);
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--sand-base);
}
.fbs-toc ol {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: toc;
}
.fbs-toc li {
    counter-increment: toc;
    margin-bottom: 14px;
    line-height: 1.45;
}
.fbs-toc a {
    text-decoration: none;
    color: var(--navy-text);
    display: flex;
    gap: 10px;
    transition: color .18s;
}
.fbs-toc a::before {
    content: counter(toc, decimal-leading-zero);
    color: var(--plum-base);
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
    font-weight: 600;
}
.fbs-toc a:hover { color: var(--plum-base); }


/* -----------------------------------------------------------------
   PROSE COLUMN
   ----------------------------------------------------------------- */
.fbs-prose { min-width: 0; }

.fbs-section {
    margin-bottom: 64px;
    scroll-margin-top: 30px;
}
.fbs-section-num {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--plum-base);
    margin-bottom: 14px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--plum-base);
}
.fbs-prose h2 {
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--navy-base);
    letter-spacing: -0.015em;
    margin: 0 0 24px 0;
}
.fbs-prose p {
    font-size: 17px;
    line-height: 1.75;
    color: var(--navy-base);
    margin: 0 0 22px 0;
}
.fbs-prose p:last-child { margin-bottom: 0; }
.fbs-prose strong { color: var(--navy-base); font-weight: 600; }

/* Drop cap op de eerste alinea van de eerste sectie */
.fbs-prose .fbs-section:first-of-type p:first-of-type::first-letter {
    font-size: 64px;
    font-weight: 700;
    float: left;
    line-height: .9;
    padding: 6px 14px 0 0;
    color: var(--plum-base);
}


/* -----------------------------------------------------------------
   5. COMPARISON CARDS — drie paden
   ----------------------------------------------------------------- */
.fbs-paths {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    margin: 32px 0 0 0;
}
.fbs-path {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 22px;
    padding: 26px 28px;
    background: #FFFFFF;
    border: 1px solid var(--grey-border);
    border-radius: 8px;
    align-items: start;
    transition: box-shadow .25s, transform .25s;
}
.fbs-path:hover {
    box-shadow: 0 8px 28px rgba(var(--plum-rgb), 0.08);
    transform: translateY(-2px);
}

/* Gemarkeerd pad (Fortana-route) */
.fbs-path--highlight {
    background: var(--plum-subtle);
    border-color: var(--plum-base);
    color: var(--navy-base);
}
.fbs-path--highlight .fbs-path-title { color: var(--navy-base); }
.fbs-path--highlight .fbs-path-text  { color: var(--navy-mid); }
.fbs-path--highlight .fbs-path-num {
    background: var(--plum-base);
    color: #fff;
    border-color: var(--plum-base);
}

.fbs-path-num {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--grey-white);
    border: 1px solid var(--grey-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 700;
    color: var(--plum-base);
    font-variant-numeric: tabular-nums;
}
.fbs-path-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--navy-base);
    margin: 0 0 8px 0;
    letter-spacing: -0.005em;
}
.fbs-path-text {
    font-size: 15px;
    color: var(--navy-text);
    margin: 0;
    line-height: 1.65;
}


/* -----------------------------------------------------------------
   7. FINANCIAL BREAKDOWN
   ----------------------------------------------------------------- */
.fbs-finance {
    background: linear-gradient(180deg, var(--grey-white) 0%, var(--grey-base) 100%);
    border: 1px solid var(--grey-border);
    border-radius: 10px;
    padding: 36px;
    margin: 36px 0;
}
.fbs-finance-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--navy-mid);
    margin-bottom: 8px;
}
.fbs-finance-total {
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--grey-border);
}
.fbs-finance-total-num {
    font-size: 42px;
    font-weight: 700;
    color: var(--navy-base);
    letter-spacing: -0.02em;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.fbs-finance-total-text {
    font-size: 14px;
    color: var(--navy-text);
}

/* Visuele split-bar
   Stel de verhouding in via CSS custom properties op de container:
   <div class="fbs-bar" style="--fbs-direct: 125; --fbs-fortana: 200"> */
.fbs-bar {
    display: flex;
    height: 48px;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 14px;
}
.fbs-bar-direct {
    background: var(--navy-light);
    flex: var(--fbs-direct, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--navy-base);
    font-weight: 600;
    font-size: 14px;
}
.fbs-bar-fortana {
    background: var(--plum-base);
    flex: var(--fbs-fortana, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 600;
    font-size: 14px;
}
.fbs-bar-legend {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 28px;
}
.fbs-bar-leg {
    font-size: 13px;
    line-height: 1.55;
}
.fbs-bar-leg-title {
    font-weight: 600;
    color: var(--navy-base);
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.fbs-bar-leg-title::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 2px;
    flex-shrink: 0;
}
.fbs-bar-leg--direct .fbs-bar-leg-title::before  { background: var(--navy-light); }
.fbs-bar-leg--fortana .fbs-bar-leg-title::before { background: var(--plum-base); }
.fbs-bar-leg-desc { color: var(--navy-text); }

/* Rijen maandbedragen */
.fbs-rows {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}
.fbs-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-top: 1px solid var(--grey-border);
    font-size: 14px;
}
.fbs-row:first-child { border-top: none; }
.fbs-row-label { color: var(--navy-text); }
.fbs-row-value {
    font-weight: 600;
    color: var(--navy-base);
    font-variant-numeric: tabular-nums;
}
.fbs-row--total {
    padding-top: 18px;
    margin-top: 6px;
    border-top: 2px solid var(--plum-base);
}
.fbs-row--total .fbs-row-label {
    font-weight: 600;
    color: var(--navy-base);
}
.fbs-row--total .fbs-row-value {
    color: var(--plum-base);
    font-size: 17px;
}


/* -----------------------------------------------------------------
   8. PULL QUOTE
   ----------------------------------------------------------------- */
.fbs-quote {
    margin: 48px -40px;
    padding: 36px 40px 36px 56px;
    border-left: 3px solid var(--plum-base);
    position: relative;
}
.fbs-quote-mark {
    position: absolute;
    left: 14px;
    top: 24px;
    font-size: 48px;
    line-height: 1;
    color: var(--plum-base);
    font-weight: 700;
}
.fbs-quote-text {
    font-size: 24px;
    line-height: 1.4;
    font-weight: 500;
    color: var(--navy-base);
    margin: 0 0 14px 0;
    letter-spacing: -0.01em;
}
.fbs-quote-source {
    font-size: 13px;
    color: var(--navy-text);
    letter-spacing: .04em;
}


/* -----------------------------------------------------------------
   9. BULLET LIST
   ----------------------------------------------------------------- */
.fbs-bullets {
    list-style: none;
    padding: 0;
    margin: 24px 0 0 0;
}
.fbs-bullets li {
    position: relative;
    padding: 18px 0 18px 36px;
    border-top: 1px solid var(--sand-base);
    font-size: 16px;
    line-height: 1.65;
    color: var(--navy-base);
}
.fbs-bullets li:last-child { border-bottom: 1px solid var(--sand-base); }
.fbs-bullets li::before {
    content: "";
    position: absolute;
    left: 6px;
    top: 28px;
    width: 14px;
    height: 1px;
    background: var(--plum-base);
}
.fbs-bullets strong {
    display: block;
    color: var(--navy-base);
    margin-bottom: 4px;
    font-weight: 600;
}


/* -----------------------------------------------------------------
   11. CTA BLOCK
   ----------------------------------------------------------------- */
.fbs-cta {
    max-width: 1180px;
    margin: 80px auto 0;
    background: var(--navy-base);
    color: #fff;
    border-radius: 10px;
    padding: 56px 48px;
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 48px;
    align-items: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(var(--navy-rgb), 0.22);
}
.fbs-cta::before {
    content: "";
    position: absolute;
    top: -120px;
    right: -120px;
    width: 420px;
    height: 420px;
    background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 65%);
    pointer-events: none;
}
.fbs-cta::after {
    content: "";
    position: absolute;
    bottom: -160px;
    left: -100px;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0) 65%);
    pointer-events: none;
}
.fbs-cta-content { position: relative; z-index: 1; }
.fbs-cta-eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.60);
    margin-bottom: 16px;
}
.fbs-cta h2 {
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
    color: #fff;
    margin: 0 0 16px 0;
    letter-spacing: -0.015em;
}
.fbs-cta p {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(255,255,255,0.78);
    margin: 0;
}
.fbs-cta-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.fbs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    padding: 18px 24px;
    border-radius: 6px;
    transition: all .2s;
}
.fbs-btn--primary {
    background: #fff;
    color: var(--navy-base) !important;
}
.fbs-btn--primary:hover { transform: translateX(4px); }
.fbs-btn--secondary {
    border: 1px solid rgba(255,255,255,0.3);
    color: #fff !important;
}
.fbs-btn--secondary:hover {
    background: rgba(255,255,255,0.06);
    transform: translateX(4px);
}
.fbs-btn-arrow {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}


/* -----------------------------------------------------------------
   12. FOOTER META
   ----------------------------------------------------------------- */
.fbs-footer {
    max-width: 820px;
    margin: 48px auto 0;
    padding-top: 32px;
    border-top: 1px solid var(--sand-base);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--navy-text);
}
.fbs-footer-block-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--navy-base);
    margin-bottom: 8px;
}


/* =================================================================
   FHP-* HOMEPAGE COMPONENTEN
   Prefix fhp-* (fortana homepage). Vereist: :root variabelen hierboven.
   ================================================================= */


/* -----------------------------------------------------------------
   HERO — fhp-hero
   ----------------------------------------------------------------- */
.fhp-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 520px;
    width: 100%;
    overflow: hidden;
}
.fhp-hero * { box-sizing: border-box; }

.fhp-hero-left {
    background: #FFFFFF;
    padding: 64px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 22px;
}
/* Higher specificity to override .elementor h1/p rules */
.fhp-hero-left .fhp-hero-eyebrow {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--plum-mid);
    margin: 0;
}
.fhp-hero-left .fhp-hero-title {
    font-size: 38px;
    line-height: 1.18;
    font-weight: 700;
    color: var(--navy-base);
    margin: 0;
}
.fhp-hero-left .fhp-hero-lead {
    font-size: 16px;
    color: var(--navy-text);
    margin: 0;
    line-height: 1.70;
    max-width: 420px;
}
.fhp-hero-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--plum-base);
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    padding: 15px 28px;
    border-radius: var(--radius-xl);
    text-decoration: none;
    align-self: flex-start;
    margin-top: 6px;
    transition: background .2s, transform .2s;
}
.fhp-hero-btn:hover {
    background: var(--plum-dark);
    transform: translateY(-2px);
}
.fhp-hero-right {
    position:  relative;
    overflow:  hidden;
    z-index:   1;          /* eigen stacking context, lager dan header (9999) */
    isolation: isolate;    /* bevat alle Swiper opacity/z-index effecten volledig */
}
.fhp-hero-right .fortana-slider,
.fhp-hero-right .slide,
.fhp-hero-right img {
    width: 100%;
    height: 100%;
}
.fhp-hero-right img {
    object-fit: cover;
    display: block;
}

@media (max-width: 900px) {
    .fhp-hero          { grid-template-columns: 1fr; min-height: auto; }
    .fhp-hero-right    { height: 300px; }
    .fhp-hero-left     { padding: 48px 36px; }
    .fhp-hero-title    { font-size: 30px; }
}
@media (max-width: 580px) {
    .fhp-hero-left     { padding: 36px 24px; gap: 18px; }
    .fhp-hero-title    { font-size: 26px; }
    .fhp-hero-lead     { font-size: 15px; }
    .fhp-hero-right    { height: 240px; }
}


/* -----------------------------------------------------------------
   PROCESS — fhp-process
   ----------------------------------------------------------------- */
.fhp-process {
    width: 100%;
    padding: 72px 6%;
    background: #fff;
    box-sizing: border-box;
}

.fhp-process-header {
    text-align: center;
    margin-bottom: 56px;
}

.fhp-process-eyebrow {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--plum-mid);
    margin: 0 0 12px;
}

.fhp-process-title {
    font-size: 36px;
    font-weight: 700;
    color: var(--plum-base);
    margin: 0 0 12px;
    line-height: 1.2;
}

.fhp-process-subtitle {
    font-size: 16px;
    color: var(--navy-text);
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.7;
}

.fhp-process-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    position: relative;
    margin-bottom: 52px;
}

.fhp-process-steps::before {
    content: '';
    position: absolute;
    top: 44px;
    left: 10%;
    right: 10%;
    height: 1px;
    background: rgba(var(--plum-rgb), 0.20);
    z-index: 0;
}

.fhp-process-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 12px;
    position: relative;
    z-index: 1;
}

.fhp-process-icon {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 12px rgba(var(--plum-rgb), 0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    position: relative;
    flex-shrink: 0;
}

.fhp-process-icon i {
    color: var(--plum-base);
    font-size: 28px;
}

.fhp-process-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--plum-base);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fhp-process-step-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--navy-base);
    margin: 0 0 8px;
    line-height: 1.3;
}

.fhp-process-step-text {
    font-size: 13px;
    color: var(--navy-text);
    line-height: 1.65;
    margin: 0;
}

.fhp-process-cta {
    display: flex;
    justify-content: center;
}

.fhp-process-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--plum-base);
    color: #fff !important;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    padding: 15px 32px;
    border-radius: var(--radius-xl);
    transition: background .2s ease, transform .2s ease;
}

.fhp-process-btn:hover {
    background: var(--plum-dark);
    transform: translateY(-2px);
}

@media (max-width: 900px) {
    .fhp-process-steps {
        grid-template-columns: repeat(3, 1fr);
        gap: 32px 16px;
    }
    .fhp-process-steps::before { display: none; }
}

@media (max-width: 580px) {
    .fhp-process            { padding: 48px 5%; }
    .fhp-process-title      { font-size: 26px; }
    .fhp-process-steps      { grid-template-columns: 1fr; gap: 32px; }
    .fhp-process-step       { flex-direction: row; text-align: left; gap: 20px; align-items: flex-start; }
    .fhp-process-icon       { margin-bottom: 0; width: 64px; height: 64px; }
    .fhp-process-icon i     { font-size: 22px; }
}


/* -----------------------------------------------------------------
   SCENARIO CARDS — fortana-* (voormalig plugin stylesheet)
   ----------------------------------------------------------------- */
.fortana-scenarios-wrapper {
    font-family: var(--font-base);
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.fortana-scenarios-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 60px;
}

.fortana-scenarios-grid--2col { grid-template-columns: repeat(2, 1fr); }
.fortana-scenarios-grid--3col { grid-template-columns: repeat(3, 1fr); }

.fortana-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s;
    border: 1px solid var(--grey-base);
}

.fortana-card:hover { transform: translateY(-5px); }

.fortana-card-image { height: 240px; overflow: hidden; }

.fortana-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.fortana-card:first-child .fortana-card-image img { object-position: center 20%; }

.fortana-card-content {
    padding: 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.fortana-card-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--navy-base);
    margin: 0 0 5px;
}

.fortana-card-subtitle {
    font-size: 14px;
    color: var(--grey-mid);
    margin-bottom: 15px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.fortana-card-text {
    font-size: 14px;
    line-height: 1.6;
    color: var(--navy-text);
    margin-bottom: 10px;
    flex-grow: 1;
}

.fortana-read-more {
    display: inline-block;
    margin-bottom: 20px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    border-bottom: 2px solid var(--plum-base);
    transition: 0.3s;
    color: var(--plum-base) !important;
}

.fortana-read-more:hover {
    color: var(--plum-dark) !important;
    border-bottom-color: var(--plum-dark);
}

.fortana-card-actions {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.fortana-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
    padding: 12px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: 0.2s;
}

.fortana-btn-outline {
    background-color: transparent;
    border: 1px solid var(--plum-base);
    color: var(--plum-base) !important;
}

.fortana-btn-outline:hover {
    background-color: var(--plum-base);
    color: #fff !important;
}

.fortana-walter {
    display: grid;
    grid-template-columns: 200px 1fr;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--plum-light);
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,0.05);
    max-width: 900px;
    margin: 0 auto;
}

.fortana-walter-photo {
    overflow: hidden;
    background: var(--sand-base);
}

.fortana-walter-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.fortana-walter-body {
    padding: 36px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    background: #fff;
}

.fortana-walter-tag {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--plum-mid);
}

.fortana-walter-name {
    font-size: 24px;
    font-weight: 700;
    color: var(--plum-base);
    line-height: 1.2;
    margin: 0;
}

.fortana-walter-role {
    font-size: 14px;
    color: var(--navy-mid);
    line-height: 1.6;
}

.fortana-walter-line {
    width: 36px;
    height: 2px;
    background: var(--plum-light);
    border-radius: 2px;
}

.fortana-walter-q {
    font-size: 15px;
    color: var(--navy-text);
    line-height: 1.7;
    margin: 0;
}

.fortana-walter-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--plum-base);
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    padding: 13px 24px;
    border-radius: 8px;
    align-self: flex-start;
    margin-top: 6px;
    transition: background 0.2s, transform 0.2s;
    color: #fff !important;
}

.fortana-walter-btn:hover {
    background: var(--plum-dark);
    transform: translateY(-2px);
}

@media (max-width: 1024px) {
    .fortana-scenarios-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .fortana-scenarios-grid      { grid-template-columns: 1fr; }
    .fortana-walter              { grid-template-columns: 1fr; }
    .fortana-walter-photo        { height: 220px; }
    .fortana-walter-body         { padding: 28px; }
    .fortana-walter-btn          { align-self: stretch; justify-content: center; }
}


/* -----------------------------------------------------------------
   SCENARIOS — fhp-scenarios
   ----------------------------------------------------------------- */
.fhp-scenarios {
    background: var(--plum-subtle);
    padding-top: 72px;
    padding-bottom: 72px;
    margin-top: var(--space-8);
    box-sizing: border-box;
}

/* Remove top padding from the plugin wrapper — section handles it */
.fhp-scenarios .fortana-scenarios-wrapper {
    padding-top: 0;
}

.fhp-scenarios-header {
    max-width: 1200px;
    margin: 0 auto 48px;
    padding: 0 20px;
    text-align: center;
}

.fhp-scenarios-eyebrow {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--plum-mid);
    margin: 0 0 12px;
}

.fhp-scenarios-title {
    font-size: 34px;
    font-weight: 700;
    color: var(--navy-base);
    margin: 0;
    line-height: 1.2;
}

@media (max-width: 580px) {
    .fhp-scenarios              { padding-top: 48px; }
    .fhp-scenarios-title        { font-size: 26px; }
}


/* -----------------------------------------------------------------
   BENEFITS — fhp-benefits
   ----------------------------------------------------------------- */
.fhp-benefits {
    width: 100%;
    padding: 72px 6%;
    background: #fff;
    box-sizing: border-box;
}

.fhp-benefits-header {
    text-align: center;
    max-width: 1200px;
    margin: 0 auto 48px;
}

.fhp-benefits-eyebrow {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--plum-mid);
    margin: 0 0 12px;
}

.fhp-benefits-title {
    font-size: 34px;
    font-weight: 700;
    color: var(--navy-base);
    margin: 0 0 12px;
    line-height: 1.2;
}

.fhp-benefits-subtitle {
    font-size: 16px;
    color: var(--navy-text);
    max-width: 560px;
    margin: 0 auto;
    line-height: 1.7;
}

.fhp-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    max-width: 1200px;
    margin: 0 auto;
}

.fhp-benefits-grid--5col {
    grid-template-columns: repeat(5, 1fr);
}

.fhp-benefits-card {
    background: linear-gradient(160deg, #fff 0%, var(--plum-subtle) 100%);
    border: 1px solid var(--plum-light);
    border-radius: 18px;
    padding: 36px 26px 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
    transition: transform .25s ease, box-shadow .25s ease;
}

.fhp-benefits-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(var(--plum-rgb), 0.12);
}

.fhp-benefits-icon {
    width: 52px;
    height: 52px;
    background: var(--plum-base);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    flex-shrink: 0;
}

.fhp-benefits-icon i {
    color: #fff;
    font-size: 20px;
}

.fhp-benefits-card h2,
fhp-benefits-card h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--navy-base);
    margin: 0 0 14px;
    line-height: 1.25;
}

.fhp-benefits-divider {
    width: 32px;
    height: 3px;
    background: var(--plum-base);
    border-radius: 2px;
    margin: 0 auto 16px;
    opacity: .35;
}

.fhp-benefits-card p {
    font-size: 14px;
    color: var(--navy-text);
    line-height: 1.75;
    margin: 0 0 24px;
    flex-grow: 1;
}

.fhp-benefits-card a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--plum-base) !important;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
    border-bottom: 2px solid rgba(var(--plum-rgb), 0.25);
    padding-bottom: 2px;
    transition: border-color .2s, gap .2s;
    margin-top: auto;
}

.fhp-benefits-card a:hover {
    border-color: var(--plum-base);
    gap: 11px;
}

@media (max-width: 1024px) {
    .fhp-benefits-grid   { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}

@media (max-width: 580px) {
    .fhp-benefits        { padding: 48px 5%; }
    .fhp-benefits-title  { font-size: 26px; }
    .fhp-benefits-grid   { grid-template-columns: 1fr; gap: 14px; }
    .fhp-benefits-card   { padding: 28px 22px 24px; }
}


/* =================================================================
   FOOTER  (fft-*)
   Scope   : .elementor-location-footer (Elementor Theme Builder)
   Kolommen: Elementor Heading + Icon List widgets — via CSS overschreven
   Onderste balk: HTML-widget met class fft-bottom
   ================================================================= */

.elementor-location-footer {
    background:   var(--plum-dark) !important;
    padding:      64px 6% 0;
    box-sizing:   border-box;
    font-family:  var(--font-base);
}

/* Neutraliseer Elementor inline achtergrondkleuren op inner containers */
.elementor-location-footer .elementor-element {
    background:   transparent !important;
}

/* Kolom-labels */
.elementor-location-footer .elementor-heading-title {
    color:          #fff !important;
    font-size:      12px !important;
    font-weight:    700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    margin-bottom:  20px !important;
}

/* Verberg standaard Icon List-iconen — we willen alleen tekstlinks */
.elementor-location-footer .elementor-icon-list-icon {
    display: none !important;
}

/* Lijstitems */
.elementor-location-footer .elementor-icon-list-items {
    list-style: none;
    padding:    0;
    margin:     0;
    display:    flex;
    flex-direction: column;
    gap:        10px;
}

.elementor-location-footer .elementor-icon-list-item a {
    color:           var(--plum-light) !important;
    font-size:       14px;
    font-family:     var(--font-base);
    text-decoration: none;
    line-height:     1.4;
    transition:      color .2s;
}

.elementor-location-footer .elementor-icon-list-item a:hover {
    color: #fff !important;
}

/* Onderste balk — copyright + social media */
.fft-bottom {
    border-top:      1px solid rgba(255, 255, 255, 0.12);
    margin-top:      48px;
    padding:         20px 0 24px;
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    font-family:     var(--font-base);
    font-size:       13px;
}

.fft-bottom-copy {
    color: var(--plum-mid);
}

.fft-social {
    display:     flex;
    gap:         22px;
    align-items: center;
}

.fft-social a {
    color:           var(--plum-mid) !important;
    font-size:       17px;
    text-decoration: none;
    transition:      color .2s;
}

.fft-social a:hover {
    color: #fff !important;
}

@media (max-width: 768px) {
    .elementor-location-footer { padding: 48px 5% 0; }
    .fft-bottom { flex-direction: column; gap: 16px; text-align: center; }
}


/* =================================================================
   LEGAL PAGE  (flp-*)
   Scope : .flp-content — CSS class op de Elementor container
   Widget: Text Editor (behoudt bewerkbaarheid voor redacteurs)
   ================================================================= */

.flp-content {
    max-width:   780px;
    margin:      0 auto;
    padding:     48px 24px 80px;
    font-family: var(--font-base);
    color:       var(--navy-base);
    line-height: 1.75;
    box-sizing:  border-box;
}

.flp-content h1 {
    font-size:     36px;
    font-weight:   700;
    color:         var(--plum-base);
    margin:        0 0 10px;
    line-height:   1.15;
}

.flp-content .flp-date {
    font-size:   13px;
    color:       var(--navy-mid);
    margin:      0 0 48px;
}

.flp-content h2 {
    font-size:    18px;
    font-weight:  700;
    color:        var(--plum-base);
    margin:       40px 0 14px;
    padding-top:  16px;
    border-top:   1px solid var(--grey-border);
    line-height:  1.3;
}

.flp-content p {
    font-size:  15px;
    color:      var(--navy-base);
    margin:     0 0 16px;
    line-height: 1.75;
}

.flp-content ul {
    list-style: none;
    padding:    0;
    margin:     0 0 16px;
}

.flp-content ul li {
    position:    relative;
    padding:     5px 0 5px 20px;
    font-size:   15px;
    color:       var(--navy-base);
    line-height: 1.65;
}

.flp-content ul li::before {
    content:    "";
    position:   absolute;
    left:       0;
    top:        14px;
    width:      8px;
    height:     1px;
    background: var(--plum-base);
}

.flp-content a {
    color:                  var(--plum-base) !important;
    text-decoration:        underline;
    text-decoration-color:  rgba(var(--plum-rgb), 0.30);
    transition:             text-decoration-color .2s;
}

.flp-content a:hover {
    text-decoration-color: var(--plum-base);
}

.flp-content strong {
    font-weight: 600;
    color:       var(--navy-base);
}

@media (max-width: 580px) {
    .flp-content         { padding: 32px 18px 60px; }
    .flp-content h1      { font-size: 28px; }
    .flp-content h2      { font-size: 16px; }
}


/* =================================================================
   CONTACT PAGE  (ctp-*)
   Scope : .ctp-wrapper — HTML-widget in Elementor
   Opmerking: formulier is nog puur HTML (action="#"), koppelen aan WPForms
   ================================================================= */

.ctp-wrapper {
    font-family: var(--font-base);
    max-width:   1240px;
    margin:      0 auto;
    padding:     20px 20px 80px;
    color:       var(--navy-base);
    line-height: 1.7;
}

/* HERO */
.ctp-hero {
    background:    linear-gradient(160deg, #fff 0%, var(--plum-subtle) 100%);
    padding:       70px 20px 80px;
    text-align:    center;
    margin-bottom: 80px;
    border-radius: 0 0 32px 32px;
}
.ctp-hero-inner {
    max-width: 820px;
    margin:    0 auto;
}
.ctp-eyebrow {
    display:        inline-block;
    font-size:      13px;
    font-weight:    600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color:          var(--plum-mid);
    margin-bottom:  28px;
}
.ctp-eyebrow::before,
.ctp-eyebrow::after {
    content:        "";
    display:        inline-block;
    width:          36px;
    height:         1px;
    background:     var(--plum-light);
    vertical-align: middle;
    margin:         0 18px;
}
.ctp-mega-title {
    font-size:     62px;
    line-height:   1.05;
    font-weight:   700;
    color:         var(--navy-base);
    margin:        0 0 30px;
    letter-spacing: -.02em;
}
.ctp-mega-title em { font-style: italic; font-weight: 500; color: var(--navy-base); }
.ctp-lead {
    font-size:   19px;
    color:       var(--navy-text);
    line-height: 1.75;
    margin:      0 auto 36px;
    max-width:   660px;
}
.ctp-pills {
    display:         inline-flex;
    flex-wrap:       wrap;
    gap:             10px;
    justify-content: center;
}
.ctp-pill {
    display:       inline-flex;
    align-items:   center;
    gap:           9px;
    background:    #fff;
    color:         var(--plum-base);
    border:        1px solid var(--plum-light);
    border-radius: 999px;
    padding:       11px 20px;
    font-size:     13.5px;
    font-weight:   600;
    box-shadow:    0 4px 14px rgba(var(--plum-rgb), 0.05);
}
.ctp-pill i { font-size: 12px; color: var(--plum-base); }

/* WALTER INTRO */
.ctp-walter-intro {
    background:     #fff;
    border-radius:  28px;
    border:         1px solid var(--plum-light);
    box-shadow:     0 24px 60px rgba(var(--plum-rgb), 0.08);
    padding:        60px;
    display:        grid;
    grid-template-columns: 300px 1fr;
    gap:            60px;
    align-items:    center;
    margin-bottom:  80px;
    position:       relative;
    overflow:       hidden;
}
.ctp-walter-intro::before {
    content:       "";
    position:      absolute;
    top:           -100px;
    right:         -100px;
    width:         280px;
    height:        280px;
    background:    radial-gradient(circle, rgba(var(--plum-rgb), 0.06) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.ctp-walter-photo-wrap   { position: relative; width: 300px; height: 360px; }
.ctp-walter-photo-accent {
    position:      absolute;
    top:           18px;
    left:          18px;
    width:         300px;
    height:        360px;
    border-radius: 24px;
    background:    linear-gradient(135deg, var(--plum-base) 0%, var(--plum-dark) 100%);
    z-index:       1;
    opacity:       .18;
}
.ctp-walter-photo-frame {
    width:         300px;
    height:        360px;
    border-radius: 24px;
    overflow:      hidden;
    background:    var(--sand-base);
    position:      relative;
    z-index:       2;
}

.ctp-walter-photo-frame img {
    width:           100%;
    height:          100%;
    object-fit:      cover;
    object-position: center top;
    display:         block;
}
.ctp-walter-text     { position: relative; z-index: 2; }
.ctp-walter-tag {
    font-size:      12px;
    font-weight:    700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color:          var(--plum-mid);
    display:        inline-flex;
    align-items:    center;
    gap:            12px;
    margin-bottom:  14px;
}
.ctp-walter-tag::before {
    content:       "";
    width:         32px;
    height:        2px;
    background:    var(--plum-base);
    border-radius: 2px;
}
.ctp-walter-name {
    font-size:      40px;
    font-weight:    700;
    color:          var(--plum-base);
    margin:         0 0 8px;
    line-height:    1.1;
    letter-spacing: -.01em;
}
.ctp-walter-role    { font-size: 15px; color: var(--navy-mid); margin: 0 0 24px; font-weight: 500; }
.ctp-walter-message { font-size: 16.5px; color: var(--navy-base); line-height: 1.75; margin: 0 0 26px; }
.ctp-walter-signature {
    padding:       22px 26px;
    background:    linear-gradient(135deg, var(--grey-white) 0%, var(--plum-subtle) 100%);
    border-left:   3px solid var(--plum-base);
    border-radius: 4px 14px 14px 4px;
    margin-bottom: 28px;
}
.ctp-walter-signature p {
    margin:      0;
    font-size:   17px;
    color:       var(--navy-base);
    font-style:  italic;
    line-height: 1.6;
    font-weight: 500;
}
.ctp-walter-direct {
    display:     flex;
    flex-wrap:   wrap;
    gap:         28px;
    align-items: center;
}
.ctp-walter-direct-item {
    display:         inline-flex;
    align-items:     center;
    gap:             10px;
    color:           var(--plum-base) !important;
    text-decoration: none;
    font-size:       15px;
    font-weight:     600;
    transition:      color .2s;
}
.ctp-walter-direct-item i  { width: 18px; color: var(--plum-base); }
.ctp-walter-direct-item:hover { color: var(--plum-dark) !important; }

/* CONTACT METHODS */
.ctp-methods {
    display:       grid;
    grid-template-columns: repeat(3, 1fr);
    gap:           24px;
    margin-bottom: 80px;
}
.ctp-method {
    background:    #fff;
    border:        1px solid var(--plum-light);
    border-radius: 22px;
    padding:       44px 36px 36px;
    position:      relative;
    overflow:      hidden;
    transition:    all .3s;
    display:       flex;
    flex-direction: column;
}
.ctp-method:hover {
    transform:  translateY(-6px);
    box-shadow: 0 26px 46px rgba(var(--plum-rgb), 0.14);
}
.ctp-method-number {
    position:       absolute;
    top:            24px;
    right:          30px;
    font-size:      13px;
    font-weight:    700;
    color:          var(--plum-light);
    letter-spacing: .14em;
}
.ctp-method-icon {
    width:         64px;
    height:        64px;
    border-radius: 18px;
    background:    linear-gradient(135deg, var(--grey-white) 0%, var(--plum-subtle) 100%);
    display:       flex;
    align-items:   center;
    justify-content: center;
    color:         var(--plum-base);
    font-size:     26px;
    margin-bottom: 26px;
}
.ctp-method-title   { font-size: 22px; font-weight: 700; color: var(--navy-base); margin: 0 0 12px; }
.ctp-method-desc    { font-size: 15px; color: var(--navy-mid); line-height: 1.7; margin: 0 0 22px; flex-grow: 1; }
.ctp-method-meta {
    font-size:      12px;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: .10em;
    color:          var(--plum-mid);
    padding-top:    20px;
    border-top:     1px solid var(--plum-subtle);
    margin-bottom:  16px;
}
.ctp-method-link {
    display:         inline-flex;
    align-items:     center;
    gap:             10px;
    font-size:       15px;
    font-weight:     700;
    color:           var(--plum-base) !important;
    text-decoration: none;
    transition:      all .25s;
}
.ctp-method-link:hover { gap: 14px; color: var(--plum-dark) !important; }
.ctp-method-link i { font-size: 12px; }

/* SPLIT: WHEN + FORM */
.ctp-split {
    display:       grid;
    grid-template-columns: .9fr 1.1fr;
    gap:           50px;
    margin-bottom: 80px;
    align-items:   start;
}
.ctp-section-eyebrow {
    display:        inline-block;
    font-size:      12px;
    font-weight:    700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color:          var(--plum-mid);
    margin-bottom:  14px;
}
.ctp-h2 {
    font-size:      32px;
    line-height:    1.2;
    color:          var(--plum-base);
    font-weight:    700;
    margin:         0 0 20px;
    letter-spacing: -.01em;
}
.ctp-when-col    { padding: 18px 6px 0 0; }
.ctp-when-intro  { font-size: 16px; color: var(--navy-mid); margin: 0 0 28px; line-height: 1.75; }
.ctp-reasons     { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.ctp-reason {
    display:       grid;
    grid-template-columns: 40px 1fr;
    gap:           14px;
    align-items:   center;
    padding:       18px 20px;
    background:    #fff;
    border:        1px solid var(--plum-light);
    border-radius: 14px;
    font-size:     15px;
    color:         var(--navy-base);
    line-height:   1.6;
    transition:    all .25s;
}
.ctp-reason:hover {
    border-color: var(--plum-base);
    transform:    translateX(6px);
    box-shadow:   0 8px 20px rgba(var(--plum-rgb), 0.06);
}
.ctp-reason-icon {
    width:         40px;
    height:        40px;
    border-radius: 10px;
    background:    linear-gradient(135deg, var(--grey-white) 0%, var(--plum-subtle) 100%);
    display:       flex;
    align-items:   center;
    justify-content: center;
    color:         var(--plum-base);
    font-size:     14px;
    flex-shrink:   0;
}
.ctp-when-note {
    margin-top:    28px;
    padding:       20px 24px;
    background:    linear-gradient(180deg, var(--grey-white) 0%, var(--plum-subtle) 100%);
    border:        1px solid var(--plum-light);
    border-radius: 14px;
    font-size:     15px;
    color:         var(--navy-base);
    line-height:   1.7;
}
.ctp-when-note strong { color: var(--plum-base); }

/* FORM */
.ctp-form-card {
    background:    #fff;
    border:        1px solid var(--plum-light);
    border-radius: 26px;
    padding:       48px 44px;
    box-shadow:    0 20px 50px rgba(var(--plum-rgb), 0.08);
    position:      relative;
    overflow:      hidden;
}
.ctp-form-card::before {
    content:  "";
    position: absolute;
    top:      0;
    left:     0;
    right:    0;
    height:   4px;
    background: linear-gradient(90deg, var(--plum-base) 0%, var(--plum-base) 50%, var(--plum-mid) 100%);
}
.ctp-form-intro { font-size: 15.5px; color: var(--navy-mid); margin: 0 0 28px; line-height: 1.7; }
.ctp-form       { display: flex; flex-direction: column; gap: 18px; }
.ctp-row-2      { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ctp-field      { display: flex; flex-direction: column; gap: 7px; }
.ctp-field label {
    font-size:      11.5px;
    font-weight:    700;
    color:          var(--plum-base);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ctp-field input,
.ctp-field select,
.ctp-field textarea {
    font-family: var(--font-base);
    font-size:   15px;
    color:       var(--navy-base);
    background:  var(--plum-subtle);
    border:      1px solid var(--plum-light);
    border-radius: 12px;
    padding:     14px 16px;
    transition:  all .2s;
    outline:     none;
}
.ctp-field input:focus,
.ctp-field select:focus,
.ctp-field textarea:focus {
    border-color: var(--plum-base);
    background:   #fff;
    box-shadow:   0 0 0 4px rgba(var(--plum-rgb), 0.08);
}
.ctp-field textarea { min-height: 130px; resize: vertical; }
.ctp-consent {
    display:     flex;
    align-items: flex-start;
    gap:         12px;
    font-size:   13px;
    color:       var(--navy-mid);
    line-height: 1.65;
    padding:     6px 0;
}
.ctp-consent input { margin-top: 3px; accent-color: var(--plum-base); transform: scale(1.1); }
.ctp-consent a     { color: var(--plum-base); text-decoration: underline; }
.ctp-submit {
    background:      linear-gradient(135deg, var(--plum-base) 0%, var(--plum-dark) 100%);
    color:           #fff !important;
    border:          none;
    font-family:     var(--font-base);
    font-size:       15.5px;
    font-weight:     700;
    border-radius:   12px;
    padding:         18px 28px;
    cursor:          pointer;
    margin-top:      8px;
    box-shadow:      0 12px 30px rgba(var(--plum-rgb), 0.26);
    transition:      all .3s;
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    gap:             12px;
    letter-spacing:  .01em;
}
.ctp-submit:hover       { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(var(--plum-rgb), 0.32); }
.ctp-submit i           { transition: transform .25s; }
.ctp-submit:hover i     { transform: translateX(4px); }

/* TIMELINE */
.ctp-timeline-section {
    background:    linear-gradient(180deg, var(--grey-white) 0%, var(--plum-subtle) 100%);
    border:        1px solid var(--plum-light);
    border-radius: 28px;
    padding:       70px 56px;
    margin-bottom: 80px;
    position:      relative;
    overflow:      hidden;
}
.ctp-timeline-section::before {
    content:       "";
    position:      absolute;
    top:           -80px;
    right:         -80px;
    width:         240px;
    height:        240px;
    background:    radial-gradient(circle, rgba(var(--plum-rgb), 0.08) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.ctp-timeline-section::after {
    content:       "";
    position:      absolute;
    bottom:        -80px;
    left:          -80px;
    width:         220px;
    height:        220px;
    background:    radial-gradient(circle, rgba(var(--plum-rgb), 0.06) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.ctp-timeline-header {
    text-align: center;
    max-width:  680px;
    margin:     0 auto 50px;
    position:   relative;
    z-index:    1;
}
.ctp-timeline-header p { font-size: 16.5px; color: var(--navy-mid); line-height: 1.75; margin: 0; }
.ctp-timeline {
    display:       grid;
    grid-template-columns: repeat(4, 1fr);
    gap:           24px;
    position:      relative;
}
.ctp-timeline::before {
    content:    "";
    position:   absolute;
    top:        36px;
    left:       10%;
    right:      10%;
    height:     2px;
    background: linear-gradient(90deg, transparent 0%, var(--plum-light) 15%, var(--plum-light) 85%, transparent 100%);
    z-index:    0;
}
.ctp-step { text-align: center; position: relative; z-index: 1; padding: 0 8px; }
.ctp-step-circle {
    width:         72px;
    height:        72px;
    border-radius: 50%;
    background:    linear-gradient(135deg, #fff 0%, var(--grey-white) 100%);
    border:        2px solid var(--plum-light);
    display:       flex;
    align-items:   center;
    justify-content: center;
    color:         var(--plum-base);
    font-size:     24px;
    font-weight:   700;
    margin:        0 auto 22px;
    box-shadow:    0 10px 24px rgba(var(--plum-rgb), 0.10);
    position:      relative;
}
.ctp-step-circle::after {
    content:       "";
    position:      absolute;
    inset:         -7px;
    border-radius: 50%;
    border:        1px dashed var(--plum-light);
    opacity:       .7;
}
.ctp-step-title { font-size: 16.5px; font-weight: 700; color: var(--navy-base); margin: 0 0 10px; }
.ctp-step-text  { font-size: 14px; color: var(--navy-mid); line-height: 1.65; margin: 0; }

/* PILLARS */
.ctp-pillars-section { text-align: center; margin-bottom: 80px; }
.ctp-pillars-header  { max-width: 700px; margin: 0 auto 50px; }
.ctp-pillars-header p { font-size: 16.5px; color: var(--navy-mid); margin: 0; line-height: 1.75; }
.ctp-pillars {
    display:       grid;
    grid-template-columns: repeat(4, 1fr);
    gap:           24px;
}
.ctp-pillar {
    background:    #fff;
    border:        1px solid var(--plum-light);
    border-radius: 20px;
    padding:       36px 26px;
    text-align:    center;
    transition:    all .3s;
}
.ctp-pillar:hover {
    transform:  translateY(-5px);
    box-shadow: 0 18px 34px rgba(var(--plum-rgb), 0.10);
    border-color: var(--plum-base);
}
.ctp-pillar-icon {
    width:         60px;
    height:        60px;
    margin:        0 auto 20px;
    border-radius: 50%;
    background:    linear-gradient(135deg, var(--grey-white) 0%, var(--plum-subtle) 100%);
    display:       flex;
    align-items:   center;
    justify-content: center;
    color:         var(--plum-base);
    font-size:     22px;
}
.ctp-pillar-title { font-size: 17px; font-weight: 700; color: var(--navy-base); margin: 0 0 10px; }
.ctp-pillar-text  { font-size: 13.5px; color: var(--navy-mid); line-height: 1.65; margin: 0; }

/* BIG QUOTE */
.ctp-big-quote {
    text-align: center;
    max-width:  880px;
    margin:     0 auto 80px;
    padding:    40px 20px;
    position:   relative;
}
.ctp-quote-mark {
    font-size:    120px;
    line-height:  .75;
    color:        var(--plum-light);
    font-family:  Georgia, serif;
    display:      block;
    margin-bottom: -24px;
    position:     relative;
    z-index:      1;
}
.ctp-big-quote p {
    font-size:      30px;
    line-height:    1.45;
    color:          var(--navy-base);
    font-weight:    500;
    font-style:     italic;
    margin:         0;
    letter-spacing: -.005em;
    position:       relative;
    z-index:        2;
}
.ctp-quote-attribution {
    margin-top:     32px;
    font-size:      12.5px;
    font-weight:    700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color:          var(--plum-mid);
}
.ctp-quote-attribution::before {
    content:        "";
    display:        inline-block;
    width:          32px;
    height:         1px;
    background:     var(--plum-light);
    vertical-align: middle;
    margin-right:   14px;
}

/* PRACTICAL */
.ctp-practical {
    background:    linear-gradient(160deg, #fff 0%, var(--plum-subtle) 100%);
    border:        1px solid var(--plum-light);
    border-radius: 20px;
    padding:       52px 54px;
    margin-bottom: 28px;
}
.ctp-practical-inner {
    display:       grid;
    grid-template-columns: repeat(3, 1fr);
    gap:           40px;
    align-items:   start;
}
.ctp-practical-col h5 {
    font-size:      11px;
    font-weight:    700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color:          var(--plum-base);
    margin:         0 0 16px;
}
.ctp-practical-col p,
.ctp-practical-col a {
    font-size:       14.5px;
    color:           var(--navy-base);
    line-height:     1.75;
    margin:          0;
    display:         block;
    text-decoration: none;
}
.ctp-practical-col a:hover { color: var(--plum-base); text-decoration: underline; }
.ctp-practical-col i       { color: var(--plum-mid); margin-right: 10px; width: 14px; }
.ctp-practical-sub         { color: var(--navy-mid) !important; font-size: 13.5px !important; }

.ctp-disclaimer {
    text-align:  center;
    font-size:   13px;
    color:       var(--navy-mid);
    padding:     20px;
    line-height: 1.65;
}

@media (max-width: 1024px) {
    .ctp-mega-title                         { font-size: 48px; }
    .ctp-walter-intro                       { grid-template-columns: 1fr; padding: 44px; gap: 36px; }
    .ctp-walter-photo-wrap                  { width: 260px; height: 320px; margin: 0 auto; }
    .ctp-walter-photo-frame,
    .ctp-walter-photo-accent                { width: 260px; height: 320px; }
    .ctp-methods                            { grid-template-columns: 1fr 1fr; }
    .ctp-split                              { grid-template-columns: 1fr; gap: 40px; }
    .ctp-timeline                           { grid-template-columns: 1fr 1fr; gap: 36px; }
    .ctp-timeline::before                   { display: none; }
    .ctp-pillars                            { grid-template-columns: 1fr 1fr; }
    .ctp-practical-inner                    { grid-template-columns: 1fr 1fr; gap: 30px; }
}

@media (max-width: 680px) {
    .ctp-wrapper                            { padding: 16px 14px 50px; }
    .ctp-hero                               { padding: 44px 10px 50px; }
    .ctp-mega-title                         { font-size: 34px; }
    .ctp-lead                               { font-size: 16.5px; }
    .ctp-eyebrow::before,
    .ctp-eyebrow::after                     { width: 18px; margin: 0 10px; }
    .ctp-walter-intro                       { padding: 30px 22px; }
    .ctp-walter-photo-wrap                  { width: 220px; height: 270px; }
    .ctp-walter-photo-frame,
    .ctp-walter-photo-accent                { width: 220px; height: 270px; }
    .ctp-walter-name                        { font-size: 28px; }
    .ctp-methods                            { grid-template-columns: 1fr; }
    .ctp-method                             { padding: 32px 26px; }
    .ctp-form-card                          { padding: 32px 22px; }
    .ctp-timeline-section                   { padding: 40px 22px; }
    .ctp-timeline                           { grid-template-columns: 1fr; gap: 30px; }
    .ctp-pillars                            { grid-template-columns: 1fr; }
    .ctp-big-quote p                        { font-size: 22px; }
    .ctp-quote-mark                         { font-size: 80px; }
    .ctp-practical                          { padding: 40px 26px; }
    .ctp-practical-inner                    { grid-template-columns: 1fr; gap: 26px; }
    .ctp-row-2                              { grid-template-columns: 1fr; }
    .ctp-h2                                 { font-size: 26px; }
}


/* =================================================================
   STAKEHOLDER PAGES  (fortana-story-*)
   Gedeeld template: Aankoopmakelaar, Verkoopmakelaar,
   Notaris, Financieel adviseur
   ================================================================= */

.fortana-story-wrapper {
    font-family: var(--font-base);
    max-width:   1100px;
    margin:      0 auto;
    padding:     40px 20px 60px;
    color:       var(--navy-base);
    line-height: 1.75;
}

.fortana-story-hero {
    display:       grid;
    grid-template-columns: 1.05fr .95fr;
    gap:           40px;
    align-items:   center;
    margin-bottom: 50px;
}

.fortana-story-eyebrow {
    display:        inline-block;
    font-size:      13px;
    font-weight:    600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color:          var(--plum-mid);
    margin-bottom:  14px;
}

.fortana-story-title {
    font-size:   42px;
    line-height: 1.15;
    font-weight: 700;
    color:       var(--navy-base);
    margin:      0 0 18px;
}

.fortana-story-intro {
    font-size:  18px;
    color:      var(--navy-text);
    margin:     0 0 24px;
    max-width:  640px;
}

.fortana-story-image {
    border-radius: 22px;
    overflow:      hidden;
    border:        1px solid var(--plum-light);
    background:    var(--plum-subtle);
    aspect-ratio:  1 / 1;
    width:         100%;
}

.fortana-story-image img {
    display:         block;
    width:           100%;
    height:          100%;
    object-fit:      cover;
    object-position: center;
}

.fortana-story-grid {
    display:       grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap:           34px;
    align-items:   start;
}

.fortana-story-card {
    background:    #fff;
    border:        1px solid var(--plum-light);
    border-radius: 20px;
    padding:       34px;
    margin-bottom: 28px;
}

.fortana-story-card h2 {
    font-size:   26px;
    font-weight: 700;
    color:       var(--navy-base);
    margin:      0 0 16px;
    line-height: 1.3;
}

.fortana-story-card h3 {
    font-size:   18px;
    font-weight: 700;
    color:       var(--navy-base);
    margin:      24px 0 12px;
}

.fortana-story-card p {
    margin:    0 0 16px;
    font-size: 16px;
    color:     var(--navy-text);
}

.fortana-story-card ul {
    list-style: none;
    padding:    0;
    margin:     0 0 16px;
}

.fortana-story-card li {
    padding:  10px 0 10px 28px;
    position: relative;
    font-size: 15px;
    color:    var(--navy-text);
}

.fortana-story-card li::before {
    content:     '\f058';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color:       var(--plum-base);
    position:    absolute;
    left:        0;
    top:         10px;
    font-size:   15px;
}

.fortana-story-card li strong { color: var(--plum-base); }

.fortana-story-sidebar { position: sticky; top: 20px; }

.fortana-story-aside {
    background:    var(--plum-subtle);
    border:        1px solid var(--plum-light);
    border-radius: 16px;
    padding:       24px;
    margin-bottom: 24px;
}

.fortana-story-aside h3 {
    font-size:   16px;
    font-weight: 700;
    color:       var(--plum-base);
    margin:      0 0 14px;
    display:     flex;
    align-items: center;
    gap:         10px;
}

.fortana-story-aside h3 i { color: var(--plum-base); font-size: 18px; }

.fortana-story-aside ul {
    list-style: none;
    padding:    0;
    margin:     0;
}

.fortana-story-aside li {
    font-size:     14px;
    padding:       8px 0;
    color:         var(--navy-base);
    border-bottom: 1px solid var(--plum-light);
}

.fortana-story-aside li:last-child { border-bottom: none; }

.fortana-story-aside p {
    font-size: 14px;
    margin:    0;
    color:     var(--navy-base);
}

.fortana-story-aside a {
    color:           var(--plum-base) !important;
    font-weight:     600;
    text-decoration: none;
}

.fortana-story-aside a:hover { text-decoration: underline; }

.fortana-highlight {
    background:    linear-gradient(180deg, var(--grey-white) 0%, var(--plum-subtle) 100%);
    border-left:   4px solid var(--plum-base);
    border-radius: 8px;
    padding:       22px 24px;
    margin:        24px 0;
    font-size:     15.5px;
    color:         var(--navy-base);
}

.fortana-highlight strong { color: var(--plum-base); }

.fortana-cta {
    background:    linear-gradient(135deg, var(--plum-base) 0%, var(--plum-dark) 100%);
    color:         #fff;
    border-radius: 20px;
    padding:       40px;
    margin:        40px 0;
    text-align:    center;
}

.fortana-cta h2 {
    font-size: 32px;
    color:     #fff !important;
    margin:    0 0 16px;
}

.fortana-cta > p {
    font-size:    17px;
    color:        rgba(255,255,255,0.85);
    margin:       0 auto 24px;
    max-width:    620px;
}

.fortana-cta-buttons {
    display:         flex;
    gap:             16px;
    justify-content: center;
    flex-wrap:       wrap;
}

.fortana-cta .fortana-btn {
    display:         inline-flex;
    padding:         12px 28px;
    border-radius:   10px;
    justify-content: center;
}

.fortana-btn-primary {
    background: #fff;
    color:      var(--plum-base) !important;
}

.fortana-btn-primary:hover {
    transform:  translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.fortana-btn-secondary {
    border:     2px solid rgba(255,255,255,0.60);
    background: transparent;
    color:      #fff !important;
}

.fortana-btn-secondary:hover {
    background: rgba(255,255,255,0.10);
    transform:  translateY(-2px);
}

.fortana-disclaimer {
    font-size:  13px;
    color:      var(--navy-mid) !important;
    font-style: italic;
    margin-top: 8px;
}

/* fortana-story-* — Mogelijkheden / scenario-pagina extensie */
.fortana-story-meta            { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.fortana-story-pill            { display: inline-flex; align-items: center; gap: 8px; background: var(--plum-subtle); color: var(--plum-base); border: 1px solid var(--plum-light); border-radius: 999px; padding: 10px 16px; font-size: 14px; font-weight: 600; }
.fortana-story-highlight       { background: linear-gradient(180deg, var(--grey-white) 0%, var(--plum-subtle) 100%); border: 1px solid var(--plum-light); border-radius: 18px; padding: 24px; margin: 26px 0; }
.fortana-story-highlight-title { font-size: 16px; font-weight: 700; color: var(--navy-base); margin: 0 0 12px; }
.fortana-scenario-label        { display: inline-flex; align-items: center; gap: 8px; background: var(--plum-base); color: #fff; border-radius: 999px; padding: 6px 16px; font-size: 13px; font-weight: 600; letter-spacing: .04em; margin-bottom: 16px; }
.fortana-story-list            { list-style: none; padding: 0; margin: 0; }
.fortana-story-list li         { position: relative; padding-left: 28px; margin-bottom: 12px; font-size: 15px; color: var(--navy-base); }
.fortana-story-list li:last-child  { margin-bottom: 0; }
.fortana-story-list li::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 10px; height: 10px; border-radius: 50%; background: var(--plum-base); }
.fortana-story-quote           { font-size: 22px; line-height: 1.5; color: var(--navy-base); font-weight: 600; margin: 0; }
.fortana-aside-box             { background: var(--grey-white); border: 1px solid var(--navy-subtle); border-radius: 20px; padding: 24px; box-shadow: 0 6px 18px rgba(0,0,0,0.04); margin-bottom: 20px; }
.fortana-aside-box:last-child  { margin-bottom: 0; }
.fortana-aside-box h3          { font-size: 18px; line-height: 1.25; color: var(--navy-base); margin: 0 0 14px; font-weight: 700; }
.fortana-aside-box p           { font-size: 15px; color: var(--navy-text); margin: 0 0 14px; }
.fortana-aside-box p:last-child { margin-bottom: 0; }
.fortana-mini-list             { list-style: none; padding: 0; margin: 0; }
.fortana-mini-list li          { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 12px; font-size: 14px; color: var(--navy-text); }
.fortana-mini-list li:last-child { margin-bottom: 0; }
.fortana-mini-list i           { color: var(--plum-base); margin-top: 3px; width: 16px; flex-shrink: 0; }
.fortana-icon-neg              { color: #c0392b !important; }
.fortana-law-box               { background: var(--plum-subtle); border-left: 4px solid var(--plum-base); border-radius: 0 14px 14px 0; padding: 20px 24px; margin: 26px 0; font-size: 14px; color: var(--navy-base); line-height: 1.7; }
.fortana-law-box strong        { display: block; font-size: 13px; font-weight: 700; color: var(--plum-base); letter-spacing: .04em; text-transform: uppercase; margin-bottom: 6px; }

@media (max-width: 1024px) {
    .fortana-story-grid    { grid-template-columns: 1fr; }
    .fortana-story-sidebar { position: static; }
}

@media (max-width: 768px) {
    .fortana-story-hero  { grid-template-columns: 1fr; gap: 30px; }
    .fortana-story-title { font-size: 32px; }
    .fortana-story-card  { padding: 24px; }
    .fortana-cta         { padding: 30px; }
    .fortana-cta h2      { font-size: 24px; }
}


/* -----------------------------------------------------------------
   RESPONSIVE — fbs-* componenten
   ----------------------------------------------------------------- */
@media (max-width: 1024px) {
    .fbs-body {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .fbs-toc {
        position: static;
        margin-bottom: 48px;
        padding: 24px;
        background: var(--grey-base);
        border: 1px solid var(--grey-border);
        border-radius: 8px;
    }
    .fbs-cta {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 40px 32px;
    }
}

@media (max-width: 768px) {
    .fbs-root    { padding: 32px 18px 60px; }
    .fbs-stats   { grid-template-columns: 1fr; }
    .fbs-stat {
        border-right: none;
        border-bottom: 1px solid var(--grey-border);
    }
    .fbs-stat:last-child { border-bottom: none; }
    .fbs-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .fbs-meta-item {
        padding: 0;
        border-right: none;
    }
    .fbs-finance         { padding: 26px 20px; }
    .fbs-finance-total-num { font-size: 34px; }
    .fbs-bar-legend      { grid-template-columns: 1fr; }
    .fbs-quote {
        margin: 36px 0;
        padding: 24px 20px 24px 40px;
    }
    .fbs-quote-text { font-size: 20px; }
    .fbs-cta        { padding: 32px 24px; }
    .fbs-cta h2     { font-size: 26px; }
    .fbs-path {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .fbs-footer { grid-template-columns: 1fr; }
}
/* =================================================================
   THEMA-AANVULLING — RECREATIEWONINGEN VERKOPEN
   Alleen componenten die nog niet in het bestaande fbs-* systeem stonden.
   Kopieer dit blok desgewenst als één geheel naar de onderkant van het CSS-bestand.
   ================================================================= */

.fbs-recreation .fbs-stats { grid-template-columns: repeat(4, 1fr); }
.fbs-recreation .fbs-first::first-letter {
    font-size: 64px; font-weight: 700; float: left; line-height: .9;
    padding: 6px 14px 0 0; color: var(--plum-base);
}
.fbs-recreation .fbs-path-tag {
    display: inline-block; margin: 0 0 10px; padding: 4px 10px;
    border-radius: 999px; background: var(--plum-base); color: #fff;
    font-size: 11px; font-weight: 600; letter-spacing: .04em;
}
.fbs-recreation .fbs-example,
.fbs-recreation .fbs-calc,
.fbs-recreation .fbs-keypoints {
    margin: 30px 0; padding: 32px; border: 1px solid var(--grey-border);
    border-radius: var(--radius-xl); background: var(--grey-white);
}
.fbs-recreation .fbs-example h3,
.fbs-recreation .fbs-keypoints h3 { margin: 0 0 8px; color: var(--navy-base); }
.fbs-recreation .fbs-example-sub { color: var(--navy-text) !important; font-size: 14px !important; }
.fbs-recreation .fbs-example table { width: 100%; border-collapse: collapse; margin: 0 0 22px; }
.fbs-recreation .fbs-example th,
.fbs-recreation .fbs-example td { padding: 11px 12px; border-bottom: 1px solid var(--grey-border); text-align: left; }
.fbs-recreation .fbs-example th { color: var(--navy-text); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.fbs-recreation .fbs-example td:last-child { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.fbs-recreation .fbs-example .fbs-total td { border-top: 2px solid var(--plum-base); color: var(--plum-base); font-weight: 700; }

.fbs-recreation .fbs-calc { background: linear-gradient(180deg, var(--grey-white), var(--grey-base)); }
.fbs-recreation .fbs-calc-intro { color: var(--navy-text); font-size: 15px; }
.fbs-recreation .fbs-calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.fbs-recreation .fbs-calc-inputs,
.fbs-recreation .fbs-calc-outputs { display: flex; flex-direction: column; gap: 16px; }
.fbs-recreation .fbs-calc-input label { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 8px; color: var(--navy-base); font-size: 13px; }
.fbs-recreation .fbs-calc-input .lbl-val { color: var(--plum-base); font-weight: 700; }
.fbs-recreation .fbs-calc-input input[type="range"] { width: 100%; accent-color: var(--plum-base); }
.fbs-recreation .fbs-calc-input .lbl-derived,
.fbs-recreation .fbs-calc-note { color: var(--navy-text); font-size: 12px; }
.fbs-recreation .fbs-calc-card { padding: 18px; border: 1px solid var(--grey-border); border-radius: var(--radius-lg); background: #fff; }
.fbs-recreation .fbs-calc-card h5 { margin: 0 0 10px; color: var(--navy-text); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.fbs-recreation .fbs-calc-row { display: flex; justify-content: space-between; gap: 18px; padding: 5px 0; color: var(--navy-text); font-size: 13px; }
.fbs-recreation .fbs-calc-row span:last-child { color: var(--navy-base); font-weight: 600; font-variant-numeric: tabular-nums; }
.fbs-recreation .fbs-calc-row.bold { margin-top: 5px; padding-top: 10px; border-top: 1px solid var(--grey-border); font-weight: 700; }
.fbs-recreation .fbs-calc-premium { padding: 20px; border-radius: var(--radius-lg); background: var(--plum-base); color: #fff; text-align: center; }
.fbs-recreation .fbs-calc-premium .lbl { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; opacity: .8; }
.fbs-recreation .fbs-calc-premium .big { display: block; margin: 6px 0 16px; color: #fff; font-size: 28px; font-weight: 700; }
.fbs-recreation .fbs-calc-cmp-row { display: grid; grid-template-columns: 78px 1fr 82px; gap: 10px; align-items: center; font-size: 12px; }
.fbs-recreation .fbs-calc-cmp-track { height: 10px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.2); }
.fbs-recreation .fbs-calc-cmp-fill { height: 100%; border-radius: inherit; transition: width .3s ease; }
.fbs-recreation .fbs-calc-cmp-fill.fortana { width: 100%; background: #fff; }
.fbs-recreation .fbs-calc-cmp-fill.spaar { width: 39%; background: rgba(255,255,255,.55); }
.fbs-recreation .fbs-calc-warning { display: none; margin-bottom: 14px; padding: 10px 14px; border: 1px solid var(--terra); border-radius: var(--radius-md); background: var(--sand-pale); color: var(--navy-base); font-size: 13px; }
.fbs-recreation .fbs-calc-warning.show { display: block; }

.fbs-recreation .fbs-keypoints ul { list-style: none; margin: 0; padding: 0; }
.fbs-recreation .fbs-keypoints li { position: relative; padding: 12px 0 12px 30px; border-bottom: 1px solid var(--grey-border); }
.fbs-recreation .fbs-keypoints li:last-child { border-bottom: 0; }
.fbs-recreation .fbs-keypoints li::before { content: "✓"; position: absolute; left: 0; color: var(--plum-base); font-weight: 700; }
.fbs-recreation .fbs-closing { margin-top: 40px; padding-top: 30px; border-top: 1px solid var(--sand-base); }
.fbs-recreation .fbs-disclaimer { color: var(--navy-text) !important; font-size: 12px !important; font-style: italic; }
.fbs-recreation .fbs-footer--links { grid-template-columns: 1fr; }
.fbs-recreation .fbs-footer--links a { color: var(--plum-base); font-weight: 600; text-decoration: none; }

@media (max-width: 1024px) {
    .fbs-recreation .fbs-stats { grid-template-columns: repeat(2, 1fr); }
    .fbs-recreation .fbs-stat:nth-child(2) { border-right: none; }
    .fbs-recreation .fbs-stat:nth-child(-n+2) { border-bottom: 1px solid var(--grey-border); }
}
@media (max-width: 768px) {
    .fbs-recreation .fbs-calc-grid { grid-template-columns: 1fr; }
    .fbs-recreation .fbs-example,
    .fbs-recreation .fbs-calc,
    .fbs-recreation .fbs-keypoints { padding: 22px; }
}
@media (max-width: 580px) {
    .fbs-recreation .fbs-stats { grid-template-columns: 1fr; }
    .fbs-recreation .fbs-stat { border-right: none; border-bottom: 1px solid var(--grey-border); }
    .fbs-recreation .fbs-stat:last-child { border-bottom: none; }
    .fbs-recreation .fbs-calc-cmp-row { grid-template-columns: 68px 1fr 72px; }
}


.fbs-recreation .fbs-calc-intro { color: var(--navy-text); font-size: 15px; }
.fbs-recreation .fbs-calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.fbs-recreation .fbs-calc-inputs,
.fbs-recreation .fbs-calc-outputs { display: flex; flex-direction: column; gap: 16px; }
.fbs-recreation .fbs-calc-input label { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 8px; color: var(--navy-base); font-size: 13px; }
.fbs-recreation .fbs-calc-input .lbl-val { color: var(--plum-base); font-weight: 700; }
.fbs-recreation .fbs-calc-input input[type="range"] { width: 100%; accent-color: var(--plum-base); }
.fbs-recreation .fbs-calc-input .lbl-derived,
.fbs-recreation .fbs-calc-note { color: var(--navy-text); font-size: 12px; }
.fbs-recreation .fbs-calc-card { padding: 18px; border: 1px solid var(--grey-border); border-radius: var(--radius-lg); background: #fff; }
.fbs-recreation .fbs-calc-card h5 { margin: 0 0 10px; color: var(--navy-text); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.fbs-recreation .fbs-calc-row { display: flex; justify-content: space-between; gap: 18px; padding: 5px 0; color: var(--navy-text); font-size: 13px; }
.fbs-recreation .fbs-calc-row span:last-child { color: var(--navy-base); font-weight: 600; font-variant-numeric: tabular-nums; }
.fbs-recreation .fbs-calc-row.bold { margin-top: 5px; padding-top: 10px; border-top: 1px solid var(--grey-border); font-weight: 700; }
.fbs-recreation .fbs-calc-premium { padding: 20px; border-radius: var(--radius-lg); background: var(--plum-base); color: #fff; text-align: center; }
.fbs-recreation .fbs-calc-premium .lbl { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; opacity: .8; }
.fbs-recreation .fbs-calc-premium .big { display: block; margin: 6px 0 16px; color: #fff; font-size: 28px; font-weight: 700; }
.fbs-recreation .fbs-calc-cmp-row { display: grid; grid-template-columns: 78px 1fr 82px; gap: 10px; align-items: center; font-size: 12px; }
.fbs-recreation .fbs-calc-cmp-track { height: 10px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.2); }
.fbs-recreation .fbs-calc-cmp-fill { height: 100%; border-radius: inherit; transition: width .3s ease; }
.fbs-recreation .fbs-calc-cmp-fill.fortana { width: 100%; background: #fff; }
.fbs-recreation .fbs-calc-cmp-fill.spaar { width: 39%; background: rgba(255,255,255,.55); }
.fbs-recreation .fbs-calc-warning { display: none; margin-bottom: 14px; padding: 10px 14px; border: 1px solid var(--terra); border-radius: var(--radius-md); background: var(--sand-pale); color: var(--navy-base); font-size: 13px; }
.fbs-recreation .fbs-calc-warning.show { display: block; }

.fbs-recreation .fbs-keypoints ul { list-style: none; margin: 0; padding: 0; }
.fbs-recreation .fbs-keypoints li { position: relative; padding: 12px 0 12px 30px; border-bottom: 1px solid var(--grey-border); }
.fbs-recreation .fbs-keypoints li:last-child { border-bottom: 0; }
.fbs-recreation .fbs-keypoints li::before { content: "✓"; position: absolute; left: 0; color: var(--plum-base); font-weight: 700; }
.fbs-recreation .fbs-closing { margin-top: 40px; padding-top: 30px; border-top: 1px solid var(--sand-base); }
.fbs-recreation .fbs-disclaimer { color: var(--navy-text) !important; font-size: 12px !important; font-style: italic; }
.fbs-recreation .fbs-footer--links { grid-template-columns: 1fr; }
.fbs-recreation .fbs-footer--links a { color: var(--plum-base); font-weight: 600; text-decoration: none; }

@media (max-width: 1024px) {
    .fbs-recreation .fbs-stats { grid-template-columns: repeat(2, 1fr); }
    .fbs-recreation .fbs-stat:nth-child(2) { border-right: none; }
    .fbs-recreation .fbs-stat:nth-child(-n+2) { border-bottom: 1px solid var(--grey-border); }
}
@media (max-width: 768px) {
    .fbs-recreation .fbs-calc-grid { grid-template-columns: 1fr; }
    .fbs-recreation .fbs-example,
    .fbs-recreation .fbs-calc,
    .fbs-recreation .fbs-keypoints { padding: 22px; }
}
@media (max-width: 580px) {
    .fbs-recreation .fbs-stats { grid-template-columns: 1fr; }
    .fbs-recreation .fbs-stat { border-right: none; border-bottom: 1px solid var(--grey-border); }
    .fbs-recreation .fbs-stat:last-child { border-bottom: none; }
    .fbs-recreation .fbs-calc-cmp-row { grid-template-columns: 68px 1fr 72px; }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Inter';
	font-display: auto;
	src: url('https://fortana.nl/wp-content/uploads/2026/05/Inter-VariableFont_opszwght.ttf') format('truetype');
}
/* End Custom Fonts CSS */