/* Design 3, zweite Ausbaustufe: Tagesreise, Karussell, Raumauswahl, erweiterte Farbwelt */
:root{--night:#1e2a5e;--coral:#ffd3c4;--sunny:#ffe7a6;--sky:#cfe9f7}
@keyframes rise{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{from{transform:scale(0)}}

/* Hero: eine Choreografie beim Laden */
.arch-hero{animation:rise 1.1s cubic-bezier(.2,.7,.2,1) both}
.curve-line{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.6s .4s cubic-bezier(.4,0,.2,1) forwards}
.curve-fill{animation:pop .01s both}
.dial-marker{animation:pop .5s 1.6s cubic-bezier(.3,1.6,.5,1) both}

/* Tagesreise */
.journey{--j-bg:#ffd9a0;--j-ink:var(--ink);background:var(--j-bg);color:var(--j-ink);transition:background-color .9s ease,color .9s ease;margin-top:clamp(56px,8vw,110px)}
.journey[data-part="1"]{--j-bg:#d3e8b6}.journey[data-part="2"]{--j-bg:#bfe2f7}.journey[data-part="3"]{--j-bg:var(--night);--j-ink:#fff}
.journey-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,96px)}
.journey-chapters{padding-block:clamp(64px,9vw,120px) clamp(48px,6vw,80px)}
.journey-title{max-width:11ch;margin-bottom:clamp(24px,5vw,60px)}
.chapter{min-height:60vh;display:flex;flex-direction:column;justify-content:center;gap:12px;transition:opacity .5s}
.js .chapter{opacity:.25}.js .chapter.is-active{opacity:1}
.chapter h3{font-size:clamp(2rem,4.2vw,3.6rem);line-height:1;letter-spacing:-.035em}
.chapter p{max-width:34ch;font-size:1.1rem}.chapter-time{font-weight:800;font-size:.95rem!important}
.journey-note{font-size:13px;opacity:.75;padding-top:20px}
.journey-stage{position:sticky;top:var(--header);height:calc(100vh - var(--header));display:grid;place-items:end center;overflow:hidden}
.arch-journey{position:relative;z-index:1;width:min(400px,86%);aspect-ratio:3/4.3;max-height:84%}
.journey .arch-tint{background:var(--j-bg);opacity:.5}
.sky-disc{position:absolute;z-index:0;width:clamp(90px,14vw,170px);aspect-ratio:1;border-radius:50%;background:var(--disc,#F99D1C);left:var(--dx,6%);top:var(--dy,52%);box-shadow:0 0 0 18px rgba(255,255,255,.28),0 0 0 44px rgba(255,255,255,.14);transition:left 1.1s cubic-bezier(.5,0,.2,1),top 1.1s cubic-bezier(.5,0,.2,1),background-color .9s,box-shadow .9s}
.journey[data-part="1"] .sky-disc{--dx:38%;--dy:4%;--disc:#ffe27a}
.journey[data-part="2"] .sky-disc{--dx:70%;--dy:30%;--disc:#fff3b8}
.journey[data-part="3"] .sky-disc{--dx:62%;--dy:10%;--disc:#e8eeff;box-shadow:0 0 0 18px rgba(255,255,255,.12),0 0 0 44px rgba(255,255,255,.06)}

/* Säulen und Orte: wärmere, variierte Farbwelt */
.pillar-music{background:var(--orange)}.pillar-sound{background:var(--blue)}
.pillar{transition:transform .35s cubic-bezier(.3,1.4,.5,1),border-radius .35s}.pillar:hover{border-radius:900px 900px 0 0}
.places{background:var(--coral)}.places .place-list dt,.places .place-list dd{border-color:#5b2a1c}.places .place-list dd{color:#5b2a1c}
.kit~.places{background:var(--sky)}.kit~.places .place-list dd{color:#17415a}
.places-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.arch-trio{display:flex;align-items:flex-end;gap:12px;height:clamp(240px,30vw,380px)}.arch-trio i{flex:1;border-radius:999px 999px 0 0;transform-origin:bottom}
.arch-trio .a-red{background:var(--red);height:56%}.arch-trio .a-orange{background:var(--orange);height:84%}.arch-trio .a-blue{background:var(--blue);height:68%}.arch-trio .a-green{background:var(--green);height:100%}
.js .arch-trio i{transform:scaleY(.15);transition:transform .9s cubic-bezier(.2,.7,.2,1)}.js .arch-trio.is-in i{transform:none}.arch-trio i:nth-child(2){transition-delay:.1s!important}.arch-trio i:nth-child(3){transition-delay:.2s!important}.arch-trio i:nth-child(4){transition-delay:.3s!important}

/* Kontakt in Markengrün */
.contact-section{background:var(--green);color:var(--ink)}
.contact-grid>div>p{color:#1d2b10}.contact-email{border-color:var(--ink)}
.form-field input,.form-field textarea{background:#fff;border-color:var(--ink);color:var(--ink)}.form-field input:focus,.form-field textarea:focus{box-shadow:0 0 0 4px rgba(20,32,43,.25)}
.field-error{color:#7a0f26;font-weight:600}.form-note{color:#1d2b10}
.contact-form .button.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.contact-form .button.dark:hover{background:transparent;color:var(--ink)}
.form-success{background:#fff}

/* RFM */
.rfm3-hero{background:var(--sunny);overflow:hidden;padding-top:clamp(40px,6vw,80px)}
.rfm3-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:end}
.rfm3-grid>div:first-child{padding-bottom:clamp(40px,6vw,80px);display:grid;gap:26px;justify-items:start}.rfm3-grid .lead{color:var(--ink);max-width:48ch}
.arch-stack{position:relative;height:clamp(300px,38vw,520px)}.arch-stack .arch{position:absolute;bottom:0;animation:rise 1s cubic-bezier(.2,.7,.2,1) both}
.arch-stack .a-photo{right:0;width:58%;height:100%}.arch-stack .a-photo img{position:static}.arch-stack .a-orange{left:4%;width:34%;height:62%;background:var(--orange);animation-delay:.15s}.arch-stack .a-red{left:30%;width:24%;height:40%;background:var(--red);animation-delay:.3s;z-index:1}
.program{background:#fff}.program-head{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(24px,4vw,48px)}
.program-track{display:flex;align-items:flex-end;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px max(24px,calc((100vw - 1280px)/2)) 36px;scrollbar-width:thin;scroll-padding-inline:max(24px,calc((100vw - 1280px)/2))}
.day-card{flex:0 0 min(320px,78vw);scroll-snap-align:start;display:flex;flex-direction:column;gap:10px;padding:110px 30px 30px;border-radius:200px 200px 28px 28px}
.day-card:nth-child(1){min-height:440px}.day-card:nth-child(2){min-height:500px}.day-card:nth-child(3){min-height:560px}.day-card:nth-child(4){min-height:470px}
.day-card.c-orange{background:var(--orange)}.day-card.c-green{background:var(--green)}.day-card.c-blue{background:var(--blue);color:#fff}.day-card.c-red{background:var(--red);color:#fff}
.day-time{font-weight:800;font-size:.95rem}.day-card h3{font-size:1.6rem;line-height:1.05}.day-card p{font-size:15px}
.day-bars{display:flex;align-items:flex-end;gap:6px;height:72px;margin-top:auto;padding-top:14px}.day-bars i{flex:1;height:var(--h);background:currentColor;opacity:.85;border-radius:6px 6px 0 0;transform-origin:bottom}
.js .day-bars i{transform:scaleY(0);transition:transform .8s cubic-bezier(.2,.7,.2,1)}.js .day-bars.is-in i{transform:none}.day-bars i:nth-child(2){transition-delay:.06s!important}.day-bars i:nth-child(3){transition-delay:.12s!important}.day-bars i:nth-child(4){transition-delay:.18s!important}.day-bars i:nth-child(5){transition-delay:.24s!important}.day-bars i:nth-child(6){transition-delay:.3s!important}
.day-energy{font-weight:700;font-size:14px!important}
.program-track:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
.steps li{position:relative;border-top:0}.steps li:after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--ink)}
.js .steps li:after{transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.js .steps li.is-in:after{transform:none}

/* Spottune: Raumauswahl */
.kit{background:#fff}.kit h2{max-width:18ch}
.chips{display:flex;flex-wrap:wrap;gap:10px;border:0;padding:0;margin:28px 0 20px}.chips label{position:relative}.chips input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chips span{display:block;padding:12px 28px;border:2px solid var(--ink);border-radius:999px;font-weight:700;background:#fff;transition:background .2s,color .2s}.chips input:checked+span{background:var(--ink);color:#fff}.chips input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}
.kit-copy{margin-top:0;min-height:3.4em}.kit-note{font-size:13px;color:var(--muted);margin-top:6px}
.product{transition:opacity .45s,transform .45s,filter .45s}.product.is-dim{opacity:.3;transform:translateY(14px) scale(.97);filter:grayscale(1)}
.sound-hero .arch-s1,.sound-hero .arch-s2{animation:rise 1s cubic-bezier(.2,.7,.2,1) both}.sound-hero .arch-s2{animation-delay:.2s}

@media(max-width:800px){
.journey-grid,.rfm3-grid{grid-template-columns:1fr}
.journey-stage{order:-1;height:34vh;top:var(--header);background:var(--j-bg);transition:background-color .9s;margin-inline:calc(50% - 50vw);width:100vw;z-index:2}
.arch-journey{aspect-ratio:auto;height:92%;width:min(210px,50%)}.sky-disc{width:84px}
.chapter{min-height:48vh}.places-grid{grid-template-columns:1fr}.arch-trio{height:220px}
.arch-stack{height:300px}.day-card{padding-top:90px}}
@media(prefers-reduced-motion:reduce){.arch-hero,.arch-stack .arch,.sound-hero .arch-s1,.sound-hero .arch-s2,.dial-marker,.curve-fill{animation:none}.curve-line{animation:none;stroke-dashoffset:0}.js .arch-trio i,.js .day-bars i,.js .steps li:after{transform:none}.sky-disc{transition:none}}
