:root{--wall:#687169;--floor:#454b47;--paper:#d8d0be;--ink:#20231f;--rust:#87483f;--serif:"Songti SC",STSong,SimSun,"Noto Serif CJK SC",serif;--sans:"Arial Narrow","Microsoft YaHei UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:var(--floor);font-family:var(--serif);overflow-x:hidden}body.drawer-open{overflow:hidden}button,a{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--paper);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.noise{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E");mix-blend-mode:multiply}.cursor-light{position:fixed;width:420px;height:420px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(223,216,194,.08),transparent 67%);transform:translate(-50%,-50%);opacity:0;transition:opacity .4s}body:hover .cursor-light{opacity:1}
.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;padding:34px clamp(24px,5vw,76px);display:flex;align-items:flex-start;justify-content:space-between}.brand{display:flex;gap:22px}.brand-mark{width:2px;background:var(--rust);animation:drawLine 1.2s ease both}.brand strong{display:block;font-size:clamp(20px,2vw,30px);font-weight:500;letter-spacing:.18em}.brand small{display:block;margin-top:7px;font-size:12px;letter-spacing:.16em;opacity:.8}.site-nav{display:flex;align-items:center;gap:clamp(22px,3vw,48px);padding-top:14px}.site-nav a{position:relative;font-size:15px;letter-spacing:.16em}.site-nav a:after{content:"";position:absolute;left:50%;bottom:-9px;width:0;height:1px;background:var(--ink);transition:.3s;transform:translateX(-50%)}.site-nav a:hover:after{width:100%}.sound-toggle{border:0;background:none;padding:8px}.sound-dot{display:block;width:10px;height:10px;border-radius:50%;background:var(--rust)}.sound-toggle[aria-pressed=true] .sound-dot{box-shadow:0 0 0 5px rgba(135,72,63,.18);animation:pulse 1.8s infinite}.menu-button{display:none}
.hero{position:relative;min-height:740px;height:100vh;max-height:920px;padding:170px clamp(24px,6.5vw,100px) 120px;display:grid;grid-template-columns:minmax(430px,.9fr) minmax(460px,1.1fr);align-items:center;gap:5vw;background:linear-gradient(180deg,var(--wall) 0 76%,var(--floor) 76%);overflow:hidden}.hero:after{content:"";position:absolute;left:0;right:0;top:76%;height:2px;background:rgba(28,31,28,.2);box-shadow:0 12px 24px rgba(25,28,25,.16)}.hero-copy{position:relative;z-index:2;max-width:680px}.eyebrow,.section-heading>p,.drawer-index,.card-kicker,.track-copy>p{font-family:var(--sans);font-size:12px;letter-spacing:.38em}.eyebrow{margin:0 0 38px;color:var(--paper)}.hero h1{margin:0;font-size:clamp(54px,6.2vw,96px);font-weight:500;line-height:1.25;letter-spacing:.08em}.hero-intro{margin:30px 0 42px;font-size:clamp(16px,1.4vw,21px);letter-spacing:.08em}.hero-actions{display:flex;gap:18px}.button{position:relative;min-width:180px;height:58px;padding:0 32px;border:1px solid var(--ink);background:transparent;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;letter-spacing:.16em}.button:before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(102%);transition:transform .35s}.button span{position:relative;z-index:1;transition:color .35s}.button:hover:before{transform:translateY(0)}.button:hover span{color:var(--paper)}.button-primary{background:var(--paper);border-color:var(--paper)}.whisper{margin-top:36px;padding:0;border:0;background:none;display:flex;gap:12px;align-items:center;opacity:.48}.whisper-symbol{font-size:22px;color:var(--rust);transition:transform .5s}.whisper-text{max-width:0;white-space:nowrap;overflow:hidden;opacity:0;font-size:13px;transition:max-width .8s,opacity .5s}.whisper.revealed{opacity:.85}.whisper.revealed .whisper-symbol{transform:rotate(180deg)}.whisper.revealed .whisper-text{max-width:380px;opacity:1}
.still-life{position:relative;align-self:end;height:76%;min-height:470px;perspective:1000px}.window{position:absolute;left:6%;top:0;width:min(57%,420px);aspect-ratio:.76;padding:0;overflow:hidden;border:clamp(12px,1.4vw,20px) solid #30352f;outline:4px solid rgba(34,38,34,.25);background:#87908a;box-shadow:inset 0 0 60px rgba(24,28,25,.35),0 14px 18px rgba(25,28,25,.2);transition:transform .7s}.window:hover{transform:translateY(-4px) rotateX(1deg)}.moon-glow{position:absolute;left:24%;top:3%;width:300px;height:300px;border-radius:50%;background:rgba(226,215,183,.13);filter:blur(45px);transition:.8s}.still-life.awake .moon-glow{background:rgba(226,215,183,.25);transform:scale(1.2)}.moon{position:absolute;width:48px;height:48px;border-radius:50%;top:13%;right:18%;background:#d8d0b9;box-shadow:inset -9px -4px rgba(112,117,105,.15),0 0 25px rgba(225,216,188,.22);transition:transform 1s}.still-life.awake .moon{transform:translate(-22px,12px)}.hill{position:absolute;bottom:27%;width:62%;height:20%;background:#4f5751;clip-path:polygon(0 100%,0 82%,15% 56%,29% 72%,45% 39%,61% 64%,78% 48%,100% 78%,100% 100%)}.hill-left{left:-5%}.hill-right{right:-9%;transform:scaleX(-1);opacity:.9}.water{position:absolute;bottom:0;left:0;right:0;height:29%;background:#707b76}.water:before{content:"";position:absolute;left:48%;top:22%;width:38%;height:2px;background:var(--paper);box-shadow:16px 9px rgba(216,208,190,.7),-10px 18px rgba(216,208,190,.48),24px 28px rgba(216,208,190,.26);animation:water 4s ease-in-out infinite}.water-two{opacity:.45;transform:translateY(17px)}.window-bar{position:absolute;z-index:3;background:#30352f}.window-bar.vertical{width:12px;height:100%;left:calc(50% - 6px)}.window-bar.horizontal{height:12px;width:100%;top:calc(50% - 6px)}.vase{position:absolute;right:5%;bottom:2%;width:130px;height:280px}.vase:after{content:"";position:absolute;bottom:0;left:32px;width:60px;height:87px;border:3px solid #313630;border-radius:8px 8px 24px 24px;background:rgba(80,91,84,.38)}.branch{position:absolute;width:3px;background:#2c312d;transform-origin:bottom}.branch-main{height:220px;left:65px;bottom:70px;transform:rotate(-5deg)}.branch-left{height:125px;left:59px;bottom:156px;transform:rotate(-39deg)}.branch-right{height:140px;left:67px;bottom:178px;transform:rotate(31deg)}.bird{position:absolute;right:1px;top:36px;width:55px;height:29px;border:0;background:#20241f;border-radius:60% 45% 55% 20%;transform-origin:20% 100%;transition:transform .25s}.bird:before{content:"";position:absolute;width:23px;height:23px;right:1px;top:-12px;background:#20241f;border-radius:50%}.bird:after{content:"";position:absolute;left:-18px;bottom:0;border-style:solid;border-width:4px 23px 5px 0;border-color:transparent #20241f transparent transparent;transform:rotate(-12deg)}.bird:hover{transform:rotate(-4deg) translateY(-3px)}.bird.flying{animation:flyAway 1.4s ease-in forwards}.window-message{position:absolute;right:4%;bottom:-40px;margin:0;font-size:12px;letter-spacing:.14em;opacity:0;transition:.6s;transform:translateY(5px)}.window-message.visible{opacity:.7;transform:translateY(0)}.scroll-cue{position:absolute;bottom:23px;left:50%;z-index:3;transform:translateX(-50%);font:10px var(--sans);letter-spacing:.25em;opacity:.6}.scroll-cue span{display:block;margin:0 auto 7px;width:1px;height:23px;background:var(--paper);animation:scrollCue 1.8s infinite}
.section{padding:100px clamp(24px,5vw,76px)}.observations{background:var(--floor);color:var(--paper)}.section-heading{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:40px}.section-heading>p{grid-column:1/-1;margin:0 0 14px;color:#9da59e}.section-heading h2{margin:0;font-size:clamp(32px,4vw,54px);font-weight:500;letter-spacing:.12em}.section-heading span{font-size:13px;opacity:.65}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.note-card{position:relative;min-height:330px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;background:var(--paper);color:var(--ink);overflow:hidden;transition:transform .45s,box-shadow .45s}.note-card:hover,.note-card:focus{transform:translateY(-9px);box-shadow:0 22px 38px rgba(20,23,20,.24)}.note-card-green{background:#333b34;color:var(--paper)}.note-card-ink{background:#282c29;color:var(--paper)}.card-index{position:absolute;right:22px;top:19px;font:11px var(--sans);opacity:.55}.card-icon{width:54px;height:54px;display:block;position:relative;margin-bottom:40px}.search-icon{border:2px solid var(--rust);border-radius:50%}.search-icon:after{content:"";position:absolute;width:27px;height:2px;right:-20px;bottom:-10px;background:var(--rust);transform:rotate(48deg)}.pin-icon{width:39px;height:49px;border:2px solid currentColor;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.cube-icon{border:2px solid currentColor;transform:rotate(30deg);width:42px;height:42px;margin:9px 0 52px}.card-kicker{margin:0 0 10px;opacity:.6}.note-card h3{margin:0 0 16px;font-size:clamp(24px,2.2vw,34px);font-weight:500}.note-card p:not(.card-kicker){margin:0;line-height:2;font-size:14px;opacity:.78}.note-card button{align-self:flex-start;border:0;border-bottom:1px solid currentColor;padding:0 0 5px;background:none;font-size:13px}.note-card button span{display:inline-block;margin-left:8px;transition:.3s}.note-card button:hover span{transform:translateX(6px)}
.quote-section{position:relative;min-height:530px;display:grid;place-items:center;background:var(--paper);overflow:hidden}.quote-number{position:absolute;left:5vw;top:50px;font:14px var(--sans);letter-spacing:.3em;opacity:.5}.quote-section blockquote{z-index:2;margin:0;font-size:clamp(25px,3.2vw,48px);line-height:1.9;letter-spacing:.07em;text-align:center}.quote-orbit{position:absolute;width:410px;height:410px;border:1px solid rgba(75,81,75,.18);border-radius:50%;animation:slowRotate 24s linear infinite}.quote-orbit:after{content:"";position:absolute;inset:55px;border:1px solid rgba(75,81,75,.12);border-radius:50%}.quote-orbit span{position:absolute;width:9px;height:9px;border-radius:50%;top:50%;left:-5px;background:var(--rust)}.listening{background:#303531;color:var(--paper);display:grid;grid-template-columns:auto 1fr minmax(180px,1fr) auto;gap:32px;align-items:center}.listening-controls{display:flex;align-items:center;gap:14px}.record{width:105px;height:105px;border-radius:50%;background:repeating-radial-gradient(circle,#1f2220 0 3px,#2e322f 4px 6px);display:grid;place-items:center}.record span{width:34px;height:34px;border-radius:50%;background:var(--rust)}.listening.playing .record{animation:slowRotate 4s linear infinite}.track-copy p{margin:0 0 8px;opacity:.5}.track-copy h2{margin:0 0 9px;font-size:24px;font-weight:500}.track-copy span{opacity:.6;font-size:12px}.equalizer{height:42px;display:flex;align-items:center;justify-content:center;gap:6px;opacity:.55}.equalizer i{width:2px;height:8px;background:var(--paper)}.listening.playing .equalizer i{animation:equalize .8s ease-in-out infinite alternate}.equalizer i:nth-child(2n){animation-delay:-.2s!important}.equalizer i:nth-child(3n){animation-delay:-.45s!important}.play-button{width:58px;height:58px;flex:none;border:1px solid rgba(216,208,190,.55);border-radius:50%;background:none;display:grid;place-items:center;transition:border-color .3s}.play-button:hover{border-color:var(--rust)}.play-icon{margin-left:4px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid var(--paper)}.listening.playing .play-icon{width:10px;height:14px;margin:0;border:0;border-left:3px solid var(--paper);border-right:3px solid var(--paper)}.next-button{width:40px;height:40px;flex:none;border:1px solid rgba(216,208,190,.3);border-radius:50%;background:none;color:var(--paper);display:grid;place-items:center;transition:border-color .3s,color .3s}.next-button:hover{border-color:var(--rust);color:var(--rust)}.next-button svg{width:15px;height:15px;fill:currentColor}.site-footer{padding:30px clamp(24px,5vw,76px);display:flex;justify-content:space-between;background:#242825;color:var(--paper);font-size:12px}.site-footer p{margin:0;opacity:.5}
.drawer-backdrop{position:fixed;inset:0;z-index:30;background:rgba(21,24,21,.62);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.45s}.drawer{position:fixed;z-index:31;right:0;top:0;width:min(540px,100%);height:100dvh;padding:clamp(50px,8vw,100px) clamp(34px,6vw,74px);background:var(--paper);transform:translateX(102%);visibility:hidden;transition:transform .6s,visibility .6s;overflow-y:auto}.drawer.open{transform:translateX(0);visibility:visible}.drawer-backdrop.open{opacity:1;visibility:visible}.drawer-close{position:absolute;right:28px;top:22px;border:0;background:none;font:32px var(--sans)}.drawer-index{color:var(--rust);margin:0 0 50px}.drawer h2{margin:0 0 35px;font-size:clamp(38px,5vw,62px);font-weight:500}.drawer-lead{font-size:18px;line-height:2}.drawer>p:not(.drawer-index,.drawer-lead){line-height:2}.fact-list{margin:46px 0 0}.fact-list div{padding:20px 0;border-top:1px solid rgba(31,35,31,.45)}.fact-list dt{font-size:12px;opacity:.6}.fact-list dd{margin:8px 0 0}.route{margin-top:60px;display:flex;align-items:center;font-size:12px}.route i{width:60px;height:1px;margin:0 10px;background:var(--ink)}.tag-list{list-style:none;padding:0;margin:48px 0 0;display:flex;flex-wrap:wrap;gap:10px}.tag-list li{border:1px solid rgba(31,35,31,.45);padding:10px 16px;font-size:13px}[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .9s,transform .9s}[data-reveal].revealed{opacity:1;transform:none}
@keyframes drawLine{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(135,72,63,0)}}@keyframes water{50%{transform:translateX(-18px);opacity:.5}}@keyframes scrollCue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}@keyframes slowRotate{to{transform:rotate(360deg)}}@keyframes equalize{from{height:7px}to{height:35px}}@keyframes flyAway{20%{transform:rotate(-8deg) translate(-10px,-8px)}to{transform:translate(-70vw,-60vh) rotate(-18deg) scale(.35);opacity:0}}
@media(max-width:900px){.site-header{padding:24px}.brand small{display:none}.menu-button{display:block;position:relative;z-index:12;width:42px;height:42px;border:0;background:none}.menu-button span:not(.sr-only){position:absolute;right:5px;width:28px;height:1px;background:var(--ink)}.menu-button span:first-child{top:15px}.menu-button span:nth-child(2){top:25px;width:19px}.site-nav{position:fixed;z-index:11;inset:0;padding:120px 40px;flex-direction:column;justify-content:center;background:var(--paper);transform:translateY(-102%);transition:.6s}.site-nav.open{transform:none}.site-nav a{font-size:24px}.hero{height:auto;max-height:none;min-height:100svh;padding:140px 24px 80px;grid-template-columns:1fr;gap:80px;background:linear-gradient(180deg,var(--wall) 0 84%,var(--floor) 84%)}.hero-copy{padding-top:40px}.hero h1{font-size:clamp(48px,13vw,72px)}.still-life{width:100%;max-width:570px;height:520px;justify-self:center}.section{padding:78px 24px}.section-heading{grid-template-columns:1fr;gap:15px}.card-grid{grid-template-columns:1fr}.note-card{min-height:300px}.quote-section{min-height:520px}.listening{grid-template-columns:auto 1fr auto}.equalizer{grid-row:2;grid-column:1/-1}.record{width:76px;height:76px}}
@media(max-width:540px){.hero{padding-top:110px;gap:50px}.hero h1{font-size:45px}.hero-actions{flex-direction:column}.button{width:100%}.still-life{height:400px}.window{width:66%}.vase{transform:scale(.72);transform-origin:bottom right}.quote-section blockquote br{display:none}.listening{grid-template-columns:1fr auto}.record{display:none}.site-footer{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cursor-light{display:none}}

/* Detailed, fully vector window illustration. */
.window{background:#78827c;border-color:#343a35;box-shadow:inset 0 0 36px rgba(19,24,20,.42),0 14px 20px rgba(25,28,25,.23)}
.window:before,.window:after{content:"";position:absolute;z-index:5;pointer-events:none}.window:before{inset:-2px;border:5px solid rgba(181,174,153,.1);box-shadow:inset 0 0 18px rgba(20,24,21,.28)}.window:after{inset:0;opacity:.2;background:repeating-linear-gradient(88deg,transparent 0 24px,rgba(235,225,196,.07) 25px,transparent 28px),linear-gradient(102deg,transparent 48%,rgba(235,225,196,.08) 50%,transparent 52%)}
.window-art{position:absolute;inset:0;width:100%;height:100%}.moon-detail{transform-box:fill-box;transform-origin:center;transition:transform 1.1s cubic-bezier(.2,.75,.2,1)}.moon-halo{opacity:.6;transition:opacity .8s}.water-lines{stroke:#ddd4bc;stroke-width:2;opacity:.42}.moon-reflection{transition:opacity .8s}.still-life.awake .moon-detail{transform:translate(-15px,10px)}.still-life.awake .moon-halo{opacity:1}.still-life.awake .water-lines{animation:rippleWater 2.8s ease-in-out infinite alternate}.still-life.awake .moon-reflection{opacity:.32}
.still-life-art{position:absolute;right:-2%;bottom:-1%;width:48%;height:96%;overflow:visible}.twig{fill:none;stroke:#292e29;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.bird{position:static;width:auto;height:auto;background:none;border-radius:0;transform-box:fill-box;transform-origin:45% 90%;transition:transform .3s;outline:none}.bird .body,.bird .head,.bird .tail,.bird .wing{fill:#20241f;stroke:#151915;stroke-width:1.5}.bird .beak{fill:#191d19}.bird .eye{fill:#c6b895;stroke:#141714;stroke-width:1}.bird .feather,.bird .feet{fill:none;stroke:#454a43;stroke-width:2;stroke-linecap:round}.bird:hover{transform:rotate(-3deg) translateY(-3px)}.bird.flying{animation:svgFlyAway 1.5s cubic-bezier(.3,.08,.2,1) forwards}.glass-vase path,.glass-vase ellipse{stroke:#29312c;stroke-width:3;fill-opacity:.85}.glass-vase .shine{fill:none;stroke:#d4d4c6;stroke-width:4;opacity:.2;stroke-linecap:round}.window-bar{background:linear-gradient(90deg,#292e2a,#3b403a 48%,#272c28);box-shadow:2px 0 5px rgba(15,18,16,.4),inset 2px 0 rgba(180,173,151,.08)}
@keyframes rippleWater{to{transform:translateX(12px);opacity:.25}}@keyframes svgFlyAway{20%{transform:translate(-12px,-14px) rotate(-8deg)}to{transform:translate(-72vw,-58vh) rotate(-20deg) scale(.28);opacity:0}}

/* Proportions matched to the approved composition. */
.window{aspect-ratio:.82}.still-life-art{right:-1%;width:43%;height:98%}.wood-frame .wood-scratches{fill:none;stroke:#b1aa94;stroke-width:2;stroke-linecap:round;opacity:.18}.twig .trunk{stroke-width:4}.glass-vase{transform:translateY(1px)}
@media(max-width:540px){.window{width:66%;aspect-ratio:.82}.still-life-art{right:-1%;width:43%;height:96%}}

.window{overflow:visible;border:0;outline:0;background:transparent}.moon-glow{display:none}.window-sill{position:absolute;z-index:7;left:-4%;bottom:-5.2%;width:108%;height:5.5%;background:linear-gradient(180deg,#3d423c 0 30%,#2c312d 31% 77%,#454942 78%);box-shadow:0 6px 8px rgba(22,25,22,.3);filter:url("#paint-edge")}.glass-vase .stems{fill:none;stroke:#252c28;stroke-width:2;opacity:.65}.bird-position{transform-box:fill-box}.bird .feather{opacity:.62}

/* Layered procedural oil-paint surface; no raster texture is used. */
.oil-surface{position:absolute;z-index:0;inset:0;width:100%;height:100%;pointer-events:none;opacity:.58;mix-blend-mode:multiply}.oil-wall-base{fill:#7a827a}.oil-floor-base{fill:#545c56}.dry-brushes{fill:none;stroke:#d0c9b2;stroke-width:34;stroke-linecap:round;opacity:.055;filter:blur(8px)}.dry-brushes path:nth-child(2){stroke-width:21;opacity:.7}.dry-brushes path:nth-child(3){stroke:#313a34;stroke-width:28;opacity:.55}.dry-brushes path:nth-child(4){stroke-width:17}.floor-scuff{fill:none;stroke:#242b27;stroke-width:12;stroke-linecap:round;opacity:.11;filter:blur(6px)}
.hero-copy,.still-life,.scroll-cue{z-index:2}.observations{position:relative;isolation:isolate;background-color:var(--floor);background-image:radial-gradient(ellipse at 15% 24%,rgba(178,177,157,.055),transparent 34%),radial-gradient(ellipse at 78% 62%,rgba(24,30,26,.17),transparent 44%),linear-gradient(97deg,transparent 0 28%,rgba(201,195,174,.025) 47%,transparent 67%)}.observations:before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.2;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='o'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.018 .07' numOctaves='4' seed='17'/%3E%3CfeDiffuseLighting surfaceScale='2.2' diffuseConstant='.7' lighting-color='%23999b8e'%3E%3CfeDistantLight azimuth='220' elevation='50'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' fill='%23454b47' filter='url(%23o)'/%3E%3C/svg%3E")}.observations .section-heading,.observations .card-grid{position:relative;z-index:1}.quote-section{background-color:var(--paper);background-image:radial-gradient(ellipse at 24% 31%,rgba(85,85,73,.055),transparent 31%),radial-gradient(ellipse at 73% 66%,rgba(117,101,76,.07),transparent 38%),repeating-linear-gradient(94deg,transparent 0 37px,rgba(69,67,56,.018) 39px,transparent 44px)}.listening{background-color:#303531;background-image:radial-gradient(ellipse at 36% 38%,rgba(207,199,175,.045),transparent 35%),linear-gradient(102deg,rgba(22,27,23,.18),transparent 38% 72%,rgba(17,22,18,.18))}
@media(max-width:900px){.oil-surface{height:100%;opacity:.52}.oil-wall-base{height:780px}.oil-floor-base{y:780px;height:140px}}

:root{--serif:"STZhongsong","华文中宋","Songti SC",STSong,"Source Han Serif SC","Noto Serif CJK SC",SimSun,serif;--body-serif:FangSong,"仿宋","Songti SC",STSong,SimSun,serif;--latin-serif:Georgia,"Times New Roman",serif;--sans:"Microsoft YaHei UI","PingFang SC",sans-serif}
.brand strong,.hero h1,.hero-intro,.hero-actions button,.site-nav a{font-family:var(--serif)}.brand small{font-family:var(--body-serif)}.eyebrow{font-family:var(--latin-serif);font-weight:400}
@media(min-width:901px){
  .site-header{padding:4.8vh 2.05% 0}.brand{gap:28px}.brand-mark{height:86px}.brand strong{margin-top:-7px;font-size:clamp(28px,2vw,36px);letter-spacing:.18em}.brand small{margin-top:13px;font-size:clamp(14px,1.08vw,19px);letter-spacing:.13em}.site-nav{padding-top:9px;gap:clamp(27px,2.5vw,45px)}.site-nav a{font-size:clamp(16px,1.22vw,21px);letter-spacing:.1em}
  .hero{height:100svh;min-height:700px;max-height:none;padding:0;display:block;background:linear-gradient(180deg,var(--wall) 0 90.8%,var(--floor) 90.8%)}.hero:after{top:90.8%}.hero-copy{position:absolute;left:5%;top:37%;width:47%;max-width:none}.eyebrow{margin:0 0 4.5vh;font-size:clamp(12px,1vw,17px);letter-spacing:.42em}.hero h1{white-space:nowrap;font-size:clamp(58px,4.25vw,78px);line-height:1.12;letter-spacing:.045em}.hero-intro{margin:4.2vh 0 6.6vh;font-size:clamp(19px,1.45vw,27px);letter-spacing:.07em}.hero-actions{gap:27px}.button{width:15.5vw;max-width:280px;min-width:190px;height:clamp(60px,9.8vh,76px);font-size:clamp(19px,1.45vw,25px)}
  .still-life{position:absolute;left:56.7%;top:20.2%;width:36.5%;height:78%;min-height:0;align-self:auto}.window{left:0;top:0;width:63%;max-width:none}.still-life-art{right:-1%;bottom:-1%;width:43%;height:96%}.window-message{right:4%;bottom:1.5%}.scroll-cue{display:none}
}
@media(min-width:901px){.site-header{padding-top:6.05vh}.brand strong{margin-top:0}}
@font-face{font-family:"Xyan Serif";src:local("Noto Serif SC");font-style:normal;font-weight:100 900;font-display:swap}
:root{--serif:"Xyan Serif","Noto Serif SC","Source Han Serif SC","Songti SC",STSong,SimSun,serif;--body-serif:"Xyan Serif","Noto Serif SC","Songti SC",STSong,SimSun,serif}

/* Supplied scene vectors: keep every asset at its native aspect ratio. */
.still-life{isolation:isolate;transition:transform .18s ease-out}
.window{left:0;top:0;width:63%;aspect-ratio:1;padding:0;border:0;outline:0;background:transparent;overflow:visible;box-shadow:none;transition:transform .7s cubic-bezier(.2,.75,.2,1)}
.window:before,.window:after{display:none}
.window:hover{transform:translateY(-4px) rotateX(1deg)}
.window-vector,.moon-vector,.branch-vector,.bird-vector{display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.window-vector{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 8px rgba(24,28,25,.23))}
.moon-vector{position:absolute;z-index:3;left:39.5%;top:9.4%;width:8.7%;height:auto;transform-origin:center;filter:drop-shadow(0 0 17px rgba(222,211,180,.2));transition:transform 1.1s cubic-bezier(.2,.75,.2,1),filter .8s}
.branch-scene{position:absolute;z-index:4;right:-1.8%;bottom:-.5%;width:65.34%;height:98%;pointer-events:none}
.branch-vector{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(2px 3px 2px rgba(23,27,24,.18))}
.bird-button{position:absolute;z-index:2;left:51.5%;top:29.2%;width:26.8%;aspect-ratio:1;padding:0;border:0;background:transparent;transform-origin:38% 82%;transition:transform .3s;cursor:pointer;pointer-events:auto}
.bird-vector{width:100%;height:100%;object-fit:contain;filter:drop-shadow(1px 2px 1px rgba(17,20,17,.28))}
.bird-button:hover{transform:rotate(-3deg) translateY(-3px)}
.bird-button:focus-visible{outline:1px solid rgba(216,208,190,.72);outline-offset:3px}
.still-life.awake .moon-vector{transform:translate(-16px,10px);filter:drop-shadow(0 0 28px rgba(226,215,183,.34))}
.bird-button.flying{animation:assetFlyAway 1.5s cubic-bezier(.3,.08,.2,1) forwards}
@keyframes assetFlyAway{20%{transform:translate(-12px,-14px) rotate(-8deg)}to{transform:translate(-72vw,-58vh) rotate(-20deg) scale(.28);opacity:0}}

@media(max-width:900px){
  .window{left:1%;width:64%}
  .moon-vector{left:41%;top:9.5%;width:9%}
  .branch-scene{right:-1%;width:64%;height:96%}
}
@media(max-width:540px){
  .window{left:0;width:66%;aspect-ratio:1}
  .moon-vector{left:41.5%;top:10%;width:9.5%}
  .branch-scene{right:-3%;width:62.67%;height:94%}
}
.hero h1{font-weight:500;font-synthesis:none}.brand strong{font-weight:500;font-synthesis:none}.hero-intro,.brand small{font-weight:400;font-synthesis:none}
.note-card .card-link{align-self:flex-start;border-bottom:1px solid currentColor;padding:0 0 5px;font-size:13px}.note-card .card-link span{display:inline-block;margin-left:8px;transition:transform .3s}.note-card .card-link:hover span{transform:translateX(6px)}

/* Motion upgrades — 01 breathing wall / 02 scroll hairline / 03 quote developing / 04 fireflies / 05 audio-reactive equalizer / 06 drawer stagger / 07 cross-page transition */
.oil-wall-breathe{opacity:0;animation:wallBreathe 12s ease-in-out infinite}
@keyframes wallBreathe{0%,100%{opacity:0}50%{opacity:.85}}

.progress-rail{position:fixed;top:0;left:0;right:0;height:2px;background:rgba(216,208,190,.12);z-index:50;pointer-events:none}
.progress-rail i{display:block;height:100%;width:0%;background:var(--rust)}

.quote-section blockquote{display:block}
.dev-line{display:block;filter:blur(0);opacity:1;transition:filter 1s ease,opacity 1s ease}
.dev-line.developing{filter:blur(8px);opacity:0}

.observations,.listening{position:relative}
.firefly-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}
.observations>*:not(.firefly-canvas),.listening>*:not(.firefly-canvas){position:relative;z-index:1}

.listening.audio-reactive .equalizer i{animation:none}

.fact-list>div,.route>span,.tag-list>li{transition:opacity .5s ease,transform .5s ease}
.stagger-hidden{opacity:0;transform:translateY(10px)}

@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.75,.2,1)}
