:root{font-family:Arial,Helvetica,sans-serif;color:#103849;background:#f6faf8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,.button{cursor:pointer}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px max(5vw,20px);background:#fff;gap:20px}.brand{display:flex;align-items:center;gap:8px;font-size:1.5rem;font-weight:800;color:#0c694c}.brand:first-letter{color:#dc4248}.topbar nav{display:flex;gap:24px;align-items:center;font-weight:650}.nav-cta{padding:12px 18px;border-radius:9px;background:#eaf8f0;color:#076b49}.hero{min-height:530px;background:linear-gradient(135deg,#edf9f3,#fff 65%);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:30px;padding:70px max(7vw,24px);overflow:hidden}.hero-copy{max-width:660px}.eyebrow{font-size:.9rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#14865c}h1{font-size:clamp(2.8rem,6vw,5rem);line-height:1.06;letter-spacing:-.05em;margin:18px 0;color:#083d4c}.red-heart{font-size:.38em;color:#e74d55;vertical-align:top;margin-left:12px}h2{font-size:clamp(2rem,3vw,2.7rem);line-height:1.15;letter-spacing:-.035em;margin:12px 0 20px}.hero p,.section p{font-size:1.08rem;line-height:1.65;color:#47616b}.hero .motto{font-size:1.4rem;color:#0d7550;font-weight:700;margin:0 0 22px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:#159560;color:white;border:0;border-radius:10px;padding:16px 22px;font-weight:750;min-height:54px}.button:hover{background:#087249}.hero-symbol{width:min(360px,65vw);height:min(360px,65vw);border-radius:50%;background:#d8f2e4;margin:auto;display:grid;place-items:center;position:relative;color:#0f995e}.hero-symbol span{font-size:12rem;font-weight:200;line-height:1}.hero-symbol small{position:absolute;bottom:60px;font-weight:700;color:#0d684b}.section{padding:80px max(7vw,24px)}.section-head{display:flex;justify-content:space-between}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;margin-top:25px}.card{background:white;border:1px solid #deebe4;border-radius:14px;overflow:hidden}.card img{width:100%;aspect-ratio:16/10;object-fit:cover}.card-body{padding:20px}.card h3{margin:0 0 8px}.progress{height:8px;border-radius:8px;background:#e6eee9;overflow:hidden}.progress span{display:block;height:100%;background:#1ba46a}.steps{background:#e9f6ef}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.step-grid article{background:white;border-radius:14px;padding:28px}.step-grid b{color:#0f9c63}.form-section{display:grid;grid-template-columns:.65fr 1.35fr;gap:60px}form{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:white;padding:32px;border:1px solid #dfece5;border-radius:16px}label{display:flex;flex-direction:column;gap:9px;font-weight:700}input,select,textarea{width:100%;border:1px solid #bccfc6;border-radius:8px;padding:12px;color:#103849;background:white}input:focus,select:focus,textarea:focus{outline:2px solid #159560;outline-offset:1px}.wide{grid-column:1/-1}.fee{background:#e8f7ee;padding:18px;border-radius:10px;display:flex;flex-direction:column;gap:8px}.consent{flex-direction:row;align-items:flex-start;font-weight:400;line-height:1.5}.consent input{width:auto;margin-top:5px}footer{background:#083d4c;color:white;padding:45px max(7vw,24px);display:flex;justify-content:space-between;gap:25px}footer div:nth-child(2){display:flex;flex-direction:column;gap:12px}footer p{color:#cae0e3}.page{max-width:1100px;margin:60px auto;padding:0 24px}.panel{background:white;border:1px solid #dcebe4;border-radius:14px;padding:24px;margin:20px 0}.muted{color:#5b7179}.toolbar{display:flex;gap:12px;flex-wrap:wrap}.toolbar button{border:1px solid #0d7951;border-radius:8px;background:white;color:#0c694c;padding:10px 14px}.ledger{width:100%;border-collapse:collapse}.ledger td,.ledger th{padding:12px;border-bottom:1px solid #e2ebe7;text-align:left}.message{padding:16px;background:#eff8f3;border-radius:9px}@media(max-width:800px){.topbar nav{gap:12px;font-size:.85rem}.topbar nav a:nth-child(1),.topbar nav a:nth-child(2){display:none}.hero{grid-template-columns:1fr;padding:65px 24px}.hero-symbol{width:180px;height:180px}.hero-symbol span{font-size:7rem}.hero-symbol small{bottom:20px}.step-grid,.form-section{grid-template-columns:1fr}form{grid-template-columns:1fr;padding:20px}footer{flex-direction:column}.section{padding:60px 24px}}
/* Goedgekeurde GeefDoor-header */
.topbar{position:relative;z-index:2}.brand img{display:block;width:180px;height:54px;object-fit:contain;object-position:left center}.hero-reference{position:relative;max-width:1536px;margin:auto;background:#fff}.hero-reference>img{display:block;width:100%;height:auto}.hero-hitarea{position:absolute;left:34.4%;top:49%;width:31%;height:14%;border-radius:40px}.hero-hitarea:focus-visible{outline:4px solid #063d42;outline-offset:4px}button:disabled{opacity:.54;cursor:not-allowed}.form-section{scroll-margin-top:25px}@media(max-width:800px){.brand img{width:120px;height:44px}.hero-reference{margin-top:0}.hero-hitarea{left:32%;width:36%;top:48%;height:16%;min-height:36px}.topbar{padding:12px 16px}.topbar nav .nav-cta{display:none}}@media(max-width:480px){.topbar nav a[href="/dashboard.html"]{font-size:.8rem}.hero-reference:after{content:'Start een collecte';display:block;text-align:center;background:#159560;color:white;padding:14px;font-weight:700}.hero-hitarea{top:100%;left:0;width:100%;height:50px;z-index:1}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.campaign-pages{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:32px}.campaign-pages[hidden]{display:none}.campaign-pages button{border:1px solid #b8d9c9;background:#fff;color:#0b6549;border-radius:9px;padding:10px 14px;min-width:44px;min-height:44px;font-weight:700}.campaign-pages button[aria-current="page"]{background:#0e8c5d;color:#fff;border-color:#0e8c5d}.campaign-pages button:disabled:not([aria-current]){opacity:.45}.campaign-pages button:focus-visible{outline:3px solid #073b4c;outline-offset:2px}.cards .card{display:block;transition:box-shadow .2s,transform .2s}.cards .card:hover{box-shadow:0 12px 28px #0c513019;transform:translateY(-2px)}
/* Openingspagina */
.landing-hero{position:relative;min-height:690px;display:flex;align-items:center;overflow:hidden;background:#eef9f4}.landing-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.landing-copy{position:relative;z-index:1;padding:80px max(7vw,24px);max-width:710px}.landing-copy h1{font-size:clamp(3.3rem,5.7vw,6.2rem);line-height:1.02;margin:24px 0 20px;letter-spacing:-.055em;color:#063e43}.landing-copy h1 em{font-style:normal;color:#0e9660}.landing-copy p{font-size:1.18rem;line-height:1.65;max-width:560px;color:#305968}.landing-actions{display:flex;align-items:center;gap:24px;margin-top:36px}.landing-secondary{font-weight:750;color:#0b6f50;padding:15px 0}.landing-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:54px;color:#1f6553;font-size:.95rem;font-weight:700}.landing-hero .eyebrow{background:#e8f8ed;padding:9px 12px;border-radius:30px;font-size:.82rem}.hero-reference{scroll-margin-top:20px}.form-section{padding-top:70px}
@media(max-width:900px){.landing-hero{min-height:850px;align-items:flex-start}.landing-hero>img{height:58%;top:auto;object-position:67% center}.landing-copy{padding:58px 24px 0;max-width:100%;width:100%}.landing-copy h1{font-size:clamp(2.9rem,9vw,5rem)}.landing-copy p{max-width:620px}.landing-trust{margin-top:24px}.landing-hero>img{mask-image:linear-gradient(to bottom,transparent 0%,black 26%)}}
@media(max-width:520px){.landing-hero{min-height:800px}.landing-copy h1{font-size:2.8rem}.landing-copy p{font-size:1rem}.landing-actions{align-items:flex-start;flex-direction:column;gap:6px}.landing-trust{display:none}.landing-hero>img{height:47%;object-position:70% center}.topbar nav a[href="/#werkwijze"],.topbar nav a[href="#werkwijze"]{display:none}}
.topbar .brand{display:flex;align-items:center;gap:3px;min-width:max-content;color:#093c44;font-size:1.65rem;letter-spacing:-.045em}.topbar .brand-icon{position:relative;display:block;width:58px;height:49px;overflow:hidden;flex:none}.topbar .brand-icon img{position:absolute;width:67px;height:67px;max-width:none;top:-3px;left:-5px;object-fit:contain;clip-path:inset(0 0 25% 0)}@media(max-width:600px){.topbar .brand{font-size:1.24rem}.topbar .brand-icon{width:40px;height:38px}.topbar .brand-icon img{width:48px;height:48px;left:-4px;top:-2px}}
.app-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:30px 0}.app-map .panel{margin:0;display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s}.app-map .panel:hover{transform:translateY(-2px);box-shadow:0 8px 24px #093c4418}.app-map strong{font-size:1.25rem}.app-map span{color:#45636a}@media(max-width:650px){.app-map{grid-template-columns:1fr}}
.personal-hero{position:relative;min-height:300px;display:flex;align-items:end;overflow:hidden;border-radius:18px;background:linear-gradient(135deg,#0b6554,#0a3f4a);margin-bottom:32px}.personal-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.personal-hero:has(img)::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,#052e39d9,transparent 75%)}.personal-hero-copy{position:relative;z-index:1;padding:36px;color:white}.personal-hero h1{color:white;font-size:clamp(2.1rem,5vw,4rem);margin:0 0 8px}.personal-hero .muted{color:#e3f5f0;margin:0}
/* Opening: text and photography occupy separate, predictable areas. */
.landing-hero{display:grid;grid-template-columns:minmax(0,48%) minmax(0,52%);min-height:640px;align-items:stretch;overflow:hidden;background:#f1fbf7}.landing-hero>img{position:relative;inset:auto;width:100%;height:100%;min-height:640px;object-fit:cover;object-position:74% center;mask-image:none}.landing-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:none;padding:60px 5vw 60px max(5vw,32px)}.landing-copy h1{font-size:clamp(2.9rem,4.15vw,4.4rem);line-height:1.08;letter-spacing:-.045em;max-width:640px}.landing-copy h1 em{color:#0c8659}.landing-copy p{font-size:1.07rem;line-height:1.6;max-width:530px}.landing-actions{flex-direction:row;gap:24px;align-items:center;margin-top:24px}.landing-secondary{white-space:nowrap}.landing-trust{margin-top:35px;gap:10px 20px;font-size:.85rem}.landing-hero .eyebrow{line-height:1.4;max-width:100%}
@media(max-width:1000px){.landing-hero{grid-template-columns:1fr;min-height:0}.landing-copy{padding:46px max(6vw,20px) 30px}.landing-copy h1{font-size:clamp(2.3rem,6vw,3.8rem);max-width:760px}.landing-copy p{font-size:1rem;max-width:650px}.landing-hero>img{height:auto;min-height:0;aspect-ratio:16/8;object-position:70% center;mask-image:none}.landing-trust{margin-top:24px}}
@media(max-width:600px){.landing-copy{padding:38px 22px 26px}.landing-copy h1{font-size:clamp(2.05rem,8.2vw,2.55rem);line-height:1.11;margin:18px 0}.landing-copy p{font-size:1rem;line-height:1.55;margin:0}.landing-hero .eyebrow{font-size:.68rem;letter-spacing:.07em;padding:7px 10px}.landing-actions{flex-direction:row;flex-wrap:wrap;gap:10px 18px;margin-top:22px}.landing-actions .button{min-height:48px;padding:12px 16px}.landing-secondary{padding:10px 0;font-size:.9rem}.landing-trust{display:none}.landing-hero>img{aspect-ratio:4/3;object-position:70% center}.topbar .brand-icon{height:35px}.topbar .brand-icon img{clip-path:inset(0 0 34% 0)}}
/* Beperkte afwerking van de bestaande hero en het donatievenster. */
@media(min-width:1001px){.landing-hero{background:#f8fbfa}.landing-hero>img{width:94%;margin-left:6%;transform:translateY(12px);filter:saturate(.9)}}
main:has(form[action="/api/startdonatie"]){color:#173b4b;background:#fafcfb}main form[action="/api/startdonatie"]{background:#fff;border:1px solid #dde8e5;border-radius:16px;padding:1.25rem;margin:1.5rem 0;display:grid;gap:.85rem}main form[action="/api/startdonatie"] label{display:block;color:#173b4b}main form[action="/api/startdonatie"] input:not([type="checkbox"]){display:block;width:100%;margin-top:.4rem;padding:.7rem;border:1px solid #b7cbc6;border-radius:8px;background:#fff;color:#173b4b}main form[action="/api/startdonatie"] .button{background:#168c67;color:#fff}
/* Compact legal language navigation beside the campaign action. */
.dashboard-collecte{display:block;margin:1rem 0;color:inherit;min-height:88px;cursor:pointer;touch-action:manipulation}
.dashboard-collecte:hover,.dashboard-collecte:focus-visible{border-color:#0e8c5d;box-shadow:0 4px 18px #0c513019}
.dashboard-collecte:focus-visible{outline:3px solid #073b4c;outline-offset:2px}
.dashboard-collecte-action{display:inline-block;margin-top:.35rem;padding:.7rem 1rem;border-radius:9px;background:#0e8c5d;color:#fff;font-weight:700}
.cards .card:focus-visible{outline:3px solid #0c694c;outline-offset:3px}
.campaign-status{font-weight:700;color:#0c694c;margin:15px 0 12px}
.campaign-cta{display:inline-flex;align-items:center;justify-content:center;background:#159560;color:#fff;border-radius:9px;padding:12px 18px;min-height:48px;font-weight:750}
.campaign-cta-closed{background:#e8f2ee;color:#0c694c}
.topbar .legal-languages{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;font-size:.76rem;font-weight:700}.topbar .legal-languages a{padding:7px 4px;border-radius:6px}.topbar .legal-languages a:hover,.topbar .legal-languages a[aria-current="page"]{background:#eaf8f0;color:#076b49}.legal-content section{margin:1.5rem 0}.legal-content p{line-height:1.65}.legal-links{display:flex;gap:.6rem 1.1rem;flex-wrap:wrap;margin:1rem 0}.legal-links a{font-size:.95rem}@media(max-width:800px){.topbar{flex-wrap:wrap;gap:6px}.topbar nav{flex-wrap:wrap;gap:6px 10px}.topbar nav .nav-cta{display:inline-flex;padding:8px 10px;font-size:.78rem;white-space:nowrap}.topbar .legal-languages{font-size:.72rem}}@media(max-width:520px){.topbar nav{width:100%}.topbar nav .legal-languages a{padding:6px 2px}}
/* Mobiele aanvraagheader: leesbare tekst en een uitsnede van de bestaande foto. */
.mobile-request-hero{display:none}
@media(max-width:600px){
  html,body{max-width:100%;overflow-x:clip}
  .topbar{width:100%;min-width:0;align-items:flex-start;flex-wrap:wrap;padding:12px 16px;gap:8px}
  .topbar nav{width:100%;min-width:0;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
  .topbar nav .nav-cta{display:inline-flex;min-height:40px;align-items:center}
  .topbar .legal-languages{flex-wrap:wrap;white-space:normal}
  .hero-reference{width:100%;max-width:100%;display:flex;flex-direction:column;background:#f1fbf7}
  .mobile-request-hero{display:block;padding:36px 20px 22px;text-align:center}
  .mobile-request-hero h2{font-size:clamp(1.95rem,8vw,2.5rem);line-height:1.12;margin:12px 0;color:#083d4c}
  .mobile-request-hero p{font-size:1.1rem;color:#47616b;margin:0 0 22px}
  .mobile-request-hero .button{justify-content:center}
  .hero-reference>img{width:100%;height:260px;object-fit:cover;object-position:center bottom}
  .hero-reference:after,.hero-hitarea{display:none}
  .form-section{grid-template-columns:minmax(0,1fr);gap:20px;padding:38px 18px}
  .form-section>*,.form-section form,.form-section label{min-width:0}
  .form-section form{width:100%;grid-template-columns:minmax(0,1fr);padding:18px}
  .form-section input,.form-section select,.form-section textarea{min-width:0;max-width:100%}
  .form-section input[type=file]{font-size:.9rem}
  .form-section .wide{grid-column:1}
  .form-section h2{font-size:clamp(1.8rem,7vw,2.3rem)}
}
@media(max-width:600px){
  .hero-reference>img{display:none}
  .hero-reference::before{content:'';order:2;display:block;width:100%;height:240px;background:#f1fbf7 url('/assets/geefdoor-goedgekeurde-header.jpeg') center bottom / auto 620px no-repeat}
}
