

  :root{
    --ink:#232B35;
    --paper:#FFFFFF;
    --paper-dim:#F1E7D9;
    --sand:#F6ECDF;
    --teal-deep:#1E2530;
    --teal-mid:#7C9184;
    --gold:#E8CFA6;
    --coral:#C9925A;
    --line:#E7DDCF;
    --white:#FFFFFF;
    --surface:#FFFFFF;
    --radius:18px;
    --shadow: 0 10px 30px -12px rgba(30,25,15,0.14);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
  }
  html{overflow-x:hidden; max-width:100%;}
  body{
    margin:0;
    background:var(--surface);
    color:var(--ink);
    font-family:'Manrope',sans-serif;
    font-size:16px;
    line-height:1.5;
    overflow-x:hidden;
    max-width:100%;
  }
  h1,h2,h3{font-family:'Bricolage Grotesque',sans-serif; margin:0; font-weight:600; letter-spacing:-0.01em;}
  .mono{font-family:'JetBrains Mono',monospace;}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  button{font-family:inherit;}
  :focus-visible{outline:3px solid var(--coral); outline-offset:3px;}

  .wrap{max-width:1120px; margin:0 auto; padding:0 28px;}
  @media (max-width:640px){.wrap{padding:0 20px;}}

  /* ---------- NAV ---------- */
  .nav{
    position:sticky; top:0; z-index:50;
    background:transparent;
    padding:14px 20px 0;
  }
  .nav-inner{
    max-width:1260px; margin:0 auto; padding:12px 14px 12px 22px;
    display:flex; align-items:center; justify-content:space-between; gap:14px;
    background:var(--surface); border-radius:999px; border:1px solid var(--line);
    box-shadow:0 10px 30px -14px rgba(15,35,27,0.18);
    backdrop-filter:blur(10px);
  }
  html[data-theme="dark"] .nav-inner{box-shadow:0 10px 30px -14px rgba(0,0,0,0.5);}
  .logo{font-family:'Bricolage Grotesque',sans-serif; font-weight:600; font-size:1.25rem; display:flex; align-items:center; gap:6px;}
  .logo .dot{color:var(--coral);}
  .nav-links{display:flex; gap:18px; font-size:0.86rem; font-weight:500;}
  .nav-links a{text-decoration:none; opacity:0.8; transition:opacity .15s;}
  .nav-links a:hover{opacity:1;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    border-radius:999px; border:none; cursor:pointer;
    font-weight:600; font-size:0.92rem; padding:12px 22px;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn:hover{transform:translateY(-1px);}
  .btn-primary{background:var(--coral); color:var(--white); box-shadow:0 8px 18px -8px rgba(31,122,76,0.4);}
  .btn-dark{background:var(--teal-deep); color:var(--paper);}
  .btn-ghost{background:transparent; border:1.5px solid var(--ink); color:var(--ink);}
  .btn-sm{padding:9px 16px; font-size:0.85rem;}
  @media (max-width:760px){.nav-links{display:none;}}

  /* ---------- MOBIEL HAMBURGERMENU ---------- */
  .nav-hamburger{
    display:none; background:none; border:none; cursor:pointer; padding:8px;
    flex-direction:column; gap:4px; justify-content:center; align-items:center;
  }
  .nav-hamburger span{display:block; width:22px; height:2px; background:var(--ink); border-radius:2px; transition:transform .2s ease, opacity .2s ease;}
  .nav-hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .nav-hamburger.open span:nth-child(2){opacity:0;}
  .nav-hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
  .nav-mobile-panel{
    display:none; position:fixed; top:0; left:0; right:0; bottom:0; z-index:999;
    background:rgba(20,25,20,0.5); opacity:0; transition:opacity .2s ease;
  }
  .nav-mobile-panel.open{display:block; opacity:1;}
  .nav-mobile-sheet{
    position:absolute; top:0; right:0; bottom:0; width:min(320px,84vw);
    background:var(--surface); box-shadow:-10px 0 30px -10px rgba(0,0,0,0.3);
    padding:24px 22px; display:flex; flex-direction:column; gap:4px;
    transform:translateX(100%); transition:transform .25s ease;
    overflow-y:auto;
  }
  .nav-mobile-panel.open .nav-mobile-sheet{transform:translateX(0);}
  .nav-mobile-close{
    align-self:flex-end; background:none; border:none; cursor:pointer;
    font-size:1.4rem; padding:6px; margin-bottom:10px; opacity:0.6;
  }
  .nav-mobile-sheet a{
    text-decoration:none; color:var(--ink); font-size:1.02rem; font-weight:600;
    padding:14px 4px; border-bottom:1px solid var(--line);
  }
  .nav-mobile-sheet a.active{color:var(--coral);}
  .nav-mobile-sheet .btn{margin-top:16px; justify-content:center;}
  @media (max-width:760px){
    .nav-hamburger{display:flex;}
  }
  body.nav-mobile-open{overflow:hidden;}

  /* ---------- HERO ---------- */
  .hero{
    background:
      linear-gradient(180deg, rgba(15,35,27,0.72) 0%, rgba(15,35,27,0.88) 55%, var(--teal-deep) 100%),
      url('https://images.unsplash.com/photo-1771002382315-9be24abde4e4?auto=format&fit=crop&w=1800&q=80') center 60% / cover no-repeat;
    color:var(--paper);
    padding:88px 0 110px; position:relative; overflow:hidden;
  }
  .hero-inner{
    max-width:1120px; margin:0 auto; padding:0 28px;
    display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;
  }
  @media (max-width:900px){.hero-inner{grid-template-columns:1fr; gap:48px;}}
  .eyebrow{
    font-family:'JetBrains Mono',monospace; font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--gold); display:flex; align-items:center; gap:10px; margin-bottom:22px;
  }
  .eyebrow::before{content:''; width:22px; height:1px; background:var(--gold);}
  .hero h1{font-size:clamp(2.1rem, 4.6vw, 3.4rem); line-height:1.08; color:var(--white);}
  .hero h1 em{font-style:italic; color:var(--gold);}
  .hero p{margin-top:22px; font-size:1.08rem; max-width:46ch; opacity:0.86;}
  .hero-ctas{display:flex; gap:16px; margin-top:34px; flex-wrap:wrap; align-items:center;}
  .hero-ctas .link-more{font-size:0.9rem; text-decoration:underline; opacity:0.85;}

  /* boarding pass ticket visual */
  .ticket{
    background:var(--surface); color:var(--ink); border-radius:var(--radius);
    box-shadow:var(--shadow); position:relative; padding:22px 22px 18px;
    font-family:'JetBrains Mono',monospace;
  }
  .ticket::after{
    content:''; position:absolute; left:0; right:0; top:64%;
    border-top:1.5px dashed var(--line);
  }
  .ticket-row{display:flex; justify-content:space-between; align-items:baseline;}
  .ticket-city{font-family:'Bricolage Grotesque',sans-serif; font-weight:600; font-size:1.5rem;}
  .ticket-sub{font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; opacity:0.6; margin-top:2px;}
  .route-line{
    display:flex; align-items:center; gap:6px; margin:14px 0 4px; font-size:0.72rem; opacity:0.65;
  }
  .route-dot{width:6px; height:6px; border-radius:50%; background:var(--ink);}
  .route-dash{flex:1; border-top:1.5px dashed var(--line); position:relative;}
  .route-plane{font-size:0.9rem; transform:translateY(-1px);}
  .ticket-meta{display:flex; justify-content:space-between; margin-top:16px; font-size:0.78rem;}
  .ticket-meta .label{opacity:0.55; text-transform:uppercase; letter-spacing:0.05em; font-size:0.66rem; display:block; margin-bottom:3px;}
  .ticket-stamp{
    position:absolute; top:18px; right:20px; border:2px solid var(--coral); color:var(--coral);
    border-radius:50%; width:52px; height:52px; display:flex; align-items:center; justify-content:center;
    font-size:0.6rem; font-weight:700; text-align:center; line-height:1.05; transform:rotate(9deg); opacity:0.85;
  }

  /* ---------- DESTINATION PHOTO STRIP ---------- */
  .dest-strip{padding:36px 0 0;}
  .dest-strip-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
  @media (max-width:700px){.dest-strip-grid{grid-template-columns:1fr;}}
  .dest-photo{
    display:block; position:relative; height:220px; border-radius:16px; overflow:hidden;
    background-size:cover; background-position:center; box-shadow:var(--shadow);
  }
  .dest-photo::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(15,35,27,0) 40%, rgba(15,35,27,0.75) 100%);
  }
  .dest-photo-label{
    position:absolute; left:16px; bottom:14px; z-index:1; color:var(--white);
    font-family:'JetBrains Mono',monospace; font-size:0.82rem; font-weight:500;
  }

  /* ---------- POPULAIRE BESTEMMINGEN ---------- */
  .pop-dest{padding:56px 0 20px;}
  .pop-dest-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  @media (max-width:860px){.pop-dest-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.pop-dest-grid{grid-template-columns:1fr;}}
  .pop-card{
    display:block; text-decoration:none; color:var(--ink); background:var(--surface);
    border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:var(--shadow);
    transition:transform .15s ease;
  }
  .pop-card:hover{transform:translateY(-3px);}
  .pop-card-photo{height:190px; background-size:cover; background-position:center; position:relative;}
  .pop-card-price{
    position:absolute; top:14px; right:14px; background:var(--surface); font-family:'JetBrains Mono',monospace;
    font-size:0.76rem; font-weight:600; padding:5px 11px; border-radius:999px;
    box-shadow:0 4px 10px -4px rgba(0,0,0,0.35);
  }
  .pop-card-body{padding:16px 18px 18px;}
  .pop-card-body h3{font-size:1.05rem; margin-bottom:4px;}
  .pop-card-country{font-family:'JetBrains Mono',monospace; font-size:0.74rem; opacity:0.55; text-transform:uppercase; letter-spacing:0.03em;}
  .pop-card-match{
    margin-top:12px; display:inline-flex; align-items:center; gap:5px; font-size:0.76rem;
    background:var(--sand); padding:4px 10px; border-radius:999px; font-family:'JetBrains Mono',monospace;
  }
  .pop-dest-note{font-size:0.78rem; opacity:0.5; margin-top:22px; text-align:center;}

  /* ---------- PROBLEM MARQUEE ---------- */
  .problem{padding:64px 0 20px; text-align:center; background:var(--sand);}
  .problem p.lead{max-width:52ch; margin:14px auto 0; font-size:1.02rem; opacity:0.8;}
  .chip-row{
    display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:30px;
  }
  .chip{
    border:1.5px solid var(--line); border-radius:999px; padding:8px 16px;
    font-size:0.85rem; font-family:'JetBrains Mono',monospace; opacity:0.7;
  }
  .problem .punch{margin-top:30px; font-family:'Bricolage Grotesque',sans-serif; font-style:italic; font-size:1.3rem;}

  /* ---------- STEPS ---------- */
  .steps{padding:80px 0;}
  .section-head{max-width:56ch; margin-bottom:44px;}
  .section-head .kicker{font-family:'JetBrains Mono',monospace; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--teal-mid); margin-bottom:10px; display:block;}
  .section-head h2{font-size:clamp(1.6rem,3vw,2.3rem);}
  .steps-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  @media (max-width:800px){.steps-grid{grid-template-columns:1fr;}}
  .step-card{
    background:var(--surface); border-radius:var(--radius); padding:26px 24px 24px;
    border:1px solid var(--line); position:relative;
  }
  .step-card::before{
    content:''; position:absolute; top:22px; bottom:22px; left:-1px; width:1px;
    background:transparent;
  }
  .step-num{font-family:'JetBrains Mono',monospace; font-size:0.78rem; color:var(--coral); margin-bottom:14px; display:block;}
  .step-card h3{font-size:1.2rem; margin-bottom:8px;}
  .step-card p{font-size:0.92rem; opacity:0.75; margin:0;}

  /* ---------- DEMO SECTION ---------- */
  .demo{background:var(--teal-deep); color:var(--paper); padding:84px 0 96px;}
  .demo .section-head .kicker{color:var(--gold);}
  .demo .section-head h2{color:var(--white);}
  .progress-track{display:flex; gap:8px; margin:8px 0 40px;}
  .progress-step{
    flex:1; padding:12px 4px; text-align:center; font-family:'JetBrains Mono',monospace;
    font-size:0.72rem; text-transform:uppercase; letter-spacing:0.05em; border-bottom:2px solid rgba(243,239,225,0.25); opacity:0.5;
  }
  .progress-step.active{opacity:1; border-color:var(--gold); color:var(--gold);}
  .progress-step.done{opacity:0.85; border-color:var(--paper);}

  .demo-panel{
    background:var(--surface); color:var(--ink); border-radius:24px; padding:40px;
    box-shadow:0 30px 60px -25px rgba(0,0,0,0.5);
  }
  @media (max-width:640px){.demo-panel{padding:26px 20px;}}

  /* swipe deck */
  .deck-wrap{display:flex; flex-direction:column; align-items:center;}
  .deck{position:relative; width:280px; height:340px; margin:10px auto 24px;}
  .vibe-card{
    position:absolute; inset:0; background:var(--surface); border:1px solid var(--line);
    border-radius:20px; box-shadow:var(--shadow); display:flex; flex-direction:column;
    align-items:center; justify-content:center; cursor:grab; user-select:none;
    touch-action:none; transition:transform .25s ease, opacity .25s ease;
  }
  .vibe-card:active{cursor:grabbing;}
  .vibe-emoji{font-size:4rem; margin-bottom:14px;}
  .vibe-label{font-family:'Bricolage Grotesque',sans-serif; font-size:1.4rem; font-weight:600;}
  .vibe-hint{font-family:'JetBrains Mono',monospace; font-size:0.7rem; opacity:0.45; margin-top:10px;}
  .swipe-badge{
    position:absolute; top:22px; font-family:'JetBrains Mono',monospace; font-weight:700;
    font-size:0.95rem; padding:6px 14px; border-radius:8px; border:3px solid; opacity:0; transform:rotate(-8deg);
  }
  .swipe-badge.like{right:18px; color:var(--teal-mid); border-color:var(--teal-mid);}
  .swipe-badge.nope{left:18px; color:var(--ink); border-color:var(--ink); transform:rotate(8deg);}
  .deck-actions{display:flex; gap:20px; align-items:center;}
  .round-btn{
    width:56px; height:56px; border-radius:50%; border:1.5px solid var(--line); background:var(--surface);
    font-size:1.4rem; cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition:transform .15s;
  }
  .round-btn:hover{transform:scale(1.06);}
  .deck-dots{display:flex; gap:6px; margin-top:20px;}
  .deck-dot{width:6px; height:6px; border-radius:50%; background:var(--line);}
  .deck-dot.filled{background:var(--coral);}
  .skip-all{margin-top:16px; font-size:0.8rem; text-decoration:underline; opacity:0.6; background:none; border:none; cursor:pointer; font-family:inherit;}
  .liked-summary{font-family:'JetBrains Mono',monospace; font-size:0.8rem; text-align:center; margin-top:6px; opacity:0.6; min-height:1.2em;}

  /* form step 2 */
  .form-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px 28px;}
  @media (max-width:640px){.form-grid{grid-template-columns:1fr;}}
  .field label{display:block; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.05em; font-family:'JetBrains Mono',monospace; opacity:0.6; margin-bottom:8px;}
  .field select, .field input[type=text], .field input[type=month]{
    width:100%; padding:12px 16px; border:1.5px solid var(--line); border-radius:999px;
    background:var(--surface); font-family:'Manrope',sans-serif; font-size:0.95rem; color:var(--ink);
  }
  .segmented{display:flex; gap:8px; flex-wrap:wrap;}
  .seg-btn{
    padding:10px 14px; border-radius:10px; border:1.5px solid var(--line); background:var(--surface);
    cursor:pointer; font-size:0.88rem; display:flex; gap:6px; align-items:center;
  }
  .seg-btn.selected{border-color:var(--teal-mid); background:var(--teal-mid); color:var(--white);}
  .range-row{display:flex; align-items:center; gap:12px;}
  input[type=range]{flex:1; accent-color:var(--coral);}
  .range-val{font-family:'JetBrains Mono',monospace; font-weight:600; min-width:64px; text-align:right;}
  .toggle-pair{display:flex; gap:8px; margin-bottom:10px;}
  .form-actions{display:flex; justify-content:space-between; align-items:center; margin-top:32px;}
  .back-link{background:none; border:none; cursor:pointer; font-size:0.88rem; opacity:0.6; text-decoration:underline; font-family:inherit;}

  /* loading */
  .loading-state{text-align:center; padding:50px 10px;}
  .loading-spinner{
    width:44px; height:44px; border-radius:50%; border:3px solid var(--line); border-top-color:var(--coral);
    margin:0 auto 22px; animation:spin 0.9s linear infinite;
  }
  @keyframes spin{to{transform:rotate(360deg);}}
  .loading-text{font-family:'JetBrains Mono',monospace; font-size:0.88rem; opacity:0.65;}

  .error-state{text-align:center; padding:40px 10px;}
  .error-state p{opacity:0.75; margin-bottom:18px;}

  /* destination cards */
  .dest-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
  @media (max-width:820px){.dest-grid{grid-template-columns:1fr;}}
  .dest-card{
    background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:22px;
    position:relative; display:flex; flex-direction:column; gap:10px;
  }
  .dest-card .match{
    position:absolute; top:18px; right:18px; font-family:'JetBrains Mono',monospace;
    font-size:0.72rem; background:var(--paper-dim); padding:4px 9px; border-radius:999px;
  }
  .dest-emoji{font-size:2rem;}
  .dest-card h3{font-size:1.25rem;}
  .dest-tags{font-family:'JetBrains Mono',monospace; font-size:0.72rem; opacity:0.55; text-transform:uppercase; letter-spacing:0.03em;}
  .dest-reason{font-size:0.88rem; opacity:0.75; flex:1;}
  .dest-price{font-family:'JetBrains Mono',monospace; font-weight:600; font-size:1.05rem; padding-top:6px; border-top:1px dashed var(--line);}

  /* itinerary dashboard */
  .itin-header{
    display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:16px;
    padding-bottom:20px; border-bottom:1.5px dashed var(--line); margin-bottom:24px;
  }
  .itin-title{font-size:1.6rem;}
  .itin-route{font-family:'JetBrains Mono',monospace; font-size:0.85rem; opacity:0.65; margin-top:6px;}
  .itin-price-badge{font-family:'JetBrains Mono',monospace; background:var(--teal-deep); color:var(--paper); padding:10px 16px; border-radius:10px; font-size:0.9rem;}
  .price-note{font-size:0.68rem; opacity:0.6; margin-top:4px; text-align:right;}
  .day-card{
    border:1px solid var(--line); border-radius:14px; margin-bottom:12px; overflow:hidden; background:var(--surface);
  }
  .day-summary{
    padding:16px 20px; cursor:pointer; font-family:'Bricolage Grotesque',sans-serif; font-weight:600; font-size:1.05rem;
    display:flex; justify-content:space-between; align-items:center; list-style:none;
  }
  .day-summary::-webkit-details-marker{display:none;}
  .day-summary::after{content:'+'; font-family:'JetBrains Mono',monospace; font-size:1.1rem; opacity:0.5;}
  details[open] .day-summary::after{content:'–';}
  .day-items{padding:0 20px 18px;}
  .day-item{display:flex; gap:14px; padding:8px 0; font-size:0.9rem; border-top:1px solid var(--paper-dim);}
  .day-item:first-child{border-top:none;}
  .day-time{font-family:'JetBrains Mono',monospace; font-size:0.8rem; opacity:0.55; min-width:52px;}
  .itin-actions{display:flex; gap:12px; margin-top:26px; flex-wrap:wrap;}
  .itin-actions button[disabled]{opacity:0.55; cursor:not-allowed;}
  .mvp-note{font-size:0.78rem; opacity:0.55; margin-top:14px;}
  .restart-link{display:block; text-align:center; margin-top:26px; font-size:0.85rem; text-decoration:underline; opacity:0.6; background:none; border:none; cursor:pointer; font-family:inherit;}

  /* ---------- COMPARE ---------- */
  .compare{padding:84px 0;}
  .compare-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
  @media (max-width:820px){.compare-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.compare-grid{grid-template-columns:1fr;}}
  .compare-card{border:1px solid var(--line); border-radius:14px; padding:20px; background:var(--surface);}
  .compare-card h4{font-family:'Bricolage Grotesque',sans-serif; font-size:1.05rem; margin-bottom:6px;}
  .compare-card p{font-size:0.85rem; opacity:0.65; margin:0;}
  .compare-hero{grid-column:1 / -1; background:var(--teal-deep); color:var(--paper); border-radius:14px; padding:26px; margin-bottom:6px;}
  .compare-hero h4{color:var(--gold); font-family:'Bricolage Grotesque',sans-serif; font-size:1.2rem;}
  .compare-hero p{opacity:0.85; font-size:0.92rem;}

  /* ---------- PRICING ---------- */
  .pricing{padding:0 0 90px;}
  .pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  @media (max-width:820px){.pricing-grid{grid-template-columns:1fr;}}
  .price-card{
    background:var(--surface); border:1.5px solid var(--line); border-radius:20px; padding:28px;
    display:flex; flex-direction:column; position:relative;
  }
  .price-card.highlight{border-color:var(--coral); box-shadow:0 16px 30px -18px rgba(31,122,76,0.28);}
  .price-tag{font-family:'JetBrains Mono',monospace; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.05em; opacity:0.55;}
  .price-amount{font-family:'Bricolage Grotesque',sans-serif; font-size:2.1rem; margin:10px 0 4px;}
  .price-amount span{font-size:1rem; font-family:'Manrope',sans-serif; opacity:0.55;}
  .price-list{list-style:none; padding:0; margin:18px 0 24px; font-size:0.88rem;}
  .price-list li{padding:6px 0; opacity:0.8;}
  .price-list li::before{content:'— '; opacity:0.4;}

  /* ---------- PROFILE TEASER ---------- */
  .profile{padding:0 0 96px;}
  .profile-box{
    background:var(--sand); border-radius:24px; padding:48px; display:grid;
    grid-template-columns:1fr 1fr; gap:40px; align-items:center;
  }
  @media (max-width:820px){.profile-box{grid-template-columns:1fr; padding:32px 24px;}}
  .profile-box blockquote{
    font-family:'Bricolage Grotesque',sans-serif; font-style:italic; font-size:1.25rem; margin:0; line-height:1.4;
    border-left:3px solid var(--coral); padding-left:20px;
  }

  /* ---------- FOOTER ---------- */
  .footer-bottom{margin-top:20px; font-size:0.75rem; opacity:0.5; line-height:1.6;}

  /* ---------- SUBPAGE HERO ---------- */
  .page-hero{background:var(--teal-deep); color:var(--paper); padding:64px 0 56px; position:relative; overflow:hidden;}
  .page-hero .kicker{color:var(--gold);}
  .page-hero h1{color:var(--white); font-size:clamp(1.9rem,4vw,2.8rem); max-width:22ch;}
  .page-hero p{margin-top:16px; opacity:0.82; max-width:52ch; font-size:1.02rem;}
  .breadcrumb{font-family:'JetBrains Mono',monospace; font-size:0.78rem; opacity:0.6; margin-bottom:18px;}
  .breadcrumb a{text-decoration:none; opacity:0.9;}
  .breadcrumb a:hover{text-decoration:underline;}

  .nav-links a.active{opacity:1; border-bottom:2px solid var(--coral); padding-bottom:4px;}

  /* ---------- ZO WERKT HET: detailed flow ---------- */
  .flow-block{padding:70px 0; border-bottom:1px solid var(--line);}
  .flow-block:last-of-type{border-bottom:none;}
  .flow-inner{display:grid; grid-template-columns:0.9fr 1.1fr; gap:48px; align-items:center;}
  @media (max-width:860px){.flow-inner{grid-template-columns:1fr;}}
  .flow-inner.reverse .flow-visual{order:2;}
  .flow-num{font-family:'JetBrains Mono',monospace; color:var(--coral); font-size:0.85rem; margin-bottom:12px; display:block;}
  .flow-text h2{font-size:clamp(1.4rem,2.6vw,1.9rem); margin-bottom:14px;}
  .flow-text p{opacity:0.75; font-size:0.98rem; max-width:46ch;}
  .flow-list{list-style:none; padding:0; margin:20px 0 0;}
  .flow-list li{padding:8px 0 8px 26px; position:relative; font-size:0.92rem; opacity:0.85;}
  .flow-list li::before{content:'✓'; position:absolute; left:0; color:var(--coral); font-weight:700;}

  .chat-demo{background:var(--sand); border-radius:20px; padding:24px; display:flex; flex-direction:column; gap:12px;}
  .bubble{max-width:80%; padding:12px 16px; border-radius:14px; font-size:0.9rem; line-height:1.4;}
  .bubble.user{align-self:flex-end; background:var(--teal-deep); color:var(--paper); border-bottom-right-radius:4px;}
  .bubble.ai{align-self:flex-start; background:var(--surface); border:1px solid var(--line); border-bottom-left-radius:4px;}
  .bubble .tag{display:block; font-family:'JetBrains Mono',monospace; font-size:0.65rem; opacity:0.55; margin-bottom:4px; text-transform:uppercase;}

  .dashboard-preview{background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:22px; box-shadow:var(--shadow);}
  .dashboard-preview .dp-row{display:flex; justify-content:space-between; padding:9px 0; border-top:1px solid var(--paper-dim); font-size:0.88rem;}
  .dashboard-preview .dp-row:first-child{border-top:none;}
  .dashboard-preview .dp-label{opacity:0.55; font-family:'JetBrains Mono',monospace; font-size:0.72rem; text-transform:uppercase;}

  .cta-band{background:var(--teal-deep); color:var(--paper); padding:64px 0; text-align:center;}
  .cta-band h2{color:var(--white); font-size:clamp(1.5rem,3vw,2.1rem);}
  .cta-band p{opacity:0.8; max-width:46ch; margin:14px auto 26px;}

  /* ---------- WAAROM WIJ: match table ---------- */
  .match-table{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:36px 0;}
  @media (max-width:760px){.match-table{grid-template-columns:1fr;}}
  .match-card{border:1.5px solid var(--line); border-radius:16px; padding:22px; background:var(--surface); position:relative;}
  .match-card.best{border-color:var(--coral); box-shadow:var(--shadow);}
  .match-card .medal{font-size:1.4rem;}
  .match-card h4{font-family:'Bricolage Grotesque',sans-serif; font-size:1.1rem; margin:10px 0 4px;}
  .match-card .provider{font-family:'JetBrains Mono',monospace; font-size:0.72rem; opacity:0.55; text-transform:uppercase; margin-bottom:10px;}
  .match-card .m-price{font-family:'JetBrains Mono',monospace; font-weight:600; font-size:1.05rem;}
  .match-card .m-match{position:absolute; top:20px; right:20px; font-family:'JetBrains Mono',monospace; font-size:0.75rem; background:var(--sand); padding:4px 9px; border-radius:999px;}

  .positioning-quote{
    background:var(--teal-deep); color:var(--paper); border-radius:22px; padding:48px;
    text-align:center; margin:60px 0;
  }
  .positioning-quote p{font-family:'Bricolage Grotesque',sans-serif; font-size:clamp(1.2rem,2.6vw,1.7rem); max-width:34ch; margin:0 auto; line-height:1.3;}
  .positioning-quote span{color:var(--gold);}

  /* ---------- PRIJZEN: plan selection + mock checkout ---------- */
  .plan-note{background:var(--sand); border-radius:14px; padding:16px 20px; font-size:0.88rem; margin:0 0 36px; max-width:60ch;}
  .price-card .plan-select-btn{margin-top:auto; width:100%; text-align:center; justify-content:center;}
  .price-card ul.price-list{flex:1;}

  .checkout-overlay{
    position:fixed; inset:0; background:rgba(15,35,27,0.55); display:none;
    align-items:center; justify-content:center; z-index:100; padding:20px;
  }
  .checkout-overlay.open{display:flex;}
  .checkout-modal{
    background:var(--surface); border-radius:20px; padding:32px; max-width:420px; width:100%;
    box-shadow:0 30px 60px -25px rgba(0,0,0,0.5); position:relative;
  }
  .checkout-close{position:absolute; top:16px; right:18px; background:none; border:none; font-size:1.3rem; cursor:pointer; opacity:0.5;}
  .checkout-plan-badge{font-family:'JetBrains Mono',monospace; font-size:0.75rem; background:var(--sand); display:inline-block; padding:5px 11px; border-radius:999px; margin-bottom:14px;}
  .checkout-modal h3{font-size:1.3rem; margin-bottom:6px;}
  .checkout-modal .co-price{font-family:'JetBrains Mono',monospace; font-size:1.6rem; margin-bottom:20px;}
  .co-field{margin-bottom:14px;}
  .co-field label{display:block; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.04em; font-family:'JetBrains Mono',monospace; opacity:0.6; margin-bottom:6px;}
  .co-field input{width:100%; padding:11px 16px; border:1.5px solid var(--line); border-radius:999px; font-family:'Manrope',sans-serif; font-size:0.92rem;}
  .co-row{display:flex; gap:12px;}
  .co-disclaimer{font-size:0.72rem; opacity:0.55; margin:16px 0 18px; line-height:1.5;}
  .co-pay-btn{width:100%; justify-content:center;}
  .co-processing{text-align:center; padding:30px 0;}
  .co-success{text-align:center; padding:20px 0;}
  .co-success .check{width:52px; height:52px; border-radius:50%; background:var(--coral); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:1.6rem; margin:0 auto 16px;}

  /* ---------- AI RESEARCH CHATBOT ---------- */
  .chat-overlay{
    position:fixed; inset:0; background:rgba(15,35,27,0.55); display:none;
    align-items:center; justify-content:center; z-index:100; padding:20px;
  }
  .chat-overlay.open{display:flex;}
  .chat-modal{
    background:var(--surface); border-radius:22px; max-width:520px; width:100%; height:min(680px, 88vh);
    box-shadow:0 30px 60px -25px rgba(0,0,0,0.5); position:relative;
    display:flex; flex-direction:column; overflow:hidden;
  }
  .chat-head{
    background:linear-gradient(135deg, var(--teal-deep) 0%, #16352A 100%);
    color:var(--paper); padding:22px 54px 20px 22px; position:relative; flex-shrink:0;
    display:flex; align-items:center; gap:14px;
  }
  .chat-avatar{
    width:44px; height:44px; border-radius:50%; flex-shrink:0;
    background:linear-gradient(135deg, var(--coral), var(--teal-mid));
    display:flex; align-items:center; justify-content:center; font-size:1.25rem;
    box-shadow:0 4px 12px -4px rgba(0,0,0,0.4);
  }
  .chat-head-text h3{font-size:1.05rem; color:var(--white); font-family:'Bricolage Grotesque',sans-serif;}
  .chat-tier-badge{
    display:inline-flex; align-items:center; gap:6px; margin-top:5px;
    font-family:'JetBrains Mono',monospace; font-size:0.7rem; letter-spacing:0.02em;
    background:rgba(255,255,255,0.12); padding:3px 10px 3px 8px; border-radius:999px; color:var(--gold);
  }
  .chat-live-dot{width:6px; height:6px; border-radius:50%; background:var(--gold); display:inline-block; animation:pulseDot 1.6s infinite;}
  @keyframes pulseDot{0%,100%{opacity:1;} 50%{opacity:0.25;}}
  .chat-close{position:absolute; top:16px; right:18px; background:rgba(255,255,255,0.12); border:none; width:30px; height:30px; border-radius:50%; font-size:1rem; cursor:pointer; color:var(--white); opacity:0.85; display:flex; align-items:center; justify-content:center;}
  .chat-close:hover{opacity:1; background:rgba(255,255,255,0.2);}
  .chat-messages{
    flex:1; overflow-y:auto; padding:20px; display:flex; flex-direction:column; gap:12px; background:var(--sand);
  }
  .chat-messages .bubble{max-width:85%;}
  .chat-messages .bubble.ai{white-space:pre-wrap;}
  .chat-typing{display:flex; gap:4px; padding:12px 16px; background:var(--surface); border:1px solid var(--line); border-radius:14px; border-bottom-left-radius:4px; align-self:flex-start; width:fit-content;}
  .chat-typing span{width:6px; height:6px; border-radius:50%; background:var(--ink); opacity:0.35; animation:chatBlink 1.1s infinite;}
  .chat-typing span:nth-child(2){animation-delay:0.15s;}
  .chat-typing span:nth-child(3){animation-delay:0.3s;}
  @keyframes chatBlink{0%,80%,100%{opacity:0.25;} 40%{opacity:0.8;}}
  .chat-suggestions{display:flex; flex-wrap:wrap; gap:8px; padding:0 20px 14px; flex-shrink:0; background:var(--sand);}
  .chat-chip{
    font-size:0.78rem; padding:7px 12px; border-radius:999px; border:1px solid var(--line); background:var(--surface);
    cursor:pointer; font-family:'Manrope',sans-serif; transition:border-color .15s;
  }
  .chat-chip:hover{border-color:var(--coral);}
  .chat-input-row{display:flex; gap:10px; padding:14px 16px; border-top:1px solid var(--line); flex-shrink:0; background:var(--surface);}
  .chat-input-row input{
    flex:1; padding:11px 14px; border:1.5px solid var(--line); border-radius:999px; font-family:'Manrope',sans-serif; font-size:0.9rem;
  }
  .chat-input-row input:focus{border-color:var(--coral);}
  .chat-send{
    width:42px; height:42px; border-radius:50%; border:none; background:var(--coral); color:var(--white);
    cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0;
    transition:transform .15s;
  }
  .chat-send:hover{transform:scale(1.05);}
  .chat-send:disabled{opacity:0.5; cursor:not-allowed; transform:none;}


  /* ---------- LEGAL PAGES ---------- */
  .legal-disclaimer{
    background:var(--sand); border:1.5px solid var(--line); border-radius:14px;
    padding:18px 22px; font-size:0.88rem; line-height:1.55; margin-bottom:44px;
  }
  .legal-disclaimer strong{color:var(--coral);}
  .legal-toc{
    background:var(--surface); border:1px solid var(--line); border-radius:16px;
    padding:22px 26px; margin-bottom:50px;
  }
  .legal-toc h2{font-size:0.95rem; text-transform:uppercase; letter-spacing:0.04em; font-family:'JetBrains Mono',monospace; opacity:0.6; margin-bottom:14px;}
  .legal-toc ol{margin:0; padding-left:20px; columns:2; column-gap:30px;}
  @media (max-width:640px){.legal-toc ol{columns:1;}}
  .legal-toc li{margin-bottom:8px; font-size:0.9rem;}
  .legal-toc a{text-decoration:none; opacity:0.8;}
  .legal-toc a:hover{text-decoration:underline; opacity:1;}
  .legal-section{padding:38px 0; border-bottom:1px solid var(--line); scroll-margin-top:90px;}
  .legal-section:last-of-type{border-bottom:none;}
  .legal-section h2{font-size:1.3rem; margin-bottom:14px;}
  .legal-section h3{font-size:1.02rem; margin:20px 0 8px; font-family:'Manrope',sans-serif; font-weight:700;}
  .legal-section p{font-size:0.95rem; opacity:0.82; margin:0 0 12px; max-width:70ch;}
  .legal-section ul, .legal-section ol.legal-list{margin:0 0 14px; padding-left:22px; max-width:68ch;}
  .legal-section li{font-size:0.95rem; opacity:0.82; margin-bottom:6px;}
  .legal-updated{font-family:'JetBrains Mono',monospace; font-size:0.78rem; opacity:0.55; margin-top:6px;}
  .legal-contact{
    background:var(--teal-deep); color:var(--paper); border-radius:20px; padding:34px 36px; margin-top:20px;
  }
  .legal-contact h3{color:var(--white); font-family:'Bricolage Grotesque',sans-serif; font-size:1.15rem; margin-bottom:8px;}
  .legal-contact p{opacity:0.82; font-size:0.9rem; margin:0;}

  /* ---------- TESTIMONIALS ---------- */
  .testimonials{padding:80px 0;}
  .testimonials-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  @media (max-width:820px){.testimonials-grid{grid-template-columns:1fr;}}
  .testimonial-card{
    background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:26px;
    display:flex; flex-direction:column; gap:20px;
  }
  .testimonial-quote{font-family:'Bricolage Grotesque',sans-serif; font-size:1.02rem; line-height:1.45; margin:0;}
  .testimonial-person{display:flex; align-items:center; gap:12px;}
  .testimonial-avatar{
    width:40px; height:40px; border-radius:50%; flex-shrink:0; color:var(--white);
    display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace;
    font-size:0.82rem; font-weight:600;
  }
  .testimonial-person strong{display:block; font-size:0.9rem;}
  .testimonial-person span{display:block; font-size:0.78rem; opacity:0.55;}
  .testimonials-note{font-size:0.78rem; opacity:0.5; margin-top:24px; text-align:center;}

  /* ---------- NEWSLETTER BAND ---------- */
  .newsletter-band{background:var(--sand); padding:56px 0;}
  .newsletter-inner{
    display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
  }
  .newsletter-inner h2{font-size:clamp(1.25rem,2.4vw,1.6rem);}
  .newsletter-inner p{opacity:0.7; font-size:0.92rem; margin-top:6px; max-width:40ch;}
  .newsletter-form{display:flex; gap:10px; flex-wrap:wrap;}
  .newsletter-form input{
    padding:12px 16px; border:1.5px solid var(--line); border-radius:999px; min-width:240px;
    font-family:'Manrope',sans-serif; font-size:0.9rem; background:var(--surface);
  }
  .newsletter-form input:focus{border-color:var(--coral);}
  .newsletter-thanks{font-family:'JetBrains Mono',monospace; font-size:0.9rem; color:var(--teal-mid);}

  /* ---------- FOOTER (expanded) ---------- */
  footer{background:var(--teal-deep); color:var(--paper); padding:64px 0 34px; position:relative; overflow:hidden;}
  .footer-watermark{
    position:absolute; left:-6px; bottom:-46px; font-family:'Bricolage Grotesque',sans-serif; font-weight:700;
    font-size:8.5rem; color:var(--paper); opacity:0.045; white-space:nowrap; pointer-events:none; letter-spacing:-0.02em;
  }
  @media (max-width:760px){.footer-watermark{display:none;}}
  .footer-grid{
    display:grid; grid-template-columns:1.2fr repeat(5, 1fr); gap:28px; position:relative; z-index:1;
    padding-bottom:34px; border-bottom:1px solid rgba(243,239,225,0.15);
  }
  @media (max-width:1080px){.footer-grid{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:760px){.footer-grid{grid-template-columns:repeat(2,1fr); gap:28px;}}
  @media (max-width:480px){.footer-grid{grid-template-columns:1fr;}}
  .footer-brand p{opacity:0.72; font-size:0.88rem; max-width:34ch; margin-top:12px; line-height:1.55;}
  .footer-col h4{font-family:'JetBrains Mono',monospace; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.05em; opacity:0.55; margin-bottom:14px;}
  .footer-col a{display:block; text-decoration:none; opacity:0.82; font-size:0.86rem; margin-bottom:10px;}
  .footer-col a:hover{opacity:1; text-decoration:underline;}
  .footer-credit{margin-top:6px; opacity:0.45; font-size:0.72rem;}
  .footer-credit a{color:inherit; text-decoration:underline; opacity:1;}

  /* ---------- CONTACT FORM ---------- */
  .contact-form{max-width:560px; margin-top:30px; display:grid; gap:18px;}
  .contact-form .field label{display:block; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.05em; font-family:'JetBrains Mono',monospace; opacity:0.6; margin-bottom:8px;}
  .contact-form input, .contact-form select, .contact-form textarea{
    width:100%; padding:12px 16px; border:1.5px solid var(--line); border-radius:999px;
    background:var(--surface); font-family:'Manrope',sans-serif; font-size:0.95rem; color:var(--ink);
  }
  .contact-form textarea{min-height:130px; resize:vertical;}
  .contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus{border-color:var(--coral);}
  .contact-success{background:var(--sand); border-radius:14px; padding:26px; font-family:'JetBrains Mono',monospace; font-size:0.9rem; color:var(--teal-mid); margin-top:30px;}

  /* ---------- TIP LIST (info pages) ---------- */
  .tip-list{list-style:none; margin:32px 0 0; padding:0;}
  .tip-item{display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--line);}
  .tip-item:first-child{border-top:1px solid var(--line);}
  .tip-icon{width:34px; height:34px; border-radius:10px; background:var(--sand); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:1rem;}
  .tip-content h3{font-size:1rem; margin-bottom:4px;}
  .tip-content p{font-size:0.9rem; opacity:0.72; margin:0; max-width:64ch;}

  /* ---------- SOON BADGE ---------- */
  .soon-badge{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.12); color:var(--gold); font-family:'JetBrains Mono',monospace; font-size:0.78rem; padding:6px 14px; border-radius:999px; margin-bottom:18px;}

  /* ---------- TOP10 LIST PAGES ---------- */
  .top10-list{list-style:none; margin:36px 0 0; padding:0; border-top:1px solid var(--line);}
  .top10-item{display:flex; align-items:flex-start; gap:18px; padding:22px 0; border-bottom:1px solid var(--line);}
  .top10-rank{
    width:36px; height:36px; border-radius:50%; background:var(--sand); color:var(--coral);
    font-family:'JetBrains Mono',monospace; font-weight:700; font-size:0.9rem;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .top10-content{flex:1; min-width:0;}
  .top10-content h3{font-size:1.08rem; margin-bottom:4px;}
  .top10-content h3 a{text-decoration:none; color:var(--ink);}
  .top10-content h3 a:hover{text-decoration:underline; color:var(--coral);}
  .top10-content p{font-size:0.9rem; opacity:0.72; margin:0; max-width:62ch;}
  .top10-cta{flex-shrink:0; align-self:center; white-space:nowrap;}
  @media (max-width:640px){
    .top10-item{flex-wrap:wrap;}
    .top10-cta{margin-left:54px;}
  }

  /* ---------- SEO TEXT BLOCK ---------- */
  .seo-text{padding:70px 0 90px; border-top:1px solid var(--line); margin-top:50px;}
  .seo-text h2{font-size:1.3rem; margin-bottom:16px;}
  .seo-text h3{font-size:1.05rem; font-family:'Bricolage Grotesque',sans-serif; margin:26px 0 10px;}
  .seo-text p{font-size:0.95rem; opacity:0.78; line-height:1.7; margin:0 0 16px; max-width:75ch;}

  /* ---------- INTRO / LEAD TEXT ---------- */
  .page-lead{font-size:1rem; opacity:0.78; max-width:70ch; margin:0 0 10px; line-height:1.6;}

  /* ---------- FOOTER v2 (scalable multi-column) ---------- */
  .footer-top-row{position:relative; z-index:1; padding-bottom:28px;}
  .footer-links-grid{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(140px,1fr)); gap:28px 24px;
    position:relative; z-index:1; padding-bottom:30px; border-bottom:1px solid rgba(243,239,225,0.15);
  }
  .footer-credit{font-size:0.78rem; opacity:0.65; margin-top:14px;}
  .footer-credit strong{opacity:1; font-weight:600;}

  /* ---------- CONTACT PAGE ---------- */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;}
  @media (max-width:820px){.contact-grid{grid-template-columns:1fr;}}
  .contact-form .co-field{margin-bottom:16px;}
  .contact-form label{display:block; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.04em; font-family:'JetBrains Mono',monospace; opacity:0.6; margin-bottom:6px;}
  .contact-form input, .contact-form select, .contact-form textarea{
    width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:10px;
    font-family:'Manrope',sans-serif; font-size:0.92rem; background:var(--surface); color:var(--ink);
  }
  .contact-form textarea{resize:vertical; min-height:120px;}
  .contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus{border-color:var(--coral);}
  .contact-info-card{background:var(--sand); border-radius:18px; padding:28px;}
  .contact-info-card h3{font-size:1.05rem; margin-bottom:10px;}
  .contact-info-card p{font-size:0.9rem; opacity:0.75; margin:0 0 18px; line-height:1.6;}
  .contact-info-row{display:flex; gap:10px; align-items:flex-start; font-size:0.88rem; margin-bottom:12px;}
  .contact-info-row .ci-label{font-family:'JetBrains Mono',monospace; font-size:0.72rem; opacity:0.55; text-transform:uppercase; min-width:80px;}
  .contact-success{background:var(--sand); border-radius:14px; padding:24px; text-align:center;}
  .contact-success .check{width:44px; height:44px; border-radius:50%; background:var(--coral); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin:0 auto 12px;}

  /* ---------- APP TEASER PAGE ---------- */
  .app-teaser{padding:70px 0; text-align:center;}
  .app-badge{display:inline-flex; align-items:center; gap:8px; background:var(--sand); padding:8px 16px; border-radius:999px; font-family:'JetBrains Mono',monospace; font-size:0.82rem; margin-bottom:20px;}
  .app-mock{
    max-width:280px; margin:40px auto 0; aspect-ratio:9/18; background:var(--teal-deep); border-radius:32px;
    border:6px solid var(--ink); box-shadow:var(--shadow); display:flex; flex-direction:column; align-items:center;
    justify-content:center; color:var(--paper); padding:24px; gap:14px;
  }
  .app-mock .app-icon{width:56px; height:56px; border-radius:16px; background:linear-gradient(135deg,var(--coral),var(--teal-mid)); display:flex; align-items:center; justify-content:center; font-size:1.6rem;}
  .app-mock p{font-size:0.78rem; opacity:0.7; text-align:center;}
  .app-features{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:50px; text-align:left;}
  @media (max-width:760px){.app-features{grid-template-columns:1fr;}}
  .app-feature{background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:22px;}
  .app-feature h3{font-size:1rem; margin-bottom:6px;}
  .app-feature p{font-size:0.88rem; opacity:0.72; margin:0;}

  /* ---------- DARK MODE ---------- */
  html[data-theme="dark"]{
    --ink:#F3ECE2;
    --surface:#221E1A;
    --paper-dim:#2B2620;
    --sand:#292420;
    --teal-deep:#141210;
    --teal-mid:#9CAE9F;
    --gold:#E8CFA6;
    --coral:#D9A06E;
    --line:#3A342C;
    --shadow: 0 10px 30px -12px rgba(0,0,0,0.6);
  }
  html[data-theme="dark"] body{background:var(--surface);}
  html[data-theme="dark"] .nav{background:rgba(22,33,28,0.9);}
  html[data-theme="dark"] .checkout-overlay, html[data-theme="dark"] .chat-overlay{background:rgba(0,0,0,0.65);}
  html, body{transition:background-color .2s ease, color .2s ease;}
  * { transition: background-color .2s ease, border-color .2s ease, color .2s ease; }

  /* ---------- NAV UTILITY BUTTONS (theme + language) ---------- */
  .nav-utils{display:flex; align-items:center; gap:8px;}
  .icon-btn{
    width:38px; height:38px; border-radius:50%; border:1.5px solid var(--line); background:transparent;
    display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:1.05rem;
    color:var(--ink); flex-shrink:0;
  }
  .icon-btn:hover{border-color:var(--coral);}
  .lang-switcher{position:relative;}
  .lang-dropdown{
    position:absolute; top:48px; right:0; background:var(--surface); border:1px solid var(--line);
    border-radius:14px; box-shadow:var(--shadow); padding:6px; min-width:150px; display:none; z-index:60;
  }
  .lang-dropdown.open{display:block;}
  .lang-option{
    display:flex; align-items:center; gap:10px; width:100%; padding:9px 12px; border-radius:9px; border:none;
    background:transparent; cursor:pointer; font-family:'Manrope',sans-serif; font-size:0.88rem; color:var(--ink);
    text-align:left;
  }
  .lang-option:hover{background:var(--sand);}
  .lang-option.active{background:var(--sand); font-weight:600;}
  .lang-flag{font-size:1.1rem;}
  @media (max-width:760px){
    .nav-utils{gap:5px;}
    .nav-inner{padding:10px 8px 10px 16px; gap:6px;}
    .logo{font-size:1.05rem;}
    .icon-btn{width:33px; height:33px; font-size:0.95rem;}
  }
  @media (max-width:420px){
    .nav-inner .btn-sm{padding:8px 12px; font-size:0.76rem;}
    .lang-dropdown{right:-10px;}
  }

  /* ---------- BLOG ---------- */
  .blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:10px;}
  @media (max-width:860px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.blog-grid{grid-template-columns:1fr;}}
  .blog-card{
    display:block; text-decoration:none; color:var(--ink); background:var(--surface);
    border:1px solid var(--line); border-radius:18px; overflow:hidden; transition:transform .15s;
  }
  .blog-card:hover{transform:translateY(-3px);}
  .blog-card-img{height:150px; background-size:cover; background-position:center;}
  .blog-card-body{padding:18px 20px 20px;}
  .blog-card-tag{font-family:'JetBrains Mono',monospace; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--teal-mid); margin-bottom:8px; display:block;}
  .blog-card h3{font-size:1.05rem; margin-bottom:8px; line-height:1.3;}
  .blog-card p{font-size:0.86rem; opacity:0.72; margin:0;}
  .blog-meta{font-family:'JetBrains Mono',monospace; font-size:0.78rem; opacity:0.55; margin-top:10px; display:block;}
  .article-body{max-width:70ch; margin:0 auto;}
  .article-body h2{font-size:1.35rem; margin:38px 0 14px;}
  .article-body p{font-size:0.98rem; opacity:0.82; line-height:1.75; margin:0 0 18px;}
  .article-body ul{margin:0 0 18px; padding-left:22px;}
  .article-body li{font-size:0.98rem; opacity:0.82; line-height:1.7; margin-bottom:8px;}
  .article-meta{display:flex; gap:14px; align-items:center; font-family:'JetBrains Mono',monospace; font-size:0.8rem; opacity:0.6; margin-bottom:6px; flex-wrap:wrap;}
  .article-meta .dot{opacity:0.4;}

  /* ---------- TRUST STRIP ---------- */
  .trust-strip{padding:44px 0; border-bottom:1px solid var(--line);}
  .trust-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
  @media (max-width:760px){.trust-grid{grid-template-columns:repeat(2,1fr);}}
  .trust-item{display:flex; flex-direction:column; align-items:center; gap:10px;}
  .trust-icon{
    width:46px; height:46px; border-radius:50%; background:var(--sand); display:flex;
    align-items:center; justify-content:center; font-size:1.3rem;
  }
  .trust-item span{font-size:0.88rem; font-weight:600; max-width:20ch;}

  /* ---------- REISSTIJL ICON GRID ---------- */
  .style-picker{padding:64px 0;}
  .style-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:16px; margin-top:10px;}
  @media (max-width:900px){.style-grid{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:520px){.style-grid{grid-template-columns:repeat(2,1fr);}}
  .style-card{
    display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center;
    padding:26px 14px; border-radius:18px; background:var(--sand); text-decoration:none; color:var(--ink);
    transition:transform .15s ease, background .15s ease;
  }
  .style-card:hover{transform:translateY(-3px); background:var(--paper-dim);}
  .style-card svg{width:36px; height:36px; stroke:var(--coral); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
  .style-card span{font-size:0.86rem; font-weight:600;}
  .style-picker-cta{text-align:center; margin-top:30px;}

  /* ---------- HERO FLOATING TAGS ---------- */
  .hero-tag{
    position:absolute; z-index:2; display:inline-flex; align-items:center; gap:6px;
    background:rgba(15,35,27,0.55); backdrop-filter:blur(6px); color:var(--white);
    font-family:'JetBrains Mono',monospace; font-size:0.76rem; padding:8px 14px;
    border-radius:999px; border:1px solid rgba(255,255,255,0.25);
  }
  html[data-theme="dark"] .hero-tag{background:rgba(0,0,0,0.5);}

  /* ---------- HERO SEARCH WIDGET ---------- */
  .hero-search-wrap{position:relative; z-index:5;}
  .hero-search{
    background:var(--surface); border-radius:24px; box-shadow:0 24px 50px -20px rgba(0,0,0,0.35);
    padding:22px 26px; margin-top:-56px; display:flex; align-items:flex-end; gap:16px; flex-wrap:wrap;
  }
  .hs-field{flex:1; min-width:150px; display:flex; flex-direction:column; gap:6px;}
  .hs-field label{
    font-family:'JetBrains Mono',monospace; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.04em;
    opacity:0.55; display:flex; align-items:center; gap:5px;
  }
  .hs-field input{
    border:none; border-bottom:1.5px solid var(--line); padding:6px 2px; font-family:'Manrope',sans-serif;
    font-size:0.95rem; background:transparent; color:var(--ink); border-radius:0;
  }
  .hs-field input:focus{border-color:var(--coral); outline:none;}
  .hs-divider{width:1px; align-self:stretch; background:var(--line); margin:0 2px;}
  @media (max-width:760px){.hs-divider{display:none;} .hero-search{margin-top:-36px;}}
  .hero-search .btn{flex-shrink:0; padding:14px 26px;}

  /* ---------- STATS BAR ---------- */
  .stats-bar{padding:72px 0 20px;}
  .stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
  @media (max-width:760px){.stats-grid{grid-template-columns:repeat(2,1fr); gap:32px;}}
  .stat-num{font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size:clamp(1.8rem,4vw,2.6rem); color:var(--coral);}
  .stat-label{font-size:0.86rem; opacity:0.65; margin-top:6px; max-width:20ch; margin-left:auto; margin-right:auto;}

  /* ---------- PAYMENT METHOD PICKER ---------- */
  .pay-method-list{display:flex; flex-direction:column; gap:10px; margin:18px 0 16px;}
  .pay-method-btn{
    display:flex; align-items:center; gap:14px; width:100%; padding:14px 16px;
    border:1.5px solid var(--line); border-radius:16px; background:var(--surface); cursor:pointer;
    text-align:left; transition:border-color .15s, transform .1s;
  }
  .pay-method-btn:hover{border-color:var(--coral); transform:translateY(-1px);}
  .pay-method-icon{font-size:1.5rem; flex-shrink:0;}
  .pay-method-text{flex:1; display:flex; flex-direction:column; gap:2px;}
  .pay-method-text strong{font-size:0.94rem;}
  .pay-method-text span{font-size:0.78rem; opacity:0.6;}
  .pay-method-arrow{opacity:0.4; font-size:1rem;}
  .pay-back{
    background:none; border:none; cursor:pointer; font-family:'JetBrains Mono',monospace; font-size:0.78rem;
    opacity:0.6; padding:0; margin-bottom:12px; display:block;
  }
  .pay-back:hover{opacity:1;}
  .bank-details{background:var(--sand); border-radius:14px; padding:16px 18px; display:flex; flex-direction:column; gap:10px;}
  .bank-row{display:flex; justify-content:space-between; align-items:center; font-size:0.88rem; gap:10px; padding:4px 0;}
  .bank-row span{opacity:0.6;}
  .bank-row strong{font-family:'JetBrains Mono',monospace; text-align:right;}
  .bank-row .copy-btn{padding:3px 8px; font-size:0.68rem;}

  /* ---------- KEUZEHULP (interactive quiz tool) ---------- */
  .quiz-section{padding:70px 0 90px;}
  .quiz-shell{
    max-width:640px; margin:0 auto; background:var(--surface); border:1px solid var(--line);
    border-radius:28px; box-shadow:0 30px 60px -30px rgba(30,25,15,0.25); overflow:hidden;
  }
  .quiz-progress{display:flex; gap:8px; padding:26px 32px 0;}
  .quiz-dot{flex:1; height:5px; border-radius:999px; background:var(--line); overflow:hidden;}
  .quiz-dot.filled{background:var(--coral);}
  .quiz-dot.current{background:linear-gradient(90deg, var(--coral) 50%, var(--line) 50%);}
  .quiz-body{padding:30px 32px 34px;}
  .quiz-step-label{font-family:'JetBrains Mono',monospace; font-size:0.76rem; text-transform:uppercase; letter-spacing:0.05em; color:var(--teal-mid); margin-bottom:10px; display:block;}
  .quiz-question{font-size:1.35rem; margin-bottom:22px;}
  .quiz-options{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  @media (max-width:480px){.quiz-options{grid-template-columns:1fr;}}
  .quiz-option{
    display:flex; align-items:center; gap:12px; padding:16px 18px; border:1.5px solid var(--line);
    border-radius:16px; background:var(--paper); cursor:pointer; text-align:left; font-family:'Manrope',sans-serif;
    font-size:0.95rem; font-weight:600; color:var(--ink); transition:border-color .15s, transform .1s, background .15s;
  }
  .quiz-option:hover{border-color:var(--coral); transform:translateY(-1px);}
  .quiz-option .qo-icon{font-size:1.4rem; flex-shrink:0;}
  .quiz-footer-nav{display:flex; justify-content:space-between; align-items:center; margin-top:24px;}
  .quiz-back{background:none; border:none; cursor:pointer; font-family:'JetBrains Mono',monospace; font-size:0.82rem; opacity:0.55; padding:0;}
  .quiz-back:hover{opacity:1;}
  .quiz-back:disabled{visibility:hidden;}
  .quiz-counter{font-family:'JetBrains Mono',monospace; font-size:0.78rem; opacity:0.5;}

  .quiz-intro{text-align:center; padding:44px 32px;}
  .quiz-intro-icon{font-size:2.6rem; margin-bottom:14px;}
  .quiz-intro h2{font-size:1.5rem; margin-bottom:10px;}
  .quiz-intro p{opacity:0.72; font-size:0.96rem; max-width:38ch; margin:0 auto 26px;}

  .quiz-loading{text-align:center; padding:60px 32px;}

  .result-wrap{padding:0;}
  .result-photo{height:260px; background-size:cover; background-position:center; position:relative;}
  .result-photo::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(30,25,15,0) 45%, rgba(30,25,15,0.65) 100%);}
  .result-badge{position:absolute; top:18px; left:18px; z-index:1; background:var(--coral); color:var(--white); font-family:'JetBrains Mono',monospace; font-size:0.76rem; padding:6px 13px; border-radius:999px;}
  .result-title-onphoto{position:absolute; bottom:16px; left:20px; z-index:1; color:var(--white);}
  .result-title-onphoto h2{font-size:1.6rem; color:var(--white);}
  .result-title-onphoto span{font-family:'JetBrains Mono',monospace; font-size:0.82rem; opacity:0.9;}
  .result-body{padding:26px 32px 32px;}
  .result-body p{opacity:0.78; font-size:0.95rem; margin:0 0 22px; line-height:1.6;}
  .result-actions{display:flex; gap:12px; flex-wrap:wrap;}
  .quiz-alts{margin-top:26px; padding-top:22px; border-top:1px solid var(--line);}
  .quiz-alts-label{font-family:'JetBrains Mono',monospace; font-size:0.76rem; text-transform:uppercase; letter-spacing:0.05em; opacity:0.5; margin-bottom:12px; display:block;}
  .quiz-alts-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  @media (max-width:480px){.quiz-alts-grid{grid-template-columns:1fr;}}
  .alt-card{display:block; text-decoration:none; color:var(--ink); border:1px solid var(--line); border-radius:14px; overflow:hidden;}
  .alt-card-img{height:80px; background-size:cover; background-position:center;}
  .alt-card-body{padding:10px 12px;}
  .alt-card-body strong{font-size:0.86rem; display:block;}
  .alt-card-body span{font-size:0.74rem; opacity:0.55;}

  /* ---------- DEST GRID (real photos) ---------- */
  .dest-photo-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:10px;}
  @media (max-width:860px){.dest-photo-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:520px){.dest-photo-grid{grid-template-columns:1fr;}}
  .dest-photo-card{display:block; text-decoration:none; color:var(--ink); border-radius:18px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); transition:transform .15s;}
  .dest-photo-card:hover{transform:translateY(-3px);}
  .dpc-img{height:190px; background-size:cover; background-position:center;}
  .dpc-body{padding:16px 18px;}
  .dpc-body h3{font-size:1.02rem; margin-bottom:3px;}
  .dpc-body span{font-family:'JetBrains Mono',monospace; font-size:0.74rem; opacity:0.55; text-transform:uppercase;}

  /* ---------- WEGWIJZER RESULT EXTRAS ---------- */
  .result-facts{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0 22px;}
  .result-fact{background:var(--sand); border-radius:12px; padding:12px 14px;}
  .rf-label{display:block; font-family:'JetBrains Mono',monospace; font-size:0.68rem; text-transform:uppercase; letter-spacing:0.04em; opacity:0.55; margin-bottom:3px;}
  .rf-value{display:block; font-size:0.88rem; font-weight:600;}
  .quiz-nextsteps{margin-top:20px; padding-top:20px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:8px;}
  .quiz-nextsteps a{font-size:0.86rem; text-decoration:none; color:var(--teal-mid); opacity:0.85;}
  .quiz-nextsteps a:hover{opacity:1; text-decoration:underline;}

  /* ---------- NL/EN LANGUAGE TOGGLE ---------- */
  .lang-switch{display:flex; align-items:center; gap:6px; font-family:'JetBrains Mono',monospace; font-size:0.8rem;}
  .lang-switch-btn{background:none; border:none; cursor:pointer; padding:6px 5px; opacity:0.45; font-weight:600; color:var(--ink); font-family:inherit; font-size:inherit;}
  .lang-switch-btn.active{opacity:1; color:var(--coral);}
  .lang-switch-btn:hover{opacity:0.8;}
  .lang-switch-sep{opacity:0.3;}

  /* ---------- PRETTIER THEME TOGGLE ---------- */
  .theme-btn{width:auto; height:auto; border:none; background:none; padding:0; border-radius:999px;}
  .theme-btn-track{
    display:flex; align-items:center; width:54px; height:30px; border-radius:999px;
    background:var(--sand); border:1px solid var(--line); position:relative; padding:2px;
    transition:background .25s ease;
  }
  .theme-btn-thumb{
    width:24px; height:24px; border-radius:50%; background:var(--surface); box-shadow:0 2px 6px rgba(0,0,0,0.2);
    display:flex; align-items:center; justify-content:center; font-size:0.8rem;
    transform:translateX(0); transition:transform .3s cubic-bezier(.4,1.6,.6,1);
  }
  html[data-theme="dark"] .theme-btn-track{background:var(--teal-deep);}
  html[data-theme="dark"] .theme-btn-thumb{transform:translateX(24px);}

  /* ---------- LUWO BADGE / SIBLING LINK ---------- */
  .luwo-badge{
    display:inline-flex; align-items:center; background:var(--white); border-radius:7px;
    padding:4px 9px; vertical-align:middle; margin:0 2px;
  }
  .luwo-badge img{display:block;}
  .footer-credit-sep{opacity:0.35; margin:0 4px;}
  .footer-sibling-link{opacity:0.7; text-decoration:underline;}
  .footer-sibling-link:hover{opacity:1;}
  .footer-credit{margin-top:10px; display:flex; flex-wrap:wrap; align-items:center; gap:2px;}

  /* ---------- SCROLL REVEAL ANIMATIONS ---------- */
  .reveal{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1);}
  .reveal.reveal-visible{opacity:1; transform:translateY(0);}
  .reveal-stagger > *{opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.3,1);}
  .reveal-stagger.reveal-visible > *{opacity:1; transform:translateY(0);}
  .reveal-stagger.reveal-visible > *:nth-child(1){transition-delay:.02s;}
  .reveal-stagger.reveal-visible > *:nth-child(2){transition-delay:.08s;}
  .reveal-stagger.reveal-visible > *:nth-child(3){transition-delay:.14s;}
  .reveal-stagger.reveal-visible > *:nth-child(4){transition-delay:.20s;}
  .reveal-stagger.reveal-visible > *:nth-child(5){transition-delay:.26s;}
  .reveal-stagger.reveal-visible > *:nth-child(6){transition-delay:.32s;}
  @media (prefers-reduced-motion: reduce){
    .reveal, .reveal-stagger > *{opacity:1 !important; transform:none !important; transition:none !important;}
  }
  .btn{transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease;}
  .style-card, .dest-photo-card, .pop-card, .blog-card, .compare-card, .price-card, .testimonial-card, .step-card{
    transition:transform .2s ease, box-shadow .2s ease;
  }

  /* ---------- MOBILE APP PROMO ---------- */
  .app-promo{padding:70px 0;}
  .app-promo-card{
    background:var(--teal-deep); color:var(--paper); border-radius:28px; padding:48px;
    display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center; overflow:hidden; position:relative;
  }
  @media (max-width:820px){.app-promo-card{grid-template-columns:1fr; padding:34px 26px; text-align:center;}}
  .app-promo-card h2{color:var(--white); font-size:clamp(1.4rem,2.6vw,1.9rem);}
  .app-promo-card p{opacity:0.82; font-size:0.98rem; max-width:44ch; margin:14px 0 24px;}
  @media (max-width:820px){.app-promo-card p{margin-left:auto; margin-right:auto;}}
  .app-promo-badges{display:flex; gap:12px; flex-wrap:wrap;}
  @media (max-width:820px){.app-promo-badges{justify-content:center;}}
  .app-promo-visual{
    background:var(--surface); border-radius:20px; padding:20px; color:var(--ink);
    box-shadow:0 30px 60px -20px rgba(0,0,0,0.5);
  }

  /* ---------- OVER DE APP / ADVERTEREN / DONEREN ---------- */
  .feature-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:10px;}
  @media (max-width:820px){.feature-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.feature-grid{grid-template-columns:1fr;}}
  .feature-card{background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:24px;}
  .feature-card .fc-icon{font-size:1.6rem; margin-bottom:12px; display:block;}
  .feature-card h3{font-size:1.02rem; margin-bottom:8px;}
  .feature-card p{font-size:0.88rem; opacity:0.72; margin:0; line-height:1.55;}

  .install-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:20px;}
  @media (max-width:700px){.install-grid{grid-template-columns:1fr;}}
  .install-card{background:var(--sand); border-radius:18px; padding:24px;}
  .install-card h3{font-size:1.02rem; margin-bottom:14px;}
  .install-card ol{margin:0; padding-left:20px;}
  .install-card li{font-size:0.9rem; opacity:0.8; margin-bottom:8px; line-height:1.5;}

  .faq-list{margin-top:10px;}
  .faq-item{border-bottom:1px solid var(--line); padding:18px 0;}
  .faq-item summary{font-weight:600; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; font-size:0.98rem;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:'+'; font-family:'JetBrains Mono',monospace; opacity:0.5; font-size:1.1rem;}
  .faq-item[open] summary::after{content:'–';}
  .faq-item p{margin:12px 0 0; font-size:0.9rem; opacity:0.75; line-height:1.6;}

  .ad-slot{
    border:1.5px dashed var(--line); border-radius:18px; padding:26px; text-align:center;
    background:var(--sand); margin:50px 0;
  }
  .ad-slot .ad-label{font-family:'JetBrains Mono',monospace; font-size:0.68rem; letter-spacing:0.06em; opacity:0.45; text-transform:uppercase; margin-bottom:10px; display:block;}
  .ad-slot h3{font-size:1.05rem; margin-bottom:8px;}
  .ad-slot p{font-size:0.88rem; opacity:0.7; margin:0 0 16px;}

  .donate-amounts{display:flex; flex-wrap:wrap; gap:10px; margin:20px 0;}
  .amount-btn{
    padding:12px 20px; border:1.5px solid var(--line); border-radius:12px; background:var(--surface);
    font-family:'JetBrains Mono',monospace; font-weight:600; cursor:pointer; font-size:0.95rem; color:var(--ink);
  }
  .amount-btn.selected{border-color:var(--coral); background:var(--coral); color:var(--white);}
  .donate-methods{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px;}
  @media (max-width:700px){.donate-methods{grid-template-columns:1fr;}}
  .donate-card{border:1.5px solid var(--line); border-radius:18px; padding:22px; background:var(--surface);}
  .donate-card h3{font-size:1rem; margin-bottom:12px;}

  /* ---------- RESULT TIPS (dingen om te doen) ---------- */
  .result-tips{list-style:none; margin:12px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px 16px;}
  @media (max-width:480px){.result-tips{grid-template-columns:1fr;}}
  .result-tips li{font-size:0.86rem; opacity:0.8; padding-left:20px; position:relative;}
  .result-tips li::before{content:'✓'; position:absolute; left:0; color:var(--coral); font-weight:700;}

  /* ---------- COOKIE CONSENT BANNER ---------- */
  .cookie-banner{
    position:fixed; left:0; right:0; bottom:0; z-index:9999;
    background:var(--surface); border-top:1px solid var(--line);
    box-shadow:0 -10px 40px -12px rgba(30,25,15,0.2);
    padding:20px; display:none;
  }
  .cookie-banner.show{display:block; animation:cookieSlideUp .35s cubic-bezier(.2,.7,.3,1);}
  @keyframes cookieSlideUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
  .cookie-inner{
    max-width:1160px; margin:0 auto; display:flex; align-items:center; gap:24px; flex-wrap:wrap;
  }
  .cookie-text{flex:1; min-width:260px;}
  .cookie-text h3{font-size:1rem; margin-bottom:6px;}
  .cookie-text p{font-size:0.86rem; opacity:0.75; line-height:1.55; margin:0; max-width:70ch;}
  .cookie-text a{color:var(--coral); text-decoration:underline;}
  .cookie-actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
  @media (max-width:640px){
    .cookie-inner{flex-direction:column; align-items:stretch;}
    .cookie-actions{justify-content:stretch;}
    .cookie-actions .btn{flex:1; justify-content:center;}
  }
  .cookie-settings-link{
    background:none; border:none; cursor:pointer; font-family:'Manrope',sans-serif;
    font-size:0.85rem; opacity:0.6; text-decoration:underline; color:var(--ink); padding:8px;
  }
  .cookie-settings-link:hover{opacity:1;}

  /* Cookie preferences modal */
  .cookie-modal-overlay{
    position:fixed; inset:0; z-index:10000; background:rgba(30,25,15,0.55);
    display:none; align-items:center; justify-content:center; padding:20px;
  }
  .cookie-modal-overlay.show{display:flex;}
  .cookie-modal{
    background:var(--surface); border-radius:22px; max-width:520px; width:100%;
    padding:30px; box-shadow:0 30px 60px -20px rgba(0,0,0,0.4); max-height:85vh; overflow-y:auto;
  }
  .cookie-modal h2{font-size:1.3rem; margin-bottom:8px;}
  .cookie-modal > p{font-size:0.9rem; opacity:0.75; line-height:1.6; margin-bottom:20px;}
  .cookie-option{
    display:flex; align-items:flex-start; gap:14px; padding:16px 0; border-top:1px solid var(--line);
  }
  .cookie-option-text{flex:1;}
  .cookie-option-text strong{display:block; font-size:0.95rem; margin-bottom:3px;}
  .cookie-option-text span{font-size:0.82rem; opacity:0.7; line-height:1.5;}
  .cookie-toggle{
    position:relative; width:46px; height:26px; flex-shrink:0; margin-top:2px;
  }
  .cookie-toggle input{opacity:0; width:0; height:0; position:absolute;}
  .cookie-toggle-slider{
    position:absolute; inset:0; background:var(--line); border-radius:999px; cursor:pointer;
    transition:background .2s;
  }
  .cookie-toggle-slider::before{
    content:''; position:absolute; height:20px; width:20px; left:3px; top:3px;
    background:var(--white); border-radius:50%; transition:transform .2s;
  }
  .cookie-toggle input:checked + .cookie-toggle-slider{background:var(--coral);}
  .cookie-toggle input:checked + .cookie-toggle-slider::before{transform:translateX(20px);}
  .cookie-toggle input:disabled + .cookie-toggle-slider{opacity:0.5; cursor:not-allowed;}
  .cookie-modal-actions{display:flex; gap:10px; margin-top:24px; flex-wrap:wrap;}
  .cookie-modal-actions .btn{flex:1; justify-content:center;}

  /* ---------- BANK-KIEZER (Steun ons) ---------- */
  .bank-transfer-wrap{margin-top:14px;}
  .bank-select-btn{
    width:100%; justify-content:center; display:inline-flex; align-items:center; gap:8px;
    cursor:pointer;
  }
  .bank-select-btn .chev{transition:transform .25s ease;}
  .bank-select-btn.open .chev{transform:rotate(180deg);}
  .bank-list{
    margin-top:12px; border:1px solid var(--line); border-radius:14px; overflow:hidden;
    max-height:0; opacity:0; transition:max-height .3s ease, opacity .25s ease; pointer-events:none;
  }
  .bank-list.open{max-height:640px; opacity:1; pointer-events:auto; overflow-y:auto;}
  .bank-group-label{
    font-family:'JetBrains Mono',monospace; font-size:0.7rem; text-transform:uppercase;
    letter-spacing:0.05em; opacity:0.55; padding:12px 16px 6px;
  }
  .bank-link{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:12px 16px; text-decoration:none; color:var(--ink);
    border-top:1px solid var(--line); font-size:0.9rem; font-weight:600;
    transition:background .15s ease;
  }
  .bank-link:first-of-type{border-top:none;}
  .bank-link:hover{background:var(--sand);}
  .bank-link .bank-arrow{opacity:0.4; font-size:0.85rem;}
  html[data-theme="dark"] .bank-link:hover{background:rgba(255,255,255,0.05);}

  /* ---------- BOEKINGSBLOK (bestemmingspagina's) ---------- */
  .book-cta{
    margin:50px 0 10px; padding:38px 34px; border-radius:22px;
    background:linear-gradient(135deg, var(--teal-deep) 0%, var(--teal-mid) 100%);
    color:#fff; text-align:center;
  }
  .book-cta h2{color:#fff; font-size:1.4rem; margin-bottom:10px;}
  .book-cta p{color:rgba(255,255,255,0.85); font-size:0.96rem; line-height:1.6; max-width:60ch; margin:0 auto 22px;}
  .book-cta-actions{display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}
  .book-cta .btn-book{
    background:var(--gold); color:var(--ink); border:none; font-weight:700;
    position:relative;
  }
  .book-cta .btn-book:hover{filter:brightness(1.05);}
  .book-soon-badge{
    display:inline-block; font-size:0.66rem; font-weight:700; text-transform:uppercase;
    letter-spacing:0.05em; background:var(--coral); color:#fff; padding:2px 8px;
    border-radius:999px; margin-left:8px; vertical-align:middle;
  }
  .book-cta .btn-outline-light{
    background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.5);
  }
  .book-cta .btn-outline-light:hover{background:rgba(255,255,255,0.12);}

  /* ---------- QUIZ: meervoudige selectie ---------- */
  .quiz-hint{font-size:0.82rem; opacity:0.6; margin:-6px 0 16px; font-style:italic;}
  .quiz-next{
    background:var(--coral); color:#fff; border:none; cursor:pointer;
    font-family:'Manrope',sans-serif; font-weight:700; font-size:0.9rem;
    padding:10px 20px; border-radius:999px; transition:filter .15s ease;
  }
  .quiz-next:hover{filter:brightness(1.06);}
  .quiz-footer-nav{display:flex; align-items:center; justify-content:space-between; gap:12px;}
  .quiz-option.selected{
    border-color:var(--coral); background:var(--coral); color:#fff;
    box-shadow:0 4px 14px -4px rgba(224,122,95,0.5);
  }
  .quiz-option.selected .qo-icon{filter:none;}

  /* ---------- FLOATING APP-INSTALL KNOP ---------- */
  .app-install-fab{
    position:fixed; right:20px; bottom:20px; z-index:900;
    display:inline-flex; align-items:center; gap:8px;
    background:var(--teal-deep); color:#fff; text-decoration:none;
    padding:12px 18px; border-radius:999px; font-weight:700; font-size:0.88rem;
    box-shadow:0 8px 24px -6px rgba(0,0,0,0.35); transition:transform .18s ease, filter .18s ease;
  }
  .app-install-fab:hover{transform:translateY(-2px); filter:brightness(1.08);}
  .app-install-fab .fab-icon{font-size:1.1rem;}
  @media (max-width:600px){
    .app-install-fab{right:14px; bottom:14px; padding:11px 15px; font-size:0.82rem;}
    .app-install-fab .fab-label{display:none;}
    .app-install-fab{padding:14px; border-radius:50%;}
  }
  /* Niet tonen als de cookiebanner open is, om overlap te voorkomen */
  body.cookie-open .app-install-fab{display:none;}

  /* ---------- STICKY MOBILE CTA ---------- */
  .sticky-mobile-cta{display:none;}
  @media (max-width:680px){
    .sticky-mobile-cta{
      display:flex; position:fixed; left:0; right:0; bottom:0; z-index:850;
      background:var(--surface); border-top:1px solid var(--line);
      padding:10px 14px; box-shadow:0 -6px 20px -8px rgba(0,0,0,0.15);
      align-items:center; gap:10px;
    }
    .sticky-mobile-cta a{
      flex:1; text-align:center; background:var(--coral); color:#fff; text-decoration:none;
      padding:12px 16px; border-radius:999px; font-weight:700; font-size:0.92rem;
    }
    /* Voorkom overlap met de app-install-knop op mobiel: die schuift omhoog */
    .app-install-fab{bottom:74px;}
    body.cookie-open .sticky-mobile-cta{display:none;}
  }

  /* ---------- FAQ SECTIE ---------- */
  .faq-section{padding:60px 0; border-top:1px solid var(--line);}
  .faq-section h2{font-size:1.4rem; margin-bottom:24px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-question{
    width:100%; text-align:left; background:none; border:none; cursor:pointer;
    padding:18px 0; display:flex; align-items:center; justify-content:space-between;
    font-family:'Bricolage Grotesque',sans-serif; font-size:1rem; font-weight:600; color:var(--ink);
    gap:16px;
  }
  .faq-question .faq-chev{transition:transform .2s ease; opacity:0.5; flex-shrink:0;}
  .faq-item.open .faq-question .faq-chev{transform:rotate(180deg);}
  .faq-answer{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .faq-item.open .faq-answer{max-height:400px;}
  .faq-answer p{padding:0 0 18px; opacity:0.78; font-size:0.92rem; line-height:1.6; max-width:70ch;}

  /* ---------- GERELATEERDE BESTEMMINGEN ---------- */
  .related-dest{padding:40px 0 10px;}
  .related-dest h2{font-size:1.1rem; margin-bottom:14px;}
  .related-dest-links{display:flex; flex-wrap:wrap; gap:10px;}
  .related-dest-links a{
    display:inline-block; padding:8px 16px; border-radius:999px; border:1px solid var(--line);
    text-decoration:none; color:var(--ink); font-size:0.86rem; transition:background .15s ease;
  }
  .related-dest-links a:hover{background:var(--sand);}

  /* ---------- SCROLL PROGRESS BAR ---------- */
  .scroll-progress{position:fixed; top:0; left:0; height:3px; background:var(--coral); z-index:2000; width:0%; transition:width .1s linear;}

  /* ---------- SKIP TO CONTENT ---------- */
  .skip-link{
    position:absolute; left:-9999px; top:0; z-index:3000;
    background:var(--ink); color:#fff; padding:12px 20px; border-radius:0 0 10px 0;
    font-weight:700; text-decoration:none; font-size:0.9rem;
  }
  .skip-link:focus{left:0;}

  /* ---------- BACK TO TOP ---------- */
  .back-to-top{
    position:fixed; right:20px; bottom:88px; z-index:895;
    width:44px; height:44px; border-radius:50%; background:var(--surface);
    border:1px solid var(--line); box-shadow:0 6px 18px -6px rgba(0,0,0,0.2);
    display:flex; align-items:center; justify-content:center; font-size:1.1rem;
    cursor:pointer; opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease;
    color:var(--ink);
  }
  .back-to-top.show{opacity:1; pointer-events:auto;}
  .back-to-top:hover{transform:translateY(-3px);}
  @media (max-width:680px){
    .back-to-top{bottom:150px; right:14px;}
  }

  /* ---------- FLOATING CONTACT BUTTON (desktop) ---------- */
  .contact-fab{
    position:fixed; left:20px; bottom:20px; z-index:895;
    display:inline-flex; align-items:center; gap:8px;
    background:var(--surface); color:var(--ink); text-decoration:none;
    padding:12px 18px; border-radius:999px; font-weight:700; font-size:0.88rem;
    border:1px solid var(--line); box-shadow:0 8px 20px -8px rgba(0,0,0,0.25);
    transition:transform .18s ease;
  }
  .contact-fab:hover{transform:translateY(-2px);}
  @media (max-width:680px){
    /* Op mobiel is er al de sticky Vakantiewijzer-balk + app-installknop;
       een derde zwevende knop zou de kleine schermruimte te vol maken. */
    .contact-fab{display:none;}
  }

  /* ---------- COPY BUTTON ---------- */
  .copy-btn{
    display:inline-flex; align-items:center; gap:6px; background:var(--sand);
    border:1px solid var(--line); border-radius:8px; padding:5px 10px; cursor:pointer;
    font-family:'JetBrains Mono',monospace; font-size:0.78rem; color:var(--ink);
    transition:background .15s ease;
  }
  .copy-btn:hover{background:var(--line);}
  .copy-btn.copied{background:var(--coral); color:#fff; border-color:var(--coral);}

  /* ---------- BUTTON LOADING STATE ---------- */
  .btn.is-loading{opacity:0.7; pointer-events:none; position:relative;}
  .btn.is-loading::after{
    content:''; width:14px; height:14px; border-radius:50%;
    border:2px solid rgba(255,255,255,0.5); border-top-color:#fff;
    display:inline-block; margin-left:8px; animation:btnSpin .6s linear infinite; vertical-align:middle;
  }
  @keyframes btnSpin{to{transform:rotate(360deg);}}

  /* ---------- SITE SEARCH ---------- */
  .search-trigger{
    background:none; border:none; cursor:pointer; color:var(--ink); opacity:0.75;
    display:flex; align-items:center; padding:6px; font-size:1.05rem;
  }
  .search-trigger:hover{opacity:1;}
  .search-overlay{
    position:fixed; inset:0; z-index:5000; background:rgba(20,25,20,0.6);
    display:none; align-items:flex-start; justify-content:center; padding:12vh 20px 20px;
  }
  .search-overlay.open{display:flex;}
  .search-modal{
    background:var(--surface); border-radius:18px; max-width:600px; width:100%;
    max-height:70vh; display:flex; flex-direction:column; overflow:hidden;
    box-shadow:0 30px 60px -20px rgba(0,0,0,0.4);
  }
  .search-input-row{display:flex; align-items:center; gap:10px; padding:16px 18px; border-bottom:1px solid var(--line);}
  .search-input-row input{
    flex:1; border:none; outline:none; background:none; font-size:1.05rem; color:var(--ink);
    font-family:'Manrope',sans-serif;
  }
  .search-close{background:none; border:none; cursor:pointer; opacity:0.5; font-size:1.1rem;}
  .search-results{overflow-y:auto; padding:8px;}
  .search-result{
    display:block; padding:12px 14px; border-radius:10px; text-decoration:none; color:var(--ink);
  }
  .search-result:hover, .search-result.active{background:var(--sand);}
  .search-result strong{display:block; font-size:0.95rem; margin-bottom:2px;}
  .search-result span{font-size:0.82rem; opacity:0.65;}
  .search-empty{padding:30px 20px; text-align:center; opacity:0.55; font-size:0.9rem;}

  /* ---------- PRINT STYLESHEET ---------- */
  @media print{
    .nav, footer, .sticky-mobile-cta, .app-install-fab, .contact-fab, .back-to-top,
    .cookie-banner, .cookie-modal-overlay, .scroll-progress, .book-cta, .search-overlay,
    .newsletter-band, .skip-link, iframe, .quiz-section, #chat-overlay { display:none !important; }
    body{background:#fff; color:#000;}
    a{color:#000; text-decoration:underline;}
    .wrap{max-width:100%; padding:0;}
    .page-hero{background:none !important; color:#000; padding:20px 0;}
    .page-hero p, .page-hero h1{color:#000;}
    a[href]::after{content:" (" attr(href) ")"; font-size:0.75em; opacity:0.7;}
  }

  /* ---------- FORMULIER FOUTMELDINGEN ---------- */
  .field-error{color:var(--coral); font-size:0.78rem; margin-top:6px; display:none;}
  .field.has-error input, .field.has-error textarea, .field.has-error select{border-color:var(--coral);}
  .field.has-error .field-error{display:block;}
  .legal-updated{opacity:0.5; font-size:0.85rem; margin:40px 0 20px;}

  /* ---------- AFFILIATE ADVERTENTIES ---------- */
  .ad-slot{
    margin:36px auto; max-width:1120px; padding:0 28px; text-align:center;
  }
  .ad-slot-label{
    display:block; font-family:'JetBrains Mono',monospace; font-size:0.66rem;
    text-transform:uppercase; letter-spacing:0.06em; opacity:0.4; margin-bottom:8px;
  }
  .ad-slot a{display:inline-block; max-width:100%;}
  .ad-slot img{max-width:100%; height:auto; border-radius:8px; display:inline-block;}

  /* Zijbanners (skyscraper) — alleen op ruime schermen, buiten de content-kolom */
  .ad-side{
    position:fixed; top:130px; z-index:80;
    width:160px; display:none;
    text-align:center;
  }
  .ad-side .ad-slot-label{opacity:0.35;}
  .ad-side img{width:100%; height:auto; border-radius:6px;}
  .ad-side-left{left:14px;}
  .ad-side-right{right:14px;}
  @media (min-width:1500px){
    .ad-side{display:block;}
  }

  /* ---------- ADVERTENTIES (Awin) ---------- */
  .ad-banner-slot{
    display:flex; justify-content:center; align-items:center;
    margin:40px 0; padding:14px 0;
  }
  .ad-banner-slot img{max-width:100%; height:auto; border-radius:6px;}
  .ad-banner-label{
    text-align:center; font-family:'JetBrains Mono',monospace; font-size:0.65rem;
    text-transform:uppercase; letter-spacing:0.05em; opacity:0.4; margin-bottom:8px;
  }
  .ad-banner-wrap{display:flex; flex-direction:column; align-items:center;}

  /* Zijbanner: alleen zichtbaar op zeer brede schermen, in de marge naast de content.
     Nooit zichtbaar op mobiel/tablet/laptop, dus geen enkel overflow-risico. */
  .ad-skyscraper{
    display:none;
  }
  @media (min-width:1500px){
    .ad-skyscraper{
      display:block; position:fixed; top:140px; right:20px; z-index:80;
      max-width:160px;
    }
    .ad-skyscraper img{max-width:100%; height:auto; border-radius:6px;}
    .ad-skyscraper-label{
      text-align:center; font-family:'JetBrains Mono',monospace; font-size:0.6rem;
      text-transform:uppercase; letter-spacing:0.05em; opacity:0.4; margin-bottom:6px;
    }
  }
  @media print{ .ad-banner-slot, .ad-skyscraper{ display:none !important; } }
