/* Five concise primary sections, compact exhibits and readable detail pages. */
body .v-nav {justify-content:space-between;padding:.5rem max(1rem,calc((100vw - 1160px)/2));flex-wrap:nowrap;gap:1rem;}
.primary-links {display:flex;gap:.7rem;align-items:center;}
body .v-nav .primary-links .v-link {padding:.7rem 1.3rem;border-radius:2px;}
.account-login,.account-menu > summary {color:#f5eedc;font-size:.9rem;padding:.6rem;text-decoration:none;cursor:pointer;white-space:nowrap;}
.account-menu {position:relative;z-index:60;}.account-menu summary {list-style:none;}.account-menu summary::-webkit-details-marker{display:none;}.account-menu summary::after{content:' ▾';}
.account-panel {position:absolute;right:0;top:100%;min-width:170px;padding:1rem;background:#fffaf0;border:1px solid #d3c5ac;box-shadow:0 12px 24px #283b2820;}
.account-panel a {display:block;color:#456044;padding:.5rem 0;text-decoration:none;}
.account-panel p {margin:.2rem 0 .5rem;}
.section-nav {display:flex;justify-content:center;gap:1.5rem;padding:.8rem 1rem;border-bottom:1px solid #ded3bf;background:#fbf8ef;flex-wrap:wrap;}
.section-nav a {color:#68745c;font-size:.9rem;text-decoration:none;padding:.3rem .2rem;border-bottom:2px solid transparent;}
.section-nav a[aria-current=page],.section-nav a:hover {color:#9f4c3e;border-bottom-color:#9f4c3e;}
.museum-heading,.section-heading {padding:.5rem 0 1.2rem;border-bottom:1px solid #d9cfbb;margin-bottom:1.5rem;}
.eyebrow,body .page p.eyebrow {color:#6e8064;font-size:.85rem;letter-spacing:.12em;}
.collection-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;}
.collection-card {display:flex;gap:1.8rem;padding:2rem;background:#fffaf0;border:1px solid #d9cfbb;align-items:center;}
.collection-card p {max-width:28rem;color:#777567;}
.collection-emblem {display:grid;place-items:center;min-width:100px;height:130px;background:#e9eee1;border-radius:50% 50% 2px 2px;}
.collection-emblem .season-icon {width:58px;height:58px;margin:0;color:#708566;}
.museum-assistant {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2rem 0;padding:1.4rem 1.7rem;background:#eeeede;border-left:3px solid #8b9b75;}
.terms-page .term-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem;}
.terms-page .museum-object {border:1px solid #d6cbb8;background:#fffaf0;padding:.65rem;filter:none;box-shadow:none;border-radius:2px;}
.terms-page .museum-object h3,.terms-page .museum-object p,.terms-page .museum-object .chips {margin:.7rem .5rem;}
.terms-page .museum-object .poster {aspect-ratio:3/4;background-size:cover;filter:none;border-radius:0;}
.tag-filter,.story-filter {padding:1rem;background:#eeeee2;border:1px solid #d8d3c0;align-items:center;}
.story-filter input,.story-filter select {font:inherit;font-size:.9rem;min-height:42px;background:#fffaf0;border:1px solid #bebda9;padding:.5rem;}
.story-filter {display:flex;flex-wrap:wrap;gap:.7rem;margin:1.5rem 0;}.story-filter input {flex:1 1 250px;}
.stories-page .story-list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:start;}
.museum-story-card {display:flex;flex-direction:column;min-width:0;background:#fffaf0;border:1px solid #d6cbb8;}
.story-art-link {display:block;background:#eee7d8;border-bottom:1px solid #e0d4bf;overflow:hidden;}.story-art {display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:var(--cover-position,50% 50%);padding:0;box-sizing:border-box;}.story-art-empty {display:grid;place-items:center;color:#87785e;}
.museum-card-copy {padding:.85rem;display:flex;flex-direction:column;align-items:start;gap:.5rem;}
.museum-card-copy h3 {margin:0;min-height:0;}
.museum-card-copy p {margin:0;}
.museum-card-copy h3 a {color:#3e4639;text-decoration:none;}.museum-excerpt {display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#777567;min-height:0;}
.museum-card-copy .tag {margin:.1rem 0 0;padding:.4rem .7rem;}
.museum-card-source {margin-top:.15rem;font-size:.8rem;color:#767568;}.museum-card-source summary {cursor:pointer;}.museum-card-source p {font-size:.85rem !important;margin:.5rem 0 0;}
.reading-layout {display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:2rem;align-items:start;margin-top:2rem;}
.reading-toc {grid-column:2;grid-row:1;position:sticky;top:1.5rem;border-left:1px solid #cfc4ae;padding:0 0 0 1.1rem;font-size:.9rem;}
.reading-toc p {font-size:.85rem !important;color:#8b826f;}.reading-toc a {display:block;padding:.45rem 0;color:#5a6e55;text-decoration:none;}
.reading-toc a:hover {color:#a64e3c;}.reading-body {grid-column:1;grid-row:1;min-width:0;}.reading-body > * {scroll-margin-top:1.5rem;}
.reading-body .ink-block {padding:1.5rem;background:#fffaf080;border-left:2px solid #c3cbb5;}
.reading-body .term-stack {display:block;}.reading-body .term-stack > article {margin:1.3rem 0;}
.reading-body .term-list-grid {grid-template-columns:repeat(2,minmax(0,1fr));}.reading-body .story-main-text {max-width:44em;line-height:2.1;}
.museum-detail-hero {display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.2fr);gap:3rem;align-items:center;filter:none;padding:1.4rem;background:#f0ede1;border-radius:2px;}
.museum-detail-hero .detail-poster {max-width:100%;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:0;box-shadow:none;}
.museum-detail-hero .term-hero-poster {max-width:400px;}.museum-story-cover {margin:0 0 1.5rem;background:#e9e9dc;border:1px solid #d2c8b3;}
.museum-story-cover img {display:block;width:100%;height:340px;object-fit:contain;}
.story-detail {background-image:none !important;}.reading-body .poem-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
/* The whole homepage becomes a continuous landscape. */
.scroll-home .page {width:100%;padding:0;margin:0;animation:none;}
.scroll-home .v-nav {position:sticky;top:0;z-index:50;background:#344e3cf2;}
.home-scroll {position:relative;background:#f4eedf;}
.scroll-stage {position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#f2eddf;}
.scroll-landscape {position:absolute;inset:0;overflow:hidden;pointer-events:none;background:#e9e4d6;}
.scroll-base-art {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 60%;opacity:.66;}




#season-scroll .scroll-stage {background:var(--season-wash,#e9edda);}
#season-scroll .scroll-song {z-index:3;color:#45594330;}
#season-scroll .scroll-opening,#season-scroll .scroll-caption,#season-scroll .scroll-progress {z-index:4;}
.scroll-material-note {grid-column:1/-1;color:#797d6e;font-size:.72rem;}
.home-source-link {padding:1.3rem 8%;margin:0;background:#f4eedf;font-size:.85rem !important;color:#777466;}
.home-source-link a {color:#5b7050;}
.home-source-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.home-source-list article {border:1px solid #d8cfbb;background:#fffaf0;padding:1rem;}
.home-source-list article h3,.home-source-list article p {margin:.4rem 0;}
.scroll-paper {position:absolute;inset:0;pointer-events:none;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.28'/%3E%3C/svg%3E");mix-blend-mode:multiply;}
.scroll-opening {position:absolute;left:8%;top:16%;max-width:44%;pointer-events:none;}
body .page .scroll-opening h1 {font-size:1.75rem !important;letter-spacing:.22em;}
.scroll-opening p {color:#58694f;}.scroll-opening .scroll-today {font-size:.85rem; color:#7e7a68;}
.scroll-song {position:absolute;right:6%;top:15%;writing-mode:vertical-rl;color:#46584024;font:1.8rem/2.5 'STXingkai','STKaiti','KaiTi',serif;letter-spacing:.22em;pointer-events:none;}
.scroll-caption {position:absolute;left:8%;bottom:22%;max-width:32rem;padding:.5rem 1.2rem .5rem 0;text-shadow:0 1px 5px #f7f1e4;pointer-events:none;}
body .page .scroll-caption h2 {font-size:1.75rem !important;margin:.3rem 0 .65rem;letter-spacing:.12em;}.scroll-caption p {color:#536348;}
.scroll-progress {position:absolute;left:8%;right:8%;bottom:8%;display:grid;grid-template-columns:auto 1fr;gap:.75rem;color:#5b6754;font-size:.85rem;}
.scroll-hint {text-align:right;}.scroll-track {grid-column:1/-1;height:2px;background:#7c8d6a30;}.scroll-track span {display:block;height:100%;width:0;background:#9e513e;}
.scroll-sequence {position:relative;}.scroll-stop {padding:1rem 8%;}.scroll-ready .scroll-sequence {height:calc(var(--scroll-stops) * 65vh);pointer-events:none;}.scroll-ready .scroll-stop {display:none;}
.scroll-home:not(.scroll-ready) .scroll-stage {position:relative;height:70vh;}.scroll-noscript {padding:1rem 8%;}
@media(max-width:900px){.terms-page .term-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.stories-page .story-list{grid-template-columns:repeat(2,minmax(0,1fr));}.collection-card{padding:1.3rem;gap:1rem;}.collection-emblem{min-width:70px;height:90px;}.collection-emblem .season-icon{width:40px;height:40px;}.reading-layout{grid-template-columns:minmax(0,1fr);gap:1rem;}.reading-toc{grid-column:1;grid-row:1;position:relative;top:0;display:flex;flex-wrap:wrap;gap:.3rem 1rem;border:0;padding:.7rem;background:#eaeadd;}.reading-toc p{width:100%;margin:.2rem 0;}.reading-body{grid-row:2;}.museum-detail-hero{gap:1.5rem;}}
@media(max-width:600px){.site-masthead{padding:.75rem 1rem;}.site-brand{font-size:1.25rem;}body .v-nav{padding:.4rem .6rem;gap:.3rem;}.primary-links{gap:.05rem;}body .v-nav .primary-links .v-link{font-size:.85rem;padding:.6rem .45rem;}.primary-links .season-icon{display:none;}.section-nav{gap:.8rem;padding:.6rem .8rem;}.collection-grid{grid-template-columns:1fr;}.collection-card{padding:1.4rem;}.terms-page .term-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;}.stories-page .story-list{gap:.8rem;}.museum-card-copy{padding:.75rem;}.museum-card-copy h3{min-height:0;}.story-filter select{flex:1;min-width:0;}.museum-detail-hero{grid-template-columns:1fr;}.museum-detail-hero .term-hero-poster{width:100%;max-width:320px;margin:auto;}.museum-detail-hero .term-hero-info{padding:.5rem;}.museum-story-cover img{height:260px;}.reading-body .poem-grid,.reading-body .term-list-grid{grid-template-columns:1fr;}.museum-assistant{align-items:start;flex-direction:column;}.scroll-opening{left:7%;top:15%;max-width:70%;}.scroll-song{right:3%;top:18%;font-size:1.15rem;opacity:.7;}.scroll-caption{left:7%;bottom:22%;max-width:82%;}.scroll-caption p{font-size:.9rem !important;}.scroll-progress{left:7%;right:7%;bottom:9%;font-size:.75rem;}body .page .scroll-opening h1,body .page .scroll-caption h2{font-size:1.5rem !important;}}
@media(max-width:400px){.stories-page .story-list{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.scroll-home * {animation:none !important;scroll-behavior:auto !important;}}
.term-detail-page,.story-detail {max-width:1160px;width:100%;}
.story-detail {overflow:visible;isolation:isolate;}
.story-detail::before {display:block;content:'';position:absolute;inset:0 0 auto;height:min(900px,100%);z-index:-1;pointer-events:none;background:var(--story-bg) center top / cover no-repeat;opacity:.18;mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.7) 35%,transparent 95%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.7) 35%,transparent 95%);}
.story-detail::after {display:none;}
.story-detail .story-main-card,.story-detail .poem-card,.story-detail .reading-toc {background-color:rgba(255,250,240,.9);}
.sticker-season-heading {grid-column:1/-1;margin:.45rem 0 .15rem;color:#77664b;font-size:.86rem;display:flex;align-items:center;gap:.5rem;}
.sticker-season-heading::after {content:'';height:1px;background:#dfd1ba;flex:1;}
.sticker-option {background:#edf1e6;border-color:#a5b697;border-radius:6px;min-height:86px;}
.sticker-option:hover,.sticker-option:focus-visible {background:#f4e7d5;border-color:#ac7753;}
.sticker-option:disabled {opacity:.55;cursor:wait;}
.sticker-option[data-load-error] {border-color:#b88474;background:#f5e8e0;cursor:pointer;}
.sticker-option img {width:56px;height:56px;object-fit:contain;display:block;}
.sticker-material-note {font-size:.85rem;color:#766952;margin:.4rem 0 .7rem;}
@media(max-width:1100px) and (min-width:901px){.stories-page .story-list{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:380px){body .v-nav .primary-links .v-link{padding:.6rem .3rem;font-size:.8rem;}.account-login,.account-menu > summary{padding:.4rem;font-size:.8rem;}}
.museum-detail-hero .term-hero-info {text-align:left;}
.scroll-caption {top:25%;bottom:auto;}
.home-scroll[data-scene='0'] .scroll-caption {top:43%;}
@media(max-width:600px){.scroll-caption {top:29%;bottom:auto;}.home-scroll[data-scene='0'] .scroll-caption {top:43%;}}



/* One public landscape: the whole viewport changes, with a stable navigation. */
.scroll-home .site-masthead{display:none}.scroll-stage{top:58px;height:calc(100svh - 58px)}
.scroll-base-art{opacity:1;object-position:50% 50%;filter:saturate(.65)}
#season-atmosphere,.landscape-motifs{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#season-atmosphere{opacity:0}#season-scroll[data-renderer=webgl] #season-atmosphere{opacity:1}
.landscape-motifs{opacity:var(--flower-opacity,.7);filter:saturate(.48)}
.bloom-petal{transform-box:view-box;transform-origin:256.65px 379.96px;transform:scale(var(--bloom,.12))}
#season-scroll .scroll-opening{left:0;right:0;top:6%;max-width:none;text-align:center;opacity:1!important}
body .page .scroll-opening h1{font-size:clamp(2.7rem,5vw,4.6rem)!important;letter-spacing:.22em;margin:.35rem 0;position:relative;display:inline-block;color:var(--ink,#354e3b);text-shadow:0 2px 15px #fff8e7}
.scroll-opening p{margin:.2rem 0!important;color:var(--ink,#354e3b)!important;font-size:.85rem!important}
.title-frost{position:absolute;right:-.4em;top:-.3em;font-size:.45em;color:#faffff;opacity:var(--snow,0);text-shadow:0 0 9px #50859e}
#season-scroll .scroll-caption,#season-scroll[data-scene='0'] .scroll-caption{top:auto;bottom:15%;left:7%;padding:1rem 1.5rem;background:var(--caption-bg,#f8f4e6bb);border-left:2px solid var(--ink,#354e3b);backdrop-filter:blur(3px);max-width:30rem}
#season-scroll .scroll-caption p,#season-scroll .scroll-caption h2,#season-scroll .scroll-progress{color:var(--ink,#354e3b)}
#season-scroll .scroll-song{top:35%;right:5%;font-size:1.4rem;color:var(--ink,#354e3b);opacity:.22}
.scroll-progress{bottom:4%;gap:.4rem}.scroll-track span{background:var(--ink,#354e3b)}
.scroll-material-note{color:var(--ink,#354e3b);opacity:.65}
@media(max-width:600px){.scroll-stage{top:49px;height:calc(100svh - 49px)}#season-scroll .scroll-opening{top:7%}body .page .scroll-opening h1{font-size:2.7rem!important}#season-scroll .scroll-caption,#season-scroll[data-scene='0'] .scroll-caption{left:5%;right:5%;max-width:none;bottom:17%;padding:.7rem 1rem}#season-scroll .scroll-song{right:4%;top:38%;font-size:1rem}.scroll-progress{left:5%;right:5%}}

#season-scroll .scroll-progress{top:auto;height:auto;min-height:0;padding:0;grid-template-rows:auto 2px auto;align-content:end;background:none;border:0}
#season-scroll .scroll-track{display:block;height:2px;min-height:0;padding:0;border:0;flex:none;overflow:hidden}
#season-scroll #scroll-progress-fill{height:2px;min-height:0;margin:0;padding:0}
#season-scroll .scroll-opening{background:radial-gradient(ellipse at center,#f6f2e7d9,transparent 65%);padding:.6rem 0}

#season-scroll[data-renderer=nature3d] #season-atmosphere{opacity:1}#season-scroll[data-renderer=nature3d] .scroll-base-art{opacity:0}
#season-scroll .scroll-opening{top:4%;background:none;padding:0}body .page .scroll-opening h1{width:min(660px,72vw);margin:.4rem 0;line-height:1}
.branch-title{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 2px 2px #fff9)}.branch-title-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.title-twig{fill:none;stroke:url(#branch-bark);stroke-width:6.5;stroke-linecap:round;stroke-linejoin:round}.title-fork{fill:none;stroke:#786044;stroke-width:2;stroke-linecap:round}
.title-leaf{fill:var(--leaf-color,#60834c);transform:scale(var(--leaf-growth,.4))}.title-flower{opacity:var(--flower-opacity,.3)}.twig-snow{fill:#f5fcff;opacity:var(--snow,0)}
#season-scroll .scroll-caption,#season-scroll[data-scene='0'] .scroll-caption{background:#f3f5e740;border:0;backdrop-filter:none;padding:.5rem 0;bottom:12%;text-shadow:0 1px 7px #fff;opacity:.78;max-width:23rem}
#season-scroll .scroll-caption .home-kicker{display:none}#season-scroll .quiet-term{font-size:.8rem;letter-spacing:.14em;opacity:.6}#season-scroll .scroll-caption p{font-size:.82rem!important;margin:.3rem 0}
#season-scroll .scroll-song{opacity:.08}#season-scroll .scroll-opening .home-kicker,#season-scroll .scroll-today{opacity:.55;font-size:.7rem!important}#season-scroll .scroll-progress{font-size:.7rem;opacity:.65}
@media(max-width:600px){body .page .scroll-opening h1{width:86vw}#season-scroll .scroll-caption{bottom:14%;max-width:75%}}

.title-twig{stroke:var(--branch-bark,#775a3c)}.title-flower{transform-box:fill-box;transform-origin:center;transform:scale(var(--bloom,.12))}

.farming-background{position:absolute;inset:0;overflow:hidden;background:#eee6d3}.farming-frame,.farming-loop-frame{position:absolute;inset:-25% 0 auto;width:100%;height:140%;object-fit:cover;object-position:50% 80%;opacity:0;filter:contrast(1.14) saturate(.75);will-change:opacity,transform}.farming-frame:first-child{opacity:1}
#season-scroll[data-renderer=farming] .scroll-base-art{opacity:0}.farming-background::after{content:'';position:absolute;inset:0;z-index:3;background:linear-gradient(#f7f2e6d9,transparent 43%,#f7f2e633);pointer-events:none}
#season-scroll .scroll-opening{z-index:5}#season-scroll .scroll-caption{background:#f6f1e4a0;padding:.7rem 1rem;opacity:.9;text-shadow:none}
.title-twig{stroke-width:8.5;filter:url(#twig-texture)}.twig-grain{fill:none;stroke:#d9bb88;stroke-width:1.3;stroke-linecap:round;stroke-dasharray:14 3 2 7;opacity:.65;pointer-events:none}.title-fork{stroke-width:2.4;filter:url(#twig-texture)}
@media(max-width:600px){.farming-frame,.farming-loop-frame{height:145%;top:-26%;object-position:50% 78%}#season-scroll .scroll-opening{top:5%}.branch-title{filter:drop-shadow(0 1px 3px #fff)}}

@media(max-width:600px){.farming-frame,.farming-loop-frame{top:0;height:100%;object-fit:contain;object-position:center bottom}.farming-background::after{background:linear-gradient(#f7f2e6 0%,#f7f2e6dd 28%,transparent 55%)}#season-scroll .scroll-caption{bottom:10%;background:#f7f2e6b8}}

/* The next scene is uncovered from right to left; a small seasonal marker follows the seam. */
.season-transition-boundary{position:absolute;top:0;bottom:0;left:var(--wipe-edge,100%);width:1px;z-index:4;opacity:var(--wipe-visible,0);background:linear-gradient(transparent,#88765470 25%,#88765490 65%,transparent);box-shadow:-4px 0 12px #57452a18;pointer-events:none}
.season-transition-element{position:absolute;left:100%;top:56%;width:clamp(36px,5vw,64px);height:clamp(36px,5vw,64px);object-fit:contain;z-index:4;pointer-events:none;opacity:0;filter:saturate(.35) sepia(.25) drop-shadow(0 2px 4px #57452a30);will-change:left;transform:translate(-50%,-50%)}
@media(prefers-reduced-motion:reduce){.season-transition-element,.season-transition-boundary{display:none}}

/* Every glyph stroke is formed from two intertwined woody branches. */
.title-twig{stroke-width:2.5;opacity:.5}.woven-branch{fill:none;stroke-width:3.3;stroke-linecap:round;stroke-linejoin:round;filter:url(#twig-texture)}.strand-0{stroke:var(--branch-bark,#775a3c)}.strand-1{stroke:#aa8655;stroke-width:2.8}
#season-scroll .scroll-caption,#season-scroll[data-scene='0'] .scroll-caption{top:31%;bottom:auto;left:auto;right:4%;max-width:19rem;text-align:right;padding:.75rem 1rem;border-right:2px solid var(--ink,#354e3b);background:#f7f2e6cc}
#season-scroll .quiet-term{display:block;font:600 1.65rem/1.35 'STKaiti','KaiTi',serif;letter-spacing:.15em;opacity:1;color:var(--ink,#354e3b)}
#season-scroll .scroll-caption p{font-size:.8rem!important;line-height:1.65;margin:.35rem 0 0;opacity:.8}
@media(max-width:600px){#season-scroll .scroll-caption,#season-scroll[data-scene='0'] .scroll-caption{top:30%;left:auto;right:4%;max-width:65%;padding:.5rem .7rem}#season-scroll .quiet-term{font-size:1.35rem}}

/* Stone letters remain visible beneath living, intertwined vines. */
.title-twig{stroke:url(#title-stone);stroke-width:11;opacity:1;filter:drop-shadow(0 1.4px 0 #746c5b)}
.stone-ridge{fill:none;stroke:#fff3d7;stroke-width:1.6;stroke-linecap:round;opacity:.65;transform:translate(-1px,-1px)}
.woven-branch{stroke-width:1.7;filter:url(#twig-texture)}.strand-0{stroke:#65553a}.strand-1{stroke:#8b714c;stroke-width:1.4}
.title-leaf{opacity:var(--leafRetention,.2)}.title-bud{fill:#91aa59;opacity:var(--buds,1)}.title-fruit{opacity:var(--fruit,0)}
.title-fallen-leaf{opacity:var(--shedding,0);transform:translate(5px,var(--fall-distance,0px)) rotate(35deg)}
.branch-ice{fill:none;stroke:url(#title-ice);stroke-width:13;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:11 5 3 7;opacity:calc(var(--ice,0) * .8);pointer-events:none}
.twig-snow{filter:drop-shadow(0 1px 1px #719aaa);opacity:var(--snow,0)}

/* Loose irregular vines alternate behind and in front of each stone stroke. */
.natural-vine{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke:#65583d;stroke-width:1.8}.vine-back{stroke:#84724c}.vine-front{filter:drop-shadow(0 .65px .4px #40372360)}.vine-tip{stroke-width:1.3}.stone-ridge{stroke:#e5e8d2;opacity:.8}

/* Fixed, clearly legible letter material; only the living branches change. */
.title-twig{stroke:#536c67;stroke-width:11;filter:drop-shadow(0 1.5px 0 #344940);opacity:1}.stone-ridge{stroke:#a6bbb0;stroke-width:1.5;opacity:.85}
.natural-vine{stroke-width:3.1;stroke:var(--branch-bark,#685031)}.vine-back{stroke:#8b714a;stroke-width:2.8}.vine-tip{stroke-width:2.3}
.branch-ice{display:none}.vine-snow-cover{fill:none;stroke:#f3fbff;stroke-linecap:round;stroke-width:3.4;opacity:var(--snow,0);transform:translate(0,-1.2px);filter:drop-shadow(0 1px 1px #88acbe)}
.vine-melt-drop{fill:#9dcdda;stroke:#f4fcff;stroke-width:.7;opacity:var(--melt,0);transform:translateY(calc(var(--melt,0) * 12px))}

/* Stable warm title material and compositor layers at the year seam. */
.title-twig{stroke:#72594d;filter:drop-shadow(0 1.5px 0 #4e3f36)}.stone-ridge{stroke:#cbb498;opacity:.72}
.farming-frame,.farming-loop-frame{backface-visibility:hidden;contain:paint;transition:none!important;animation:none!important}

/* Do not reserve 25 large GPU textures. Composite the two visible pictures as one backdrop. */
.farming-frame,.farming-loop-frame{will-change:auto;filter:none;backface-visibility:visible;contain:none}
.farming-background{filter:contrast(1.14) saturate(.75);isolation:isolate}

/* A quiet scroll: the main title folds to the left, only the term name remains. */
#season-scroll .scroll-opening{right:auto;max-width:none;text-align:center}
#season-scroll .scroll-opening>p,#season-scroll .scroll-song,#season-scroll .scroll-progress,#season-scroll .scroll-caption p{display:none!important}
#season-scroll .scroll-caption,#season-scroll[data-scene='0'] .scroll-caption{background:none;border:0;padding:0;top:6%;right:4%;max-width:none}
.home-source-link{display:none}

/* A mounted handscroll leaves a quiet paper margin around the smaller scene. */
#season-scroll .scroll-stage{background:#e9e1d0}
.scroll-mount{position:absolute;inset:24px 38px;background:repeating-linear-gradient(0deg,#e7d9bc 0 1px,#ecdfc5 1px 4px);border:1px solid #b5a17a;box-shadow:0 10px 25px #5d4a2a25,inset 0 0 0 5px #d5c5a2;pointer-events:none}
.scroll-mount::before,.scroll-mount::after{content:'';position:absolute;top:-9px;bottom:-9px;width:16px;border:1px solid #6d543b;border-radius:5px;background:linear-gradient(90deg,#70573b,#b29a72 38%,#8c714f 70%,#5c4632);box-shadow:2px 3px 5px #4c3b292b}
.scroll-mount::before{left:-9px}.scroll-mount::after{right:-9px}
#season-scroll .scroll-landscape{inset:42px 62px;border:1px solid #b8aa88;box-shadow:inset 0 0 12px #6c5b3333}
#season-scroll .scroll-paper{inset:24px 38px}
#season-scroll .scroll-caption,#season-scroll[data-scene='0'] .scroll-caption{top:9%;right:7%}
@media(max-width:600px){.scroll-mount{inset:18px 15px}.scroll-mount::before,.scroll-mount::after{width:10px;top:-6px;bottom:-6px}.scroll-mount::before{left:-5px}.scroll-mount::after{right:-5px}#season-scroll .scroll-landscape{inset:30px 28px}#season-scroll .scroll-paper{inset:18px 15px}#season-scroll .scroll-caption,#season-scroll[data-scene='0'] .scroll-caption{right:10%;top:8%}}

/* Reference layout: title and solar-term name live on the two mounting strips. */
#season-scroll .scroll-landscape{inset:42px 140px 42px 165px}
#season-scroll .scroll-opening{left:66px;right:auto;top:50%;transform:translateY(-50%);padding:0}
body .page #season-scroll .scroll-opening h1{width:78px;margin:0}
#season-scroll .scroll-caption,#season-scroll[data-scene='0'] .scroll-caption{right:70px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;text-align:center}
#season-scroll .quiet-term{font-size:2rem;letter-spacing:.32em}
.scroll-art-credit{position:absolute;z-index:6;bottom:27px;right:60px;color:#776b57;font-size:.66rem;line-height:1.3;text-decoration:none;letter-spacing:.02em}
.scroll-art-credit:hover{color:#4d5d43;text-decoration:underline}
@media(max-width:600px){#season-scroll .scroll-landscape{inset:30px 72px 38px 80px}#season-scroll .scroll-opening{left:29px}body .page #season-scroll .scroll-opening h1{width:40px}#season-scroll .scroll-caption,#season-scroll[data-scene='0'] .scroll-caption{right:35px;top:50%}#season-scroll .quiet-term{font-size:1.3rem}.scroll-art-credit{bottom:21px;right:28px;font-size:.55rem;max-width:75%;text-align:right}}

.compact-separator{display:inline-block;margin:0 .22em;letter-spacing:0}

/* Upright letter cores, more breathing room; source colours stay faithful. */
.title-twig{stroke-linecap:round;stroke-linejoin:round}.season-transition-element{filter:drop-shadow(0 2px 4px #57452a30)}
.compact-separator{margin:0 .12em}
