/* Publisher frame, original drawings and an illustrated, responsive zoo. */
.zoo-gallery-page{--ink:#2e3e34;--blue-soft:#edf0e3;--accent:#617554;color:var(--ink)}
.wall-orientation{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0 24px;border-top:1px solid var(--line);font-size:12px}
.wall-orientation .text-link{border:0;gap:14px}.wall-orientation nav{display:flex;gap:28px}.wall-orientation nav a{padding:12px 0}
.wall-intro{max-width:1440px;padding:28px 0 52px;display:grid;grid-template-columns:minmax(0,1fr) 285px;align-items:end;gap:48px}
.wall-intro .eyebrow{margin-bottom:24px}.wall-intro h1{font-size:clamp(64px,7.6vw,112px);line-height:.94;letter-spacing:-.035em;max-width:none;margin:0}.wall-intro h1 em{color:#617554}
.wall-intro-copy{padding-bottom:5px}.wall-intro .lead{font-size:14px;line-height:1.8}.wall-intro .button-row{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:24px}.wall-intro .pill{font-size:12px;background:#34463a}
.wall-section{padding-bottom:64px}.wall-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding:23px 0 0;margin-bottom:22px}.wall-heading h2{font:400 29px/1.2 var(--serif);letter-spacing:-.015em}.wall-heading p{font-size:12px;color:#606c5c}
.wall-endnote{display:flex;justify-content:space-between;gap:24px;padding-top:24px;font-size:12px;color:#606c5c}.wall-endnote a{border-bottom:1px solid #abb39d;padding-bottom:3px}
.drawing-wall.zoo-wall{display:block}.zoo-stage{--scene-x:0px;--scene-y:0px;position:relative;isolation:isolate;overflow:hidden;min-width:0;border-radius:28px;background:#e0e4bb;border:1px solid #8b9b7360;margin-bottom:28px;box-shadow:0 18px 42px #3549240c}
.zoo-stage:last-child{margin-bottom:0}.zoo-scenery{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);max-width:none;object-fit:cover;object-position:center;z-index:-2;pointer-events:none;transform:translate(var(--scene-x),var(--scene-y));transition:transform .6s ease-out}
.zoo-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:40px;min-height:595px;padding:150px 65px 78px}
.drawing-card.zoo-place{position:relative;min-width:0;max-width:none;align-self:end;width:100%;margin:0;border:0;border-radius:0;box-shadow:none;background:none;overflow:visible}
.zoo-place:nth-child(3n+1){--tilt:-4deg;transform:translateY(12px)}.zoo-place:nth-child(3n+2){--tilt:3deg;transform:translateY(-20px)}.zoo-place:nth-child(3n){--tilt:-2deg;transform:translateY(4px)}
.zoo-animal{position:relative;display:flex;align-items:center;flex-direction:column;width:100%;padding:0 0 25px;border:0;background:none;color:#403b2b;cursor:pointer;perspective:900px;touch-action:manipulation;border-radius:12px}
.zoo-animal::before{content:'';position:absolute;bottom:0;width:80%;height:14px;border-radius:50%;background:#25351b35;filter:blur(5px)}
.zoo-animal::after{content:'';position:absolute;z-index:-1;bottom:10px;width:9px;height:65px;border-radius:2px;background:linear-gradient(90deg,#82613e,#bb975e,#82613e)}
.zoo-paper{display:flex;align-items:center;justify-content:center;position:relative;max-width:100%;padding:9px;background:#fffcf1;box-shadow:2px 5px 0 #e8e0cb,4px 11px 14px #28321e30;border-radius:2px 5px 3px 4px;transform:rotate(var(--tilt)) rotateY(-5deg);transition:transform .5s var(--ease),box-shadow .5s}
.zoo-paper img{display:block;width:auto;height:auto;max-width:100%;max-height:260px;object-fit:contain}
.zoo-paper::before{content:'';position:absolute;z-index:1;width:46px;height:20px;top:-9px;left:calc(50% - 23px);background:#e0cc9bbc;clip-path:polygon(2% 3%,97% 0,100% 97%,0 100%);transform:rotate(-5deg);pointer-events:none}
.zoo-animal:hover .zoo-paper,.zoo-animal:focus-visible .zoo-paper{transform:translateY(-9px) rotate(0) rotateY(0);box-shadow:2px 5px 0 #e8e0cb,5px 20px 20px #28321e30}
.zoo-sign{display:flex;align-items:center;justify-content:space-between;gap:28px;min-width:118px;max-width:95%;min-height:46px;margin-top:22px;padding:9px 17px;border:1px solid #94734e;border-radius:4px 7px 5px 4px;background:#f4dfb5;box-shadow:0 3px #bb9563;font-size:15px;font-weight:500;overflow-wrap:anywhere;transform:rotate(-1deg)}
.zoo-place figcaption[hidden]{display:none}.zoo-animal:focus-visible{outline:3px solid #344b35;outline-offset:8px}
.zoo-canopy{position:absolute;inset:0;pointer-events:none;z-index:-1}.zoo-canopy i{position:absolute;top:30px;left:-15px;width:120px;height:52px;background:linear-gradient(165deg,#839759,#344e2b);border-radius:100% 0 100% 0;transform-origin:left center;transform:rotate(20deg);box-shadow:inset 0 -2px #c4cf9250;animation:zoo-leaves 6s ease-in-out infinite;animation-play-state:paused}
.zoo-canopy i:nth-child(2){left:22px;top:-20px;width:100px;transform:rotate(65deg);animation-delay:-2s}.zoo-canopy i:nth-child(3){left:auto;right:-24px;top:72%;width:95px;height:45px;transform:rotate(170deg);animation-delay:-4s}
.in-view .zoo-canopy i{animation-play-state:running}@keyframes zoo-leaves{50%{rotate:7deg;translate:0 3px}}
/* Cut neck/torso edges stay beyond the browser boundary throughout each visit. */
.zoo-visitors{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:20;contain:strict}
.zoo-visitor{position:absolute;height:auto;max-width:none;user-select:none;pointer-events:none;will-change:transform}
.zoo-visitor[hidden]{display:none}
.zoo-visitor-giraffe{width:540px;right:-180px;transform-origin:right center}
.zoo-visitor-monkey{width:420px;left:-140px;transform-origin:left center}
.zoo-visitor-bee{width:74px;left:0;filter:drop-shadow(0 3px 2px #45552c20)}
.zoo-gallery-page .section-tinted{background:#e9eddf;padding:72px 0 80px;border-block:1px solid #d8decd}
.zoo-gallery-page .shell{width:calc(100% - 104px);max-width:1440px;margin-inline:auto}.wall-upload-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr);gap:90px}
.wall-upload-grid>div:first-child{max-width:425px}.wall-upload-grid .eyebrow{margin-bottom:24px}.wall-upload-grid h2{font:400 clamp(40px,4.5vw,64px)/1.04 var(--serif);letter-spacing:-.025em;margin:0 0 26px}.wall-upload-grid p{font-size:14px;line-height:1.75;margin:0 0 16px}.wall-upload-grid .feedback-link-card{display:flex;justify-content:space-between;gap:32px;border-bottom:1px solid #95a185;padding:12px 0;margin-top:20px;font-size:13px}
.wall-form-panel{padding:34px;background:var(--paper);border:1px solid #d4d9c8;border-radius:12px}.wall-form-panel label{font-size:13px}.wall-form-panel .field-help{font-size:12px;line-height:1.6;color:#5d6558;margin-top:8px}.wall-form-panel input[type=email],.wall-form-panel textarea{display:block;width:100%;max-width:100%;margin-top:9px;padding:12px;border:1px solid #bfc8b5;border-radius:6px;background:#fffefa;color:#283b2e;font:400 14px/1.6 var(--sans)}.wall-form-panel textarea{resize:vertical}.wall-form-panel input:focus-visible,.wall-form-panel textarea:focus-visible{outline:2px solid #486347;outline-offset:3px}.wall-form-panel .wall-check{font-size:12px;line-height:1.7;margin-block:22px}.wall-form-panel .publication-choice{background:#e9eddf}.wall-form-panel .wall-privacy{font-size:12px}.wall-form-panel .wall-privacy p{font-size:12px}.wall-form-panel summary{font-weight:500}.wall-form-panel .button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:49px;padding:12px 22px;border-radius:30px;border:0;background:#34463a;color:#fffaf0;font-size:13px}.wall-form-panel .gallery-preview-note{font-size:12px;line-height:1.65;padding:12px 16px;border-color:#b5c0a8}.wall-form-panel .field>label{display:block;font-weight:500}.wall-form-panel .optional-label{font-weight:400;color:#666e60}.wall-form-panel [role=status]{margin-top:16px;font-size:13px}
.zoo-detail{--ink:#2e3e34;--muted:#67705f;width:min(1440px,calc(100vw - 32px));height:min(1000px,calc(100dvh - 24px));max-width:none;max-height:none;padding:0;border:1px solid #c5cbb5;border-radius:20px;background:#f5f2eb;color:var(--ink);box-shadow:0 28px 110px #101e2290;overflow:hidden;overscroll-behavior:contain}
.zoo-detail[open]{display:flex;flex-direction:column}.zoo-detail::backdrop{background:#142b24ed;backdrop-filter:blur(5px)}.zoo-detail-open{overflow:hidden}
.zoo-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 24px;flex:none;border-bottom:1px solid #d4d8c5}.zoo-detail-heading .eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:5px;color:#6a7560}.zoo-detail h2{font:400 35px/1 var(--serif);letter-spacing:-.025em;overflow-wrap:anywhere}
.zoo-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid #b6bfa9;border-radius:50%;background:#faf8f0;color:#2e3e34;flex:none;touch-action:manipulation}.zoo-close span{font:300 29px/1 var(--sans)}
.zoo-detail-scene{position:relative;flex:1;min-height:0;isolation:isolate;overflow:hidden;background:#e4e8cb}
.zoo-detail-scenery{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:50% 65%;pointer-events:none}
.zoo-detail-viewport{position:absolute;inset:0;display:grid;place-items:center;overflow:visible;perspective:2000px;touch-action:none;user-select:none;border-radius:6px;-webkit-user-select:none;outline-offset:-4px}
.zoo-detail-paper{cursor:zoom-in}.zoo-detail-viewport[data-zoomed="true"] .zoo-detail-paper{cursor:grab}.zoo-detail-viewport.is-dragging .zoo-detail-paper{cursor:grabbing}.zoo-detail-viewport:focus-visible{outline:2px dashed #496345;outline-offset:-3px}
.zoo-detail-paper{padding:9px;background:#fffdf5;box-shadow:2px 3px 0 #e2dbc7,4px 14px 24px #25321e3d;border-radius:2px;transform-origin:center;will-change:transform;flex:none;max-width:none;box-sizing:border-box;transition:width .42s cubic-bezier(.2,.7,.2,1),height .42s cubic-bezier(.2,.7,.2,1),transform .24s,box-shadow .28s ease}
.zoo-detail-viewport.is-dragging .zoo-detail-paper{transition:none}.zoo-detail-viewport[data-zoomed="true"] .zoo-detail-paper{box-shadow:2px 4px 0 #e2dbc7,7px 22px 30px #25321e4d}
.zoo-detail-paper img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;max-width:none}
.zoo-detail-tools{display:flex;align-items:center;justify-content:center;gap:20px;padding:10px 20px 6px;border-top:1px solid #d4d8c5;flex:none}.zoo-zoom-controls{display:flex;align-items:center;gap:4px;border:1px solid #c8cdbc;border-radius:30px;padding:2px}.zoo-zoom-controls button{width:42px;height:40px;font-size:25px;border-radius:50%;line-height:1}.zoo-zoom-controls button:disabled{opacity:.32}.zoo-zoom-controls button:not(:disabled):hover{background:#e0e7d6}.zoo-zoom-value{width:58px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}.zoo-reset{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 14px;border:1px solid #c8cdbc;border-radius:26px;font-size:12px}.zoo-reset>span{font-size:20px}.zoo-reset:hover,.zoo-close:hover{background:#e7ecdf}.zoo-detail button:focus-visible{outline:3px solid #476746;outline-offset:3px}.zoo-drag-hint{font-size:11px;line-height:1.5;text-align:center;padding:4px 20px 13px;color:#616d58;margin:0;flex:none}
.zoo-detail-caption{font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 24px;margin:0;border-top:1px solid #d7dccb;max-height:90px;overflow:auto;flex:none}.zoo-detail-caption[hidden]{display:none}

@media(min-width:761px){.zoo-stage[data-count="1"] .zoo-places{grid-template-columns:minmax(0,320px);justify-content:center}.zoo-stage[data-count="2"] .zoo-places{grid-template-columns:repeat(2,minmax(0,320px));justify-content:center;gap:80px}}
@media(max-width:1100px){.wall-intro{grid-template-columns:minmax(0,1fr) 240px;gap:30px}.wall-intro h1{font-size:8vw}.zoo-places{padding:160px 32px 70px;gap:30px;min-height:560px}.zoo-paper img{max-height:240px}.wall-upload-grid{gap:45px}}
@media(max-width:900px){.wall-upload-grid{grid-template-columns:minmax(0,1fr)}.wall-upload-grid>div:first-child{max-width:620px}.wall-form-panel{max-width:none}}
@media(max-width:760px){
 .wall-orientation{align-items:flex-start;padding:3px 0 18px;gap:8px;flex-wrap:wrap}.wall-orientation .text-link{font-size:11px;padding:10px 0;gap:10px}.wall-orientation nav{gap:25px;font-size:11px}
 .wall-intro{display:block;padding:20px 0 36px}.wall-intro .eyebrow{margin-bottom:21px;font-size:10px}.wall-intro h1{font-size:clamp(43px,10.1vw,76px);line-height:1.01;letter-spacing:-.035em}.wall-intro-copy{max-width:480px;padding-top:26px}.wall-intro .lead{font-size:13px;max-width:340px}.wall-intro .button-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 21px;margin-top:20px}.wall-intro .text-link{font-size:11px;gap:12px}.wall-intro .pill{gap:20px;padding-inline:17px}
 .wall-heading{display:block;padding-top:20px;margin-bottom:20px}.wall-heading h2{font-size:27px}.wall-heading p{font-size:11px;margin-top:9px}.wall-endnote{display:block;font-size:11px;line-height:1.8}.wall-endnote a{display:table;margin-top:10px}.wall-section{padding-bottom:42px}
 .zoo-stage{border-radius:18px}.zoo-scenery{opacity:.4}.zoo-places{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-height:0;padding:0}.drawing-card.zoo-place{transform:none;min-height:420px;padding:80px 26px 35px;background:url('zoo-garden.webp') center/auto 100% no-repeat}.zoo-place+.zoo-place{border-top:3px solid #f0e4c1}.zoo-animal{max-width:280px;margin:auto}.zoo-paper{max-width:245px}.zoo-paper img{max-height:220px}.zoo-sign{font-size:14px;min-height:44px}.zoo-visitor-giraffe{width:300px;right:-120px}.zoo-visitor-monkey{width:270px;left:-110px}.zoo-visitor-bee{width:62px}.zoo-canopy i{width:75px;height:34px}
 .zoo-gallery-page .shell{width:calc(100% - 40px)}.zoo-gallery-page .section-tinted{padding:44px 0}.wall-upload-grid{gap:30px}.wall-upload-grid h2{font-size:43px}.wall-upload-grid p{font-size:13px}.wall-form-panel{padding:22px 18px}.wall-upload-grid .eyebrow{margin-bottom:20px}.wall-form-panel .wall-check{font-size:12px}#einsenden{scroll-margin-top:16px}
 .zoo-detail{width:calc(100vw - 12px);height:fit-content;max-height:calc(100dvh - 12px);border-radius:16px}.zoo-detail-scene{flex:none;height:min(112vw,calc(100dvh - 206px))}.zoo-detail.has-caption .zoo-detail-scene{height:min(112vw,calc(100dvh - 282px))}.zoo-detail-heading{padding:13px 16px;gap:12px}.zoo-detail h2{font-size:31px}.zoo-detail-heading .eyebrow{font-size:8px}.zoo-detail-scenery{object-fit:cover;object-position:50% 65%}.zoo-detail-paper{padding:7px}.zoo-detail-tools{gap:12px;padding:8px 10px 5px}.zoo-reset{padding:8px 12px;font-size:11px;gap:6px}.zoo-zoom-value{width:45px;font-size:11px}.zoo-zoom-controls button{width:39px}.zoo-drag-hint{font-size:10px;padding:5px 16px 11px;line-height:1.6;min-height:48px}.zoo-detail-caption{font-size:12px;max-height:76px;padding:10px 16px}
}
@media(max-height:500px) and (min-aspect-ratio:6/5){.zoo-detail-heading{padding:8px 18px}.zoo-detail h2{font-size:26px}.zoo-detail-heading .eyebrow{display:none}.zoo-detail-tools{padding-top:5px}.zoo-drag-hint{padding:0 15px 5px;font-size:9px}.zoo-detail{height:calc(100dvh - 12px)}.zoo-detail-scene,.zoo-detail.has-caption .zoo-detail-scene{flex:1;height:auto}.zoo-detail-scenery{object-fit:cover;opacity:1}.zoo-detail-caption{max-height:60px}}
@media(prefers-reduced-motion:reduce){.zoo-scenery{transform:none!important;transition:none}.zoo-visitors{display:none}.zoo-canopy i{animation:none!important}.zoo-paper{transition:none}.zoo-animal:hover .zoo-paper,.zoo-animal:focus-visible .zoo-paper{transform:rotate(var(--tilt))}.zoo-detail-paper{transition:none}.zoo-detail::backdrop{backdrop-filter:none}}
.zoo-motion-paused .zoo-canopy i{animation-play-state:paused!important}
