:root{
    --accent:#a9b9ae;
    --paper:#f8f3ea;
    --ink:#56615d;
    --cream:#f4eee5;
    --shadow:rgba(77,66,55,.2);
    --book-ratio:1.43;
    font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;
    color:var(--ink);
    background:#f3eee6;
    color-scheme:light;
}
*{box-sizing:border-box}
html{min-height:100%;background:#f3eee6}
body{margin:0;min-height:100vh;overflow-x:hidden;background:
    radial-gradient(circle at 16% 14%,rgba(255,255,255,.95),transparent 27%),
    radial-gradient(circle at 85% 15%,rgba(217,227,221,.65),transparent 30%),
    linear-gradient(145deg,#f7f2eb,#eee7dc);position:relative}
button{font:inherit}
.ambient{position:fixed;border-radius:50%;filter:blur(16px);pointer-events:none;opacity:.55}
.ambient-one{width:340px;height:340px;background:rgba(205,220,214,.5);left:-160px;bottom:-100px}
.ambient-two{width:260px;height:260px;background:rgba(224,206,178,.46);right:-110px;top:16%}
.site-header{width:min(1480px,calc(100% - 40px));margin:0 auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:10}
.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.68);border:1px solid rgba(109,119,112,.16);box-shadow:0 8px 25px rgba(74,64,54,.08);color:#8d9f96}.brand strong,.brand span{display:block}.brand strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:500;letter-spacing:.01em}.brand div span{font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;opacity:.62;margin-top:3px}
.sound-toggle{display:flex;align-items:center;gap:9px;border:1px solid rgba(93,105,98,.14);background:rgba(255,255,255,.58);color:#5d6862;border-radius:999px;padding:10px 16px;cursor:pointer;box-shadow:0 7px 24px rgba(64,54,45,.07);transition:.2s ease}.sound-toggle:hover{transform:translateY(-1px);background:#fff}
.book-stage{position:relative;width:min(1600px,100%);margin:0 auto;min-height:calc(100vh - 190px);display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;gap:4px;padding:18px 16px 30px}
.book-shell{width:min(1320px,100%);margin:auto;perspective:2400px;position:relative}
.book-shadow{position:absolute;z-index:-1;inset:9% 4% -1%;background:rgba(72,58,44,.24);filter:blur(26px);border-radius:22%;transform:translateY(18px)}
.book{position:relative;width:100%;aspect-ratio:var(--book-ratio);display:grid;grid-template-columns:1fr 1fr;transform-style:preserve-3d;border-radius:12px;filter:drop-shadow(0 16px 18px rgba(68,57,46,.09))}
.page{position:relative;overflow:hidden;isolation:isolate;background:var(--page-bg,var(--paper));color:var(--page-text,var(--ink));box-shadow:inset 0 0 0 1px rgba(103,91,77,.08);backface-visibility:hidden}.page-left{border-radius:14px 2px 2px 14px;box-shadow:inset -22px 0 30px -30px rgba(47,38,31,.55),inset 0 0 0 1px rgba(103,91,77,.08)}.page-right{border-radius:2px 14px 14px 2px;box-shadow:inset 22px 0 30px -30px rgba(47,38,31,.55),inset 0 0 0 1px rgba(103,91,77,.08)}
.page::before,.turn-face::before{content:"";position:absolute;inset:0;z-index:-2;opacity:.32;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E")}
.page::after,.turn-face::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.28),transparent 54%),linear-gradient(90deg,rgba(255,255,255,.12),transparent 13%,transparent 87%,rgba(77,63,50,.04))}
.book-gutter{position:absolute;z-index:8;left:50%;top:0;bottom:0;width:16px;transform:translateX(-50%);pointer-events:none;background:linear-gradient(90deg,rgba(68,54,42,.16),rgba(255,255,255,.12) 35%,rgba(255,255,255,.2) 50%,rgba(67,53,41,.13));filter:blur(2px);opacity:.55}
.page-content{height:100%;padding:clamp(28px,4vw,72px);display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.page-number{position:absolute;top:clamp(20px,2.3vw,35px);right:clamp(24px,3vw,46px);font-family:Georgia,serif;font-size:.82rem;opacity:.48}.page-left .page-number{right:auto;left:clamp(24px,3vw,46px)}
.page-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:clamp(.58rem,.75vw,.74rem);font-weight:700;opacity:.55;margin-bottom:clamp(12px,2vw,24px)}
.page-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,3.2vw,3.65rem);line-height:1.12;font-weight:400;max-width:92%;margin:0;white-space:pre-line}.page-subtitle{font-family:Georgia,"Times New Roman",serif;font-size:clamp(.9rem,1.5vw,1.38rem);font-weight:400;line-height:1.45;opacity:.78;margin:clamp(12px,1.8vw,22px) 0 0}.title-divider{display:flex;align-items:center;gap:12px;margin:clamp(15px,2vw,25px) 0;color:var(--accent)}.title-divider::before,.title-divider::after{content:"";height:1px;width:42px;background:currentColor;opacity:.5}.title-divider span{font-size:1rem}
.page-body{max-width:34em;font-size:clamp(.76rem,1.04vw,1rem);line-height:1.75;opacity:.74;margin:0;white-space:pre-line}.page-media{position:relative;width:min(77%,520px);aspect-ratio:4/3;margin:auto auto clamp(14px,2vw,28px);padding:clamp(8px,1vw,14px);background:rgba(255,255,255,.82);box-shadow:0 15px 34px rgba(66,55,44,.16);transform:rotate(var(--photo-rotate,-1.2deg))}.page-media::before{content:"";position:absolute;width:30%;height:9%;top:-4%;left:35%;background:rgba(224,214,197,.7);transform:rotate(1.5deg);z-index:2}.page-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.84) contrast(.96)}
.animal{position:absolute;width:clamp(100px,16vw,230px);height:clamp(100px,16vw,230px);object-fit:contain;opacity:.93;pointer-events:none}.animal-bottom{bottom:4%;left:50%;transform:translateX(-50%)}.animal-corner{right:5%;bottom:3%;width:clamp(70px,11vw,165px);height:clamp(100px,15vw,210px)}.animal-left{left:6%;bottom:2%;width:clamp(78px,12vw,170px)}
.botanical{position:absolute;width:30%;height:42%;bottom:0;opacity:.42}.botanical.left{left:-3%;transform:scaleX(-1)}.botanical.right{right:-3%}.botanical svg{width:100%;height:100%}.botanical path{stroke:currentColor;fill:none;stroke-width:2}.botanical ellipse{fill:currentColor;opacity:.55}
.layout-cover .page-content{justify-content:flex-start}.layout-cover .page-title{margin-top:8%}.layout-cover .page-body{margin-top:0;max-width:29em}.layout-cover .animal{width:clamp(125px,18vw,260px);height:clamp(125px,18vw,260px)}
.layout-photo .page-content{padding-top:clamp(35px,4vw,65px)}.layout-photo .page-title{font-size:clamp(1.35rem,2.6vw,3rem)}
.layout-milestone .page-title::first-line{font-size:1.35em}.layout-milestone .page-media{width:min(58%,390px);margin-top:clamp(20px,3vw,45px);transform:rotate(-2deg)}
.placeholder-photo{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(220,227,220,.68));font-family:Georgia,serif;color:rgba(75,84,79,.55);font-size:clamp(.8rem,1.2vw,1.1rem);padding:20px}
.turning-page{position:absolute;z-index:20;left:50%;top:0;width:50%;height:100%;transform-origin:left center;transform-style:preserve-3d;visibility:hidden;pointer-events:none}.turn-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;background:var(--page-bg,var(--paper));color:var(--page-text,var(--ink));box-shadow:inset 18px 0 28px -26px rgba(52,40,31,.6)}.turn-front{border-radius:2px 14px 14px 2px}.turn-back{transform:rotateY(180deg);border-radius:14px 2px 2px 14px}.turning-page.turn-next{visibility:visible;animation:turnNext .82s cubic-bezier(.55,.06,.23,.96) forwards}.turning-page.turn-previous{visibility:visible;animation:turnPrevious .82s cubic-bezier(.55,.06,.23,.96) forwards}.turning-page.turn-next::after,.turning-page.turn-previous::after{content:"";position:absolute;inset:0;backface-visibility:hidden;background:linear-gradient(90deg,transparent 45%,rgba(45,35,28,.22));opacity:0;animation:pageShade .82s ease-in-out}
@keyframes turnNext{0%{transform:rotateY(0)}48%{filter:brightness(.95)}100%{transform:rotateY(-180deg)}}@keyframes turnPrevious{0%{transform:rotateY(-180deg)}52%{filter:brightness(.95)}100%{transform:rotateY(0)}}@keyframes pageShade{0%,100%{opacity:0}45%,55%{opacity:1}}
.edge-control{width:52px;height:52px;border-radius:50%;border:1px solid rgba(95,100,94,.13);background:rgba(255,255,255,.78);display:grid;place-items:center;color:#64706a;box-shadow:0 9px 25px rgba(60,51,43,.12);cursor:pointer;z-index:30;transition:.22s ease}.edge-control span{font-family:Arial,sans-serif;font-size:2.2rem;font-weight:200;line-height:1;transform:translateY(-2px)}.edge-control:hover:not(:disabled){transform:scale(1.06);background:#fff}.edge-control:disabled{opacity:.26;cursor:not-allowed}
.book-footer{width:min(960px,calc(100% - 40px));margin:-3px auto 18px;text-align:center;position:relative;z-index:10}.page-position{font-family:Georgia,serif;font-size:.84rem;opacity:.56;margin-bottom:10px}.progress-dots{display:flex;justify-content:center;align-items:center;gap:10px;min-height:18px}.progress-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(96,108,101,.2);cursor:pointer;transition:.2s ease}.progress-dots button.active{width:12px;height:12px;background:var(--accent);box-shadow:0 0 0 4px rgba(142,160,151,.12)}.book-footer p{font-size:.72rem;opacity:.43;margin:10px 0 0}
@media(max-width:900px){.book-stage{grid-template-columns:52px minmax(0,1fr) 52px;padding-left:7px;padding-right:7px}.edge-control{width:44px;height:44px}.page-content{padding:28px}.page-body{line-height:1.55}.site-header{min-height:72px}}
@media(max-width:760px){body{min-height:100svh}.site-header{width:calc(100% - 26px);min-height:68px}.brand div span{display:none}.sound-toggle span:last-child{display:none}.sound-toggle{padding:10px 12px}.book-stage{min-height:calc(100svh - 145px);grid-template-columns:42px minmax(0,1fr) 42px;padding-top:5px;padding-bottom:15px}.book-shell{width:min(100%,510px)}.book{aspect-ratio:.72;display:block}.page-left,.book-gutter{display:none}.page-right{position:absolute;inset:0;border-radius:11px;box-shadow:inset 0 0 0 1px rgba(103,91,77,.08)}.turning-page{left:0;width:100%;transform-origin:left center}.turn-front,.turn-back{border-radius:11px}.turn-back{transform:rotateY(180deg)}.page-content{padding:clamp(28px,8vw,48px)}.page-title{font-size:clamp(1.8rem,8vw,3.1rem)}.page-subtitle{font-size:clamp(1rem,4.4vw,1.35rem)}.page-body{font-size:clamp(.84rem,3.5vw,1rem)}.page-media{width:min(85%,390px)}.animal{width:clamp(120px,42vw,220px);height:clamp(120px,42vw,220px)}.animal-corner{width:clamp(95px,30vw,150px);height:clamp(120px,42vw,200px)}.edge-control{width:38px;height:38px}.edge-control span{font-size:1.8rem}.book-footer{margin-top:0}.book-footer p{display:none}}
@media(max-width:420px){.book-stage{grid-template-columns:34px minmax(0,1fr) 34px}.edge-control{width:32px;height:32px}.page-content{padding:25px 22px}.page-number{top:18px;right:20px}.site-header{width:calc(100% - 20px)}.brand-mark{width:36px;height:36px}.brand strong{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Mehrbild-Layouts – Version 1.2 */
.page-copy{display:flex;flex-direction:column;align-items:center;width:100%;position:relative;z-index:3;flex:0 0 auto}.photo-layout{width:100%;min-height:0;flex:1;display:grid;gap:clamp(7px,1vw,14px);margin:clamp(10px,1.5vw,20px) 0;position:relative;z-index:2}.photo-item{position:relative;margin:0;min-width:0;min-height:0;overflow:hidden;background:rgba(255,255,255,.72);border:clamp(4px,.55vw,9px) solid rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(68,54,43,.13);border-radius:clamp(3px,.45vw,8px)}.photo-item img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(.98)}.photo-layout-empty{display:grid;place-items:center;min-height:36%;max-height:55%}.photo-layout-empty .placeholder-photo{border:1px dashed rgba(78,91,83,.18);border-radius:12px;width:100%;height:100%}

/* Standard- und Einzelbildseiten */
.layout-classic.has-photos .photo-layout{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);max-height:50%}.layout-classic.has-photos .photo-item:only-child{grid-column:1/-1}.layout-photo .photo-layout{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr) minmax(0,.34fr);max-height:57%}.layout-photo .photo-item:first-child{grid-column:1/-1}.layout-photo .photo-item:only-child{grid-row:1/-1}.layout-photo .photo-item:nth-child(n+5){display:none}.layout-milestone .photo-layout{grid-template-columns:minmax(0,1.65fr) minmax(0,.8fr);grid-template-rows:repeat(2,minmax(0,1fr));max-height:51%}.layout-milestone .photo-item:first-child{grid-row:1/-1}.layout-milestone .photo-item:only-child{grid-column:1/-1}.layout-milestone .photo-item:nth-child(n+4){display:none}.layout-cover.has-photos .photo-layout{width:min(62%,420px);max-height:37%;margin-top:auto;margin-bottom:6%;transform:rotate(-1.2deg)}.layout-cover.has-photos .photo-item:not(:first-child){display:none}

