.btn-on-dark{ background:var(--flash); color:var(--brand-darker); }
  .btn-on-dark.ghost{ background:transparent; border-color:rgba(255,255,255,.35); color:#fff; }
  .btn-on-dark.ghost:hover{ border-color:#fff; }

  /* HERO */
  .hero{
    position:relative; overflow:hidden; color:#fff;
    min-height:0;
    display:flex; align-items:flex-start;
    padding:36px 0 140px;
  }
  .hero-bg{
    position:absolute; inset:0; z-index:0;
    background-image:
      linear-gradient(100deg, rgba(12,15,22,.97) 0%, rgba(12,15,22,.9) 42%, rgba(12,15,22,.62) 68%, rgba(12,15,22,.8) 100%),
      url('/assets/stripe2.jpg');
    background-size:cover;
    background-position:center 30%;
  }
  .hero-texture{
    position:absolute; inset:0; z-index:0; pointer-events:none;
    opacity:.05; mix-blend-mode:overlay;
    background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.85" numOctaves="2" stitchTiles="stitch"/></filter><rect width="100%25" height="100%25" filter="url(%23n)"/></svg>');
    background-size:160px 160px;
  }
  .hero .wrap{ position:relative; z-index:1; }
  .hero-inner{ max-width:none; }
  .hero .eyebrow{
    background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.28); color:#fff;
    backdrop-filter:blur(6px);
  }
  .hero .eyebrow .dot{ background:var(--flash); }
  .hero h1{ color:#fff; font-size:clamp(1.9rem, 4vw, 3.1rem); letter-spacing:-0.03em; }
  .hero h1 .hl{ color:var(--flash); }
  .hero p.lead{ font-size:1.12rem; color:rgba(255,255,255,.82); max-width:46ch; margin-bottom:22px; }
  .hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
  .hero-price-hint{
    margin:0; font-size:1.3rem; color:rgba(255,255,255,.85);
  }
  .hero-price-hint strong{ color:var(--flash); font-weight:700; }

  @media (max-width:560px){
    .hero{ padding:26px 0 104px; }
    .hero p.lead{ font-size:1rem; margin-bottom:20px; }
    .hero-price-hint{ font-size:1.12rem; }
  }

  /* PHOTOSTRIP BAND */
  .photoband-wrap{
    position:relative; z-index:2;
    margin-top:-120px;
    padding-bottom:0;
    background:var(--tint-2);
  }
  .photoband-wrap + .features{ padding-top:44px; }
  .photoband{
    background:#fff;
    border-radius:14px;
    padding:12px;
    display:flex;
    gap:10px;
    width:min(520px, 46vw);
    margin:0 auto;
    transform:rotate(-3deg);
    box-shadow:var(--shadow);
  }
  .photoband-frame{
    flex:1;
    aspect-ratio:1/1;
    border-radius:8px;
    overflow:hidden;
    background:var(--tint);
  }
  .photoband-frame img{ width:100%; height:100%; object-fit:cover; }
  @media (max-width:560px){
    .photoband-wrap{ margin-top:-80px; }
    .photoband{ padding:7px; gap:5px; width:min(280px, 78vw); }
  }

  /* FEATURES */
  .features{ background:var(--tint-2); border-bottom:1px solid var(--border); }
  .feat-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
  .feat-grid .feat-card:first-child{ grid-column:1/-1; }
  @media (max-width:820px){ .feat-grid{ grid-template-columns:1fr; } .feat-grid .feat-card:first-child{ grid-column:auto; } }
  .feat-card{
    background:#fff; border:1px solid var(--border); border-radius:var(--radius);
    padding:26px; box-shadow:0 2px 8px rgba(18,23,34,.03);
    text-align:left;
  }
  .feat-card.featured{ display:flex; align-items:center; gap:24px; padding:28px 32px; }
  .feat-card.featured .feat-icon{ margin:0; flex:none; }
  .feat-card.featured h3{ margin-top:0; }
  .feat-icon{
    width:48px; height:48px; border-radius:13px; background:var(--tint); color:var(--brand);
    display:flex; align-items:center; justify-content:center; margin:0 0 16px;
  }
  .feat-card:nth-child(2) .feat-icon{ background:#f8eef3; color:#8b4668; }
  .feat-card:nth-child(3) .feat-icon{ background:#eef1f6; color:var(--brand); }
  @media (max-width:600px){
    .feat-card{ padding:24px; }
    .feat-card.featured{ flex-direction:column; align-items:flex-start; gap:16px; padding:24px; }
  }
  .feat-card p{ color:var(--ink-soft); margin:0; }

  /* PRICING */
  .price-grid{ display:grid; grid-template-columns:1fr .85fr; gap:48px; align-items:center; }
  @media (max-width:940px){ .price-grid{ grid-template-columns:1fr; } .price-grid .visual{ order:-1; } }
  .price-card{
    background:#fff; border:1px solid var(--border); border-radius:24px; padding:38px 38px 34px;
    position:relative; box-shadow:var(--shadow-sm);
  }
  .price-card .top-row{
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
    padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid var(--border);
  }
  .price-card .tag{
    display:inline-block; background:var(--tint); color:var(--brand); font-weight:700;
    padding:7px 14px; border-radius:999px; font-size:.76rem; letter-spacing:.04em; text-transform:uppercase;
  }
  .price-card .amount{ font-size:2rem; font-weight:800; color:var(--brand-darker); font-family:'Bricolage Grotesque'; }
  .price-card .amount small{ font-size:.9rem; color:var(--ink-soft); font-weight:600; }
  .checklist{ list-style:none; padding:0; margin:0 0 28px; display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; }
  @media (max-width:520px){ .checklist{ grid-template-columns:1fr; } }
  .checklist li{ display:flex; gap:9px; align-items:flex-start; font-size:.9rem; color:var(--ink-soft); line-height:1.4; }
  .checklist li:before{ content:"✓"; color:var(--mint); font-weight:800; flex:none; }
  .checklist li.opt{ grid-column:1/-1; color:var(--brand-soft); }
  .checklist li.opt:before{ content:"○"; color:var(--brand-soft); }
  .price-card .btn-primary{ width:100%; justify-content:center; }
  .price-note{ font-size:.8rem; color:var(--ink-soft); margin-top:16px; text-align:center; }

  .price-visual{ position:relative; max-width:340px; margin:0 auto; }
  .price-visual img{ border-radius:20px; box-shadow:var(--shadow); width:100%; }
  .price-visual .float-card{
    position:absolute; bottom:-22px; left:-22px; background:#fff; border:1px solid var(--border);
    border-radius:16px; padding:16px 18px; box-shadow:var(--shadow-sm); max-width:230px;
    display:flex; gap:12px; align-items:center;
  }
  @media (max-width:560px){ .price-visual .float-card{ position:static; margin-top:16px; } }
  .float-card .ico{ width:38px; height:38px; border-radius:10px; background:var(--tint); color:var(--brand); display:flex; align-items:center; justify-content:center; flex:none; }
  .float-card strong{ display:block; font-size:.86rem; color:var(--brand-darker); }
  .float-card span{ font-size:.78rem; color:var(--ink-soft); }

  /* MOMENTS */
  .moments{ background:var(--tint-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
  .moments .grid2{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
  @media (max-width:900px){ .moments .grid2{ grid-template-columns:1fr; } }
  .moments img{ border-radius:20px; box-shadow:var(--shadow); }
  .moments p{ color:var(--ink-soft); max-width:52ch; }
  .tag-row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
  .tag-pill{ background:#fff; border:1px solid var(--border); padding:8px 14px; border-radius:999px; font-size:.85rem; font-weight:600; color:var(--brand); }

  /* ZUBEHOER */
  .zub-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
  @media (max-width:900px){ .zub-grid{ grid-template-columns:1fr; } }
  .zub-grid img{ border-radius:20px; box-shadow:var(--shadow); width:100%; }
  .zub-photos{ display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:420px; margin:0 auto; }
  .zub-photos img{ border-radius:14px; box-shadow:var(--shadow-sm); width:100%; aspect-ratio:1/1; object-fit:cover; }
  .zub-photos img:first-child{ grid-column:1/3; aspect-ratio:16/9; }
  .price-chip-row{ display:flex; gap:14px; flex-wrap:wrap; margin:22px 0 26px; }
  .price-chip{
    background:var(--tint); border:1px solid var(--border); border-radius:16px; padding:16px 20px; min-width:170px;
  }
  .price-chip .big{ font-family:'Bricolage Grotesque'; font-weight:800; font-size:1.5rem; color:var(--brand); }
  .price-chip .small{ font-size:.82rem; color:var(--ink-soft); }
  .price-note-inline{ font-size:.82rem; color:var(--ink-soft); align-self:center; }
  .bullet-check{ list-style:none; padding:0; margin:0 0 24px; display:grid; gap:8px; }
  .bullet-check li{ display:flex; gap:10px; align-items:center; color:var(--ink-soft); font-size:.95rem; }
  .bullet-check li:before{ content:"✓"; color:var(--mint); font-weight:800; }

  /* PARTNERS */
  #zubehoer{ padding-bottom:40px; }
  .partners{ text-align:center; padding:40px 0; }
  .partners .label{ font-size:.85rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:30px; }
  .partner-row{ display:flex; justify-content:center; align-items:center; gap:56px; flex-wrap:wrap; }
  .partner-row img{ max-height:64px; width:auto; filter:grayscale(1); opacity:.65; transition:.2s; }
  .partner-row img:hover{ filter:none; opacity:1; }

  /* FAQ */
  .faq{ background:var(--tint-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
  .faq-list{ max-width:800px; margin:0 auto; display:grid; gap:12px; }
  details{
    background:#fff; border:1px solid var(--border); border-radius:14px; padding:6px 22px;
  }
  details[open]{ box-shadow:var(--shadow-sm); }
  summary{
    cursor:pointer; padding:18px 0; font-weight:700; color:var(--brand-darker);
    list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px;
  }
  summary::-webkit-details-marker{ display:none; }
  summary:after{ content:"+"; font-size:1.4rem; color:var(--brand); flex:none; transition:transform .2s; }
  details[open] summary:after{ transform:rotate(45deg); }
  details p{ margin:0 0 20px; color:var(--ink-soft); }

  /* CTA BANNER */
  .cta-banner{
    background:var(--brand-darker); color:#fff; border-radius:28px; text-align:center;
    padding:64px 40px; position:relative; overflow:hidden;
  }
  .cta-banner h2{ color:#fff; font-size:clamp(1.8rem,3.6vw,2.6rem); }
  .cta-banner p{ color:#c7d0e0; max-width:50ch; margin:0 auto 28px; }
  .cta-banner .dots{ position:absolute; inset:0; pointer-events:none; opacity:.5; }
