:root{
    --water:#6FB1C6; --water-soft:#CFE6EC; --leaf:#5F8F5B; --leaf-soft:#D5E5CB;
    --clay:#B5643F; --earth:#4E3626; --cream:#FBF7EE; --ink:#243238;
    --serif:'Fraunces',Georgia,serif; --sans:'DM Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:var(--sans);color:var(--ink);line-height:1.65;font-size:1.05rem;
    background:linear-gradient(180deg,var(--water-soft) 0%,var(--cream) 18%,var(--cream) 34%,var(--water-soft) 46%,var(--leaf-soft) 62%,var(--cream) 78%,#EBD9C6 100%);
    overflow-x:hidden}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--serif);line-height:1.15;color:var(--earth)}
h2{font-size:clamp(1.9rem,4vw,2.9rem);margin-bottom:1rem}
h3{font-size:1.2rem;margin-bottom:.4rem}
a{color:inherit}
:focus-visible{outline:3px solid var(--clay);outline-offset:3px}

/* Navigation */
.nav{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;align-items:center;justify-content:space-between;
    padding:.8rem clamp(1rem,4vw,3rem);background:rgba(251,247,238,.78);backdrop-filter:blur(12px)}
.brand{font-family:var(--serif);font-weight:700;font-size:1.4rem;text-decoration:none;color:var(--earth)}
.menu{display:flex;align-items:center;gap:1.6rem}
.menu a{text-decoration:none;font-weight:500;transition:color .25s}
.menu a:not(.btn):hover{color:var(--clay)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--earth);transition:transform .3s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}

/* Buttons */
.btn{display:inline-block;padding:.85rem 1.7rem;border-radius:999px;background:var(--clay);color:#fff;font-weight:700;text-decoration:none;
    border:2px solid var(--clay);transition:transform .25s,background .25s,color .25s}
.btn:hover{transform:translateY(-2px);background:var(--earth);border-color:var(--earth)}
.btn-ghost{background:transparent;color:var(--earth);border-color:var(--earth)}
.btn-ghost:hover{color:#fff}
.btn-small{padding:.5rem 1.1rem}
.actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.8rem}

/* Bildplatzhalter */
.ph{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--water) 0%,var(--leaf-soft) 55%,#D9A07F 100%);
    display:flex;align-items:flex-end;justify-content:center}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph figcaption{position:relative;z-index:1;padding:.8rem;font-size:.8rem;font-weight:700;color:var(--earth);text-align:center}

/* Hero */
.hero{position:relative;min-height:100vh;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;padding:6rem clamp(1rem,5vw,4rem) 6rem;gap:2rem;overflow:hidden}
.hero-text{position:relative;z-index:2}
.hero h1{font-size:clamp(3rem,8vw,6.2rem);color:var(--earth);animation:rise 1.1s ease both}
.lead{font-size:1.25rem;max-width:30rem;margin-top:1.2rem}
.hero-img{position:absolute;right:-6%;top:6%;bottom:-6%;width:62%;border-radius:48% 0 0 52%/40% 0 0 60%;
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 38%);mask-image:linear-gradient(to right,transparent 0,#000 38%)}
.blob{position:absolute;border-radius:60% 40% 55% 45%/50% 60% 40% 50%;filter:blur(8px);opacity:.5;animation:drift 18s ease-in-out infinite alternate}
.b1{width:340px;height:340px;background:var(--water);left:-90px;bottom:8%}
.b2{width:220px;height:220px;background:var(--leaf-soft);left:34%;top:12%;animation-duration:24s}
@keyframes drift{to{transform:translate(30px,-24px) rotate(14deg)}}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* Sections */
.sec{padding:clamp(4rem,9vw,7rem) clamp(1rem,5vw,3rem)}
.center{text-align:center;max-width:1100px;margin-inline:auto}
.intro{max-width:44rem;margin-inline:auto}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem 1.6rem;margin-top:3rem;text-align:center}
.feature{padding:0 .4rem;position:relative}
.feature::before{content:"";display:block;width:46px;height:46px;margin:0 auto 1rem;border-radius:60% 40% 55% 45%/50% 60% 40% 50%;background:var(--water)}
.feature:nth-child(2)::before{background:var(--leaf)}
.feature:nth-child(3)::before{background:var(--clay)}
.feature:nth-child(4)::before{background:var(--earth)}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}
.n{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--leaf);color:#fff;font-family:var(--serif);font-weight:700;font-size:1.3rem;margin-bottom:.8rem}

