:root {
      --paper: #f3eee8;
      --ink: #0c1824;
      --teal: #003040;
      --teal-mid: #005860;
      --lime: #80a018;
      --lime-ink: #4d640c;
      --muted: #5c6356;
      --line: #d4cdc2;
      --radius: 24px;
      --radius-s: 12px;
    }

    * { box-sizing: border-box; }
    html {
      scroll-behavior: smooth;
      scrollbar-width: thin;
      scrollbar-color: var(--lime) var(--paper);
    }
    ::-webkit-scrollbar {
      width: 12px;
      height: 12px;
    }
    ::-webkit-scrollbar-track {
      background: var(--paper);
    }
    ::-webkit-scrollbar-thumb {
      background: var(--lime);
      border: 2px solid var(--paper);
      border-radius: 999px;
    }
    ::-webkit-scrollbar-thumb:hover {
      background: var(--lime-ink);
    }
    ::-webkit-scrollbar-corner {
      background: var(--paper);
    }
    textarea {
      scrollbar-color: var(--lime) #fff;
    }
    textarea::-webkit-scrollbar-track {
      background: #fff;
    }
    textarea::-webkit-scrollbar-thumb {
      border-color: #fff;
    }
    ::selection { background: #d4e58a; color: var(--ink); }
    body {
      margin: 0;
      background: var(--paper);
      color: var(--ink);
      font: 18px/1.55 "Source Sans 3", system-ui, sans-serif;
    }
    a { color: inherit; }
    button, input, textarea { font: inherit; }

    .wrap {
      width: min(1800px, 94vw);
      margin-inline: auto;
    }

    .top {
      background: var(--lime);
      color: #fff;
      font-size: 0.95rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-align: center;
      padding: 0.55rem 1rem;
      text-transform: uppercase;
    }

    header {
      position: sticky;
      top: 0;
      z-index: 40;
      background: var(--paper);
      border-bottom: 1px solid var(--line);
    }
    .header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1.2rem;
      padding: 0.85rem 0;
    }
    .header-acties {
      display: flex;
      align-items: center;
      gap: 1.15rem;
    }
    .brand {
      display: flex;
      align-items: center;
      gap: 0.85rem;
      text-decoration: none;
    }
    .brand img {
      height: 64px;
      width: auto;
      display: block;
    }
    .brand strong {
      display: block;
      font-family: "IBM Plex Sans", sans-serif;
      font-weight: 600;
      font-size: 1.65rem;
      letter-spacing: -0.02em;
      line-height: 1;
    }
    .brand strong span { color: var(--lime); }
    .brand small {
      display: block;
      margin-top: 0.28rem;
      color: var(--muted);
      font-size: 0.88rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }
    .tel {
      display: flex;
      align-items: center;
      gap: 0.7rem;
      text-decoration: none;
      color: var(--teal);
      white-space: nowrap;
    }
    .tel-ico,
    .wa-ico {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      display: grid;
      place-content: center;
      flex: 0 0 auto;
    }
    .tel-ico {
      background: var(--lime);
      color: #fff;
      box-shadow: 0 0 0 5px rgba(128, 160, 24, 0.18);
    }
    .tel-ico svg,
    .wa-ico svg { width: 20px; height: 20px; fill: currentColor; }
    .tel-nr {
      font-family: "IBM Plex Sans", sans-serif;
      font-size: 1.35rem;
      font-weight: 600;
      letter-spacing: 0.03em;
    }
    .tel:hover .tel-nr { color: var(--lime); }
    .wa {
      display: flex;
      align-items: center;
      gap: 0.45rem;
      white-space: nowrap;
      text-decoration: none;
      color: var(--teal);
      font-family: "IBM Plex Sans", sans-serif;
      font-size: 1.08rem;
      font-weight: 600;
      letter-spacing: 0.01em;
    }
    .wa-ico {
      border: 2.5px solid var(--teal);
      color: var(--teal);
      background: rgba(0, 48, 64, 0.06);
    }
    .wa-ico svg { width: 22px; height: 22px; }
    .wa:hover { color: var(--lime); }
    .wa:hover .wa-ico { border-color: var(--lime); color: var(--lime); }

    .menu-btn {
      width: 46px;
      height: 46px;
      border: 0;
      background: transparent;
      cursor: pointer;
      display: grid;
      gap: 5px;
      place-content: center;
      padding: 0;
    }
    .menu-btn span {
      display: block;
      width: 22px;
      height: 2px;
      background: var(--teal);
    }
    .menu {
      position: fixed;
      inset: 0;
      z-index: 50;
      background: rgba(12, 24, 36, 0.4);
      opacity: 0;
      visibility: hidden;
      transition: 0.2s ease;
    }
    .menu.open { opacity: 1; visibility: visible; }
    .menu-panel {
      position: absolute;
      top: 0;
      right: 0;
      width: min(300px, 86vw);
      height: 100%;
      display: flex;
      flex-direction: column;
      background: var(--paper);
      padding: 1.1rem 1.25rem max(1.35rem, env(safe-area-inset-bottom));
      transform: translateX(100%);
      box-shadow: -12px 0 40px rgba(12, 24, 36, 0.12);
      transition: transform 0.25s ease;
      overflow-y: auto;
    }
    .menu.open .menu-panel { transform: none; }
    .menu-kop {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 0.55rem;
      margin-bottom: 1rem;
    }
    .menu-brand {
      display: flex;
      align-items: center;
      gap: 0.55rem;
      min-width: 0;
      text-decoration: none;
      color: var(--ink);
    }
    .menu-brand img {
      height: 46px;
      width: auto;
      display: block;
    }
    .menu-brand strong {
      font-family: "IBM Plex Sans", sans-serif;
      font-weight: 600;
      font-size: 1rem;
      letter-spacing: -0.02em;
      line-height: 1.05;
      text-transform: none;
    }
    .menu-brand strong span { color: var(--lime); }
    .menu-sluit {
      width: 40px;
      height: 40px;
      flex: 0 0 auto;
      border: 2.5px solid var(--teal);
      border-radius: 50%;
      background: rgba(0, 48, 64, 0.06);
      color: var(--teal);
      font-size: 1.35rem;
      line-height: 1;
      padding: 0;
      display: grid;
      place-content: center;
      cursor: pointer;
    }
    .menu-sluit:hover { border-color: var(--lime); color: var(--lime); }
    .menu nav a {
      display: block;
      padding: 0.95rem 0;
      border-bottom: 1px solid var(--line);
      text-decoration: none;
      font-weight: 700;
      font-size: 1.125rem;
      color: var(--teal);
    }
    .menu nav a:hover { color: var(--lime); }
    .menu-onder {
      display: flex;
      flex-direction: column;
      gap: 0.7rem;
      margin-top: auto;
      padding-top: 1.25rem;
    }
    .menu-bel,
    .menu-wa {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      width: 100%;
      padding: 0.85rem 1rem;
      border-radius: var(--radius-s);
      color: #fff;
      font-weight: 700;
      font-size: 1.05rem;
      text-decoration: none;
    }
    .menu-bel { background: var(--lime); }
    .menu-bel:hover { background: #6e8c12; color: #fff; }
    .menu-wa { background: #1da851; }
    .menu-wa:hover { background: #178a43; color: #fff; }
    .menu-bel svg,
    .menu-wa svg {
      width: 18px;
      height: 18px;
      fill: currentColor;
      flex: 0 0 auto;
    }
    .taal-keuze {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.4rem;
      margin: 0 0 0.85rem;
    }
    .taal-keuze button {
      font-family: inherit;
      font-size: 0.82rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      padding: 0.45rem 0;
      border-radius: 8px;
      border: 1px solid var(--line);
      background: transparent;
      color: var(--teal);
      cursor: pointer;
    }
    html:not([lang="en"]) #taal-nl,
    html[lang="en"] #taal-en {
      background: var(--lime);
      border-color: var(--lime);
      color: #fff;
    }
    .taal-keuze button:hover { border-color: var(--lime); }
    .taal-keuze button:focus-visible {
      outline: none;
      box-shadow: 0 0 0 3px rgba(128, 160, 24, 0.22);
    }
    .t-en { display: none; }
    html[lang="en"] .t-nl { display: none; }
    html[lang="en"] .t-en { display: inline; }
    .apps .t-nl,
    html[lang="en"] .apps .t-en {
      display: block;
      width: 100%;
    }
    body.menu-open { overflow: hidden; }

    .hero {
      display: grid;
      gap: 1.2rem;
      padding: 1.15rem 0 0.35rem;
      align-items: center;
    }
    .hero h1 {
      font-family: "IBM Plex Sans", sans-serif;
      font-weight: 600;
      font-size: clamp(2.35rem, 5.4vw, 3.45rem);
      line-height: 1.05;
      letter-spacing: -0.02em;
      margin: 0;
      padding-bottom: 0.55rem;
    }
    .hero h1::after {
      content: "";
      display: block;
      width: 2.35rem;
      height: 2px;
      background: var(--lime);
      margin-top: 0.85rem;
    }
    .hero h1 em {
      font-style: normal;
      color: var(--lime);
      font-size: 1.04em;
    }
    .hero h1 .bolt {
      width: 0.42em;
      height: 0.42em;
      fill: var(--lime);
      vertical-align: 0.12em;
      margin-left: 0.06em;
    }
    .lede {
      margin: 0.15rem 0 0;
      max-width: 28rem;
      font-size: 1.08rem;
      line-height: 1.55;
      color: var(--muted);
    }
    .hero-note {
      margin: 0.7rem 0 0;
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: 0.02em;
      color: var(--teal);
    }
    .hero-dagen {
      display: block;
      margin-top: 0.28rem;
    }
    .hero-rule { display: none; }
    .allin {
      margin-top: 0.35rem;
      padding: 0.15rem 0 0.1rem;
    }
    .allin-bus {
      display: block;
      width: min(100%, 340px);
      height: auto;
      color: var(--lime);
      margin: 0 0 0.65rem;
    }
    .allin-kicker {
      margin: 0;
      font-size: 0.82rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--teal);
    }
    .allin-word {
      margin: 0.06rem 0 0;
      font-family: "Source Serif 4", serif;
      font-weight: 600;
      font-size: clamp(3rem, 7vw, 4.1rem);
      line-height: 0.95;
      letter-spacing: -0.015em;
      color: var(--lime);
      text-transform: uppercase;
    }
    .allin-sub {
      margin: 0.4rem 0 0;
      font-size: 1.05rem;
      color: var(--muted);
      max-width: 22rem;
    }

    .voor {
      padding: 0.2rem 0 1.9rem;
    }
    .voor-kop {
      display: flex;
      justify-content: center;
      align-items: baseline;
      gap: 0.45em;
      margin: 0.85rem 0 0;
      font-size: 0.88rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--teal);
    }
    .apps {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 10.5rem));
      justify-content: center;
      gap: 1.35rem 1.15rem;
      max-width: 36rem;
      list-style: none;
      margin: 0 auto;
      padding: 0;
    }
    .apps li {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.42rem;
      min-width: 0;
      text-align: center;
      font-size: 1.02rem;
      font-weight: 600;
      color: var(--teal);
      hyphens: manual;
    }
    .apps svg {
      width: 38px;
      height: 38px;
      stroke: var(--teal);
      fill: none;
      stroke-width: 1.55;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    @media (max-width: 420px) {
      .apps { gap: 1.05rem 0.4rem; }
      .apps li { font-size: 0.92rem; }
      .apps svg { width: 34px; height: 34px; }
    }
    @media (min-width: 820px) {
      .apps {
        grid-template-columns: minmax(0, 1fr) max-content minmax(0, 1fr);
        align-items: center;
        column-gap: 2.6rem;
        row-gap: 0.95rem;
        width: 100%;
        max-width: none;
      }
      .apps li {
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        text-align: left;
        gap: 0.75rem;
        width: max-content;
        max-width: 100%;
      }
      .apps li:nth-child(3n+1) {
        flex-direction: row-reverse;
        justify-self: end;
        text-align: right;
      }
      .apps li:nth-child(3n+2) { justify-self: start; }
      .apps li:nth-child(3n) { justify-self: start; }
      .apps .t-nl,
      html[lang="en"] .apps .t-en {
        width: auto;
        white-space: nowrap;
      }
      .apps svg { flex: 0 0 auto; }
    }
    .voor p {
      margin: 1.3rem 0 0;
      font-size: 1.05rem;
      color: var(--muted);
      text-align: center;
    }
    .voor p b { color: var(--lime-ink); }
    .voor p::before {
      content: "✓ ";
      color: var(--lime);
      font-weight: 700;
    }
    .hint {
      margin: 0.85rem 0 0;
      font-size: 1rem;
      color: var(--muted);
    }
    form .hint { margin-bottom: 1rem; }
    .hint a {
      color: var(--lime-ink);
      font-weight: 700;
      text-underline-offset: 0.16em;
    }
    .hint a:hover { color: var(--teal); }
    .voor p.hint::before { content: none; }

    .blokken { padding: 0.6rem 0 2rem; border-top: 1px solid var(--line); }
    .kies, .prijs, .zwaar {
      padding: 0.4rem 0 1.2rem;
    }
    .kies {
      position: relative;
      margin-bottom: 0.5rem;
    }
    .kies h2, .prijs h2, .zwaar h2 {
      font-family: "IBM Plex Sans", sans-serif;
      font-size: 1.7rem;
      letter-spacing: -0.02em;
      line-height: 1.2;
      margin: 0 0 0.7rem;
      font-weight: 600;
    }
    .kies h2 .merk { color: var(--lime); }
    .kies ul, .prijs ul, .zwaar .inclusief ul {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .kies li {
      position: relative;
      padding: 0.5rem 0 0.5rem 1.4rem;
    }
    .kies li + li { border-top: 1px solid var(--line); }
    .kies li::before, .prijs li::before, .zwaar .inclusief li::before {
      content: "✓";
      position: absolute;
      left: 0;
      color: var(--lime);
      font-weight: 700;
    }
    .kies li b { display: block; font-size: 1.08rem; }
    .kies li > span { font-size: 1rem; color: var(--muted); }
    .kies-grid { display: block; }
    .schild { display: none; }

    .prijs { margin-bottom: 0.5rem; }
    .prijs h2 {
      color: var(--teal);
    }
    .bedrag {
      font-family: "Source Serif 4", serif;
      font-weight: 600;
      font-size: clamp(2.4rem, 6.5vw, 3.3rem);
      line-height: 1;
      margin: 0.15rem 0 0.1rem;
      color: var(--ink);
    }
    .prijs .bedrag {
      font-size: clamp(3.1rem, 7.5vw, 4.5rem);
      margin: 0 0 0.2rem;
    }
    .diepte {
      margin: 0 0 0.85rem;
      color: var(--muted);
      font-size: 1.05rem;
      line-height: 1.3;
    }
    .bedrag small {
      font-size: 0.26em;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--muted);
      vertical-align: 0.9em;
      margin-left: 0.12em;
    }
    .inclusief { margin: 0; }
    .zwaar .inclusief { margin-top: 0.85rem; }
    .prijs h3, .zwaar .inclusief h3 {
      font-size: 0.82rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      margin: 0 0 0.4rem;
      color: var(--teal);
    }
    .prijs ul, .zwaar .inclusief ul {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .prijs li, .zwaar .inclusief li {
      position: relative;
      padding: 0.28rem 0 0.28rem 1.3rem;
      color: var(--ink);
      font-size: 1.02rem;
    }

    .zwaar {
      display: grid;
      gap: 1.1rem;
      align-items: center;
      padding: 1.1rem 0 0;
      border-top: 1px solid var(--line);
    }
    .zwaar-pics {
      display: flex;
      gap: 0.6rem;
      align-items: center;
    }
    .zwaar-pics img {
      width: 112px;
      height: 112px;
      object-fit: cover;
      border-radius: 8px;
      border: 1px solid var(--line);
    }
    .zwaar p { margin: 0 0 0.35rem; color: var(--muted); }
    .zwaar .bedrag { font-size: clamp(2.6rem, 9vw, 3.6rem); margin: 0; color: var(--ink); }
    .zwaar .diepte { margin: 0.2rem 0 0; }

    .belbalk {
      background: var(--lime);
      color: #fff;
      padding: 0.85rem 0;
    }
    .belbalk .bel-inner {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: 0.85rem 1.6rem;
    }
    .bel-groep {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: 0.85rem 1.8rem;
    }
    .belbalk .bel-main { color: #fff; }
    .belbalk .bel-ico {
      background: #fff;
      color: var(--lime);
      width: 46px;
      height: 46px;
    }
    .belbalk .bel-label { color: #fff; }
    .belbalk .bel-nr { color: #fff; }
    .belbalk .bel-app { color: #fff; }
    .belbalk .bel-app .bel-ico {
      background: #fff;
      border: 0;
      color: var(--lime);
    }
    .belbalk .bel-app .bel-ico svg { width: 30px; height: 30px; }
    .belbalk .bel-app:hover { color: #fff; }
    .belbalk .bel-app:hover .bel-ico {
      background: #fff;
      border-color: #fff;
      color: #3f5609;
    }
    .belbalk .flourish {
      color: #fff;
      margin: 0;
    }

    .contact {
      padding: 1.4rem 0 2rem;
    }
    .contact-cta {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 1rem 1.8rem;
      margin-bottom: 1.1rem;
      padding: 0.2rem 0 1.15rem;
      border-bottom: 1px solid var(--line);
    }
    .bel-main {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      text-decoration: none;
      color: var(--ink);
    }
    .bel-ico {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      background: var(--lime);
      color: #fff;
      display: grid;
      place-content: center;
      flex: 0 0 auto;
    }
    .bel-ico svg { width: 18px; height: 18px; fill: currentColor; }
    .bel-label {
      display: block;
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--teal);
      line-height: 1;
    }
    .bel-nr {
      display: block;
      font-family: "IBM Plex Sans", sans-serif;
      font-weight: 600;
      font-size: clamp(2rem, 5vw, 2.7rem);
      letter-spacing: 0.01em;
      line-height: 1;
    }
    .flourish {
      font-family: "Source Sans 3", sans-serif;
      font-style: italic;
      font-weight: 600;
      font-size: 1.25rem;
      letter-spacing: 0;
      color: var(--lime);
      margin: 0;
    }
    .bel-app {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      color: var(--teal);
      text-decoration: none;
      font-size: 0.82rem;
      font-weight: 700;
    }
    .bel-app .bel-ico {
      background: rgba(0, 48, 64, 0.04);
      border: 2.5px solid var(--teal);
      color: var(--teal);
      width: 42px;
      height: 42px;
    }
    .bel-app .bel-ico svg { width: 20px; height: 20px; }
    .bel-app:hover { color: var(--lime); }
    .bel-app:hover .bel-ico { border-color: var(--lime); color: var(--lime); }

    .contact-inner {
      display: grid;
      gap: 0.85rem;
    }
    .contact-info {
      display: flex;
      flex-direction: column;
      padding: 0.2rem 0 0;
    }
    .info-tel {
      font-family: "IBM Plex Sans", sans-serif;
      font-weight: 600;
      font-size: clamp(2.15rem, 5vw, 2.65rem);
      letter-spacing: 0.01em;
      color: var(--ink);
      text-decoration: none;
      line-height: 1;
      margin: 0.15rem 0 0.4rem;
    }
    .info-tel:hover { color: var(--lime); }
    .info-sub {
      margin: 0 0 1.1rem;
      color: var(--lime);
      font-size: 0.9rem;
      font-weight: 600;
    }
    .contact h2, form h3 {
      font-family: "IBM Plex Sans", sans-serif;
      font-size: 1.85rem;
      letter-spacing: -0.02em;
      line-height: 1.15;
      margin: 0 0 0.8rem;
      font-weight: 600;
    }
    .contact-onder { margin-top: 0.35rem; }
    .facts {
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 1.05rem;
    }
    .facts li {
      display: flex;
      align-items: center;
      gap: 0.7rem;
      padding: 0.55rem 0;
      border-top: 1px solid var(--line);
    }
    .fact-ico {
      width: 34px;
      height: 34px;
      border-radius: 9px;
      border: 0;
      background: var(--teal);
      color: #fff;
      display: grid;
      place-items: center;
      flex: 0 0 auto;
    }
    .fact-ico svg { width: 17px; height: 17px; fill: currentColor; }
    .fact-ico svg.lijn {
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
    }
    .facts a { color: var(--teal); text-decoration: none; }
    .fact-trust { color: var(--lime-ink); font-weight: 700; }
    .socials {
      display: flex;
      gap: 0.55rem;
      margin: 0.9rem 0 0;
    }
    .social {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      border: 0;
      color: #fff;
      display: grid;
      place-items: center;
      text-decoration: none;
    }
    .social svg { width: 18px; height: 18px; fill: currentColor; }
    .social-fb { background: #1877f2; }
    .social-in { background: #0a66c2; }
    .social-fb:hover { background: #0d65d9; color: #fff; }
    .social-in:hover { background: #084e96; color: #fff; }

    form {
      color: var(--ink);
      padding: 0.2rem 0 0;
      position: relative;
    }
    form h3 { margin-bottom: 0.25rem; }
    .form-intro {
      margin: 0 0 1rem;
      font-size: 1.02rem;
      color: var(--muted);
    }
    .velden {
      display: grid;
      gap: 0.75rem 0.9rem;
    }
    .veld { margin: 0; }
    .veld-vol { grid-column: 1 / -1; }
    label {
      display: block;
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      margin: 0 0 0.32rem;
      color: var(--teal);
    }
    input, textarea {
      width: 100%;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--radius-s);
      padding: 0.78rem 0.95rem;
      color: var(--ink);
    }
    input::placeholder, textarea::placeholder { color: #9a9488; }
    .hp {
      position: absolute;
      width: 1px;
      height: 1px;
      margin: -1px;
      padding: 0;
      overflow: hidden;
      clip-path: inset(50%);
      border: 0;
    }
    input:hover, textarea:hover { border-color: #b7b09f; }
    input:focus, textarea:focus {
      outline: none;
      border-color: var(--lime);
      box-shadow: 0 0 0 3px rgba(128, 160, 24, 0.22);
    }
    input.mist {
      border-color: #c23b2e;
      background: #fff6f5;
    }
    input.mist:hover, input.mist:focus {
      border-color: #c23b2e;
      box-shadow: 0 0 0 3px rgba(194, 59, 46, 0.2);
    }
    textarea { min-height: 9rem; resize: vertical; }
    .send {
      width: 100%;
      margin-top: 1rem;
      background: var(--lime);
      color: #fff;
      border: 0;
      border-radius: var(--radius-s);
      font-family: inherit;
      font-size: 1.15rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      padding: 0.85rem 1rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.4rem;
      transition: background 0.15s ease, transform 0.15s ease;
    }
    .send svg { width: 18px; height: 18px; fill: currentColor; }
    .send:hover { background: #6e8c12; transform: translateY(-1px); }
    .send:active { transform: none; }
    .send.bezig,
    .send:disabled {
      background: #6e8c12;
      cursor: wait;
      transform: none;
    }
    .send.bezig:hover,
    .send:disabled:hover { background: #6e8c12; transform: none; }
    .wa-liever {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      gap: 0.55rem;
      margin: 0.7rem 0 0;
      padding: 0.9rem 1rem;
      color: #fff;
      font-weight: 700;
      font-size: 1.05rem;
      text-decoration: none;
      border: 0;
      border-radius: var(--radius-s);
      background: #1da851;
      transition: background 0.15s ease;
    }
    .wa-liever svg {
      width: 22px;
      height: 22px;
      fill: currentColor;
      flex: 0 0 auto;
    }
    .wa-liever:hover {
      background: #178a43;
      color: #fff;
    }
    .ok {
      display: none;
      margin-top: 0.7rem;
      padding: 0.65rem 0.75rem;
      background: #e5f0c8;
      color: var(--lime-ink);
      font-size: 1rem;
      border-radius: 8px;
    }
    .ok.toon { display: block; }
    .ok.fout {
      background: transparent;
      color: var(--teal);
      border: 1px solid var(--teal);
    }

    footer {
      background: var(--paper);
      border-top: 1px solid var(--line);
      padding: 1rem 0 1.2rem;
      font-size: 0.92rem;
      color: var(--teal);
    }
    .footer-inner { display: grid; gap: 0.7rem; }
    .claims {
      display: grid;
      gap: 0.45rem;
      margin: 0;
      padding: 0;
      list-style: none;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      font-size: 0.8rem;
    }
    .claims li { display: flex; align-items: center; gap: 0.4rem; }
    .claims svg { width: 16px; height: 16px; flex: 0 0 auto; }
    .copy { margin: 0; color: #5a6158; }
    .copy a { color: var(--teal); text-decoration: underline; text-underline-offset: 2px; }
    .pagina { padding: 2rem 0 3rem; }
    .pagina h1 {
      font-family: "IBM Plex Sans", sans-serif;
      font-size: clamp(2.1rem, 4.2vw, 2.9rem);
      font-weight: 600;
      line-height: 1.15;
      letter-spacing: -0.015em;
      margin: 0 0 0.4rem;
    }
    .pagina .lede-pagina { color: var(--muted); margin: 0 0 1rem; }
    .pagina .hoofdstukken {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem 1rem;
      margin: 0 0 0.4rem;
      max-width: 42rem;
    }
    .pagina .hoofdstukken a {
      color: var(--teal);
      font-weight: 600;
    }
    .wie-top {
      display: grid;
      gap: 1rem 1.25rem;
      align-items: center;
      max-width: 42rem;
      margin: 0.2rem 0 1.3rem;
    }
    .foto-plek {
      position: relative;
      width: 10.5rem;
      max-width: 100%;
      aspect-ratio: 4 / 5;
      border: 1px solid var(--line);
      border-radius: var(--radius-s);
      background: rgba(0, 48, 64, 0.05);
      overflow: hidden;
    }
    .foto-plek img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
    }
    .wie-naam {
      margin: 0;
      font-family: "IBM Plex Sans", sans-serif;
      font-weight: 600;
      font-size: 1.55rem;
      letter-spacing: -0.015em;
    }
    .wie-rol { margin: 0.25rem 0 0; color: var(--lime-ink); font-weight: 600; }
    .wie-lijst {
      margin: 0.3rem 0 1.2rem;
      padding: 0;
      list-style: none;
      max-width: 42rem;
    }
    .wie-lijst li {
      padding: 0.45rem 0 0.45rem 1.35rem;
      border-bottom: 1px solid var(--line);
      position: relative;
    }
    .wie-lijst li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.85rem;
      width: 0.45rem;
      height: 0.45rem;
      border-radius: 50%;
      background: var(--lime);
    }
    .slot { margin: 1.35rem 0 0.2rem; max-width: 42rem; }
    .slot-feit,
    .slot-klap {
      display: block;
      font-weight: 400;
      font-size: 1.05rem;
      line-height: 1.55;
      color: var(--ink);
    }
    @media (min-width: 720px) {
      .wie-top { grid-template-columns: 10.5rem 1fr; }
    }
    .pagina h2 {
      font-family: "IBM Plex Sans", sans-serif;
      font-weight: 600;
      font-size: 1.35rem;
      margin: 1.5rem 0 0.45rem;
      color: var(--teal);
    }
    .pagina p, .pagina li { max-width: 42rem; }
    .pagina ul { padding-left: 1.15rem; }
    .pagina .model {
      margin: 0.7rem 0 0.2rem;
      padding: 0.85rem 1rem;
      border: 1px solid var(--line);
      border-radius: var(--radius-s);
      max-width: 42rem;
    }
    .pagina .model p { margin: 0.35rem 0; }
    .pagina .model-bijschrift {
      margin: 1rem 0 0.35rem;
      max-width: 42rem;
      font-weight: 600;
    }
    .pagina .brief { padding: 1.25rem 1.35rem 1.45rem; }
    .pagina .brief .t-nl { display: block; }
    html[lang="en"] .pagina .brief .t-nl { display: none; }
    html[lang="en"] .pagina .brief .t-en { display: block; }
    .pagina .brief p { margin: 0.95rem 0; line-height: 1.55; }
    .pagina .brief .brief-kop { margin: 0 0 0.35rem; font-weight: 600; }
    .pagina .brief .brief-aan { margin: 1.15rem 0 1.25rem; line-height: 1.7; }
    .pagina .brief .brief-label { display: block; font-weight: 600; margin-bottom: 0.15rem; }
    .pagina .brief .brief-veld {
      margin: 1.15rem 0 0;
      padding: 0 0 1.65rem;
      border-bottom: 1px solid var(--line);
    }
    .pagina .brief .brief-veld.ruim { padding-bottom: 2.8rem; }
    .pagina .disclaimer {
      margin-top: 2rem;
      font-size: 1rem;
      color: var(--muted);
    }
    .vragen {
      max-width: 44rem;
      margin-top: 0.6rem;
      border-top: 1px solid var(--line);
    }
    .vraag { border-bottom: 1px solid var(--line); }
    .vraag summary {
      display: flex;
      align-items: center;
      gap: 1rem;
      padding: 1.05rem 0;
      cursor: pointer;
      list-style: none;
      font-family: "IBM Plex Sans", sans-serif;
      font-weight: 600;
      font-size: 1.18rem;
      line-height: 1.3;
      letter-spacing: -0.01em;
      color: var(--teal);
    }
    .vraag summary::-webkit-details-marker { display: none; }
    .vraag summary > span { flex: 1; min-width: 0; }
    .vraag summary::after {
      content: "";
      width: 14px;
      height: 14px;
      flex: 0 0 auto;
      background:
        linear-gradient(var(--lime), var(--lime)) center / 14px 1.5px no-repeat,
        linear-gradient(var(--lime), var(--lime)) center / 1.5px 14px no-repeat;
    }
    .vraag[open] summary::after {
      background: linear-gradient(var(--lime), var(--lime)) center / 14px 1.5px no-repeat;
    }
    .vraag summary:hover { color: var(--lime-ink); }
    .vraag summary:focus-visible {
      outline: none;
      box-shadow: 0 0 0 3px rgba(128, 160, 24, 0.22);
    }
    .vraag p {
      margin: 0 0 1.15rem;
      padding-right: 1.8rem;
    }

    @media (max-width: 980px) {
      .brand img { height: 52px; }
      .brand strong { font-size: 1.3rem; }
      .brand small { font-size: 0.78rem; }
      .tel-ico, .wa-ico { width: 42px; height: 42px; }
      .tel-nr { font-size: 1.12rem; }
      .header-inner { padding: 0.65rem 0; }
    }
    @media (max-width: 760px) {
      .wa-txt { display: none; }
    }
    @media (max-width: 560px) {
      .top {
        font-size: 0.72rem;
        letter-spacing: 0.05em;
        padding: 0.45rem 0.5rem;
      }
      .wa-txt { display: none; }
      .brand small { display: none; }
      .brand { gap: 0.55rem; }
      .brand img { height: 46px; }
      .brand strong { font-size: 1.2rem; }
      .header-inner {
        flex-wrap: wrap;
        row-gap: 0.55rem;
        padding: 0.65rem 0 0.7rem;
      }
      .header-acties {
        width: 100%;
        justify-content: space-between;
        gap: 0.5rem;
      }
      .tel-ico, .wa-ico { width: 40px; height: 40px; box-shadow: none; }
      .tel-nr { font-size: 1.15rem; letter-spacing: 0.02em; }
    }

    @media (min-width: 1100px) {
      .belbalk .bel-inner {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
      }
      .bel-groep {
        grid-column: 2;
        flex-wrap: nowrap;
        transform: translateX(-11rem);
      }
      .belbalk .flourish { grid-column: 3; justify-self: end; }
    }

    @media (min-width: 820px) {
      .hero {
        grid-template-columns: 1fr auto 1fr;
        column-gap: 2.8rem;
        row-gap: 0;
        padding: 1.8rem 0 0.35rem;
        align-items: stretch;
      }
      .hero-copy { grid-column: 1; grid-row: 1; align-self: center; }
      .hero-rule {
        display: block;
        width: 1px;
        grid-column: 2;
        grid-row: 1;
        align-self: stretch;
        background: var(--lime);
      }
      .allin { grid-column: 3; grid-row: 1; align-self: center; }
      .voor-kop {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-content: center;
        gap: 0;
        margin: 1.25rem 0 0;
      }
      .voor-l { padding-right: 0.7rem; }
      .voor-r { padding-left: 0.7rem; }
      .allin {
        margin-top: 0;
        justify-self: end;
        text-align: right;
        padding: 0;
        min-width: 23.5rem;
      }
      .allin-bus {
        width: 392px;
        margin-left: auto;
      }
      .allin-sub { margin-left: auto; }
      .allin-word { font-size: 4.15rem; }
      .rij {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.75rem;
        margin-bottom: 0.75rem;
        align-items: stretch;
      }
      .kies, .prijs { margin-bottom: 0; }
      .kies-grid { display: block; }
      .zwaar {
        grid-template-columns: auto 1fr;
        padding: 1.2rem 0 0;
      }
      .contact-inner {
        grid-template-columns: 1fr 1fr;
        gap: 2.2rem;
        align-items: stretch;
      }
      form {
        border-left: 1px solid var(--line);
        padding-left: 2.2rem;
      }
      .velden { grid-template-columns: 1fr 1fr; }
      .veld-naam { grid-column: 1; grid-row: 1; }
      .veld-tel { grid-column: 2; grid-row: 1; }
      .veld-plaats { grid-column: 1; grid-row: 2; }
      .veld-mail { grid-column: 2; grid-row: 2; }
      .footer-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
      }
      .claims {
        display: flex;
        gap: 1.3rem;
      }
    }

    .tel-ico, .wa-ico, .menu-btn, .facts a, .copy a, .info-tel, .bel-main, .bel-app, .social {
      transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
    }
    .menu-btn { border-radius: 8px; }
    .menu-btn:hover { background: rgba(128, 160, 24, 0.14); }
    .facts a:hover { color: var(--lime); }
    .copy a:hover { color: var(--lime); }
    header { background: var(--paper); }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition: none !important; }
    }
