/* Förderverein KiTa Drachenburg — Landing v2, angelehnt an die Flyer */
:root{--cream:#FDF8EE;--white:#FFFFFF;--yellow:#FFC83D;--yellow-100:#FFEDB8;--purple:#8B6CC6;--purple-700:#6E50AA;--purple-100:#EEE7F8;--green:#48B54F;--ink:#3F3F3F;--ink-60:rgba(63,63,63,.72);--r-card:24px;--r-pill:999px;--shadow:0 10px 30px rgba(63,63,63,.10);--font-display:"Fredoka",system-ui,sans-serif;--font-body:"Nunito",system-ui,sans-serif;--maxw:1140px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:17px;line-height:1.65;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--purple-700)}a:hover{color:var(--purple)}
h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.08;color:var(--ink)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;position:relative;z-index:1}
.section{position:relative;padding:96px 0;overflow:hidden}
.eyebrow{font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--purple);margin:0 0 12px}
.h2{font-size:clamp(32px,4.4vw,48px);font-weight:700;text-transform:uppercase;letter-spacing:.01em}
.lead{font-size:18px;color:var(--ink-60);max-width:58ch;margin:20px 0 0;text-wrap:pretty}
.hl{color:var(--purple)}
/* hand-drawn ellipse around a word or block */
.circled{position:relative;display:inline-block;padding:0 .18em;white-space:nowrap}
.circled svg{position:absolute;left:-8%;top:-26%;width:116%;height:152%;overflow:visible;pointer-events:none}
.circled path{fill:none;stroke:var(--purple);stroke-width:3.2;stroke-linecap:round}
/* deco */
.star{position:absolute;width:44px;height:44px;pointer-events:none;z-index:0}
.star polygon{fill:currentColor;stroke:currentColor;stroke-width:5;stroke-linejoin:round}
.star--purple{color:var(--purple)}.star--yellow{color:var(--yellow)}
.blob{position:absolute;background:var(--yellow);border-radius:58% 42% 46% 54%/50% 58% 42% 50%;z-index:0;pointer-events:none}
.stroke{position:absolute;height:26px;border-radius:999px;background:var(--yellow);pointer-events:none;z-index:0}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 30px;border-radius:var(--r-pill);font-family:var(--font-display);font-weight:600;font-size:18px;text-decoration:none;border:2.5px solid transparent;cursor:pointer;transition:transform .16s cubic-bezier(.34,1.56,.64,1),background .18s,color .18s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--purple);color:#fff;box-shadow:0 8px 22px rgba(139,108,198,.35)}.btn--primary:hover{background:var(--purple-700);color:#fff}
.btn--outline{background:transparent;color:var(--ink);border-color:var(--ink)}.btn--outline:hover{background:var(--ink);color:#fff}
.btn--yellow{background:var(--yellow);color:var(--ink)}.btn--yellow:hover{background:#FFB91A;color:var(--ink)}
/* header */
.header{position:sticky;top:0;z-index:40;background:rgba(253,248,238,.9);backdrop-filter:blur(10px)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:124px}
.brand img{height:104px;width:auto}
.nav{display:flex;align-items:center;gap:28px}
.nav a{font-family:var(--font-display);font-weight:500;font-size:17px;text-decoration:none;color:var(--ink)}
.nav a:not(.btn):hover{color:var(--purple)}
.nav .btn{min-height:46px;padding:0 22px;font-size:16px}
@media (max-width:860px){.nav a:not(.btn){display:none}}
/* event banner */
.event-banner{background:var(--purple);color:#fff;text-align:center;padding:13px 24px;font-family:var(--font-display);font-weight:500;font-size:16px}
.event-banner a{color:#fff;font-weight:600}
.event-banner[hidden]{display:none}
/* hero */
.hero{position:relative;padding:64px 0 120px;overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero__title{font-size:clamp(34px,4.6vw,56px);font-weight:700;text-transform:uppercase;letter-spacing:.005em;line-height:1.05}
.hero__sub{font-size:19px;color:var(--ink-60);margin:28px 0 0;max-width:46ch;text-wrap:pretty}
.hero__cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px}
.hero__media{position:relative;min-height:440px}
.polaroid{position:absolute;background:#fff;padding:14px 14px 52px;box-shadow:0 14px 34px rgba(63,63,63,.18);z-index:2}
.polaroid img{width:100%;height:100%;object-fit:cover}
.polaroid--main{width:88%;aspect-ratio:1/1.02;right:4%;top:0;transform:rotate(3deg)}
.polaroid--back{width:52%;aspect-ratio:1/1.05;left:0;bottom:-10px;transform:rotate(-7deg);z-index:1}
.polaroid--back .ph{width:100%;height:100%;background:repeating-linear-gradient(135deg,#F4EEDF 0 10px,#EDE5D2 10px 20px);display:grid;place-items:center;font-family:ui-monospace,monospace;font-size:12px;color:#8a8170;text-align:center;padding:10px}
.hero__mascots{display:none;position:relative;z-index:2;padding-top:40px}
.hero__mascots img{width:100%}
body.hero--left .hero__copy{order:2}body.hero--left .hero__grid{grid-template-columns:.9fr 1.1fr}
body.hero--mascots .polaroid{display:none}body.hero--mascots .hero__mascots{display:block}body.hero--mascots .hero__media{min-height:0}
@media (max-width:860px){.hero__grid{grid-template-columns:1fr!important}body.hero--left .hero__copy{order:0}.hero__media{min-height:380px}}
/* event */
.event{background:var(--white)}
.event__head{text-align:center}
.event__title{font-size:clamp(44px,7vw,84px);font-weight:700;color:var(--purple);letter-spacing:-.01em}
.event__by{font-family:var(--font-display);font-weight:600;font-size:20px;margin:10px 0 0}
.event__date{text-align:center;margin:44px auto 0;font-family:var(--font-display);font-weight:600}
.event__date .circled{padding:14px 56px}
.event__date .d{display:block;font-size:clamp(28px,4vw,42px);line-height:1.15}
.event__date .t{display:block;font-size:clamp(20px,2.6vw,26px)}
.event__place{text-align:center;font-family:var(--font-display);font-weight:500;font-size:18px;margin:34px 0 0}
.event__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:56px;align-items:start}
.event__grid h3{font-size:24px;font-weight:600;margin:0 0 6px}
.event__grid p{margin:0 0 22px;color:var(--ink-60)}
.prices{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 14px}
.price{background:var(--yellow-100);border-radius:var(--r-pill);padding:6px 16px;font-family:var(--font-display);font-weight:600;font-size:16px}
.seller{border:2.5px solid var(--purple);border-radius:var(--r-card);padding:30px 32px;background:#fff}
.seller h3{color:var(--purple)}
.seller__fee{font-family:var(--font-display);font-weight:600;font-size:19px;margin:10px 0 4px;color:var(--ink)}
.seller p{font-size:15.5px;margin:0 0 14px}
.seller__deadline{font-family:var(--font-display);font-weight:600;color:var(--ink)!important}
.seller__contact{border-top:1px solid #E7E1D3;padding-top:16px;display:grid;gap:6px;font-size:15.5px}
.seller__contact b{font-family:var(--font-display);font-weight:600}
@media (max-width:860px){.event__grid{grid-template-columns:1fr}}
/* features */
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:52px}
.feature-card{background:#fff;border-radius:var(--r-card);padding:34px 30px;box-shadow:var(--shadow);transition:transform .2s}
.feature-card:hover{transform:translateY(-4px) rotate(-.4deg)}
.feature-icon{width:76px;height:76px;display:grid;place-items:center;border-radius:58% 42% 46% 54%/50% 58% 42% 50%;margin-bottom:20px}
.feature-icon svg{width:38px;height:38px}
.feature-icon--green{background:#DDF2DE;color:#2E8A35}.feature-icon--purple{background:var(--purple-100);color:var(--purple-700)}.feature-icon--yellow{background:var(--yellow-100);color:#A87500}
.feature-card h3{font-size:23px;font-weight:600;margin-bottom:10px}
.feature-card p{margin:0;color:var(--ink-60);font-size:16px}
@media (max-width:860px){.feature-grid{grid-template-columns:1fr}}
/* membership */
.membership{background:var(--cream)}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:48px 0 40px}
.step{background:#fff;border-radius:var(--r-card);padding:28px 24px;box-shadow:var(--shadow)}
.step__num{width:48px;height:48px;border-radius:50%;border:2.5px solid var(--purple);color:var(--purple);font-family:var(--font-display);font-weight:700;font-size:22px;display:grid;place-items:center;margin-bottom:16px}
.step:nth-child(4) .step__num{background:var(--purple);color:#fff}
.step h3{font-size:19px;font-weight:600;margin-bottom:4px}
.step p{margin:0;color:var(--ink-60);font-size:15px}
.membership__actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.mail-link{font-family:var(--font-display);font-weight:600;text-decoration:none;border-bottom:2px solid rgba(139,108,198,.35)}
@media (max-width:860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}
/* donate */
.donate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:48px}
.donate-card{display:flex;gap:26px;align-items:center;background:#fff;border-radius:var(--r-card);padding:30px;box-shadow:var(--shadow)}
.qr{width:136px;height:136px;flex:none;border-radius:16px;background:#fff;padding:8px;border:2.5px solid var(--purple)}
.donate-card--bank .qr{border-color:var(--yellow)}
.qr img{width:100%;height:100%;object-fit:contain}
.donate-card h3{font-size:22px;font-weight:600;margin-bottom:6px}
.donate-card p{margin:0;color:var(--ink-60);font-size:15.5px}
@media (max-width:860px){.donate-grid{grid-template-columns:1fr}}
@media (max-width:440px){.donate-card{flex-direction:column;text-align:center}}
/* board */
.board{background:var(--cream)}
.board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:52px}
.board-card{background:#fff;border-radius:var(--r-card);padding:34px 26px;text-align:center;box-shadow:var(--shadow)}
.board-photo{width:132px;height:132px;margin:0 auto 20px;border-radius:50%;border:4px solid var(--yellow);background:repeating-linear-gradient(135deg,#F4EEDF 0 10px,#EDE5D2 10px 20px);display:grid;place-items:center;font-family:ui-monospace,monospace;font-size:12px;color:#8a8170}
.board-card .role{font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);margin:0 0 4px}
.board-card .name{font-family:var(--font-display);font-size:23px;font-weight:600}
.board__meta{margin-top:44px;text-align:center;color:var(--ink-60);font-size:15px}
@media (max-width:860px){.board-grid{grid-template-columns:1fr;max-width:380px;margin-inline:auto}}
/* footer */
.footer{background:var(--ink);color:rgba(255,255,255,.75);padding:64px 0 36px}
.footer__top{display:grid;grid-template-columns:1.4fr 1fr 1.3fr;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.14)}
.footer__brand{font-family:var(--font-display);font-weight:600;font-size:22px;color:#fff;line-height:1.25}
.footer__brand span{color:var(--yellow)}
.footer__brand p{font-family:var(--font-body);font-weight:400;font-size:15px;color:rgba(255,255,255,.65);margin:10px 0 0;max-width:34ch}
.footer h4{font-family:var(--font-display);font-weight:600;color:#fff;font-size:16px;margin:0 0 14px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:15px}
.footer a{text-decoration:none;color:rgba(255,255,255,.75)}.footer a:hover{color:var(--yellow)}
.footer__bottom{padding-top:24px;font-size:13.5px;color:rgba(255,255,255,.55);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
@media (max-width:760px){.footer__top{grid-template-columns:1fr;gap:30px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.btn,.feature-card{transition:none}}
.fee{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;margin-top:28px}.fee__badge{background:var(--purple);color:#fff;border-radius:var(--r-pill);padding:10px 24px;font-family:var(--font-display);font-size:18px;font-weight:500;white-space:nowrap}.fee__badge b{font-size:28px;font-weight:700;margin-right:4px}.fee p{margin:0;max-width:48ch;color:var(--ink-60)}
.bank{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:12px 0 0;font-size:15px}.bank dt{font-family:var(--font-display);font-weight:600;color:var(--ink)}.bank dd{margin:0;font-family:ui-monospace,Menlo,monospace;font-size:14px;color:var(--ink)}
.board-card{padding:30px 24px}.board__meta{margin-top:40px}
.membership__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.membership__copy .membership__actions{margin-top:36px}
.membership .steps{grid-template-columns:1fr;gap:16px;margin:0}
.membership .step{display:grid;grid-template-columns:auto 1fr;column-gap:20px;align-items:center;padding:22px 26px}
.membership .step__num{grid-row:span 2;margin:0}
.membership .step h3{margin:0}
@media (max-width:860px){.membership__grid{grid-template-columns:1fr;gap:40px}}
.membership__grid{background:#fff;border-radius:36px;padding:56px;box-shadow:var(--shadow);max-width:calc(var(--maxw) - 48px)}
.membership .fee__badge{background:var(--yellow-100);color:var(--ink)}
.membership .steps{position:relative;gap:0}
.membership .steps::before{content:"";position:absolute;left:49px;top:40px;bottom:40px;border-left:2.5px dashed rgba(139,108,198,.35)}
.membership .step{background:transparent;box-shadow:none;padding:16px 24px;position:relative}
.membership .step__num{background:#fff;position:relative;z-index:1}
.membership .step:nth-child(4) .step__num{background:var(--purple)}
@media (max-width:860px){.membership__grid{padding:32px 24px;border-radius:28px;margin:0 16px}}
.membership__grid{width:calc(100% - 48px);margin-inline:auto}
@media (max-width:860px){.membership__grid{width:calc(100% - 32px);margin-inline:auto}}
