:root{--ink:#14163a;--t2:#4c4e66;--t3:#7d7f93;--lijn:#ebe5d6;--vlak:#fff;--teal:#2b44f0;--papier:#fbf7ee;--orange:#2b44f0;--geel:#ffdc4f;--kop:"Bricolage Grotesque","Geist",-apple-system,system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;font:15.5px/1.55 "Geist",-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif;color:var(--ink);background:var(--papier);-webkit-font-smoothing:antialiased}
a{color:var(--teal)}header.kop{background:var(--papier);border-bottom:1px solid var(--lijn)}.binnen{max-width:760px;margin:0 auto;padding:0 20px}
header.kop .binnen{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding-block:8px}.merk{display:flex;gap:9px;align-items:center;font-weight:600;color:var(--ink);text-decoration:none;background:var(--geel);border-radius:12px;padding:7px 11px 6px}
.merk img{display:block;height:44px;width:auto}.kruim{font-size:13px;color:var(--t3);margin:22px 0 6px}.kruim a{color:var(--t2)}
h1,h2,h3{font-family:var(--kop);font-weight:800;letter-spacing:-.02em}h1{color:var(--ink)}::selection{background:var(--geel)}h1{font-size:32px;line-height:1.12;letter-spacing:-.02em;margin:0}h2{font-size:22px;letter-spacing:-.01em;margin:38px 0 6px}h3{font-size:16px;margin:20px 0 6px}
.lead{color:var(--t2);font-size:16.5px;margin:10px 0 0}.kaart{background:#fff;border-radius:18px;padding:18px 20px;margin:14px 0;box-shadow:0 1px 2px rgba(60,50,30,.05),0 10px 28px -12px rgba(60,50,30,.18)}
.oog{font-size:12.5px;font-weight:600;color:var(--t3);margin:0 0 6px}.stip{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:1px}
.plek b{font-size:16px}.meta{color:var(--t3);font-size:13.5px}.feit{font-size:13.5px;color:var(--t2)}.ok{color:#1F7A4D;font-weight:500}
ul.lijst{list-style:none;margin:6px 0 0;padding:0}ul.lijst li{padding:10px 0;border-bottom:1px solid var(--lijn)}ul.lijst li:last-child{border-bottom:0}
.knop{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;font-weight:500;padding:12px 18px;border-radius:999px;margin:8px 8px 0 0}.knop.licht{background:#fff;color:var(--ink)}
.tip{background:#fff;border-radius:16px;padding:12px 16px;margin:12px 0;color:var(--t2);font-size:14.5px}.rooster{columns:3 180px;padding:0;list-style:none;font-size:14.5px}.rooster li{margin:3px 0}
footer{color:var(--t3);font-size:13px;margin:16px 0 40px}.partner-stil{margin:40px 0 0;padding-top:16px;border-top:1px solid var(--lijn);font-size:13px;color:var(--t3)}.partner-stil a{color:inherit}.partner{display:flex;align-items:center;gap:12px;margin-top:40px;padding-top:16px;border-top:1px solid var(--lijn);font-size:13px;color:var(--t3);text-decoration:none}.partner img{height:22px;width:auto}
.cirqo-blok{display:grid;grid-template-columns:1fr 150px;gap:10px;align-items:center;isolation:isolate;overflow:hidden}.cirqo-blok .ck-plek{display:grid;place-items:center;height:150px;text-decoration:none}.cirqo-blok .ck{transform:scale(.8)}
@media (max-width:560px){.cirqo-blok{grid-template-columns:1fr}.cirqo-blok .ck-plek{height:130px;order:-1}}.cirqo-blok .oog img{height:18px;width:auto;vertical-align:-4px;margin-left:6px}.via{float:right;font-weight:500}.via img{height:16px;width:auto;vertical-align:-3px;margin-left:4px}/* Cameraknop met gloed en plusje: de hoofdactie op /spullen-aanbieden en op
   het beginscherm van de app. Eén ritme van 4,2 s: de knop ademt, klikt (de
   lens knijpt, een glans flitst, het plusje veert), twee golven, dan rust.
   Achter de knop drijft een zachte gloed. Alleen transform en opacity.
   Kleur: de huisstijlkleur van de pagina (--orange). Voorvoegsel ck- zodat
   niets botst met bestaande klassen. */
.ck{--ck:var(--orange,#86bc97);--ck-golf:cubic-bezier(.45,0,.55,1);
    position:relative;display:grid;place-items:center;width:136px;height:136px;pointer-events:none}
.ck-gloed{position:absolute;left:50%;top:50%;width:300px;height:300px;margin:-150px 0 0 -150px;z-index:-1;opacity:.78}   /* achter kop en knoppen; iets ingetogen (Joran 24-9) */
.ck-blob{position:absolute;inset:0;border-radius:50%;filter:blur(20px);will-change:transform}
.ck-b1{background:radial-gradient(circle at 42% 40%,color-mix(in srgb,var(--ck) 55%,transparent) 0%,transparent 62%);
       animation:ck-drijf1 9s ease-in-out infinite alternate}
.ck-b2{background:radial-gradient(circle at 60% 62%,color-mix(in srgb,var(--ck) 38%,#fff) 0%,transparent 58%);
       animation:ck-drijf2 11.5s ease-in-out infinite alternate}
@keyframes ck-drijf1{0%{transform:translate(-16px,8px) scale(1) rotate(0deg)}100%{transform:translate(14px,-12px) scale(1.14) rotate(40deg)}}
@keyframes ck-drijf2{0%{transform:translate(14px,10px) scale(1.08) rotate(0deg)}100%{transform:translate(-12px,-8px) scale(.94) rotate(-50deg)}}

.ck-knop{position:relative;display:flex;align-items:center;justify-content:center;width:136px;height:136px;border-radius:50%;
         background:var(--ck);color:#fff;will-change:transform;animation:ck-klik 4.2s var(--ck-golf) infinite;
         box-shadow:0 20px 38px -16px color-mix(in srgb,var(--ck) 80%,transparent),inset 0 1px 0 rgba(255,255,255,.25)}
.ck-knop::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;opacity:0;
                 background:radial-gradient(circle at 50% 55%,rgba(255,255,255,.75) 0%,rgba(255,255,255,0) 62%);animation:ck-glim 4.2s linear infinite}
.ck-cam{position:relative;z-index:1;width:58px;height:58px}
.ck-lens{transform-box:fill-box;transform-origin:center;animation:ck-sluiter 4.2s var(--ck-golf) infinite}
.ck-plus{position:absolute;left:calc(50% + 22px);top:calc(50% - 34px);z-index:2;width:17px;height:17px;opacity:.95;
         animation:ck-plusje 4.2s var(--ck-golf) infinite}
.ck-plus svg{display:block;width:100%;height:100%}
.ck-golf{position:absolute;inset:0;border-radius:50%;border:2px solid color-mix(in srgb,var(--ck) 70%,#fff);opacity:0;
         will-change:transform,opacity;animation:ck-golf 4.2s cubic-bezier(.2,.7,.2,1) infinite}
.ck-golf.ck-twee{animation-delay:.3s}
@keyframes ck-klik{0%,100%{transform:scale(1)}16%{transform:scale(1.035)}22%{transform:scale(.94)}30%{transform:scale(1.02)}37%{transform:scale(1)}}
@keyframes ck-sluiter{0%,18%,31%,100%{transform:scale(1)}22.5%{transform:scale(.52)}}
@keyframes ck-glim{0%,21%{opacity:0}23%{opacity:.6}33%,100%{opacity:0}}
@keyframes ck-plusje{0%,24%,40%,100%{transform:scale(1)}30%{transform:scale(1.18)}}
@keyframes ck-golf{0%,23%{opacity:0;transform:scale(1)}28%{opacity:.5}72%,100%{opacity:0;transform:scale(1.5)}}

@media (prefers-reduced-motion:reduce){
  .ck *,.ck *::before{animation:none!important}
}

/* foto direct kiezen en laten herkennen, zoals op de kaart (28-9) */
.scan { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 24px; background: rgba(251,247,238,.96); }
.scan[hidden] { display: none; }
.scan-kaart { width: min(340px, 100%); text-align: center; }
.scan-beeld { position: relative; width: 220px; height: 220px; margin: 0 auto; border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 2px 6px rgba(20,22,58,.08), 0 24px 50px -18px rgba(20,22,58,.35); }
.scan-beeld img { width: 100%; height: 100%; object-fit: cover; display: block; }
.scan-lijn { position: absolute; left: 0; right: 0; top: 0; height: 36%; background: linear-gradient(180deg, rgba(255,220,79,0), rgba(255,220,79,.55)); border-bottom: 3px solid #ffdc4f;
  animation: scan-veeg 1.6s cubic-bezier(.45,0,.55,1) infinite alternate; }
@keyframes scan-veeg { from { transform: translateY(-40%); } to { transform: translateY(210%); } }
.scan-tekst { margin: 22px 0 0; font: 700 20px "Bricolage Grotesque", sans-serif; letter-spacing: -0.015em; color: #14163a; }
.scan-klein { margin: 6px 0 0; font-size: 14.5px; color: #4c4e66; }
@media (prefers-reduced-motion: reduce) { .scan-lijn { animation: none; transform: translateY(80%); } }
