.day-section{position:relative;overflow:hidden;padding:110px 24px 125px;background:radial-gradient(circle at 88% 9%,#f1d67e38,transparent 23%),radial-gradient(circle at 9% 74%,#bfe7ee66,transparent 29%),var(--paper)}
.day-section:before{content:"";position:absolute;width:470px;height:470px;border:1px solid #78a66c25;border-radius:50%;top:190px;right:-285px;pointer-events:none}
.day-heading{position:relative;z-index:2;text-align:center;max-width:690px;margin:0 auto 66px}
.day-heading .eyebrow{margin-bottom:12px}
.day-heading h2{margin-bottom:18px}
.day-heading>p:last-child{font-size:1.14rem;color:var(--muted);margin:0}
.day-story{--tower-reveal:0%;position:relative;display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);grid-auto-rows:minmax(225px,auto);row-gap:35px;max-width:1180px;margin:auto;padding:30px 0 28px}
.day-tower{position:absolute;z-index:0;top:0;bottom:0;left:50%;width:200px;transform:translateX(-50%);pointer-events:none;overflow:visible}
.day-tower img{position:absolute;top:0;left:50%;height:100%;width:auto;max-width:none;transform:translateX(-50%);object-fit:contain}
.day-tower .tower-base{opacity:.16;filter:grayscale(.55)}
/* Reveal via transforms only (compositor-driven): the clip window slides down while the image slides back up,
   so nothing has to be repainted while scrolling (the old clip-path + drop-shadow repainted a 940x1672 image every frame). */
.day-tower .tower-clip{position:absolute;inset:0;overflow:hidden;transform:translate3d(0,calc(-100% + var(--tower-reveal)),0);will-change:transform}
.day-tower .tower-progress{transform:translate3d(-50%,calc(100% - var(--tower-reveal)),0);will-change:transform;filter:drop-shadow(0 12px 18px #164b3d24)}
.day-card{position:relative;z-index:1;align-self:center;min-height:206px;padding:30px 34px 26px;background:#fffdf7e8;border:1px solid #ffffff;border-radius:29px;box-shadow:0 21px 60px #082b2411}
.day-card:nth-of-type(odd){grid-column:1;margin-right:5px}
.day-card:nth-of-type(even){grid-column:3;margin-left:5px}
.day-card:nth-of-type(1){grid-row:1}.day-card:nth-of-type(2){grid-row:2}.day-card:nth-of-type(3){grid-row:3}.day-card:nth-of-type(4){grid-row:4}.day-card:nth-of-type(5){grid-row:5}
.day-card:after{content:"";position:absolute;top:50%;width:11px;height:11px;border:4px solid var(--berry);background:var(--white);border-radius:50%;transform:translateY(-50%);box-shadow:0 0 0 8px var(--paper)}
.day-card:nth-of-type(odd):after{right:-99px}
.day-card:nth-of-type(even):after{left:-99px}
.day-number{position:absolute;top:12px;right:28px;color:#78a66c22;font:500 5.7rem/1 Georgia,serif;letter-spacing:-.07em;pointer-events:none}
.day-time{position:relative;color:var(--berry);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:900;margin:0 0 13px}
.day-card h3{position:relative;font:500 clamp(1.7rem,2.3vw,2.25rem)/1.15 Georgia,serif;letter-spacing:-.045em;margin:0 0 13px;color:var(--forest)}
.day-card>p:not(.day-time){position:relative;color:var(--muted);margin:0 0 18px;max-width:390px}
.day-card small{position:relative;display:inline-block;border-radius:999px;background:#e8f3e4;color:var(--forest2);font-weight:800;font-size:.76rem;padding:7px 12px}
@media(max-width:760px){.day-section{padding:78px 22px 96px}.day-heading{margin-bottom:36px}.day-story{grid-template-columns:58px minmax(0,1fr);grid-auto-rows:auto;gap:24px;padding:16px 0 35px}.day-tower{left:29px;transform:translateX(-50%);width:104px}.day-card,.day-card:nth-of-type(odd),.day-card:nth-of-type(even){grid-column:2;margin:0;padding:25px 24px 23px;min-height:0}.day-card:after,.day-card:nth-of-type(odd):after,.day-card:nth-of-type(even):after{left:-36px;right:auto;width:9px;height:9px;border-width:3px;box-shadow:0 0 0 5px var(--paper)}.day-number{font-size:4.6rem;right:18px;top:12px}.day-card h3{font-size:1.8rem;margin-bottom:0}.day-time{margin-bottom:10px}.day-card>p:not(.day-time),.day-card small{display:none}}
@media(prefers-reduced-motion:reduce){.day-story{--tower-reveal:100%!important}}

/* Karten kommen mit dem Scrollen in den Fokus: noch nicht erreichte Karten sind abgedunkelt und leicht unscharf. */
.day-story.focus-ready .day-card{transition:opacity .8s ease,transform .9s cubic-bezier(.2,.76,.2,1),filter .8s ease}
.day-story.focus-ready .day-card:not(.is-focus){opacity:.28;transform:translateY(30px) scale(.965);filter:blur(5px)}
.day-story.focus-ready .day-card:not(.is-focus):after{opacity:.4}
@media(prefers-reduced-motion:reduce){.day-story.focus-ready .day-card{transition:none}.day-story.focus-ready .day-card:not(.is-focus){opacity:1;transform:none;filter:none}}