/* 2 Fotos */
.layout-gallery-duo .photo-layout{grid-template-columns:repeat(2,minmax(0,1fr));max-height:58%}.layout-gallery-duo .photo-item:nth-child(n+3){display:none}.layout-gallery-duo .photo-item.orientation-portrait img{object-position:center 28%}

/* 3 Fotos: ein großes links, zwei rechts */
.layout-gallery-trio .photo-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));max-height:59%}.layout-gallery-trio .photo-item:first-child{grid-row:1/-1}.layout-gallery-trio .photo-item:nth-child(n+4){display:none}

/* Geordnetes Raster */
.layout-gallery-grid .photo-layout{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);max-height:60%}.layout-gallery-grid .photo-item:first-child:nth-last-child(4),.layout-gallery-grid .photo-item:first-child:nth-last-child(4)~.photo-item{grid-column:auto}.layout-gallery-grid .photo-item:nth-child(n+9){display:none}

/* Locker eingeklebte Collage */
.layout-gallery-collage .photo-layout{display:block;max-height:61%;min-height:44%}.layout-gallery-collage .photo-item{position:absolute;width:46%;height:47%;transform:rotate(-2deg)}.layout-gallery-collage .photo-item:nth-child(1){left:2%;top:2%;z-index:3}.layout-gallery-collage .photo-item:nth-child(2){right:2%;top:0;transform:rotate(2.2deg);z-index:2}.layout-gallery-collage .photo-item:nth-child(3){left:27%;bottom:0;width:48%;height:48%;transform:rotate(.5deg);z-index:4}.layout-gallery-collage .photo-item:nth-child(4){left:0;bottom:1%;width:31%;height:38%;transform:rotate(3deg);z-index:5}.layout-gallery-collage .photo-item:nth-child(5){right:0;bottom:1%;width:30%;height:37%;transform:rotate(-3deg);z-index:5}.layout-gallery-collage .photo-item:nth-child(6){left:38%;top:20%;width:28%;height:32%;transform:rotate(-1deg);z-index:6}.layout-gallery-collage .photo-item:nth-child(n+7){display:none}

