
  :root{
    --green-deep:#3D1710;
    --green-deeper:#2A0F0A;
    --limewash:#f0ead9;
    --oxblood:#8b2a1c;
    --oxblood-dark:#6e2015;
    --hay:#c79a3d;
    --soot:#1b1712;
    --line: rgba(240,234,217,0.18);
    --line-dark: rgba(27,23,18,0.15);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--limewash);
    color:var(--soot);
    font-family:'Work Sans', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3{
    font-family:'Bitter', serif;
    font-weight:700;
    letter-spacing:-0.01em;
    line-height:1.08;
  }
  .mono{ font-family:'IBM Plex Mono', monospace; letter-spacing:0.08em; text-transform:uppercase; }
  a{color:inherit; text-decoration:none;}
  ::selection{ background:var(--oxblood); color:var(--limewash); }
  ::-moz-selection{ background:var(--oxblood); color:var(--limewash); }
  img{display:block; max-width:100%; height:auto;}
  button{font-family:inherit;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}

  /* micro-animaties: zachte overgangen op alle interactieve elementen */
  nav.tabnav .tablink, .call-btn, .order-now-btn, .lang-btn,
  .btn-primary, .btn-ghost, .btn-ghost-dark, .jump-to-price,
  .form-submit, .cookie-accept, .cookie-reject, .foot-col a,
  .whatsapp-float, .status-badge, .mini-product, .farm-tags span{
    transition:transform 0.2s ease, background 0.2s ease, color 0.2s ease,
      border-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
  }
  .btn-primary:hover, .btn-ghost-dark:hover, .call-btn:hover,
  .order-now-btn:hover, .form-submit:hover, .cookie-accept:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(27,23,18,0.14);
  }
  .farm-tags span:hover{
    border-color:var(--oxblood); color:var(--oxblood); transform:translateY(-2px);
  }

  /* ---------- header / tab nav ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:var(--green-deep);
    border-bottom:1px solid var(--line);
  }
  .headbar{
    display:flex; align-items:center; justify-content:space-between;
    padding:12px 32px;
    max-width:1180px; margin:0 auto;
  }
  /* externe pagina in het menu — zelfde uitzicht als een gewone tab */
  nav.tabnav .tablink-extern{
    color:var(--limewash); opacity:0.75; font-size:0.88rem;
    font-weight:500; letter-spacing:0.02em; text-decoration:none;
    position:relative; padding:9px 14px; border-radius:2px; white-space:nowrap;
    transition:opacity .2s ease, background .2s ease;
  }
  nav.tabnav .tablink-extern:hover{opacity:1; background:rgba(240,234,217,0.06);}
  .brand{display:flex; align-items:center; gap:12px; flex:none;}
  /* witte omkadering op de wrapper, niet op de afbeelding:
     zo blijft de beeldverhouding onaangetast in elke browser */
  .brand picture{
    flex:none; display:block; line-height:0;
    background:#fff; padding:8px 14px; border-radius:2px;
  }
  .brand img{height:46px; width:auto; flex:none; display:block;}
  @media (max-width:1050px){
    .brand picture{padding:6px 10px;}
    .brand img{height:34px;}
  }
  nav.tabnav{display:flex; align-items:center; gap:6px;}
  @media (min-width:1051px){
    nav.tabnav{flex:1; margin-left:18px;}
    nav.tabnav .tablink[data-tab="webshop"]{
      margin-left:auto; font-size:0.78rem; padding:7px 10px; opacity:0.6;
    }
    nav.tabnav .tablink[data-tab="webshop"] .tag{font-size:0.5rem; padding:1px 4px; margin-left:5px;}
    nav.tabnav .tablink[data-tab="webshop"]:hover{opacity:0.95;}
  }
  nav.tabnav .tablink{
    color:var(--limewash); opacity:0.75; font-size:0.88rem;
    font-weight:500; letter-spacing:0.02em;
    position:relative; padding:9px 14px; border-radius:2px;
    white-space:nowrap;
  }
  nav.tabnav .tablink:hover{opacity:1; background:rgba(240,234,217,0.06);}
  nav.tabnav .tablink.active{opacity:1; color:var(--hay);}
  nav.tabnav .tablink.active::after{
    content:''; position:absolute; left:14px; right:14px; bottom:2px;
    height:2px; background:var(--hay); border-radius:1px;
  }
  @media (max-width:1050px){ nav.tabnav .tablink.active::after{ left:32px; right:32px; bottom:10px; } }
  nav.tabnav .tablink .tag{
    font-family:'IBM Plex Mono',monospace; font-size:0.58rem; letter-spacing:0.05em;
    background:var(--oxblood); color:var(--limewash); padding:1px 5px; border-radius:2px;
    margin-left:6px; text-transform:uppercase; vertical-align:middle;
  }
  .call-btn{
    background:var(--oxblood) !important; color:var(--limewash) !important;
    padding:9px 16px !important; border-radius:2px; font-weight:600; opacity:1 !important;
    font-size:0.86rem;
  }
  .call-btn:hover{background:var(--oxblood-dark) !important;}
  .navtoggle{
    display:none; background:none; border:none; color:var(--limewash); font-size:1.6rem; cursor:pointer;
    padding:8px; margin:-8px; line-height:1;
  }

  /* ---------- permanent order-now button ---------- */
  .order-now-btn{
    background:var(--hay); color:var(--soot); font-weight:700; font-size:0.85rem;
    padding:9px 18px; border-radius:2px; margin-left:0; flex-shrink:0;
    letter-spacing:0.02em; white-space:nowrap;
  }
  .order-now-btn:hover{background:#d9ab4a;}
  @media (max-width:1050px){ .order-now-btn{margin-left:6px; padding:8px 12px; font-size:0.78rem;} }

  /* ---------- language switch ---------- */
  .lang-switch{
    display:flex; align-items:center; gap:2px; margin-left:14px; flex-shrink:0;
    border:1px solid var(--line); border-radius:2px; overflow:hidden;
  }
  .lang-btn{
    background:transparent; border:none; color:var(--limewash); opacity:0.6;
    font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.04em;
    padding:6px 9px; cursor:pointer;
  }
  .lang-btn:hover{opacity:0.9;}
  .lang-btn.active{opacity:1; background:var(--oxblood); color:var(--limewash);}
  @media (max-width:1050px){
    .lang-switch{margin-left:8px;}
    .lang-btn{padding:10px 12px;}
  }

  @media (max-width:1050px){
    nav.tabnav{
      position:absolute; top:100%; left:0; right:0;
      background:var(--green-deep); flex-direction:column;
      align-items:flex-start; gap:0; border-top:1px solid var(--line);
      max-height:0; overflow:hidden; transition:max-height .3s ease;
    }
    nav.tabnav.open{max-height:420px; overflow-y:auto;}
    nav.tabnav .tablink, nav.tabnav .tablink-extern{width:100%; padding:18px 32px; border-bottom:1px solid var(--line); border-radius:0;}
    .call-btn{margin:16px 32px; display:inline-block;}
    .navtoggle{display:block;}
  }

  @media (max-width:380px){
    .headbar{padding:10px 16px;}
    .brand img{height:40px;}
    .order-now-btn{padding:7px 10px !important; font-size:0.72rem; margin-left:4px;}
    .lang-switch{margin-left:4px;}
    .lang-btn{padding:8px 8px; font-size:0.66rem;}
  }

  /* ---------- pages ---------- */
  .page{display:none;}
  .page.active{display:block; animation:pageIn .45s ease;}
  @keyframes pageIn{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);} }

  /* ---------- hero (home) ---------- */
  .hero{position:relative; background:var(--green-deeper); overflow:hidden;}
  .hero-img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    opacity:0.55;
  }
  .hero-gradient{
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(26,36,22,0.35) 0%, rgba(26,36,22,0.55) 45%, rgba(26,36,22,0.96) 100%);
  }
  .hero-inner{
    position:relative; z-index:2;
    padding:100px 32px 84px;
    max-width:1180px; margin:0 auto;
  }
  .eyebrow{
    color:#d9ab4a; font-family:'IBM Plex Mono',monospace; font-size:0.78rem;
    letter-spacing:0.16em; text-transform:uppercase; margin-bottom:22px; display:block;
    text-shadow:0 1px 3px rgba(0,0,0,0.35);
  }
  .hero h1{
    color:var(--limewash); font-size:clamp(2.6rem, 6.2vw, 5rem); max-width:900px; letter-spacing:-0.015em;
    hyphens:auto; overflow-wrap:break-word;
  }
  @media (max-width:480px){ .hero h1{ font-size:2.1rem; } }
  .hero h1 em{color:var(--hay); font-style:normal;}
  .hero p.lede{
    color:var(--limewash); opacity:0.86; max-width:560px; margin-top:22px; font-size:1.06rem;
  }
  .hero-ctas{display:flex; gap:16px; margin-top:34px; flex-wrap:wrap;}
  .btn-primary{
    background:var(--oxblood); color:var(--limewash); padding:14px 28px;
    border-radius:2px; font-weight:600; font-size:0.95rem; display:inline-block;
    border:1px solid var(--oxblood);
  }
  .btn-primary:hover{background:var(--oxblood-dark);}
  .btn-ghost{
    border:1px solid var(--line); color:var(--limewash); padding:14px 28px;
    border-radius:2px; font-weight:500; font-size:0.95rem; display:inline-block;
  }
  .btn-ghost:hover{border-color:var(--hay); color:var(--hay);}
  .btn-ghost-dark{
    border:1px solid var(--line-dark); color:var(--soot); padding:13px 26px;
    border-radius:2px; font-weight:500; font-size:0.92rem; display:inline-block;
  }
  .btn-ghost-dark:hover{border-color:var(--oxblood); color:var(--oxblood);}

  /* ---------- stamp signature element ---------- */
  .stamp{
    --size:150px;
    width:var(--size); height:var(--size);
    border-radius:50%;
    border:3px solid var(--oxblood);
    display:flex; align-items:center; justify-content:center;
    position:relative;
    color:var(--oxblood);
    transform:rotate(-11deg);
    opacity:0;
    animation:stampIn .9s cubic-bezier(.2,.8,.3,1) .35s forwards;
    flex-shrink:0;
  }
  .stamp::before{
    content:""; position:absolute; inset:7px; border-radius:50%;
    border:1px solid var(--oxblood);
  }
  .stamp-hero{position:absolute; right:6%; bottom:14%; z-index:3;}

  .status-badge{
    display:inline-flex; align-items:center; gap:5px;
    font-family:'IBM Plex Mono', monospace; font-size:0.66rem; letter-spacing:0.03em;
    padding:3px 9px; border-radius:20px; border:1px solid var(--line-dark);
    margin-left:14px; white-space:nowrap;
  }
  .status-badge .dot{ width:6px; height:6px; border-radius:50%; flex:none; }
  .status-badge.open{ color:#0d6b2f; border-color:#bfe3cc; background:#eef8f1; }
  .status-badge.open .dot{ background:#1fa04c; box-shadow:0 0 0 3px rgba(31,160,76,0.18); }
  .status-badge.closed{ color:#8a1f1f; border-color:#f0cccc; background:#fbeeee; }
  .status-badge.closed .dot{ background:#c23b3b; box-shadow:0 0 0 3px rgba(194,59,59,0.15); }
  /* naast het logo is er onder 700px geen plaats meer; daar toont de vaste onderbalk al "Bel nu" */
  @media (max-width:700px){ .status-badge{ display:none; } }

  .skip-link{
    position:absolute; left:-9999px; top:0; z-index:2000;
    background:var(--oxblood); color:var(--limewash); padding:12px 20px;
    border-radius:0 0 4px 0; font-weight:600; font-size:0.9rem;
  }
  .skip-link:focus{ left:0; }

  .copy-btn{
    background:none; border:none; cursor:pointer; padding:4px;
    color:var(--soot); opacity:0.5; display:inline-flex; flex:none;
    transition:opacity 0.2s ease, color 0.2s ease;
  }
  .copy-btn:hover{ opacity:1; color:var(--oxblood); }
  .copy-btn svg{ width:16px; height:16px; }
  .copy-btn.copied{ opacity:1; color:#1fa04c; }

  .vindons-grid{display:grid; grid-template-columns:1.5fr 1fr; gap:22px; margin-top:44px; align-items:stretch;}
  .vindons-grid figure{margin:0; position:relative; border-radius:4px; overflow:hidden; border:1px solid var(--line-dark);}
  .vindons-grid img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease;}
  .vindons-grid figure:hover img{transform:scale(1.03);}
  .vindons-grid figcaption{
    position:absolute; left:0; right:0; bottom:0; padding:14px 18px;
    background:linear-gradient(0deg, rgba(27,23,18,0.72), rgba(27,23,18,0));
    color:var(--limewash); font-size:0.88rem; font-weight:600;
  }
  @media (max-width:800px){ .vindons-grid{grid-template-columns:1fr;} }

  .reviews-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px;}
  .review-card{
    background:#FBF3E1; border:1px solid var(--line-dark); border-radius:4px;
    padding:28px 26px; display:flex; flex-direction:column; gap:14px;
  }
  .review-stars{color:var(--hay); font-size:1.05rem; letter-spacing:3px;}
  .review-text{flex:1; line-height:1.65; opacity:0.9; font-style:italic;}
  .review-name{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase; opacity:0.7;}
  @media (max-width:900px){ .reviews-grid{grid-template-columns:1fr;} }

  .faq-list{max-width:760px; margin:0 auto;}
  .faq-item{
    border:1px solid var(--line-dark); border-radius:4px;
    margin-bottom:14px; background:#FBF3E1; overflow:hidden;
  }
  .faq-item summary{
    list-style:none; cursor:pointer; padding:20px 54px 20px 22px;
    font-weight:700; font-size:1.02rem; position:relative;
    transition:background 0.2s ease;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:'+'; position:absolute; right:22px; top:50%;
    transform:translateY(-50%); font-family:'IBM Plex Mono',monospace;
    font-size:1.3rem; color:var(--oxblood); transition:transform 0.25s ease;
  }
  .faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg);}
  .faq-item summary:hover{background:rgba(139,42,28,0.05);}
  .faq-item .faq-answer{padding:0 22px 22px; opacity:0.9; line-height:1.65;}

  .stats-strip{ background:var(--oxblood); padding:44px 0; }
  .stats-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;
  }
  .stat-item{ display:flex; flex-direction:column; align-items:center; gap:4px; }
  .stat-number{
    font-family:'IBM Plex Mono', monospace; font-weight:700; font-size:2.4rem;
    color:var(--limewash); line-height:1;
  }
  .stat-label{
    font-size:0.82rem; color:rgba(255,255,255,0.82); letter-spacing:0.03em; text-transform:uppercase;
  }
  @media (max-width:700px){
    .stats-grid{ grid-template-columns:repeat(2,1fr); row-gap:32px; }
    .stat-number{ font-size:1.9rem; }
  }

  /* belknop naast de WhatsApp-knop; op smalle schermen staat hij al in de onderbalk */
  .call-float{
    position:fixed; right:94px; bottom:24px; z-index:999;
    width:58px; height:58px; border-radius:50%;
    background:var(--hay); color:var(--soot);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 4px 14px rgba(0,0,0,0.25);
    text-decoration:none; transition:transform 0.15s ease;
  }
  .call-float:hover{ transform:scale(1.08); }
  .call-float svg{ width:27px; height:27px; }
  .cookie-banner.show ~ .call-float{ bottom:104px; }
  @media (max-width:700px){
    .call-float{ display:none; }     /* staat al in de onderbalk */
  }

  .whatsapp-float{
    position:fixed; right:24px; bottom:24px; z-index:999;
    width:58px; height:58px; border-radius:50%;
    background:#25D366; display:flex; align-items:center; justify-content:center;
    box-shadow:0 4px 14px rgba(0,0,0,0.25);
    text-decoration:none; transition:transform 0.15s ease;
  }
  .whatsapp-float:hover{ transform:scale(1.08); }
  .whatsapp-float svg{ width:30px; height:30px; }
  @media (max-width:600px){ .whatsapp-float{ right:16px; bottom:16px; width:52px; height:52px; } .whatsapp-float svg{ width:26px; height:26px; } }
  .cookie-banner.show ~ .whatsapp-float{ bottom:104px; }
  @media (max-width:700px){ .cookie-banner.show ~ .whatsapp-float{ bottom:190px; } }

  .mobile-actionbar{
    display:none; position:fixed; left:0; right:0; bottom:0; z-index:90;
    background:var(--soot); border-top:1px solid var(--line);
    grid-template-columns:1fr 1fr;
  }
  .mobile-actionbar a{
    display:flex; align-items:center; justify-content:center; gap:8px;
    padding:15px 10px; color:var(--limewash); font-weight:700; font-size:0.95rem;
  }
  .mobile-actionbar a:first-child{ background:var(--oxblood); }
  .mobile-actionbar svg{ width:18px; height:18px; flex:none; }
  @media (max-width:700px){
    .mobile-actionbar{ display:grid; }
    body{ padding-bottom:52px; }
    .whatsapp-float{ bottom:70px !important; }
    .back-to-top{ bottom:130px !important; }
    .cookie-banner.show ~ .whatsapp-float{ bottom:244px !important; }
    .cookie-banner.show ~ .back-to-top{ bottom:304px !important; }
  }

  .back-to-top{
    position:fixed; right:24px; bottom:94px; z-index:998;
    width:44px; height:44px; border-radius:50%;
    background:var(--soot); color:var(--limewash); border:none; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 4px 14px rgba(0,0,0,0.2);
    opacity:0; visibility:hidden; transform:translateY(8px);
    transition:opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
  }
  .back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
  .back-to-top:hover{ background:var(--oxblood); }
  .back-to-top svg{ width:20px; height:20px; }
  .cookie-banner.show ~ .back-to-top{ bottom:174px; }
  @media (max-width:700px){ .cookie-banner.show ~ .back-to-top{ bottom:260px; } }
  @media (max-width:600px){ .back-to-top{ right:16px; bottom:80px; width:40px; height:40px; } }
  @media (max-width:1050px){ .stamp-hero{display:none;} }
  .stamp svg{position:absolute; inset:0; width:100%; height:100%;}
  .stamp-core{
    font-family:'Bitter',serif; font-weight:900; font-size:1.5rem; text-align:center; line-height:1;
  }
  .stamp-core span{
    display:block; font-family:'IBM Plex Mono',monospace; font-size:0.48rem;
    letter-spacing:0.08em; font-weight:500; margin-top:5px;
  }
  .stamp-sm{ --size:96px; }
  .stamp-sm .stamp-core{font-size:1.5rem;}
  .stamp-sm .stamp-core span{font-size:0.4rem; margin-top:2px;}
  @keyframes stampIn{
    0%{opacity:0; transform:rotate(-32deg) scale(1.5);}
    60%{opacity:1;}
    100%{opacity:1; transform:rotate(-11deg) scale(1);}
  }

  /* ---------- page-hero (non-home pages) ---------- */
  .page-hero{
    background:var(--green-deep); color:var(--limewash);
    padding:64px 0 58px; position:relative; overflow:hidden;
  }
  .page-hero h1{color:var(--limewash); font-size:clamp(2rem, 4vw, 3rem); max-width:680px;}
  .page-hero p{opacity:0.82; max-width:560px; margin-top:18px; font-size:1.02rem;}
  .page-hero-stamp{
    position:absolute; right:4%; top:50%; transform:translateY(-50%) rotate(-8deg);
    width:110px; height:110px; cursor:pointer; z-index:2; transition:transform .25s ease;
  }
  .page-hero-stamp:hover{transform:translateY(-50%) rotate(-8deg) scale(1.06);}
  .page-hero-stamp.pop{animation:stampPop .6s cubic-bezier(.34,1.56,.64,1);}
  @keyframes stampPop{
    0%{transform:translateY(-50%) rotate(-8deg) scale(1);}
    40%{transform:translateY(-50%) rotate(7deg) scale(1.3);}
    70%{transform:translateY(-50%) rotate(-10deg) scale(0.94);}
    100%{transform:translateY(-50%) rotate(-8deg) scale(1);}
  }
  @media (max-width:820px){ .page-hero-stamp{width:66px; height:66px; right:5%;} }

  /* ---------- section shells ---------- */
  section, .block{padding:112px 0;}
  @media (max-width:700px){ section, .block{padding:72px 0;} }
  .block-tight{padding:60px 0;}
  .section-dark{background:var(--green-deep); color:var(--limewash);}
  .section-dark h2{color:var(--limewash);}
  .section-oxblood{background:var(--oxblood); color:var(--limewash);}
  .section-oxblood h2{color:var(--limewash);}
  .kicker{
    font-family:'IBM Plex Mono',monospace; font-size:0.78rem; letter-spacing:0.16em;
    text-transform:uppercase; color:var(--oxblood); display:block; margin-bottom:16px;
  }
  .section-dark .kicker, .section-oxblood .kicker, .page-hero .kicker{color:var(--hay);}
  h2{font-size:clamp(1.9rem, 3.8vw, 3rem); max-width:720px; letter-spacing:-0.01em;}

  /* ---------- home: mini product teaser row ---------- */
  .mini-products{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line-dark); border:1px solid var(--line-dark); margin-top:44px;}
  .mini-product{
    background:var(--limewash); padding:34px 22px; text-align:center;
    display:flex; flex-direction:column; align-items:center; gap:14px;
    transition:transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
  }
  .mini-product:hover{
    transform:translateY(-6px);
    box-shadow:0 14px 28px rgba(27,23,18,0.12);
  }
  .mini-product:hover{background:#e7e0cd;}
  .mini-product .stamp-sm{margin:0 auto;}
  .product-icon{width:96px; height:96px; margin:0 auto; display:block; transition:transform 0.25s ease;}
  .product-icon-lg{width:150px; height:150px; margin:0;}
  @media (max-width:700px){ .product-icon-lg{margin:0 0 10px;} }
  .mini-product:hover .product-icon{transform:rotate(0deg) scale(1.06) !important;}
  .mini-product h3{font-size:1.05rem;}
  .mini-product span.fr{font-family:'IBM Plex Mono',monospace; font-size:0.68rem; opacity:0.55; text-transform:uppercase; letter-spacing:0.06em;}
  @media (max-width:900px){ .mini-products{grid-template-columns:repeat(2,1fr);} }

  /* ---------- home: teaser tiles (geboortelam / offerfeest) ---------- */
  .teaser-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line-dark); border:1px solid var(--line-dark); margin-top:20px;}
  .teaser-tile{background:var(--limewash); padding:44px 40px; position:relative;}
  .teaser-tile h3{font-size:1.5rem; margin:14px 0 12px;}
  .teaser-tile p{opacity:0.75; max-width:420px; margin-bottom:22px;}
  @media (max-width:820px){ .teaser-grid{grid-template-columns:1fr;} }

  /* ---------- fact list ---------- */
  .fact-list{
    list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding:0;
  }
  .fact-list li{
    background:#FBF3E1; border:1px solid var(--line-dark); border-top:3px solid var(--oxblood);
    border-radius:4px; padding:22px 22px 20px;
    display:flex; flex-direction:column; gap:8px;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .fact-list li:hover{ transform:translateY(-4px); box-shadow:0 12px 24px rgba(27,23,18,0.1); }
  @media (max-width:800px){ .fact-list{grid-template-columns:1fr;} }
  .fact-list .fact-label{font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.12em; color:var(--oxblood); text-transform:uppercase;}
  .fact-list .fact-val{font-weight:700; font-size:1.12rem; line-height:1.4;}

  /* ---------- over ons ---------- */
  .about-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:70px; align-items:start; margin-top:44px;}
  .about-grid p{max-width:520px; margin-bottom:18px; font-size:1.02rem;}
  @media (max-width:900px){ .about-grid{grid-template-columns:1fr; gap:40px;} }

  .values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:60px;}
  .value-card{background:var(--limewash); padding:32px 28px; border:1px solid var(--line-dark);}
  .value-card .vnum{font-family:'IBM Plex Mono',monospace; font-size:0.75rem; color:var(--oxblood);}
  .value-card h4{font-family:'Bitter',serif; font-size:1.15rem; margin:14px 0 8px;}
  .value-card p{font-size:0.92rem; opacity:0.75;}
  @media (max-width:820px){ .values-grid{grid-template-columns:1fr;} }

  /* ---------- assortiment: product detail rows ---------- */
  .product-row{
    display:grid; grid-template-columns:220px 1fr; gap:52px; align-items:start;
    padding:52px 0; border-bottom:1px solid var(--line-dark);
  }
  .product-row:first-child{padding-top:0;}
  .product-row .stamp{position:static; margin:0 auto;}
  .product-row h3{font-size:1.6rem; margin-bottom:4px;}
  .product-row .fr-name{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; opacity:0.55; text-transform:uppercase; letter-spacing:0.06em; display:block; margin-bottom:16px;}
  .product-tagline{font-family:'Bitter',serif; font-style:italic; font-weight:600; color:var(--oxblood); font-size:1.08rem; display:block; margin-bottom:14px;}
  .product-row p{max-width:640px; opacity:0.85; margin-bottom:16px;}
  .farm-tags{display:flex; flex-wrap:wrap; gap:8px;}
  .farm-tags span{
    font-family:'IBM Plex Mono',monospace; font-size:0.78rem; letter-spacing:0.03em;
    border:1px solid var(--line-dark); padding:7px 14px; border-radius:2px;
  }
  .jump-to-price{
    font-family:'IBM Plex Mono',monospace; font-size:0.82rem; font-weight:600; letter-spacing:0.03em;
    color:var(--oxblood); text-decoration:underline; display:inline-block; margin-top:6px;
  }
  .jump-to-price:hover{color:var(--oxblood-dark);}
  .price-col.highlight{animation:priceHighlight 1.8s ease;}
  @keyframes priceHighlight{
    0%{background:var(--hay); box-shadow:0 0 0 6px var(--hay);}
    100%{background:transparent; box-shadow:0 0 0 0 transparent;}
  }
  @media (max-width:700px){ .product-row{grid-template-columns:1fr; text-align:left;} .product-row .stamp{margin:0;} }

  /* ---------- offerfeest ---------- */
  .offer-inner{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
  .offer-inner p{opacity:0.92; max-width:480px;}
  .offer-stat{border:1px solid rgba(240,234,217,0.35); padding:34px 30px;}
  .offer-stat .num{font-family:'Bitter',serif; font-weight:900; font-size:3.2rem; line-height:1;}
  .offer-stat .lbl{font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; opacity:0.85; margin-top:10px; display:block;}
  @media (max-width:820px){ .offer-inner{grid-template-columns:1fr;} }

  /* ---------- geboortelam ---------- */
  .gb-grid{display:grid; grid-template-columns:1fr 0.75fr; gap:60px; align-items:start; margin-top:44px;}
  .gb-grid p{max-width:520px; margin-bottom:16px;}
  .gb-photo{position:relative; display:block; margin-top:26px;}
  .gb-photo-logo{position:absolute; top:14px; right:14px; width:38%; max-width:150px; display:block;}
  .gb-photo-logo img{width:100%; height:auto; display:block; border-radius:2px;
    box-shadow:0 2px 10px rgba(27,23,18,0.18);}
  .gb-photo img{width:100%; height:auto; display:block; border-radius:2px;}
  @media (max-width:820px){ .gb-photo{display:none;} }
  .gb-card{border:1px solid var(--line-dark); padding:34px 30px;}
  .gb-card h4{font-family:'IBM Plex Mono',monospace; font-size:0.76rem; letter-spacing:0.08em; text-transform:uppercase; opacity:0.6; margin-bottom:18px;}
  .gb-step{display:flex; gap:14px; margin-bottom:18px; align-items:flex-start;}
  .gb-step .n{font-family:'Bitter',serif; font-weight:900; color:var(--oxblood); font-size:1.1rem; flex-shrink:0;}
  .gb-step p{font-size:0.92rem; opacity:0.85; margin:0;}
  @media (max-width:900px){ .gb-grid{grid-template-columns:1fr;} }

  /* ---------- praktisch / contact ---------- */
  .practical-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; margin-top:44px;}
  .info-block{border-top:1px solid var(--line-dark); padding-top:24px; margin-bottom:30px;}
  .info-block h4{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; opacity:0.6; margin-bottom:12px;}
  .hours-row{display:flex; justify-content:space-between; font-size:0.96rem; padding:6px 0;}
  .hours-row.closed{opacity:0.5;}
  .map-frame{border:1px solid var(--line-dark); overflow:hidden; height:100%; min-height:340px;}
  .map-frame iframe{width:100%; height:100%; min-height:340px; border:0; filter:grayscale(0.3) contrast(1.05);}
  .map-frame .leaflet-container{background:#F0EAD9; font-family:'Work Sans',sans-serif;}
  .isla-pin{
    width:34px; height:34px; border-radius:50% 50% 50% 0; transform:rotate(-45deg);
    background:var(--oxblood); border:2px solid var(--limewash); box-shadow:0 2px 6px rgba(0,0,0,0.35);
    display:flex; align-items:center; justify-content:center;
  }
  .isla-pin::after{content:""; width:10px; height:10px; border-radius:50%; background:var(--limewash); transform:rotate(45deg);}
  .isla-popup{font-family:'Work Sans',sans-serif; font-size:0.88rem; line-height:1.4;}
  .isla-popup strong{font-family:'Bitter',serif; color:var(--oxblood); display:block; margin-bottom:2px;}
  .leaflet-popup-content-wrapper{border-radius:4px;}
  .leaflet-control-attribution{font-size:9px !important;}
  @media (max-width:900px){ .practical-grid{grid-template-columns:1fr;} }

  /* ---------- contact form ---------- */
  .contact-form-block{margin-top:90px; padding-top:70px; border-top:1px solid var(--line-dark);}
  .contact-form{max-width:640px; margin-top:36px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-bottom:26px;}
  .form-field{display:flex; flex-direction:column;}
  .form-field.full{grid-column:1 / -1;}
  .form-field label{
    font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.08em;
    text-transform:uppercase; opacity:0.6; margin-bottom:10px;
  }
  .form-field input, .form-field textarea{
    font-family:'Work Sans',sans-serif; font-size:1rem; color:var(--soot);
    background:transparent; border:none; border-bottom:1px solid var(--line-dark);
    padding:10px 2px; outline:none; transition:border-color .2s ease;
    resize:none;
  }
  .form-field input:focus, .form-field textarea:focus{border-bottom-color:var(--oxblood);}
  .form-field textarea{min-height:110px; line-height:1.5;}
  .form-submit-row{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
  .form-submit{
    background:var(--oxblood); color:var(--limewash); border:1px solid var(--oxblood);
    padding:14px 30px; border-radius:2px; font-weight:600; font-size:0.95rem; cursor:pointer;
    font-family:inherit;
  }
  .form-submit:hover{background:var(--oxblood-dark);}
  .form-note{font-size:0.82rem; opacity:0.55; max-width:340px;}
  .form-success{
    display:none; margin-top:20px; padding:14px 18px; border:1px solid var(--hay);
    font-size:0.9rem; color:var(--oxblood-dark);
  }
  .form-success.show{display:block;}
  .form-error{
    display:none; margin-top:20px; padding:14px 18px;
    border:1px solid var(--oxblood); background:rgba(139,42,28,0.07);
    font-size:0.9rem; color:var(--oxblood-dark);
  }
  .form-submit:disabled, .waitlist-form button:disabled{opacity:0.6; cursor:wait;}
  /* honeypot: onzichtbaar voor mensen, wel invulbaar voor bots */
  .hp-field{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
  @media (max-width:600px){ .form-row{grid-template-columns:1fr;} }


  /* ---------- versnijdingsdiagram lam ---------- */
  .cut-block{margin-top:70px; padding-top:50px; border-top:1px solid var(--line-dark);}
  .cut-layout{display:grid; grid-template-columns:1.3fr 1fr; gap:44px; align-items:start; margin-top:34px;}

  .cut-stage{
    position:relative; background:var(--green-deep); border-radius:3px;
    padding:26px 20px 14px; overflow:hidden;
    perspective:1300px; perspective-origin:50% 45%;
  }
  .cut-stage::after{
    content:""; position:absolute; inset:-10%; pointer-events:none;
    background:radial-gradient(90% 70% at 50% 18%, rgba(199,154,61,0.18), transparent 64%);
    transform:translate3d(var(--gx,0px), var(--gy,0px), -60px);
    transition:transform .6s cubic-bezier(.16,1,.3,1);
  }
  .cut-svg{
    width:100%; height:auto; display:block; touch-action:manipulation;
    transform-style:preserve-3d; will-change:transform;
    transition:transform .7s cubic-bezier(.16,1,.3,1);
  }

  .cut-region{
    fill:rgba(240,234,217,0.045); stroke:rgba(240,234,217,0.4); stroke-width:1.4;
    cursor:pointer; outline:none;
    transform-box:fill-box; transform-origin:center;
    transition:fill .45s cubic-bezier(.33,1,.68,1), stroke .45s ease,
               transform .7s cubic-bezier(.16,1,.3,1), filter .7s ease;
  }
  .cut-region:hover{fill:rgba(199,154,61,0.2); stroke:rgba(199,154,61,0.85);}
  .cut-region:focus-visible{stroke:var(--hay); stroke-width:2.4;}
  .cut-region.active{
    fill:url(#gActive); stroke:rgba(240,234,217,0.9); stroke-width:1.8;
    transform:scale(1.03) translateY(-3px);
    filter:drop-shadow(0 14px 26px rgba(0,0,0,0.55));
  }
  .cut-volume{fill:url(#gVol); pointer-events:none;}

  .cut-silhouette{fill:none; stroke:#f0ead9; stroke-width:2.4;
    stroke-linejoin:round; stroke-linecap:round; pointer-events:none;}
  .cut-solid{fill:none; stroke:#f0ead9; stroke-width:2.4;
    stroke-linejoin:round; stroke-linecap:round; pointer-events:none;}
  .cut-far{fill:none; stroke:rgba(240,234,217,0.28); stroke-width:1.8;
    stroke-linejoin:round; pointer-events:none;}
  .cut-ground{fill:none; stroke:rgba(240,234,217,0.22); stroke-width:1.4;}

  .cut-label{font-family:'IBM Plex Mono',monospace; font-size:12.5px; font-weight:500;
    letter-spacing:0.1em; fill:rgba(240,234,217,0.7); pointer-events:none;
    text-anchor:middle; transition:fill .3s ease;}
  .cut-label.on{fill:#fff;}
  .cut-label-v{font-size:10px; letter-spacing:0.1em;}
  .cut-label-s{font-size:11.5px;}
  .cut-title{font-family:'Bitter',Georgia,serif; font-size:23px; font-weight:900;
    letter-spacing:0.2em; fill:var(--hay); text-anchor:middle; pointer-events:none;}
  .cut-rule{stroke:rgba(199,154,61,0.5); stroke-width:1.2;}

  .cut-hint{font-size:0.72rem; opacity:0.45; text-align:center; margin-top:10px;
    color:var(--limewash); font-family:'IBM Plex Mono',monospace;
    letter-spacing:0.1em; text-transform:uppercase;}

  .cut-panel{background:#fff; border:1px solid var(--line-dark); border-radius:3px;
    padding:30px 32px; min-height:340px;}
  .cut-panel .eyebrow-sm{font-family:'IBM Plex Mono',monospace; font-size:0.7rem;
    letter-spacing:0.16em; text-transform:uppercase; color:var(--oxblood);
    display:block; margin-bottom:8px;}
  .cut-panel h3{font-size:1.7rem; line-height:1.15; margin-bottom:4px;}
  .cut-fr{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; opacity:0.55;
    letter-spacing:0.05em; display:block; margin-bottom:20px;}
  .cut-panel p{font-size:0.95rem; line-height:1.65; margin-bottom:16px;}
  #cutName, #cutFr, #cutDesc, #cutPortie, #cutPrices, #cutMeta{animation:cutIn .35s ease both;}
  @keyframes cutIn{from{opacity:0; transform:translateY(7px);} to{opacity:1; transform:none;}}

  .cut-portie{background:#f5efe0; border-left:3px solid var(--hay); border-radius:2px;
    padding:11px 14px; margin-bottom:18px; font-size:0.9rem;}
  .cut-portie .lbl{font-family:'IBM Plex Mono',monospace; font-size:0.66rem;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--oxblood);
    display:block; margin-bottom:3px;}
  .cut-portie:empty{display:none;}
  .cut-prices{list-style:none; margin:0 0 18px; padding:0; border-top:1px solid var(--line-dark);}
  .cut-prices li{display:flex; justify-content:space-between; gap:16px; padding:9px 0;
    border-bottom:1px solid var(--line-dark); font-size:0.92rem;}
  .cut-meta{display:flex; flex-wrap:wrap; gap:8px;}
  .cut-link{display:inline-block; margin-top:22px; font-size:0.86rem;
    color:var(--oxblood-dark); text-decoration:underline; text-underline-offset:3px;}
  .cut-link:hover{color:var(--oxblood);}
  .cut-meta span{font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.08em;
    text-transform:uppercase; background:#f0ead9; border:1px solid var(--line-dark);
    padding:5px 10px; border-radius:2px;}

  @media (max-width:900px){
    .cut-layout{grid-template-columns:1fr; gap:24px;}
    .cut-panel{min-height:0;}
  }
  @media (prefers-reduced-motion: reduce){
    .cut-svg, .cut-region{transition:none; animation:none;}
    .cut-region.active{transform:none;}
    #cutName, #cutFr, #cutDesc, #cutPortie, #cutPrices, #cutMeta{animation:none;}
  }

  /* ---------- prijslijst doorsturen ---------- */
  .deel-blok{margin-top:34px; padding-top:26px; border-top:1px solid var(--line-dark);}
  .deel-label{font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.16em;
    text-transform:uppercase; color:var(--oxblood); display:block; margin-bottom:12px;}
  .deel-knoppen{display:flex; flex-wrap:wrap; gap:10px;}
  .deel-btn{display:inline-flex; align-items:center; gap:9px; cursor:pointer;
    font-family:inherit; font-size:0.9rem; font-weight:500; text-decoration:none;
    padding:11px 18px; border-radius:2px; border:1px solid var(--line-dark);
    background:#fff; color:var(--soot); transition:background .2s ease, border-color .2s ease, transform .2s ease;}
  .deel-btn:hover{transform:translateY(-1px);}
  .deel-btn.wa{background:#25D366; border-color:#25D366; color:#fff;}
  .deel-btn.wa:hover{background:#1da851; border-color:#1da851;}
  .deel-btn.kopie:hover{border-color:var(--oxblood); background:#faf6ec;}
  .deel-btn.gelukt{border-color:#1fa04c; color:#0d6b2f; background:#eef8f1;}
  .deel-uitleg{font-size:0.82rem; opacity:0.55; margin-top:12px;}
  @media (max-width:520px){ .deel-btn{flex:1 1 100%; justify-content:center;} }

  /* ---------- melding bij feestdagen ---------- */
  .feestbanner{background:var(--hay); color:var(--soot);
    border-bottom:1px solid rgba(27,23,18,0.18);}
  .feestbanner[hidden]{display:none;}
  .feestbanner.dicht{background:var(--oxblood); color:#f6efe2; border-bottom-color:rgba(0,0,0,0.25);}
  .feestbanner.dicht .feestbanner-dag{background:rgba(255,255,255,0.18);}
  .feestbanner.dicht .feestbanner-sluit{color:#f6efe2;}
  .feestbanner-in{max-width:1180px; margin:0 auto; padding:11px 32px;
    display:flex; align-items:center; gap:14px;}
  .feestbanner-dag{font-family:'IBM Plex Mono',monospace; font-size:0.68rem;
    letter-spacing:0.14em; text-transform:uppercase; font-weight:500;
    background:rgba(27,23,18,0.12); padding:4px 9px; border-radius:2px; flex:none;}
  .feestbanner-tekst{font-size:0.92rem; line-height:1.4;}
  .feestbanner-sluit{margin-left:auto; flex:none; background:none; border:0;
    font-size:1.5rem; line-height:1; cursor:pointer; color:var(--soot);
    opacity:0.55; padding:0 4px; font-family:inherit;}
  .feestbanner-sluit:hover{opacity:1;}
  @media (max-width:700px){
    .feestbanner-in{padding:10px 18px; gap:10px; align-items:flex-start;}
    .feestbanner-tekst{font-size:0.85rem;}
  }

  /* ---------- cookie banner ---------- */
  .cookie-banner{
    position:fixed; left:0; right:0; bottom:0; z-index:100;
    background:var(--soot); color:var(--limewash);
    padding:20px 32px; display:none;
    box-shadow:0 -4px 18px rgba(0,0,0,0.25);
  }
  .cookie-banner.show{display:block;}
  .cookie-banner-inner{
    max-width:1180px; margin:0 auto; display:flex; align-items:center; justify-content:space-between;
    gap:24px; flex-wrap:wrap;
  }
  .cookie-banner p{font-size:0.9rem; opacity:0.85; max-width:640px; margin:0;}
  .cookie-banner-btns{display:flex; gap:12px; flex-shrink:0;}
  .cookie-accept{
    background:var(--oxblood); color:var(--limewash); border:1px solid var(--oxblood);
    padding:10px 22px; border-radius:2px; font-weight:600; font-size:0.88rem; cursor:pointer; font-family:inherit;
  }
  .cookie-accept:hover{background:var(--oxblood-dark);}
  .cookie-reject{
    background:transparent; color:var(--limewash); border:1px solid rgba(240,234,217,0.3);
    padding:10px 22px; border-radius:2px; font-weight:500; font-size:0.88rem; cursor:pointer; font-family:inherit;
  }
  .cookie-reject:hover{border-color:var(--limewash);}
  @media (max-width:700px){ .cookie-banner-inner{flex-direction:column; align-items:flex-start;} }

  /* ---------- price list ---------- */
  .price-block{margin-top:80px; padding-top:60px; border-top:1px solid var(--line-dark);}
  .price-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:44px; margin-top:40px;}
  .price-col h4{
    font-family:'Bitter',serif; font-size:1.2rem; margin-bottom:4px;
  }
  .price-col .price-fr{
    font-family:'IBM Plex Mono',monospace; font-size:0.72rem; opacity:0.5;
    text-transform:uppercase; letter-spacing:0.05em; display:block; margin-bottom:18px;
  }
  .price-list{list-style:none;}
  .price-list li{
    display:flex; justify-content:space-between; gap:14px; padding:10px 0;
    border-bottom:1px solid var(--line-dark); font-size:0.92rem;
  }
  .promo-tag{
    background:var(--hay); color:var(--soot); font-family:'IBM Plex Mono',monospace;
    font-size:0.62rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase;
    padding:2px 7px; border-radius:2px; margin-left:8px; vertical-align:middle;
  }
  .price-list li span:first-child{opacity:0.85;}
  .price-list li span:last-child{
    font-family:'IBM Plex Mono',monospace; font-weight:600; color:var(--oxblood); white-space:nowrap;
  }
  @media (max-width:900px){ .price-grid{grid-template-columns:1fr; gap:36px;} }

  /* ---------- webshop (in opbouw) ---------- */
  .webshop-wrap{
    display:flex; flex-direction:column; align-items:center; text-align:center;
    padding:70px 32px; max-width:640px; margin:0 auto;
  }
  .webshop-wrap .stamp{position:static; margin-bottom:30px;}
  .webshop-wrap h2{max-width:none;}
  .webshop-wrap p{opacity:0.75; margin:18px 0 30px; font-size:1.02rem;}
  .waitlist-block{margin-top:56px; padding-top:40px; border-top:1px solid var(--line-dark);}
  .waitlist-block h3{font-family:'Bitter',serif; font-weight:700; font-size:1.3rem; margin-bottom:8px;}
  .waitlist-block p{font-size:0.95rem; margin:0 0 20px;}
  .waitlist-form{display:flex; gap:10px; max-width:440px; margin:0 auto;}
  .waitlist-form input{
    flex:1; padding:13px 16px; border:1px solid var(--line-dark); border-radius:2px;
    font-family:'Work Sans',sans-serif; font-size:0.95rem; background:var(--limewash); color:var(--soot);
  }
  .waitlist-form input:focus{outline:none; border-color:var(--oxblood);}
  .waitlist-form .btn-primary{white-space:nowrap; border:none; cursor:pointer;}
  .waitlist-success{display:none; color:var(--oxblood); font-weight:600; margin-top:14px !important;}
  .waitlist-success.show{display:block;}
  @media (max-width:560px){ .waitlist-form{flex-direction:column;} }
  @media (max-width:600px){ .waitlist-form input{ font-size:16px; } }
  .progress-track{width:100%; max-width:360px; height:6px; background:var(--line-dark); border-radius:4px; overflow:hidden; margin-bottom:34px;}
  .progress-fill{width:64%; height:100%; background:var(--oxblood);}

  /* ---------- footer ---------- */
  footer{background:var(--soot); color:var(--limewash); padding:60px 0 28px;}
  .foot-top{display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap; padding-bottom:40px; border-bottom:1px solid rgba(240,234,217,0.14);}
  .foot-brand{display:flex; align-items:center; gap:14px; flex-direction:column; text-align:center; margin:0 auto;}
  .foot-brand img{height:44px; width:auto; border-radius:4px;}
  .foot-brand-name{font-family:'Bitter',serif; font-weight:900; font-size:1.2rem;}
  .foot-brand-tag{font-family:'IBM Plex Mono',monospace; font-size:0.68rem; opacity:0.55; letter-spacing:0.08em; margin-top:4px;}
  .foot-cols{display:grid; grid-template-columns:repeat(4,1fr); gap:32px; width:100%; text-align:center;}
  @media (max-width:900px){ .foot-cols{grid-template-columns:repeat(2,1fr); row-gap:40px;} }
  @media (max-width:520px){ .foot-cols{grid-template-columns:1fr;} }
  .foot-col h5{font-family:'IBM Plex Mono',monospace; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; opacity:0.55; margin-bottom:14px;}
  .foot-col p, .foot-col a{font-size:0.9rem; opacity:0.85; display:block; margin-bottom:6px;}
  .foot-col a:hover{opacity:1; color:var(--hay);}
  .foot-bottom{display:flex; flex-direction:column; justify-content:center; align-items:center; padding-top:24px; gap:8px; text-align:center;}
  .foot-bottom p{font-size:0.78rem; opacity:0.5;}
  .foot-stamp{display:flex; align-items:center; gap:10px; opacity:0.7; font-family:'IBM Plex Mono',monospace; font-size:0.7rem; letter-spacing:0.08em;}

  .reveal{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}

  /* ---------- ticker-band ---------- */
  .ticker{
    background:var(--soot); color:var(--limewash); overflow:hidden;
    padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  .ticker-track{
    display:flex; width:max-content;
    animation:ticker-scroll 36s linear infinite;
  }
  .ticker span{
    font-family:'IBM Plex Mono',monospace; font-size:0.78rem; letter-spacing:0.22em;
    text-transform:uppercase; white-space:nowrap; padding:0 28px; opacity:0.85;
  }
  .ticker span::after{ content:'\00B7'; color:var(--hay); margin-left:56px; }
  @keyframes ticker-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  @media (prefers-reduced-motion: reduce){
    .ticker-track{animation:none;}
    .reveal{opacity:1; transform:none; transition:none;}
  }

  /* ---------- korrel-textuur op donkere vlakken ---------- */
  .section-dark, .stats-strip, .hero{ position:relative; }
  .section-dark::before, .stats-strip::before{
    content:''; position:absolute; inset:0; pointer-events:none; opacity:0.35;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  .section-dark > .wrap, .stats-strip > .wrap{ position:relative; }

  /* ---------- boog-divider (vorm uit het logo) ---------- */
  .arc-divider{ display:block; width:100%; height:56px; margin-top:-1px; }
  .arc-divider path{ fill:var(--green-deep); }

  .reveal.in{opacity:1; transform:translateY(0);}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .stamp, .reveal, .page.active{animation:none !important; transition:none !important; opacity:1 !important; transform:none !important;}
  }
