/* A contemplative woodland atmosphere: aged paper, bronze and gradual light.
   Colour treatment belongs to the setting; source photographs stay unfiltered. */
:root{--paper:#d6cbb3;--ink:#323a30;--red:#786344;--line:#403a292e;--ivory:#e4d8bf;--gold:#b4a078;--slow:cubic-bezier(.22,.61,.36,1)}
body{background:#202c27}
body:after{opacity:.055}
.header{background:#202c27;color:#d9cfb8;border-bottom-color:#b5a27c26}
.brand{font-family:var(--serif);font-size:16px;letter-spacing:.085em}
.brand-flower{color:#b6a077;width:28px;height:28px}
.brand:hover .brand-flower{transform:none}
.header nav{font-family:var(--serif);font-size:16px}
.header-tools{color:#c2b79f;gap:24px}
.hero{color:var(--ivory);background:radial-gradient(ellipse at 73% 33%,#b7a16b22 0,transparent 47%),radial-gradient(ellipse at 11% 73%,#73826113 0,transparent 48%),linear-gradient(145deg,#26372e 0%,#202c27 53%,#182520 83%,#263229 100%)}
.hero:before{content:'';position:absolute;inset:0;pointer-events:none;background:url('assets/botanical-engraving.svg') left -125px bottom -270px / 400px auto no-repeat;opacity:.17}
.hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#263229 0,transparent 16%);z-index:1}
.hero-garden,.hero-bottom{z-index:2}
.hero-copy>.eyebrow{color:#bda984;letter-spacing:.25em}
.hero h1{font-weight:300;letter-spacing:-.035em;color:#ddd0ad;font-size:clamp(70px,8.1vw,124px);text-shadow:0 2px 30px #0b171b22}
.hero h1 span{margin-left:10%}
.name-dot{display:none}
.hero h2{font-weight:300;line-height:1.04}
.hero h2 em{color:#bdac85}
.hero-description>p{color:#c5bda9;line-height:1.95}
.round-link{font-family:var(--serif);font-size:16px;letter-spacing:.01em;color:#e0d3b5}
.arrow-circle{border-color:#b39f7359;font:20px var(--serif);transition:background 1.4s,border-color 1.4s}
.round-link:hover .arrow-circle{transform:none;background:#b5a07816;color:#e4d8bf;border-color:#c9b990}
.garden-window{animation:none;transform:rotate(-.35deg);filter:drop-shadow(0 25px 32px #050f0c77)}
.garden-window:before{inset:1% 6% 6%;border-color:#b7a16c4d;border-radius:47% 45% 8% 8%;transform:rotate(.5deg) scale(1.035)}
.garden-window:after{content:'';position:absolute;inset:-12% -16%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#d6bc7714 0,transparent 67%);animation:room-light 32s ease-in-out infinite}
.garden-window .mosaic-cell{transition:none}
.garden-window a:hover .mosaic-cell,.garden-window a:focus .mosaic-cell{filter:none}
.tile-edge{stroke:#6e6247;stroke-width:3;transition:stroke 1.2s}
.garden-window a:hover .tile-edge,.garden-window a:focus .tile-edge{stroke:#d1be8d;stroke-width:3}
.garden-window a:focus-visible .tile-edge{stroke:#f4e4b8;stroke-width:6}
.garden-side-note{color:#b6a888;letter-spacing:.23em;opacity:.8}
.garden-hint{color:#c6b99b;letter-spacing:.03em}
.hero-bottom{border-color:#ac987144;color:#baae94}
.garden-intro{position:relative;background:radial-gradient(ellipse at 22% 100%,#7881601c,transparent 57%),linear-gradient(#263229,#34382d 73%,#4b4334);color:#d4c9ae;min-height:440px}
.garden-intro .small-flower{font-size:52px;font-family:var(--serif);color:#a38e63;opacity:.8}
.garden-intro>p{font-weight:300;line-height:1.08}
.intro-note{color:#beb79d;line-height:2}
.season-nav{background:#263028f2;color:#d9ccb0;border-color:#b29d7429;box-shadow:0 7px 28px #101b1824}
.season-nav a{opacity:.76;font-family:var(--serif);font-size:16px;gap:12px;transition:opacity 1s}
.season-nav a.active span:not(.season-dot){text-underline-offset:7px;text-decoration-color:#bfa477;text-decoration-thickness:1px}
.season-dot{width:10px;height:10px;border-radius:50%;transform:none;background:#a68b7c;box-shadow:0 0 0 3px #ab9b6e0d}
.summer-dot{background:#74908c}.autumn-dot{background:#ad8e62}.winter-dot{background:#adb5a7}
.season-inner{z-index:2}
.season:before{content:'';position:absolute;inset:0;pointer-events:none;background:url('assets/botanical-engraving.svg') right -90px center / 490px auto no-repeat;opacity:.07;transform:scaleX(-1)}
.season:after{display:none}
.season{color:#e7dbc4}
.season-text h2{font-weight:300;font-size:clamp(60px,6.2vw,94px);line-height:1.03;letter-spacing:-.025em}
.season-text p{color:#d8cdb8;font-size:13px;line-height:2}
.chapter-caption .eyebrow{color:#d4c4a3;letter-spacing:.2em}
.kanji{font-size:42px;color:#c6b08a;opacity:.7;font-weight:300}
.paint-image{border:2px solid #a49470!important;box-shadow:0 0 0 4px #3b362650,0 0 0 5px #b8a17042,0 24px 35px #10191540;transition:box-shadow 1.7s var(--slow),transform 1.7s var(--slow)}
.paint:hover .paint-image{transform:translateY(-2px);box-shadow:0 0 0 4px #3b362650,0 0 0 5px #d0b98680,0 27px 42px #10191555}
.paint-label{color:inherit;opacity:.86;font-family:var(--serif);font-size:15px;letter-spacing:.015em;margin-top:16px}
.paint-label:before{border:0;border-radius:0;opacity:.6;font-family:var(--serif);font-size:13px;width:14px;margin-right:5px}
.next-season{border-color:#b9a98550;color:#dbceb4;font-family:var(--serif);font-size:15px;letter-spacing:.02em;opacity:.85}
.spring{background:radial-gradient(ellipse at 75% 40%,#b59b7e1a,transparent 50%),linear-gradient(180deg,#4b4334 0%,#74604f 25%,#806c5c 62%,#39423b 100%)}
.spring .season-text h2 em{color:#dbc5a7}
.spring-main{transform:rotate(-.5deg)}
.spring-main .paint-image{border-radius:48% 48% 2px 2px / 56% 56% 2px 2px}
.spring-blue{transform:rotate(.8deg)}
.spring-blue .paint-image{border-radius:2px 2px 30% 2px}
.spring-round{transform:rotate(-.7deg)}
.botanical-stem{border-color:#d0c0a53d}.botanical-stem:after{border-color:#d0c0a540}
.floating-petal{background:transparent!important;border:1px solid #cbb79144;animation:petal 29s ease-in-out infinite}
.petal-two{animation-delay:-13s}.tiny-word{color:#d5c9af}
.summer{background:radial-gradient(ellipse at 35% 40%,#597f7820,transparent 55%),linear-gradient(180deg,#39423b 0%,#273d3e 25%,#1c2e34 72%,#30332b 100%)}
.summer-boat{transform:rotate(-.6deg)}.summer-boat .paint-image{border-radius:2px 18% 2px 2px / 2px 16% 2px 2px}
.summer-sun{transform:none}.summer-night{transform:rotate(1deg)}.summer-night .paint-image{border-radius:35% 2px 30% 2px}
.summer-star{font-size:72px;color:#aa987144;top:292px}
.water-lines{opacity:.08;transform:rotate(-3deg)}
.autumn{background:radial-gradient(ellipse at 70% 43%,#af8c5c1f,transparent 56%),linear-gradient(180deg,#30332b 0%,#53412e 28%,#654d37 68%,#778074 100%)}
.autumn-leaves{transform:rotate(.6deg)}.autumn-leaves .paint-image{border-radius:3px 20% 3px 3px / 3px 24% 3px 3px}
.autumn-grapes{transform:rotate(-.8deg)}.autumn-red{transform:none}
.autumn-orbit{border-color:#c6af7940}
.tile-leaf{background:transparent;border:1px solid #c3ae794d;clip-path:none;border-radius:100% 0 100% 0;width:66px;height:38px;transform:rotate(-35deg)}
.winter{color:#2c3e36;background:radial-gradient(ellipse at 73% 45%,#e8e4c128,transparent 52%),linear-gradient(180deg,#778074 0%,#a5ac99 33%,#b8beaa 68%,#c9c3ad 100%)}
.winter .season-text h2 em{color:#4e5d50}.winter .season-text p{color:#344a3f}
.winter .chapter-caption .eyebrow{color:#e1dcc5}.winter .kanji{color:#dad9c0}
.winter .next-season{color:#3e4d40;border-color:#4b5e443d}
.winter-house{transform:rotate(-.3deg)}.winter-cat{transform:rotate(.65deg)}
.winter-house .paint-image{border-color:#b4ad8d!important;box-shadow:0 0 0 4px #61644c40,0 0 0 5px #e5d8ac6b,0 25px 45px #24392d33}
.winter-moon{background:radial-gradient(circle,#e1ddbc8c 0,#dddabc22 60%,transparent 72%);width:230px;height:230px;left:56%;top:-50px;opacity:.7}
.winter-star{color:#53685455;font-size:54px}
.collection{background:radial-gradient(ellipse at 17% 20%,#e6d8b632,transparent 38%),linear-gradient(#c9c3ad 0,#d6cbb3 450px,#d3c7aa 100%);color:#323c31}
.section-heading h2{font-weight:300}.section-heading h2 em{color:#736343}
.filters button[aria-pressed=true]{border-radius:2px;background:#45513e;color:#e7dcc3}
.art-card:hover .image-bed img{transform:scale(1.018)}.image-bed img{transition:transform 1.6s var(--slow)}
.card-description{font-weight:400}.card-description>span:last-child{opacity:.76}.card-season,.catalogue-note{opacity:.8}
.about{background:radial-gradient(ellipse at 25% 50%,#c9bb9233,transparent 50%),linear-gradient(#d3c7aa,#b4b39a);color:#344131}
.about-ring{border-color:#716e494a}.about-ring:after{border-color:#716e493d}.round-art{box-shadow:0 12px 40px #3a41261f}
.about h2{font-weight:300;line-height:1.07}
footer{background:radial-gradient(ellipse at 12% 8%,#53604b28,transparent 60%),linear-gradient(#344031,#202b25);color:#d9ccb1}
footer>p{font-weight:300;line-height:1.08}
.back-top{border-color:#b5a47b61}.footer-bottom{border-color:#b5a47b30}
dialog{background:#ded5bf;color:#303a30;box-shadow:0 40px 120px #08130bbb}
dialog::backdrop{background:#142019e8;backdrop-filter:blur(12px)}
.viewer-image-wrap{background:#cbc8b9}.image-viewport img{filter:none;mix-blend-mode:normal}
.description-note,.source-note{opacity:.8}
.js-motion .season .paint{transition:opacity 2.3s var(--slow),translate 2.7s var(--slow)}
.js-motion .season:not(.entered) .paint{opacity:0;translate:0 12px}
.season .paint:nth-child(3){transition-delay:.25s}.season .paint:nth-child(4){transition-delay:.55s}
@keyframes room-light{0%,100%{opacity:.55;transform:translate(-1%,1%) scale(.98)}50%{opacity:1;transform:translate(1%,-1%) scale(1.04)}}
@media(min-width:1500px){.hero h1{font-size:134px}}
@media(max-width:1000px){.hero h1{font-size:81px}.season-text p{font-size:12px}.round-link{font-size:15px}}
@media(max-width:680px){
 .brand{font-size:12px;letter-spacing:.055em}.brand-flower{width:24px;height:24px}.header nav{font-size:13px}.header-tools{gap:12px}
 .hero{background:radial-gradient(ellipse at 70% 37%,#a4946526,transparent 51%),linear-gradient(155deg,#2a3a30,#1d2b25 70%,#263229)}
 .hero:before{background-position:left -138px bottom -160px;background-size:310px;opacity:.14}
 .hero h1{font-size:12.55vw;letter-spacing:-.025em}.hero h1 span{margin-left:8px}
 .hero-copy>.eyebrow{font-size:8px;letter-spacing:.22em}.hero h2{font-size:44px}
 .hero-description>p{font-size:11px;line-height:1.9}.round-link{font-size:15px}.garden-hint{font-size:9px}
 .garden-intro{min-height:310px}.garden-intro .small-flower{font-size:37px}.garden-intro>p{font-size:37px}
 .season-nav{gap:24px}.season-nav a{font-size:13px;gap:7px}.season-dot{width:8px;height:8px}
 .chapter-caption .eyebrow{font-size:8px;letter-spacing:.13em}.kanji{font-size:30px}
 .season-text h2{font-size:56px!important;line-height:1.06}.season-text p{font-size:11px;line-height:1.8}
 .paint-label{font-size:12px;margin-top:13px;letter-spacing:0}.paint-label:before{font-size:10px;width:10px;margin-right:4px}
 .spring .season-text h2{font-size:55px!important}.summer .season-text h2{font-size:50px!important}.autumn .season-text h2{font-size:52px!important}.winter .season-text h2{font-size:54px!important}
 .next-season{font-size:13px}.summer-sun .paint-label{top:-23px;font-size:11px}.summer-star{top:361px;font-size:52px}
 .winter-moon{left:2%;top:-28px;width:185px;height:185px}.winter-star{font-size:39px}
 .autumn-grapes{transform:rotate(-.8deg)}.autumn-leaves{transform:rotate(.6deg)}.winter-cat{transform:rotate(.65deg)}
 .season:before{background-size:350px;opacity:.055}.about h2{font-size:55px}
 html[lang=ja] .season-text h2{font-size:43px!important;line-height:1.3}
}
@media(prefers-reduced-motion:reduce){.garden-window:after{animation:none}.js-motion .season:not(.entered) .paint{opacity:1;translate:none}}
/* Keep small text clear within the softly graded fields. */
.spring{background:radial-gradient(ellipse at 75% 40%,#b59b7e12,transparent 50%),linear-gradient(180deg,#4b4334 0%,#74604f 25%,#726154 62%,#39423b 100%)}
.spring .season-text p,.spring .paint-label{color:#eee3cc;opacity:1}
.winter .chapter-caption .eyebrow{color:#08170d}.winter .kanji{color:#26392e;opacity:.85}.winter .season-text p{color:#263c30}
