  :root{
    --ink:#15181D;
    --paper:#F8F4EA;
    --paper-2:#ECE2CB;
    --lime:#C6A24A;
    --lime-text:#7C5F20;
    --coral:#6E2A28;
    --coral-deep:#4E1D1B;
    --coral-soft:#9C5A4E;
    --navy-2:#0C1723;
    --muted:#6B665C;
    --muted-on-dark:rgba(248,244,234,0.66);
    --line:rgba(21,24,29,0.14);
    --line-on-dark:rgba(248,244,234,0.16);
    --radius:14px;
    --serif:'Playfair Display', Georgia, serif;
    --sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --mono:var(--sans);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  [hidden]{display:none !important;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--sans);
    background:var(--paper);
    color:var(--ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  .wrap{max-width:1320px; margin:0 auto; padding:0 40px;}
  h1,h2,h3,h4{font-family:var(--serif); line-height:1.05; text-wrap:balance; font-weight:700;}
  .idx{
    font-family:var(--sans); font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--coral-deep); font-weight:700; display:inline-flex; align-items:center; gap:9px;
  }
  .idx::before{content:"●"; font-size:0.5rem; color:var(--lime-text);}
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding:16px 32px; font-weight:700; font-size:0.94rem; font-family:var(--sans);
    cursor:pointer; border:2px solid transparent; transition:all .2s ease; white-space:nowrap;
    border-radius:999px;
  }
  .btn-gold{background:var(--lime); color:var(--ink);}
  .btn-gold:hover{background:#D9BC72; transform:translateY(-2px) rotate(-1deg);}
  .btn-amber{background:var(--coral); color:var(--paper);}
  .btn-amber:hover{background:var(--coral-soft); transform:translateY(-2px) rotate(1deg);}
  .btn-line{border-color:rgba(23,24,28,0.28); color:var(--ink);}
  .btn-line:hover{border-color:var(--coral-deep); color:var(--coral-deep); transform:translateY(-2px);}
  .btn-line-solid{background:rgba(15,16,15,0.55); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border-color:rgba(248,244,234,0.5); color:var(--paper);}
  .btn-line-solid:hover{background:var(--lime); border-color:var(--lime); color:var(--ink); transform:translateY(-2px);}
  .btn-line-dark{border-color:rgba(23,24,28,0.28); color:var(--ink);}
  .btn-line-dark:hover{border-color:var(--coral-deep); color:var(--coral-deep); transform:translateY(-2px);}

  .sticker{
    position:absolute; z-index:5; background:linear-gradient(135deg, var(--lime) 0%, #E7C877 100%); color:var(--ink);
    border-radius:999px; border:2px solid rgba(255,255,255,0.5);
    padding:19px 36px; font-family:var(--sans); font-weight:800; font-size:1.15rem; white-space:nowrap;
    letter-spacing:-0.01em;
    box-shadow:0 18px 40px -10px rgba(198,162,74,0.75), 0 0 0 0 rgba(198,162,74,0.55);
    transform:rotate(-3deg) scale(1);
    display:flex; align-items:center; gap:10px;
    animation:stickerPulse 2.2s ease-in-out infinite;
  }
  .sticker::before{content:"✦"; color:var(--coral-deep);}
  @keyframes stickerPulse{
    0%{ transform:rotate(-3deg) scale(1); box-shadow:0 18px 40px -10px rgba(198,162,74,0.75), 0 0 0 0 rgba(198,162,74,0.55); }
    55%{ transform:rotate(-3deg) scale(1.09); box-shadow:0 24px 50px -8px rgba(198,162,74,0.9), 0 0 0 14px rgba(198,162,74,0); }
    100%{ transform:rotate(-3deg) scale(1); box-shadow:0 18px 40px -10px rgba(198,162,74,0.75), 0 0 0 0 rgba(198,162,74,0.55); }
  }
  @media (prefers-reduced-motion:reduce){ .sticker{animation:none;} }

  /* ===== HEADER ===== */
  header{
    position:fixed; top:0; left:0; right:0; z-index:200;
    padding:18px 0; background:transparent; border-bottom:1px solid transparent;
    transition:background .35s ease, border-color .35s ease;
    --nav-fg:var(--paper); --nav-fg-soft:var(--muted-on-dark);
  }
  header::before{
    content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
    background:linear-gradient(180deg, rgba(8,10,10,0.4) 0%, rgba(8,10,10,0.2) 55%, rgba(8,10,10,0) 100%);
    opacity:1; transition:opacity .35s ease;
  }
  header.header-solid::before{ opacity:0.3; }
  header.header-solid{
    background:rgba(12,15,17,0.18); backdrop-filter:blur(8px) saturate(140%); -webkit-backdrop-filter:blur(8px) saturate(140%);
    border-bottom:1px solid rgba(248,244,234,0.14);
    --nav-fg:var(--paper); --nav-fg-soft:var(--muted-on-dark);
  }
  .nav-inner{position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; padding:0 28px;}
  .brand{display:flex; align-items:center;}
  .wordmark, .nav-links a{ text-shadow:0 1px 14px rgba(0,0,0,0.75), 0 1px 3px rgba(0,0,0,0.7); }
  .wordmark{
    font-family:var(--sans); display:flex; align-items:baseline; gap:12px; transition:color .35s ease;
  }
  .wordmark .wm-db{
    font-weight:800; font-size:1.55rem; letter-spacing:-0.01em; color:var(--lime); transition:color .35s ease;
  }
  .wordmark .wm-sep{
    width:1px; height:16px; align-self:center; background:var(--nav-fg); opacity:0.3; transition:background-color .35s ease;
  }
  .wordmark .wm-rest{
    font-weight:600; font-size:1.06rem; letter-spacing:0.005em; color:var(--nav-fg); transition:color .35s ease;
  }
  .nav-links{display:flex; align-items:center; gap:2px;}
  .nav-links a{
    font-family:var(--sans); font-size:0.88rem; font-weight:600; letter-spacing:0.005em; color:var(--nav-fg);
    position:relative; padding:9px 15px; border-radius:999px; transition:background .2s ease, color .35s ease;
    text-shadow:none;
  }
  .nav-links a:hover, .nav-links a.active-nav{background:rgba(248,244,234,0.14);}
  .nav-item-dropdown{position:relative;}
  .nav-item-dropdown .caret{display:inline-block; font-size:0.7em; margin-left:2px; opacity:0.7; transition:transform .25s ease;}
  .nav-item-dropdown:hover .caret, .nav-item-dropdown:focus-within .caret{transform:translateY(1px) rotate(180deg);}
  .nav-dropdown{
    position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%) translateY(-6px);
    width:320px; background:rgba(12,15,17,0.96); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(248,244,234,0.14); border-radius:16px; padding:22px;
    box-shadow:0 24px 46px -18px rgba(0,0,0,0.55);
    opacity:0; visibility:hidden; pointer-events:none; transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  }
  .nav-dropdown::before{
    content:''; position:absolute; top:-18px; left:0; right:0; height:18px;
  }
  .nav-item-dropdown:hover .nav-dropdown, .nav-item-dropdown:focus-within .nav-dropdown, .nav-item-dropdown.open .nav-dropdown{
    opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
  }
  .nav-dropdown-intro{font-family:var(--sans); font-size:0.84rem; line-height:1.55; color:var(--muted-on-dark); margin-bottom:16px; text-shadow:none;}
  .nav-dropdown-links{display:flex; flex-direction:column; gap:2px;}
  .nav-links a.nav-dropdown-link{
    font-weight:600; font-size:0.92rem; color:var(--paper); padding:9px 10px;
    border-radius:9px; transition:background .2s ease, color .2s ease; text-shadow:none;
  }
  .nav-links a.nav-dropdown-link::after{display:none;}
  .nav-links a.nav-dropdown-link:hover{background:rgba(198,162,74,0.16); color:var(--lime);}
  .nav-links a.nav-dropdown-all{border-top:1px solid rgba(248,244,234,0.14); margin-top:6px; padding-top:14px; color:var(--muted-on-dark); font-size:0.84rem; font-weight:600;}
  .nav-right{
    display:flex; align-items:center; gap:2px;
    background:rgba(10,12,14,0.55); backdrop-filter:blur(14px) saturate(140%); -webkit-backdrop-filter:blur(14px) saturate(140%);
    border:1px solid rgba(248,244,234,0.12); border-radius:999px; padding:6px 6px 6px 20px;
    transition:background .35s ease, border-color .35s ease;
  }
  .offerte-btn{
    background:var(--coral); color:var(--paper); font-family:var(--sans); font-weight:700; font-size:0.84rem;
    padding:10px 20px; border-radius:999px; letter-spacing:0.01em; white-space:nowrap; margin-left:10px;
    box-shadow:0 8px 18px -8px rgba(110,42,40,0.6); transition:transform .2s ease, background .2s ease;
  }
  .offerte-btn:hover{background:var(--coral-soft); transform:translateY(-2px);}
  .menu-btn{
    display:none; align-items:center; gap:14px; background:var(--ink); border:none; cursor:pointer; color:var(--paper);
    font-family:var(--sans); font-size:0.82rem; letter-spacing:0.04em; font-weight:700; text-transform:uppercase;
    padding:12px 20px; border-radius:999px;
  }
  @media (max-width:980px){
    .nav-links{display:none;}
    .nav-right{background:transparent; border-color:transparent; padding:0; backdrop-filter:none; -webkit-backdrop-filter:none;}
    .offerte-btn{margin-left:0;}
    .menu-btn{display:flex;}
  }
  @media (max-width:480px){
    .offerte-btn{padding:10px 16px; font-size:0.78rem;}
  }
  .menu-btn .bars{display:flex; flex-direction:column; gap:4px; width:18px;}
  .menu-btn .bars span{display:block; height:2px; background:var(--paper); border-radius:2px; transition:all .25s ease;}
  .menu-btn.open .bars span:nth-child(1){transform:translateY(3px) rotate(45deg);}
  .menu-btn.open .bars span:nth-child(2){transform:translateY(-3px) rotate(-45deg);}

  .overlay-menu{
    position:fixed; inset:0; z-index:190; background:var(--ink);
    display:flex; flex-direction:column; justify-content:center;
    opacity:0; visibility:hidden; transition:opacity .4s ease;
  }
  .overlay-menu.open{opacity:1; visibility:visible;}
  .overlay-inner{width:100%; padding:0 40px; display:flex; justify-content:space-between; gap:60px; flex-wrap:wrap;}
  .overlay-links{display:flex; flex-direction:column; gap:6px;}
  .overlay-links a{
    font-family:var(--serif); font-size:clamp(2.2rem, 6vw, 4.2rem); color:var(--paper); font-weight:800;
    display:flex; align-items:baseline; gap:18px; transition:all .2s;
  }
  .overlay-links a .n{font-family:var(--sans); font-size:0.85rem; color:var(--lime); font-weight:700;}
  .overlay-links a:hover{color:var(--lime); transform:translateX(10px);}
  .overlay-side{display:flex; flex-direction:column; justify-content:flex-end; gap:20px; min-width:220px; padding-bottom:8px;}
  .overlay-side a{font-size:0.95rem; color:var(--muted-on-dark); font-weight:500;}
  .overlay-side a:hover{color:var(--lime);}
  .overlay-side .lbl{font-family:var(--sans); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--coral-soft); font-weight:700; margin-bottom:2px;}

  /* ===== PAGE BANNER (subpages) ===== */
  .page-banner{
    padding:150px 0 40px; background:var(--paper);
  }
  .page-banner-dark{background:var(--ink);}
  .page-banner-inner{display:flex; flex-direction:column; gap:10px;}
  .offerte-logo{display:flex; align-items:baseline; gap:16px; margin-bottom:4px;}
  .offerte-logo .ol-db{font-family:var(--sans); font-weight:800; font-size:2.6rem; letter-spacing:-0.01em; color:var(--lime);}
  .offerte-logo .ol-sep{width:2px; height:28px; align-self:center; background:var(--paper); opacity:0.32;}
  .offerte-logo .ol-rest{font-family:var(--sans); font-weight:700; font-size:1.7rem; color:var(--paper);}
  @media (max-width:640px){
    .offerte-logo .ol-db{font-size:1.9rem;}
    .offerte-logo .ol-rest{font-size:1.25rem;}
  }
  .page-banner h2{font-size:clamp(2rem,4vw,3rem); color:var(--ink);}
  .page.services, .page.game, .page.about, .page.contact, .page.offerte, .page.dienst-detail, .page.kennisbank, .page.kb-article-page{padding-top:0;}
  .page .services-body, .page .about-grid{padding-top:20px;}

  /* ===== HERO ===== */
  .hero{
    min-height:100vh; display:flex; align-items:stretch; position:relative;
    padding-top:0; background:var(--navy-2);
  }
  .hero-inner{
    width:100%; position:relative; min-height:100vh; display:flex; align-items:center;
  }
  .hero-scrim{
    position:absolute; inset:0; z-index:1; pointer-events:none;
    background:
      linear-gradient(100deg, rgba(15,16,15,0.82) 0%, rgba(15,16,15,0.55) 38%, rgba(15,16,15,0.18) 62%, rgba(15,16,15,0.05) 100%),
      linear-gradient(0deg, rgba(15,16,15,0.55) 0%, rgba(15,16,15,0) 30%);
  }
  .hero-text{
    position:relative; z-index:2;
    display:flex; flex-direction:column; justify-content:center; gap:26px;
    padding:150px 56px 60px 56px; max-width:720px;
  }
  .hero-text h1{
    font-size:clamp(2.7rem, 5.4vw, 4.7rem); color:var(--paper); letter-spacing:-0.02em;
  }
  .hero-text h1 .line2{color:var(--lime); display:block;}
  .hero-text p.lead{color:var(--muted-on-dark); font-size:1.1rem; max-width:480px;}
  .hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:8px; margin-bottom:64px;}
  .hero-foot{
    display:flex; gap:34px; margin-top:34px; padding-top:26px; border-top:1px solid var(--line-on-dark); flex-wrap:wrap;
  }
  .hero-foot .item{display:flex; flex-direction:column; gap:4px;}
  .hero-foot .item .k{font-family:var(--sans); font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--lime); font-weight:700;}
  .hero-foot .item .v{font-size:0.9rem; color:var(--paper); font-weight:600;}

  .hero-media{
    position:absolute; inset:0; z-index:0; overflow:hidden; background:var(--navy-2);
  }
  .hero-media video, .hero-media .fallback{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  }
  .hero-media .fallback{
    background:radial-gradient(circle at 30% 25%, #2a3b46 0%, var(--navy-2) 55%, #0a0f12 100%);
    display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; color:var(--muted-on-dark);
  }
  .hero-media .caption{
    position:absolute; left:0; right:0; bottom:0; padding:22px 26px;
    background:linear-gradient(0deg, rgba(13,20,23,0.85), transparent);
    display:flex; justify-content:space-between; align-items:flex-end;
  }
  .hero-media .caption .idx{color:var(--lime); font-weight:700;}
  .hero-media .caption .idx::before{background:var(--lime); content:""; width:8px; height:8px; border-radius:50%;}

  /* ===== MARQUEE ===== */
  .marquee{
    position:absolute; left:0; right:0; bottom:0; z-index:3;
    background:rgba(78,29,27,0.82); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
    color:var(--paper); overflow:hidden; white-space:nowrap;
    box-shadow:0 -14px 30px -14px rgba(0,0,0,0.4);
    border-top:1px solid rgba(248,244,234,0.14);
  }
  .marquee-track{display:inline-flex; align-items:center; gap:52px; padding:16px 0; animation:scroll 200s linear infinite; width:max-content;}
  .marquee-track span{
    font-family:var(--sans); font-size:0.9rem; letter-spacing:0.04em; text-transform:uppercase; font-weight:800;
    display:inline-flex; align-items:center; gap:40px;
  }
  .marquee-track span::after{content:"✦"; opacity:0.6; font-size:0.7rem;}
  @keyframes scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  @media (prefers-reduced-motion:reduce){ .marquee-track{animation:none;} }

  /* ===== SERVICES (index list) ===== */
  .services{padding:130px 0; background:var(--paper);}
  .services-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:64px; gap:30px; flex-wrap:wrap;}
  .services-head h2{font-size:clamp(2.1rem,3.8vw,3.2rem); color:var(--ink); max-width:560px;}
  .services-head p{color:var(--muted); max-width:340px; font-size:0.98rem;}
  .services-body{display:grid; grid-template-columns:1.15fr 0.85fr; gap:60px; align-items:start;}
  .service-row{
    border-top:2px solid var(--line); padding:26px 4px; cursor:pointer; display:flex; align-items:center;
    justify-content:space-between; gap:20px; transition:padding .25s ease;
  }
  .service-row:last-child{border-bottom:2px solid var(--line);}
  .service-row .left{display:flex; align-items:baseline; gap:22px;}
  .service-row .num{
    font-family:var(--sans); font-size:0.82rem; font-weight:800; color:var(--ink); background:var(--lime);
    border-radius:999px; width:34px; height:34px; display:flex; align-items:center; justify-content:center;
    flex-shrink:0; transition:all .25s ease;
  }
  .service-row.active .num{background:var(--coral); color:var(--paper); transform:rotate(-8deg) scale(1.1);}
  .service-row h3{font-size:clamp(1.5rem,2.6vw,2.15rem); color:var(--ink); font-weight:700; transition:color .2s;}
  .service-row .desc{
    max-height:0; overflow:hidden; transition:max-height .35s ease, opacity .3s ease; opacity:0;
    color:var(--muted); font-size:0.94rem; max-width:520px; margin-top:0;
  }
  .service-row.active .desc{max-height:80px; opacity:1; margin-top:10px;}
  .service-row .arrow{color:var(--coral-deep); font-family:var(--sans); font-size:1.3rem; font-weight:700; transition:transform .25s ease; flex-shrink:0;}
  .service-row.active .arrow{transform:rotate(45deg);}
  .service-row.active h3{color:var(--coral-deep);}
  .service-row-main{display:flex; flex-direction:column;}

  .service-media{
    position:sticky; top:120px; aspect-ratio:4/5; overflow:hidden; background:var(--navy-2);
    border-radius:var(--radius); box-shadow:0 20px 44px -18px rgba(23,24,28,0.3);
  }
  .service-media video, .service-media .fallback{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .4s ease;
  }
  .service-media video.active, .service-media .fallback.active{opacity:1;}
  .media-overlay-text{
    position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center;
    font-family:var(--serif); font-weight:800; font-size:clamp(1.8rem,3.4vw,2.6rem); color:var(--paper);
    text-shadow:0 4px 24px rgba(0,0,0,0.55); opacity:0; transition:opacity .4s ease; pointer-events:none;
    letter-spacing:-0.01em;
  }
  .media-overlay-text.active{opacity:1;}
  .service-media .fallback{
    position:relative; display:flex; align-items:center; justify-content:center; color:var(--muted-on-dark);
    background:radial-gradient(circle at 30% 25%, #2a3b46 0%, var(--navy-2) 55%, #0a0f12 100%);
    font-family:var(--sans); font-size:0.85rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase;
  }

  /* ===== PROJECTS (horizontal scroll) ===== */
  .projects{padding:0 0 130px; background:var(--paper);}
  .projects-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:40px; gap:20px; flex-wrap:wrap;}
  .projects-head h2{font-size:clamp(2.1rem,3.8vw,3.2rem); color:var(--ink);}
  .projects-head p{color:var(--muted); max-width:380px; font-size:0.96rem;}
  .projects-scroll{
    display:flex; gap:24px; overflow-x:auto; padding:16px 40px 26px; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .projects-scroll::-webkit-scrollbar{height:4px;}
  .projects-scroll::-webkit-scrollbar-thumb{background:var(--line); border-radius:4px;}
  .project-card{
    flex:0 0 340px; aspect-ratio:4/5; border:2px dashed rgba(23,24,28,0.22); scroll-snap-align:start;
    display:flex; flex-direction:column; justify-content:space-between; padding:24px; background:var(--paper-2);
    transition:transform .25s ease, border-color .25s ease; will-change:transform; border-radius:var(--radius);
  }
  .project-card:nth-child(1){transform:rotate(-3deg);}
  .project-card:nth-child(2){transform:rotate(2deg); margin-top:22px;}
  .project-card:nth-child(3){transform:rotate(-2deg);}
  .project-card:nth-child(4){transform:rotate(3deg); margin-top:14px;}
  .project-card:hover{transform:rotate(0deg) translateY(-6px); border-color:var(--coral); border-style:solid;}
  .project-card .top{display:flex; justify-content:space-between; align-items:flex-start;}
  .project-card .tag{font-family:var(--sans); font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--coral-deep); font-weight:800;}
  .project-card .plus{color:var(--muted); font-size:1.4rem;}

  .showcase-track-wrap{overflow:hidden; padding:6px 0 130px; -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%); mask-image:linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);}
  .showcase-track{display:inline-flex; gap:26px; animation:showcaseScroll 46s linear infinite;}
  .showcase-track:hover{animation-play-state:paused;}
  .showcase-card{
    flex:0 0 360px; border-radius:16px; overflow:hidden; background:var(--paper-2);
    box-shadow:0 16px 34px -16px rgba(21,24,29,0.22); transition:transform .3s ease, box-shadow .3s ease;
  }
  .showcase-card:hover{transform:translateY(-6px); box-shadow:0 22px 40px -16px rgba(21,24,29,0.3);}
  .showcase-img{aspect-ratio:16/10.2; overflow:hidden; background:var(--line);}
  .showcase-img img{width:100%; height:100%; object-fit:cover; object-position:top; display:block; transition:transform .5s ease;}
  .showcase-card:hover .showcase-img img{transform:scale(1.04);}
  .showcase-meta{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 18px;}
  .showcase-tag{font-family:var(--sans); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--coral-deep); font-weight:800; flex-shrink:0;}
  .showcase-name{font-family:var(--mono); font-size:0.84rem; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  @keyframes showcaseScroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  @media (prefers-reduced-motion:reduce){ .showcase-track{animation:none;} }
  @media (max-width:620px){ .showcase-card{flex:0 0 82vw;} }
  .project-card .bottom .name{font-family:var(--serif); font-size:1.35rem; color:var(--ink); font-weight:700;}
  .project-card .bottom .type{color:var(--muted); font-size:0.82rem; margin-top:4px;}

  /* ===== ABOUT ===== */
  .about{background:var(--paper-2); color:var(--ink); padding:130px 0;}
  .about-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:start;}
  .about-quote{
    font-family:var(--serif); font-size:clamp(1.8rem,3.2vw,2.6rem); line-height:1.25; color:var(--ink); font-weight:700;
  }
  .about-quote span{color:var(--coral-deep);}
  .about-side{display:flex; flex-direction:column; gap:28px;}
  .about-side p{color:var(--muted); font-size:1rem;}
  .about-meta{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:10px;}
  .about-meta .m{border-top:2px solid var(--line); padding-top:14px;}
  .about-meta .k{font-family:var(--sans); font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--lime-text); font-weight:700; margin-bottom:6px;}
  .about-meta .v{font-size:0.94rem; font-weight:700;}

  .team-section{margin-top:90px;}
  .team-single{display:grid; grid-template-columns:0.85fr 1.15fr; gap:44px; align-items:center;}
  .team-single-photo{border-radius:22px; overflow:hidden; aspect-ratio:4/5; background:var(--line);}
  .team-single-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .team-single-text .who{font-family:var(--sans); font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--coral-deep); font-weight:700; margin-bottom:14px; display:block;}
  .team-single-text p{color:var(--muted); font-size:1.02rem; line-height:1.7; margin-bottom:14px;}
  @media (max-width:760px){
    .team-single{grid-template-columns:1fr; gap:26px;}
    .team-single-photo{aspect-ratio:16/10;}
  }
  .team-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:28px; flex-wrap:wrap;}
  .team-head h3{font-family:var(--serif); font-size:clamp(1.5rem,2.6vw,2.1rem); color:var(--ink);}
  .team-head p{color:var(--muted); font-size:0.96rem; max-width:420px;}
  .team-grid{display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:20px;}
  .team-photo{position:relative; border-radius:22px; overflow:hidden; aspect-ratio:4/5; background:var(--line);}
  .team-grid > .team-photo:first-child{grid-row:1/3; aspect-ratio:auto; height:100%;}
  .team-photo img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s ease;}
  .team-photo:hover img{transform:scale(1.045);}
  .team-photo .tag{position:absolute; left:14px; bottom:14px; background:rgba(20,20,18,0.72); color:var(--paper); font-size:0.74rem; font-weight:700; padding:7px 12px; border-radius:999px; letter-spacing:0.02em; backdrop-filter:blur(3px);}
  @media (max-width:760px){
    .team-grid{grid-template-columns:1fr 1fr;}
    .team-grid > .team-photo:first-child{grid-row:auto; grid-column:1/3; height:auto; aspect-ratio:16/10;}
  }

  /* ===== HOMEPAGE: PROBLEEM / OPLOSSING ===== */
  .problem-section{padding:100px 0; background:var(--paper);}
  .problem-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px; align-items:start;}
  .problem-grid h2{font-size:clamp(1.8rem,3.4vw,2.6rem);}
  .problem-grid .lead-block p{color:var(--muted); font-size:1.02rem; margin-bottom:16px;}
  .problem-grid .lead-block p:last-child{margin-bottom:0;}
  .problem-grid .lead-block strong{color:var(--ink);}

  /* ===== DIENST-DETAILPAGINA'S ===== */
  .dienst-intro{padding:70px 0 20px; background:var(--paper);}
  .dienst-intro .lead{font-size:1.08rem; color:var(--muted); max-width:720px;}
  .dienst-block{padding:60px 0;}
  .dienst-block.alt{background:var(--paper-2);}
  .dienst-block-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:60px; align-items:start;}
  .dienst-block-grid h2{font-size:clamp(1.7rem,3.2vw,2.4rem);}
  .dienst-block-grid .lead-block p{color:var(--muted); font-size:1.02rem; margin-bottom:16px;}
  .dienst-block-grid .lead-block p:last-child{margin-bottom:0;}
  .dienst-block-grid .lead-block strong{color:var(--ink);}
  .outcome-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:36px;}
  .outcome-card{background:var(--paper); border-radius:var(--radius); padding:30px 26px; border:1px solid var(--line);}
  .outcome-card .num{font-family:var(--serif); font-size:2rem; color:var(--coral-deep); font-weight:700; display:block; margin-bottom:12px;}
  .outcome-card h3{font-size:1.05rem; margin-bottom:8px;}
  .outcome-card p{color:var(--muted); font-size:0.92rem;}
  .dienst-cta{padding:80px 0; background:var(--ink); text-align:center;}
  .dienst-cta h2{color:var(--paper); font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:14px;}
  .dienst-cta p{color:var(--muted-on-dark); max-width:520px; margin:0 auto 26px;}
  .dienst-cta-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
  .dienst-other-links{display:flex; gap:10px; flex-wrap:wrap; margin-top:30px;}
  .dienst-other-links a{
    font-family:var(--sans); font-size:0.85rem; font-weight:700; color:var(--ink);
    border:1.5px solid var(--line); border-radius:999px; padding:9px 18px; transition:border-color .2s ease, color .2s ease;
  }
  .dienst-other-links a:hover{border-color:var(--coral-deep); color:var(--coral-deep);}
  @media (max-width:820px){
    .dienst-block-grid{grid-template-columns:1fr;}
    .outcome-grid{grid-template-columns:1fr;}
  }

  /* ===== HOMEPAGE: AANPAK IN 3 STAPPEN ===== */
  .steps-section{padding:0 0 100px;}
  .steps-head{margin-bottom:36px;}
  .steps-head h2{font-size:clamp(1.6rem,3vw,2.2rem);}
  .steps-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .step-card{background:var(--paper-2); border-radius:var(--radius); padding:30px 26px;}
  .step-card .num{font-family:var(--serif); font-size:2.2rem; color:var(--coral-deep); font-weight:700; display:block; margin-bottom:12px;}
  .step-card h3{font-size:1.1rem; margin-bottom:10px;}
  .step-card p{color:var(--muted); font-size:0.92rem;}

  /* ===== HOMEPAGE: KERNFEITEN ===== */
  .facts-band{background:var(--ink); padding:56px 0;}
  .facts-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .fact-item{text-align:center;}
  .fact-item .v{font-family:var(--serif); font-size:clamp(1.6rem,2.6vw,2.1rem); color:var(--lime); font-weight:700; display:block; margin-bottom:6px;}
  .fact-item .k{color:var(--muted-on-dark); font-size:0.88rem;}

  /* ===== HOMEPAGE: PERSOONLIJKE CTA ===== */
  .personal-cta{padding:100px 0;}
  .personal-cta-inner{
    display:grid; grid-template-columns:0.85fr 1.15fr; gap:0; align-items:stretch;
    background:var(--paper-2); border-radius:28px; overflow:hidden;
  }
  .personal-cta-photo{position:relative; min-height:340px;}
  .personal-cta-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .personal-cta-text{padding:48px 46px; display:flex; flex-direction:column; justify-content:center; gap:16px;}
  .personal-cta-text h2{font-size:clamp(1.5rem,2.8vw,2rem);}
  .personal-cta-text p{color:var(--muted); font-size:0.98rem; max-width:440px;}
  .personal-cta-text .who{font-size:0.86rem; color:var(--lime-text); font-weight:700; letter-spacing:0.03em; text-transform:uppercase;}
  .personal-cta-text .btn{align-self:flex-start; margin-top:6px;}

  @media (max-width:820px){
    .problem-grid, .personal-cta-inner{grid-template-columns:1fr;}
    .steps-grid, .facts-grid{grid-template-columns:1fr;}
    .personal-cta-photo{min-height:260px;}
  }

  /* ===== INSPIRATIE ===== */
  .insp-trigger-wrap{margin-top:22px;}
  .btn-insp{
    display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border-radius:999px;
    background:var(--lime); color:var(--ink); font-weight:700; font-size:0.95rem; border:none; cursor:pointer;
    box-shadow:0 6px 0 rgba(23,24,28,0.14); transition:transform 0.15s ease, box-shadow 0.15s ease;
  }
  .btn-insp:hover{transform:translateY(-2px); box-shadow:0 8px 0 rgba(23,24,28,0.14);}
  .btn-insp svg{width:18px; height:18px;}
  .insp-modal{
    position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
    padding:30px; background:rgba(20,20,18,0.72); backdrop-filter:blur(4px);
  }
  .insp-modal[hidden]{display:none !important;}
  .insp-panel{
    background:var(--paper); border-radius:26px; max-width:1080px; width:100%; max-height:88vh; overflow-y:auto;
    padding:36px; position:relative;
  }
  .insp-panel h3{font-family:var(--serif); font-size:clamp(1.4rem,2.6vw,1.9rem); margin-bottom:6px;}
  .insp-panel p.insp-sub{color:var(--muted); font-size:0.94rem; margin-bottom:26px; max-width:520px;}
  .insp-close{
    position:absolute; top:22px; right:22px; width:38px; height:38px; border-radius:50%; border:none;
    background:var(--paper-2); color:var(--ink); font-size:1.1rem; cursor:pointer; display:flex; align-items:center; justify-content:center;
  }
  .insp-close:hover{background:var(--lime);}
  .insp-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  .insp-card{border-radius:16px; overflow:hidden; border:1px solid var(--line); background:#fff;}
  .insp-card .insp-bar{display:flex; align-items:center; gap:6px; padding:9px 12px; background:var(--paper-2);}
  .insp-card .insp-bar span{width:8px; height:8px; border-radius:50%; background:var(--line);}
  .insp-card .insp-name{font-size:0.78rem; font-weight:700; margin-left:6px; color:var(--muted);}
  .insp-card img{width:100%; display:block; aspect-ratio:16/10; object-fit:cover; object-position:top;}
  @media (max-width:640px){
    .insp-grid{grid-template-columns:1fr;}
    .insp-panel{padding:24px;}
  }

  /* ===== KENNISBANK ===== */
  .kb-hero{padding:150px 0 30px; background:var(--paper);}
  .kb-hero .lead{font-size:1.08rem; color:var(--muted); max-width:680px; margin-top:14px;}
  .kb-filters{
    position:sticky; top:0; z-index:60; background:var(--paper); padding:20px 0;
    border-bottom:1px solid var(--line); margin-bottom:40px;
  }
  .kb-filter-group{display:flex; flex-direction:column; gap:8px;}
  .kb-filter-group + .kb-filter-group{margin-top:14px;}
  .kb-filter-row{
    display:flex; gap:9px; align-items:center; flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px;
    scrollbar-width:none; -ms-overflow-style:none;
  }
  .kb-filter-row::-webkit-scrollbar{display:none;}
  .kb-filter-label{font-family:var(--sans); font-size:0.72rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted);}
  .kb-chip{
    border:1.5px solid var(--line); background:transparent; color:var(--ink); border-radius:999px;
    padding:8px 16px; font-family:var(--sans); font-size:0.82rem; font-weight:600; cursor:pointer;
    transition:all .18s ease; white-space:nowrap;
  }
  .kb-chip:hover{border-color:var(--coral-deep);}
  .kb-chip.active{background:var(--ink); border-color:var(--ink); color:var(--paper);}
  .kb-section{padding:0 0 110px;}
  .kb-count{color:var(--muted); font-size:0.86rem; margin-bottom:22px;}
  .kb-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .kb-card{
    background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:0 0 24px; overflow:hidden;
    display:flex; flex-direction:column; gap:12px; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease;
    text-align:left;
  }
  .kb-card:hover{transform:translateY(-3px); box-shadow:0 16px 34px -14px rgba(21,24,29,0.28);}
  .kb-card-img{
    width:100%; aspect-ratio:4/3; background-size:cover; background-position:center; background-color:var(--paper-2);
  }
  .kb-card > *:not(.kb-card-img){margin-left:24px; margin-right:24px;}
  .kb-card .kb-topic{margin-top:16px;}
  .kb-topic{
    display:inline-flex; align-self:flex-start; font-family:var(--sans); font-size:0.68rem; font-weight:700;
    letter-spacing:0.05em; text-transform:uppercase; padding:5px 12px; border-radius:999px; color:#fff;
  }
  .kb-topic.topic-ecommerce{background:var(--lime-text);}
  .kb-topic.topic-ai{background:var(--coral-deep);}
  .kb-topic.topic-web{background:var(--navy-2);}
  .kb-card .kb-branche{font-family:var(--sans); font-size:0.76rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:0.04em;}
  .kb-card h3{font-family:var(--serif); font-size:1.24rem; line-height:1.25;}
  .kb-card p{color:var(--muted); font-size:0.9rem; line-height:1.5;}
  .kb-card .kb-read{font-family:var(--sans); font-size:0.84rem; font-weight:700; color:var(--coral-deep); margin-top:auto;}
  .kb-empty{text-align:center; padding:60px 20px; color:var(--muted);}

  .kb-article-page{background:var(--paper);}
  .kb-article-hero{
    width:100%; height:64vh; min-height:380px; max-height:620px; background-size:cover; background-position:center; background-color:var(--paper-2);
  }
  .kb-article-page-inner{max-width:760px; margin:0 auto; padding:40px 20px 110px;}
  .kb-back{
    display:inline-flex; align-items:center; gap:6px; font-family:var(--sans); font-size:0.86rem; font-weight:700;
    color:var(--coral-deep); margin-bottom:26px;
  }
  .kb-back:hover{text-decoration:underline;}
  .kb-article-meta{display:flex; gap:10px; align-items:center; margin-bottom:18px; flex-wrap:wrap;}
  .kb-article-page h1{font-family:var(--serif); font-size:clamp(1.7rem,3.6vw,2.5rem); margin-bottom:22px; line-height:1.15;}
  .kb-article-body p{color:var(--ink); font-size:1rem; line-height:1.7; margin-bottom:18px;}
  .kb-article-body p:last-of-type{margin-bottom:0;}
  .kb-article-bron{
    margin-top:26px; padding-top:20px; border-top:1px solid var(--line); font-size:0.82rem; color:var(--muted);
  }
  .kb-article-cta{
    margin-top:32px; padding:24px; background:var(--paper-2); border-radius:16px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  }
  .kb-article-cta p{margin:0; font-size:0.92rem; color:var(--ink); font-weight:600; max-width:340px;}
  @media (max-width:980px){
    .kb-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:640px){
    .kb-grid{grid-template-columns:1fr;}
    .kb-hero{padding:120px 0 24px;}
    .kb-article-hero{height:42vh; min-height:220px;}
    .kb-article-page-inner{padding:28px 20px 90px;}
    .kb-filters{position:static;}
  }

  /* ===== CONTACT ===== */
  .contact{background:var(--ink); padding:130px 0 90px;}
  .contact-top{display:grid; grid-template-columns:1.1fr 0.9fr; gap:70px; margin-bottom:70px;}
  .contact-top h2{font-size:clamp(2.3rem,4.6vw,3.8rem); color:var(--paper);}
  .contact-top .sub{color:var(--muted-on-dark); margin-top:18px; max-width:420px; font-size:1rem;}

  .form-panel{background:#1E2024; border-radius:var(--radius); padding:36px;}
  .field{margin-bottom:16px;}
  .field label{display:block; font-family:var(--sans); font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; font-weight:700; margin-bottom:8px; color:var(--lime);}
  .field input, .field textarea{
    width:100%; padding:12px 0; border:none; border-bottom:1px solid var(--line-on-dark);
    background:transparent; color:var(--paper); font-family:var(--sans); font-size:0.96rem;
  }
  .field input:focus, .field textarea:focus{outline:none; border-color:var(--lime);}
  .field textarea{resize:vertical; min-height:70px;}
  .check-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:22px;}
  .chip{
    border:1px solid var(--line-on-dark); padding:9px 16px; font-size:0.84rem; font-weight:600; cursor:pointer; color:var(--muted-on-dark);
    transition:all .2s ease; display:flex; align-items:center; gap:8px; border-radius:999px;
  }
  .chip input{accent-color:var(--lime);}
  .chip.checked{border-color:var(--lime); color:var(--lime); background:rgba(207,234,62,0.1);}
  .success-box{text-align:center; padding:30px 6px;}
  .success-box .check{
    width:50px; height:50px; background:var(--lime); border-radius:50%; color:var(--ink);
    display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:1.3rem; font-weight:700;
  }

  /* ===== OFFERTE ===== */
  .offerte{background:var(--ink);}
  .offerte-body{padding:70px 0 110px;}
  .offerte-intro{color:var(--muted-on-dark); font-size:1.08rem; max-width:640px; margin-bottom:56px;}
  .offerte-step{margin-bottom:52px;}
  .step-head{display:flex; align-items:center; gap:14px; margin-bottom:22px;}
  .step-num{
    width:30px; height:30px; border-radius:50%; background:var(--lime); color:var(--ink);
    font-family:var(--sans); font-weight:800; font-size:0.85rem; display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .step-head h3{font-size:1.35rem; color:var(--paper);}
  .style-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;}
  .style-card{
    display:flex; flex-direction:column; gap:10px; padding:18px; border-radius:var(--radius);
    border:1px solid var(--line-on-dark); cursor:pointer; transition:all .2s ease; background:#1E2024;
  }
  .style-card input{position:absolute; opacity:0; pointer-events:none;}
  .style-card:has(input:checked), .style-card.checked{border-color:var(--lime); background:rgba(198,162,74,0.1); box-shadow:0 0 0 1px var(--lime);}
  .style-swatch{
    height:64px; border-radius:10px; display:flex; align-items:center; justify-content:center;
    font-family:var(--serif); font-style:italic; font-size:1.3rem;
  }
  .style-swatch em{font-style:italic;}
  .swatch-chique{background:linear-gradient(135deg,#0C1723,#4E1D1B 70%,#C6A24A); color:#F8F4EA;}
  .swatch-minimal{background:linear-gradient(135deg,#F8F4EA,#ECE2CB); color:#15181D;}
  .swatch-playful{background:linear-gradient(135deg,#E27A3F,#F2C14E); color:#15181D;}
  .swatch-corporate{background:linear-gradient(135deg,#1B2A3D,#4A6C8C); color:#F8F4EA;}
  .swatch-warm{background:linear-gradient(135deg,#7C5F20,#9C5A4E); color:#F8F4EA;}
  .swatch-shop{background:linear-gradient(135deg,#15181D,#6E2A28); color:#F8F4EA;}
  .style-name{font-family:var(--sans); font-weight:700; color:var(--paper); font-size:0.98rem;}
  .style-desc{font-size:0.85rem; color:var(--muted-on-dark); line-height:1.5;}
  .font-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px;}
  .font-card{
    display:flex; flex-direction:column; gap:6px; padding:16px 18px; border-radius:var(--radius);
    border:1px solid var(--line-on-dark); cursor:pointer; transition:all .2s ease; background:#1E2024;
  }
  .font-card input{position:absolute; opacity:0; pointer-events:none;}
  .font-card:has(input:checked), .font-card.checked{border-color:var(--lime); background:rgba(198,162,74,0.1); box-shadow:0 0 0 1px var(--lime);}
  .font-preview{font-size:1.55rem; color:var(--paper); line-height:1.1;}
  .font-name{font-family:var(--sans); font-weight:700; color:var(--paper); font-size:0.86rem;}
  .font-tag{font-family:var(--sans); font-size:0.74rem; color:var(--muted-on-dark);}
  .chip-row{display:flex; flex-wrap:wrap; gap:12px;}
  .offerte-summary{
    display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
    margin-top:60px; padding:26px 30px; border-radius:var(--radius); background:#1E2024; border:1px solid var(--line-on-dark);
  }
  .offerte-summary-text .lbl{font-family:var(--sans); font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--coral-soft); font-weight:700; margin-bottom:8px; display:block;}
  .offerte-summary-text p{color:var(--paper); font-size:0.95rem; max-width:520px;}
  @media (max-width:820px){
    .style-grid{grid-template-columns:repeat(2, 1fr);}
  }
  @media (max-width:540px){
    .style-grid{grid-template-columns:1fr;}
    .offerte-summary{flex-direction:column; align-items:stretch; text-align:left;}
  }

  .contact-info-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px; border-top:1px solid var(--line-on-dark); padding-top:40px;}
  .cinfo .k{font-family:var(--sans); font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--coral-soft); font-weight:700; margin-bottom:10px;}
  .cinfo .v{font-size:1rem; font-weight:500; color:var(--paper);}
  .cinfo .v a:hover{color:var(--lime);}
  .cinfo .maplink{display:inline-block; margin-top:10px; font-size:0.85rem; font-weight:700; color:var(--lime); border-bottom:1px solid var(--lime); padding-bottom:2px;}

  /* ===== FOOTER ===== */
  footer{background:var(--ink); padding:50px 0 34px;}
  .footer-inner{display:flex; flex-direction:column; align-items:center; gap:32px; padding-top:26px; border-top:1px solid var(--line-on-dark);}
  .footer-word{font-family:var(--sans); font-size:1.4rem; color:var(--paper); font-weight:800; letter-spacing:-0.005em; text-align:center;}
  .footer-cols{display:flex; justify-content:center; gap:60px; flex-wrap:wrap; text-align:left;}
  .footer-col{display:flex; flex-direction:column; gap:11px; min-width:150px;}
  .footer-col-title{font-family:var(--sans); font-size:0.7rem; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; color:var(--lime); margin-bottom:2px;}
  .footer-col a{font-size:0.86rem; color:var(--muted-on-dark); font-weight:600;}
  .footer-col a:hover{color:var(--lime);}
  @media (max-width:640px){
    .footer-cols{gap:36px; text-align:center;}
    .footer-col{align-items:center;}
  }
  .footer-word .fw-db{color:var(--lime);}
  .footer-links{display:flex; justify-content:center; gap:28px; flex-wrap:wrap; text-align:center;}
  .footer-links a{font-size:0.86rem; color:var(--muted-on-dark); font-weight:600;}
  .footer-links a:hover{color:var(--lime);}
  .footer-domain{font-family:var(--mono); font-size:0.78rem; color:var(--muted); text-align:center;}
  .footer-legal{font-family:var(--sans); font-size:0.76rem; color:var(--muted-on-dark); margin-top:20px; text-align:center;}

  /* ===== CURSOR ===== */
  .cursor-dot{
    position:fixed; top:0; left:0; width:14px; height:14px; border-radius:50%; background:var(--lime);
    pointer-events:none; z-index:400; transform:translate(-50%,-50%); transition:width .2s ease, height .2s ease, background .2s ease;
    mix-blend-mode:multiply;
  }
  .cursor-ring{
    position:fixed; top:0; left:0; width:38px; height:38px; border-radius:50%; border:2px solid var(--coral-deep);
    pointer-events:none; z-index:400; transform:translate(-50%,-50%); transition:width .25s ease, height .25s ease, opacity .25s ease, border-color .25s ease;
  }
  .cursor-dot.hovering{width:10px; height:10px; background:var(--coral);}
  .cursor-ring.hovering{width:60px; height:60px; border-color:var(--lime-text); opacity:0.6;}
  @media (hover:none), (max-width:980px){ .cursor-dot, .cursor-ring{display:none;} }

  /* ===== SOCIAL FLOAT ===== */
  .social-float{
    position:fixed; left:26px; bottom:26px; z-index:150;
    display:flex; flex-direction:column; gap:14px;
  }
  .social-btn{
    width:60px; height:60px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 24px -8px rgba(0,0,0,0.45);
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .social-btn:hover{transform:translateY(-3px) scale(1.06); box-shadow:0 14px 30px -8px rgba(0,0,0,0.55);}
  .social-btn.social-ig{
    background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
    color:#fff;
  }
  .social-btn.social-mail{background:var(--coral-deep); color:#fff;}
  @media (max-width:620px){
    .social-float{left:16px; bottom:16px; gap:10px;}
    .social-btn{width:50px; height:50px;}
  }

  /* ===== SCROLL REVEAL ===== */
  .reveal{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion:reduce){ .reveal{opacity:1; transform:none; transition:none;} }

  /* ===== GAME (Vang de leads) ===== */
  .game{padding:120px 0; background:var(--ink); position:relative; overflow:hidden;}
  .game-head{max-width:640px; margin:0 auto 50px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px;}
  .game-head h2{color:var(--paper); font-size:clamp(2.1rem,3.8vw,3.2rem);}
  .game-head p{color:var(--muted-on-dark); font-size:1rem;}
  .game-box{
    position:relative; max-width:900px; margin:0 auto; border-radius:var(--radius); overflow:hidden;
    background:linear-gradient(160deg, #1E2530 0%, #10151A 100%); box-shadow:0 30px 60px -24px rgba(0,0,0,0.55);
  }
  .game-hud{
    display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px;
    border-bottom:1px solid var(--line-on-dark); flex-wrap:wrap;
  }
  .hud-item{display:flex; flex-direction:column; gap:2px;}
  .hud-k{font-family:var(--sans); font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted-on-dark); font-weight:700;}
  .hud-v{font-family:var(--serif); font-size:1.5rem; font-weight:800; color:var(--lime);}
  .game-overlay{
    position:absolute; inset:0; background:rgba(16,21,26,0.9); backdrop-filter:blur(4px);
    display:flex; align-items:center; justify-content:center; padding:30px; text-align:center;
    transition:opacity .3s ease, visibility .3s ease; z-index:20;
  }
  .game-overlay[hidden]{display:none;}
  .game-overlay-inner{max-width:420px; display:flex; flex-direction:column; align-items:center; gap:14px;}
  .game-overlay-inner .idx{color:var(--lime);}
  .game-overlay-inner .idx::before{color:var(--coral);}
  .game-overlay-inner h3{color:var(--paper); font-size:clamp(1.5rem,3vw,2.1rem);}
  .game-overlay-inner p{color:var(--muted-on-dark); font-size:0.96rem;}

  /* ===== build game ===== */
  .build-game{padding:34px 22px 40px; display:grid; grid-template-columns:1fr 380px; gap:16px 40px; align-items:start;}
  .build-fields{grid-column:1; display:flex; flex-direction:column; gap:22px;}
  .build-status{grid-column:1; margin:0;}
  .build-preview-col{grid-column:2; grid-row:1 / span 3; position:sticky; top:24px; display:flex; flex-direction:column; gap:20px;}
  @media (max-width:900px){
    .build-game{grid-template-columns:1fr;}
    .build-fields{grid-column:1;}
    .build-status{grid-column:1;}
    .build-preview-col{grid-column:1; grid-row:auto; position:static;}
  }
  .build-field{display:flex; flex-direction:column; gap:10px;}
  .build-field > label{font-family:var(--sans); font-size:0.8rem; font-weight:700; color:var(--paper); letter-spacing:0.01em;}
  .build-field-row{display:flex; flex-wrap:wrap; align-items:center; gap:10px;}
  .build-field-row-2{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
  .build-field-row input{
    font-family:var(--sans); font-size:0.9rem; color:var(--paper); background:rgba(248,244,234,0.06);
    border:1.5px solid rgba(248,244,234,0.22); border-radius:10px; padding:11px 14px; flex:1 1 200px;
    min-width:0; transition:border-color .2s ease, background .2s ease;
  }
  .build-field-row input::placeholder{color:var(--muted-on-dark);}
  .build-field-row input:focus{outline:none; border-color:var(--lime); background:rgba(198,162,74,0.08);}
  .hero-choice{display:flex; flex-wrap:wrap; gap:10px;}
  .hero-choice-opt{
    flex:1 1 140px; min-height:96px; border-radius:10px; border:1.5px solid rgba(248,244,234,0.22);
    font-family:var(--sans); font-size:0.72rem; font-weight:700; color:var(--paper); text-shadow:0 1px 6px rgba(0,0,0,0.8);
    display:flex; align-items:flex-end; padding:8px 10px; cursor:pointer; transition:border-color .2s ease, transform .15s ease;
    background-size:cover; background-position:center; position:relative; overflow:hidden;
  }
  .hero-choice-opt::before{
    content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(8,10,10,0.65) 0%, rgba(8,10,10,0.05) 60%);
  }
  .hero-choice-opt span{position:relative; z-index:1;}
  .hero-choice-opt:hover{transform:translateY(-2px);}
  .hero-choice-opt[aria-pressed="true"]{border-color:var(--lime); box-shadow:0 0 0 3px rgba(198,162,74,0.35);}
  .build-tray{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; max-width:640px;}
  .build-chip{
    font-family:var(--sans); font-weight:700; font-size:0.88rem; color:var(--ink);
    background:var(--lime); border-radius:999px; padding:12px 20px; cursor:grab; user-select:none;
    touch-action:none; box-shadow:0 10px 20px -8px rgba(0,0,0,0.5); transition:opacity .2s ease, transform .15s ease, background .2s ease;
    display:flex; align-items:center; gap:8px;
  }
  .build-chip::before{content:"⠿"; opacity:0.55; font-size:0.8em;}
  .build-chip:active{cursor:grabbing;}
  .build-chip.placed{opacity:0.35; pointer-events:none; background:rgba(248,244,234,0.14); color:var(--muted-on-dark);}
  .build-chip.dragging{position:fixed; z-index:50; pointer-events:none; transform:scale(1.06); box-shadow:0 20px 40px -12px rgba(0,0,0,0.6);}
  .build-chip[aria-disabled="true"]{background:rgba(248,244,234,0.12); color:var(--muted-on-dark); cursor:not-allowed; box-shadow:none;}
  .laptop{width:100%; max-width:620px;}
  .laptop-screen{
    background:#0c1013; border:10px solid #23282f; border-bottom:none; border-radius:18px 18px 0 0;
    aspect-ratio:16/10.5; box-shadow:0 30px 60px -20px rgba(0,0,0,0.6); overflow:hidden;
  }
  .laptop-base{
    height:16px; background:linear-gradient(180deg, #2b3038 0%, #181b1f 100%);
    border-radius:0 0 10px 10px; position:relative;
  }
  .laptop-base::after{
    content:""; position:absolute; left:50%; top:0; transform:translateX(-50%); width:80px; height:6px;
    background:#0c1013; border-radius:0 0 6px 6px;
  }
  .site-preview{
    display:grid; height:100%; padding:5% 6%; gap:3%;
    grid-template-columns:1fr 1.6fr; grid-template-rows:auto auto 1fr auto;
    grid-template-areas:"logo menu" "name name" "hero hero" "cta cta";
  }
  .site-slot{
    border:1.5px dashed rgba(248,244,234,0.28); border-radius:8px;
    display:flex; align-items:center; justify-content:center; text-align:center;
    font-family:var(--sans); font-size:0.7rem; color:var(--muted-on-dark); letter-spacing:0.02em;
    transition:border-color .2s ease, background .2s ease; padding:6px;
  }
  .site-slot[data-slot="logo"]{grid-area:logo;}
  .site-slot[data-slot="menu"]{grid-area:menu; justify-content:flex-end; gap:10px;}
  .site-slot[data-slot="name"]{grid-area:name;}
  .site-slot[data-slot="hero"]{grid-area:hero;}
  .site-slot[data-slot="cta"]{grid-area:cta; justify-content:flex-start;}
  .site-slot.drag-over{border-color:var(--lime); background:rgba(198,162,74,0.14);}
  .site-slot.filled{border-style:solid; border-color:rgba(198,162,74,0.5); background:rgba(198,162,74,0.08); color:var(--paper);}
  .site-slot[data-slot="logo"].filled{font-family:var(--serif); font-weight:800; color:var(--lime); font-size:1.3rem;}
  .site-slot[data-slot="menu"].filled{font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--paper);}
  .site-slot[data-slot="name"].filled{font-family:var(--serif); font-weight:700; font-size:1.35rem; color:var(--paper); word-break:break-word;}
  .site-slot[data-slot="hero"].filled{font-size:0.72rem; font-weight:700; color:var(--paper); text-shadow:0 1px 6px rgba(0,0,0,0.6);}
  .site-slot[data-slot="hero"].filled.hero-fill-1{background:linear-gradient(135deg, #3a5a6b 0%, #1c2b33 100%);}
  .site-slot[data-slot="hero"].filled.hero-fill-2{background:linear-gradient(135deg, #6e2a28 0%, #2c1211 100%);}
  .site-slot[data-slot="hero"].filled.hero-fill-3{background:linear-gradient(135deg, #7a6428 0%, #2a2313 100%);}
  .site-slot[data-slot="cta"].filled{background:var(--coral); border-style:solid; border-color:var(--coral); color:var(--paper); font-weight:700; border-radius:999px; max-width:220px; font-size:0.68rem;}
  .build-status{font-family:var(--sans); font-size:0.9rem; color:var(--muted-on-dark); text-align:center;}
  @media (max-width:620px){
    .site-slot{font-size:0.6rem;}
    .site-slot[data-slot="name"].filled{font-size:1.05rem;}
    .build-field-row-2{grid-template-columns:1fr;}
  }

  /* ===== CONFETTI ===== */
  .confetti-piece{position:fixed; top:-20px; z-index:500; border-radius:2px; pointer-events:none;}

  /* ===== RESPONSIVE ===== */
  @media (max-width:980px){
    .hero-inner{grid-template-columns:1fr;}
    .hero-media{min-height:340px; margin:0; border-radius:0;}
    .hero-text{padding:120px 24px 40px;}
    .services-body{grid-template-columns:1fr;}
    .service-media{position:relative; top:auto; aspect-ratio:16/9;}
    .about-grid, .contact-top{grid-template-columns:1fr; gap:36px;}
    .contact-info-grid{grid-template-columns:1fr; gap:26px;}
    .overlay-inner{flex-direction:column; gap:40px; padding:100px 24px 40px;}
    .sticker{padding:14px 24px; font-size:0.95rem;}
  }
  @media (max-width:620px){
    .sticker{top:110px !important; right:16px !important;}
  }
  @media (max-width:620px){
    .wrap{padding:0 22px;}
    .services{padding:90px 0;}
    .about, .contact{padding:90px 0 60px;}
    .projects{padding:0 0 90px;}
    .projects-scroll{padding:6px 22px 20px;}
    .project-card{flex:0 0 78vw;}
    .hero-foot{gap:22px;}
    .game{padding:80px 0;}
    .game-hud{padding:14px 16px;}
  }

  /* ===== PIETER: AI-GIDS WIDGET ===== */
  .pieter-widget{position:fixed; right:24px; bottom:24px; z-index:600; font-family:var(--sans); display:flex; flex-direction:column; align-items:flex-end; gap:12px;}
  .pieter-fab{
    position:relative; width:64px; height:64px; border-radius:50%; border:none; cursor:pointer; padding:0;
    background:linear-gradient(150deg, var(--lime) 0%, #E7C77E 55%, var(--lime) 100%);
    box-shadow:0 10px 26px rgba(21,24,29,0.32), 0 0 0 4px rgba(198,162,74,0.18);
    display:flex; align-items:center; justify-content:center; overflow:hidden;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .pieter-fab img{width:100%; height:100%; object-fit:cover; object-position:center 15%; border-radius:50%;}
  .pieter-fab:hover{transform:translateY(-2px) scale(1.03);}
  .pieter-fab::after{
    content:""; position:absolute; inset:-4px; border-radius:50%; border:2px solid rgba(198,162,74,0.55);
    animation:pieterRing 2.6s ease-out infinite; pointer-events:none;
  }
  @keyframes pieterRing{
    0%{transform:scale(0.9); opacity:0.9;}
    80%{transform:scale(1.35); opacity:0;}
    100%{opacity:0;}
  }
  .pieter-fab .pieter-dot{position:absolute; top:2px; right:2px; width:14px; height:14px; border-radius:50%; background:#3FAE58; border:2px solid var(--paper); z-index:2;}
  .pieter-speech-wrap{display:flex; align-items:flex-end; gap:0; animation:pieterPop .35s cubic-bezier(.2,.9,.3,1.3) both;}
  .pieter-figure{
    width:84px; height:auto; flex-shrink:0; margin-right:-6px; position:relative; z-index:1;
    filter:drop-shadow(0 10px 18px rgba(21,24,29,0.35));
  }
  .pieter-speech{
    max-width:230px; background:var(--ink); color:var(--paper); border-radius:16px 16px 16px 4px;
    padding:14px 16px; font-size:0.86rem; line-height:1.45; box-shadow:0 14px 30px rgba(21,24,29,0.28);
    position:relative; margin-bottom:36px;
  }
  .pieter-speech b{color:var(--lime);}
  .pieter-speech-close{
    position:absolute; top:6px; right:8px; background:none; border:none; color:var(--muted-on-dark);
    font-size:1rem; cursor:pointer; line-height:1; padding:4px;
  }
  .pieter-speech-close:hover{color:var(--paper);}
  @keyframes pieterPop{from{opacity:0; transform:translateY(8px) scale(0.94);} to{opacity:1; transform:none;}}

  .pieter-panel{
    width:340px; max-width:calc(100vw - 32px); height:480px; max-height:calc(100vh - 120px);
    background:var(--paper); border-radius:18px; box-shadow:0 24px 60px rgba(21,24,29,0.35);
    display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line);
    animation:pieterPop .25s cubic-bezier(.2,.9,.3,1.3) both;
  }
  .pieter-panel-head{
    background:var(--navy-2); color:var(--paper); padding:14px 16px; display:flex; align-items:center; gap:10px;
  }
  .pieter-panel-avatar{
    width:36px; height:36px; border-radius:50%; background:linear-gradient(150deg, var(--lime), #E7C77E);
    display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700; color:var(--ink); flex-shrink:0;
    overflow:hidden;
  }
  .pieter-panel-avatar img{width:100%; height:100%; object-fit:cover; object-position:center 15%;}
  .pieter-panel-title{flex:1; min-width:0;}
  .pieter-panel-title .name{font-weight:700; font-size:0.94rem;}
  .pieter-panel-title .status{font-size:0.72rem; color:var(--muted-on-dark); display:flex; align-items:center; gap:5px;}
  .pieter-panel-title .status::before{content:""; width:7px; height:7px; border-radius:50%; background:#3FAE58; display:inline-block;}
  .pieter-panel-close{background:none; border:none; color:var(--paper); font-size:1.2rem; cursor:pointer; padding:4px 6px; opacity:0.75;}
  .pieter-panel-close:hover{opacity:1;}
  .pieter-messages{flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px;}
  .pieter-msg{max-width:84%; padding:10px 13px; border-radius:14px; font-size:0.86rem; line-height:1.5; white-space:pre-wrap;}
  .pieter-msg.bot{align-self:flex-start; background:var(--paper-2); color:var(--ink); border-bottom-left-radius:4px;}
  .pieter-msg.user{align-self:flex-end; background:var(--coral); color:var(--paper); border-bottom-right-radius:4px;}
  .pieter-msg.system{align-self:center; background:none; color:var(--muted); font-size:0.76rem; text-align:center; max-width:100%;}
  .pieter-typing{align-self:flex-start; display:flex; gap:4px; padding:10px 13px; background:var(--paper-2); border-radius:14px; border-bottom-left-radius:4px;}
  .pieter-typing span{width:6px; height:6px; border-radius:50%; background:var(--muted); animation:pieterBounce 1.1s ease-in-out infinite;}
  .pieter-typing span:nth-child(2){animation-delay:.15s;}
  .pieter-typing span:nth-child(3){animation-delay:.3s;}
  @keyframes pieterBounce{0%,60%,100%{transform:translateY(0); opacity:0.5;} 30%{transform:translateY(-4px); opacity:1;}}
  .pieter-quick{display:flex; flex-wrap:wrap; gap:6px; padding:0 16px 10px;}
  .pieter-quick button{
    font-family:var(--sans); font-size:0.72rem; font-weight:600; color:var(--coral-deep); background:var(--paper-2);
    border:1px solid var(--line); border-radius:999px; padding:6px 11px; cursor:pointer; transition:background .15s ease;
  }
  .pieter-quick button:hover{background:var(--lime); color:var(--ink);}
  .pieter-input-row{display:flex; gap:8px; padding:12px; border-top:1px solid var(--line); background:var(--paper);}
  .pieter-input-row input{
    flex:1; border:1.5px solid var(--line); border-radius:999px; padding:10px 16px; font-family:var(--sans);
    font-size:0.85rem; background:#fff; color:var(--ink);
  }
  .pieter-input-row input:focus{outline:none; border-color:var(--lime);}
  .pieter-send{
    width:40px; height:40px; border-radius:50%; border:none; background:var(--lime); color:var(--ink);
    cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .15s ease;
  }
  .pieter-send:hover{transform:scale(1.06);}
  .pieter-send:disabled{opacity:0.5; cursor:default; transform:none;}
  .pieter-fallback{padding:16px; display:flex; flex-direction:column; gap:10px;}
  .pieter-fallback p{font-size:0.86rem; color:var(--muted); line-height:1.5;}
  .pieter-fallback input{
    border:1.5px solid var(--line); border-radius:10px; padding:10px 13px; font-family:var(--sans); font-size:0.85rem; background:#fff;
  }
  .pieter-fallback input:focus{outline:none; border-color:var(--lime);}
  .pieter-fallback .btn{width:100%;}
  @media (max-width:480px){
    .pieter-widget{right:14px; bottom:14px;}
    .pieter-panel{width:calc(100vw - 28px);}
  }