/* Problem -> Lösung */
.story{position:relative;margin-top:2rem}
.story-problem{padding:5rem clamp(1rem,5vw,3rem) 3rem}
.wave{display:block;width:100%;height:90px;fill:var(--leaf-soft);opacity:.9}
.story-solution{background:linear-gradient(180deg,var(--leaf-soft),rgba(213,229,203,0));display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:2rem;padding:2rem clamp(1rem,5vw,4rem) 5rem}
.side-img{min-height:420px;border-radius:0 50% 50% 0/0 45% 55% 0;-webkit-mask-image:linear-gradient(to left,transparent 0,#000 30%);mask-image:linear-gradient(to left,transparent 0,#000 30%)}
.side-text{max-width:30rem}

/* Galerie */
.gallery{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:170px;gap:1rem;margin-top:2.5rem}
.gallery figure{border-radius:32px 90px 32px 90px/32px 60px 32px 60px}
.g1{grid-column:1/4;grid-row:1/3}.g2{grid-column:4/7}.g3{grid-column:4/6;grid-row:2/3}
.g4{grid-column:1/3;grid-row:3/4}.g5{grid-column:3/7;grid-row:3/4}
.gallery figure:nth-child(even){border-radius:90px 32px 90px 32px/60px 32px 60px 32px}

/* Vision */
.vision{position:relative;padding:clamp(5rem,10vw,8rem) clamp(1rem,5vw,3rem);overflow:hidden}
.vision-bg{position:absolute;inset:0;opacity:.45;-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent)}
.vision-text{position:relative;z-index:1}

/* Kaufen */
.buy{margin-top:2.5rem;padding:clamp(1.5rem,4vw,3rem);border-radius:48px 110px 48px 110px/48px 70px 48px 70px;
    background:linear-gradient(135deg,rgba(111,177,198,.35),rgba(213,229,203,.7) 60%,rgba(181,100,63,.25))}
.price{font-family:var(--serif);font-size:clamp(2.6rem,6vw,4rem);font-weight:700;color:var(--earth)}
.note,.small{font-size:.9rem;opacity:.85;max-width:36rem;margin-inline:auto}
.pay{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.8rem;text-align:left}
.pay-box{padding:1.4rem;border-radius:28px;background:rgba(251,247,238,.8)}
.pay-box .btn{margin-top:.8rem}

/* Team */
.team{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:2.5rem}
.member{width:180px}
.round{width:150px;height:150px;border-radius:50%;margin:0 auto 1rem}
.member p{font-size:.95rem;opacity:.85}

/* Footer */
.footer{padding:4rem clamp(1rem,5vw,3rem) 3rem;background:linear-gradient(180deg,rgba(235,217,198,0),var(--earth) 60%);color:var(--cream)}
.footer h3{color:var(--cream)}
.footer .small{margin-top:1rem;opacity:.8}

/* Scroll-Einblendung */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}

/* Mobil */
@media(max-width:860px){
    .burger{display:block}
    .menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;padding:1.2rem;background:rgba(251,247,238,.97);display:none}
    .menu.open{display:flex}
    .hero{grid-template-columns:1fr;padding-top:7rem;align-items:start}
    .hero-img{position:relative;order:2;width:calc(100% + 2rem);right:auto;top:auto;bottom:auto;height:340px;margin:0 -1rem;border-radius:48% 52% 0 0/30% 30% 0 0;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 30%);mask-image:linear-gradient(to bottom,transparent 0,#000 30%)}
    .features,.steps,.pay,.story-solution{grid-template-columns:1fr}
    .side-img{min-height:300px;border-radius:0 40% 40% 0}
    .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
    .gallery figure{grid-column:auto!important;grid-row:auto!important}
    .g1{grid-column:1/3!important;grid-row:span 2!important}
}
@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation:none!important;transition:none!important}
    .reveal{opacity:1;transform:none}
}
