/* A forest storybook: paper chapters and individual, manually browsed work books. */
.story-chapter{position:relative;transform-origin:8% 50%;box-shadow:0 8px 0 -4px #e2d6b9,0 14px 0 -8px #c6b795,0 22px 50px #1f361c1c!important}
.scroll-ready .story-chapter[data-reveal]{transform:perspective(1800px) translateY(28px) rotateY(5deg);transition:opacity .75s ease,transform .95s cubic-bezier(.2,.7,.2,1)}
.scroll-ready .story-chapter[data-reveal].is-visible{transform:perspective(1800px) translateY(0) rotateY(0deg)}
.portfolio-section>.wrap{background:#fff9edee;border:1px solid #c6bd9c;border-radius:17px 26px 19px 12px;padding:44px}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:32px}
.portfolio-book{min-width:0;padding:19px;background:#fffbf0;border:1px solid #c8bca0;border-radius:6px 18px 16px 7px;box-shadow:4px 5px 0 #e1d5b9,7px 8px 0 #cabd9c;position:relative}
.portfolio-book:before{content:'';position:absolute;top:14px;bottom:14px;left:6px;border-left:1px dashed #d9cbb0;pointer-events:none}
.book-heading{padding:0 5px 15px;min-height:84px}.book-heading>span{color:#6b7750;font-size:11px;letter-spacing:1px}.book-heading h3{font-size:19px;line-height:1.7;margin:6px 0 0;color:#354c31}
.book-stage{aspect-ratio:1/1;background:repeating-linear-gradient(0deg,#f0eadc,#f0eadc 3px,#f3eee3 3px,#f3eee3 6px);position:relative;border:1px solid #d8cbb2;perspective:1200px;overflow:hidden;border-radius:3px 10px 10px 3px}
.book-image{display:block;border:0;padding:0;width:100%;height:100%;background:transparent;touch-action:pan-y;overflow:hidden}
.book-image img{display:block;width:100%;height:100%;object-fit:contain;transform-origin:left center}
.paper-corner{position:absolute;bottom:0;right:0;width:22px;height:22px;background:linear-gradient(135deg,#ae9d7d40 49%,#fff9ec 51%);pointer-events:none}
.book-controls{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:14px;margin-top:16px}.book-controls button,.viewer-controls button{border:1px solid #a8b18a;border-radius:50%;background:#eaf0da;color:#38502d;width:44px;height:44px;font-size:21px;display:grid;place-items:center}.book-controls button:disabled,.viewer-controls button:disabled{opacity:.3}.book-page{text-align:center;color:#6d7257;font-size:13px;letter-spacing:2px}.book-hint{text-align:center;font-size:11px!important;color:#73775f!important;margin:10px 0 0!important;line-height:1.8!important}
.portfolio-footnote{font-size:13px!important;line-height:2!important;margin:36px 0 0!important;color:#5c6849}.portfolio-footnote a{color:#36572f;text-decoration:underline;text-underline-offset:4px}
.course-book-feature{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:38px;margin-top:48px;padding:32px;background:#f3e8cf;border:1px dashed #baa779;border-radius:16px 22px 17px 11px;scroll-margin-top:100px}.book-intro h3{font-size:26px;line-height:1.7;margin:12px 0}.book-intro p{font-size:14px;line-height:2.1;color:#59634b}.book-intro button{background:transparent;border:0;padding:12px 0;font-size:14px}.course-book-feature .book-stage{aspect-ratio:16/9}.course-book-feature .book-heading{min-height:0}.course-book-feature .book-heading h3{font-size:17px}.course-book-feature .portfolio-book{padding:15px}
.book-course-link{display:flex;gap:18px;align-items:center;padding:13px;border:1px dashed #b3bd96;border-radius:12px;background:#f2ebd7;width:100%;text-align:left;color:#3c542f;margin-bottom:24px;line-height:1.9}.book-course-link img{width:40%;height:auto;border-radius:5px}.book-course-link span{font-size:14px}
#work-viewer{border:1px solid #c6bb9b;border-radius:14px;background:#fff9eb;color:#354c31;padding:0;width:min(1120px,calc(100% - 32px));max-width:none;height:calc(100dvh - 40px);max-height:none;overflow:hidden;box-shadow:0 20px 80px #15250f66}
#work-viewer[open]{display:flex;flex-direction:column}#work-viewer::backdrop{background:#152613d9;backdrop-filter:blur(5px)}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-bottom:1px solid #d9cbae;flex-shrink:0}.viewer-toolbar :is(h2,h1.page-heading){font-size:18px;line-height:1.7;margin:0}.viewer-close{border:1px solid #bdc49e;border-radius:50%;width:44px;height:44px;background:#eef1dd;color:#38502d;font-size:26px;flex-shrink:0}.viewer-paper{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:block;background:#e4decd;padding:18px}.viewer-paper img{display:block;width:100%;height:auto;margin:auto;transform-origin:left center}.viewer-controls{display:flex;align-items:center;justify-content:center;gap:30px;flex-shrink:0;padding:10px 20px;background:#fff9eb;border-top:1px solid #d9cbae}.viewer-controls span{min-width:65px;text-align:center;font-size:14px}.portfolio-open{overflow:hidden}.portfolio-open .mobile-quicknav{display:none!important}
@media(min-width:901px){.navlinks{gap:19px!important;font-size:12px!important}}
@media(max-width:900px){.portfolio-section>.wrap{padding:28px}.portfolio-grid{gap:23px}.portfolio-book{padding:14px}.book-heading h3{font-size:17px}.course-book-feature{grid-template-columns:1fr;gap:24px;padding:25px}.book-intro{max-width:550px}.course-book-feature>[data-work]{max-width:650px;width:100%;margin:auto}}
@media(max-width:600px){.portfolio-section>.wrap{padding:24px 17px}.portfolio-grid{grid-template-columns:minmax(0,1fr);gap:29px;margin-top:26px}.book-heading{min-height:0;padding-bottom:13px}.book-heading h3{font-size:18px}.portfolio-book{padding:16px}.book-controls{margin-top:13px}.course-book-feature{padding:20px 14px;gap:20px;margin-top:32px}.book-intro h3{font-size:22px}.book-intro p{font-size:13px}.book-intro .eyebrow{font-size:9px}.course-book-feature .portfolio-book{padding:11px}.course-book-feature .book-heading h3{font-size:16px}#work-viewer{width:calc(100% - 12px);height:calc(100dvh - 16px);border-radius:10px}.viewer-toolbar{padding:10px 12px}.viewer-toolbar :is(h2,h1.page-heading){font-size:15px}.viewer-paper{padding:7px}.viewer-controls{padding-bottom:max(10px,env(safe-area-inset-bottom));gap:25px}.book-course-link{gap:12px}.book-course-link span{font-size:12px}.scroll-ready .story-chapter[data-reveal]{transform:perspective(1400px) translateY(20px) rotateY(3deg)}}
@media(prefers-reduced-motion:reduce){.scroll-ready .story-chapter[data-reveal]{transform:none!important;opacity:1!important;transition:none!important}}

.portfolio-book[data-work-id="work-0"] .book-stage,.portfolio-book[data-work-id="work-1"] .book-stage{aspect-ratio:2/1}

.viewer-paper{display:flex;align-items:flex-start}.viewer-paper img{flex-shrink:0;margin:auto}

main{overflow-x:clip}