/* Filmstreifen */
.layout-gallery-strip .photo-layout{grid-auto-flow:column;grid-auto-columns:minmax(28%,1fr);grid-template-rows:1fr;overflow:hidden;max-height:55%;align-items:stretch;padding:1.5% 0}.layout-gallery-strip .photo-item{transform:rotate(calc((var(--item-index) - 2) * .45deg));border-width:clamp(5px,.75vw,11px)}.layout-gallery-strip .photo-item:nth-child(n+7){display:none}

/* Hoch- und Querformat automatisch gemischt */
.layout-gallery-mixed .photo-layout{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);grid-auto-flow:dense;max-height:60%}.layout-gallery-mixed .photo-item{grid-column:span 3;grid-row:span 2}.layout-gallery-mixed .photo-item.orientation-portrait{grid-column:span 2;grid-row:span 4}.layout-gallery-mixed .photo-item.orientation-landscape{grid-column:span 4;grid-row:span 2}.layout-gallery-mixed .photo-item.orientation-square{grid-column:span 2;grid-row:span 2}.layout-gallery-mixed .photo-item:nth-child(n+7){display:none}

/* Kompakter Text bei Fotoseiten */
.layout-gallery-duo .page-title,.layout-gallery-trio .page-title,.layout-gallery-grid .page-title,.layout-gallery-collage .page-title,.layout-gallery-strip .page-title,.layout-gallery-mixed .page-title{font-size:clamp(1.25rem,2.25vw,2.65rem)}.layout-gallery-duo .page-subtitle,.layout-gallery-trio .page-subtitle,.layout-gallery-grid .page-subtitle,.layout-gallery-collage .page-subtitle,.layout-gallery-strip .page-subtitle,.layout-gallery-mixed .page-subtitle{font-size:clamp(.78rem,1.12vw,1.1rem);margin-top:8px}.layout-gallery-duo .title-divider,.layout-gallery-trio .title-divider,.layout-gallery-grid .title-divider,.layout-gallery-collage .title-divider,.layout-gallery-strip .title-divider,.layout-gallery-mixed .title-divider{margin:8px 0}.page-body-compact{font-size:clamp(.66rem,.82vw,.82rem);line-height:1.45;max-width:92%;flex:0 0 auto}

/* Tiergrafiken bleiben Dekoration und überdecken keine Texte mehr */
.has-photos .animal-watermark{top:4%;right:4%;bottom:auto;left:auto;width:clamp(48px,7vw,92px);height:clamp(48px,7vw,92px);opacity:.11;z-index:1}.without-photos.layout-classic{padding-bottom:clamp(145px,22vw,250px)}.without-photos .animal-left{left:50%;bottom:2%;transform:translateX(-50%);width:clamp(105px,16vw,210px);height:clamp(105px,16vw,210px)}.without-photos .page-body{max-width:88%;position:relative;z-index:3}

@media(max-width:900px){.photo-layout{gap:7px}.layout-gallery-grid .photo-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.page-body-compact{font-size:.67rem}.photo-item{border-width:5px}}
@media(max-width:760px){.page-copy{flex:0 0 auto}.photo-layout{margin:9px 0;max-height:none!important;min-height:0}.layout-gallery-duo .photo-layout{grid-template-columns:repeat(2,minmax(0,1fr));height:48%}.layout-gallery-trio .photo-layout{height:50%}.layout-gallery-grid .photo-layout{grid-template-columns:repeat(2,minmax(0,1fr));height:52%}.layout-gallery-collage .photo-layout{height:48%;min-height:0}.layout-gallery-strip .photo-layout{grid-auto-columns:40%;height:46%}.layout-gallery-mixed .photo-layout{height:52%}.layout-photo .photo-layout{height:50%}.layout-milestone .photo-layout{height:48%}.layout-classic.has-photos .photo-layout{height:45%}.layout-cover.has-photos .photo-layout{height:34%;width:75%}.page-body-compact{font-size:clamp(.62rem,2.45vw,.78rem);line-height:1.35}.has-photos .animal-watermark{width:64px;height:64px;opacity:.09}.without-photos.layout-classic{padding-bottom:180px}}
@media(max-width:420px){.layout-gallery-grid .photo-layout{height:49%}.layout-gallery-mixed .photo-layout{grid-template-columns:repeat(4,minmax(0,1fr))}.layout-gallery-mixed .photo-item{grid-column:span 2}.layout-gallery-mixed .photo-item.orientation-landscape{grid-column:span 4}.layout-gallery-mixed .photo-item.orientation-portrait{grid-column:span 2}.page-body-compact{max-width:100%}}
