/* ATELIER / 02 — physical objects, editorial spaces, light that belongs to its room. */
:root{--scene-ease:cubic-bezier(.19,1,.22,1);--scene-lime:#c8fa78;--scene-lilac:#bfa4ff;--scene-blue:#a2def2;--scene-pink:#ef9eca}
body{background-image:radial-gradient(ellipse 90% 650px at 84% 0,#a58ceb10,transparent 80%),radial-gradient(ellipse 60% 900px at 0 40%,#acf09b05,transparent 80%)}
.site-header::after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:linear-gradient(90deg,#c8fa7800,#c8fa7838 20%,#abcef31f 55%,#ca9bf82b 85%,#c8fa7800);pointer-events:none}
.site-header .brand-mark{border-radius:11px 11px 11px 3px;box-shadow:inset 0 1px 0 #fff9,inset 0 -5px 9px #31560625,0 0 23px #c3ff5122}
.site-header .page-nav{box-shadow:inset 0 1px 0 #edffef05,0 6px 25px #0002}
.site-header .page-nav .nav-link[aria-current=page]{box-shadow:inset 0 1px 0 #ebffc324,inset 0 -1px 0 #c4fb611e,0 2px 8px #0004}
.scene-contours{position:absolute;pointer-events:none;z-index:-1;right:-3%;top:0;width:65%;height:100%;color:#b5a3e6;opacity:.085;mask-image:linear-gradient(90deg,transparent,#000 60%);overflow:hidden}
.scene-contours svg{width:100%;height:100%;stroke-width:.6;transform:translateY(calc(var(--scene-progress,0)*32px)) rotate(-4deg);transition:transform .18s linear}
:is(.gallery-header,.posts-heading,.school-header,.now-header,.game-intro-grid,.usage-hero){position:relative;isolation:isolate}
.gallery-header,.posts-heading,.school-header{padding-block:65px 48px}
.gallery-header h1,.posts-heading h1,.school-header h1{font-weight:600;letter-spacing:-.075em;text-shadow:0 2px 0 #f1ffe712,0 14px 45px #0004}
.gallery-header h1>span,.posts-heading h1>span,.school-header h1>span{display:inline-block;color:var(--scene-lime);text-shadow:0 0 45px #c8fa7824}
.gallery-title-row,.posts-heading-line,.school-title-row{position:relative}
.gallery-kicker,.posts-kicker,.school-kicker{letter-spacing:1.8px;font-size:9px}
.collection-mark{width:180px;height:180px;flex-shrink:0}
.collection-mark>img{mix-blend-mode:screen;filter:drop-shadow(0 14px 16px #bfa4ff2b);transform:rotate(6deg);border-radius:50%}
.collection-mark::after{content:'';position:absolute;inset:8px;border:1px dashed #d9c4ff3b;border-radius:50%;animation:scene-orbit 50s linear infinite}
.collection-mark>.mono{z-index:2;bottom:4%;background:#c1a6fa;color:#20202b;transform:rotate(-9deg);padding:9px 13px;box-shadow:4px 6px 0 #0b0e12}
.collection-navigation{gap:9px;padding:0;background:none;border:0;border-radius:0;margin:36px 0 27px}
.collection-navigation>a{min-height:123px;position:relative;display:grid;grid-template-columns:1fr auto;align-content:end;gap:11px;padding:20px 23px;border:1px solid #c4dbc127;border-radius:12px;background:linear-gradient(130deg,#202821,#141b18);overflow:hidden;isolation:isolate;transition:translate .6s var(--scene-ease),border-color .4s,box-shadow .4s}
.collection-navigation>a>span{font-size:14px;font-weight:500;position:relative;z-index:1;max-width:68%}
.collection-navigation>a>small{grid-column:1/-1;font-size:9px;letter-spacing:1px;opacity:.6}
.collection-navigation>a[aria-current=page]{background:linear-gradient(125deg,#e3eecb,#c6dc9b);color:#283d23;border-color:#e6f5c8;box-shadow:inset 0 1px 0 #fff9,0 8px 25px #a9da6508}
.collection-navigation>a:hover{translate:0 -4px;box-shadow:0 12px 25px #0003;border-color:#d0ecc45e}
.collection-navigation>a[data-room=forest]:not([aria-current=page]){background:linear-gradient(135deg,#203d32,#14291f);color:#d5e6c6}
.collection-navigation>a[data-room=glass]:not([aria-current=page]){background:linear-gradient(130deg,#292437,#172030);color:#ddd5ed}
.room-token{position:absolute;right:20px;top:19px;width:64px;height:70px;perspective:400px;pointer-events:none;transform:rotate(13deg);opacity:.85;transition:transform .8s var(--scene-ease)}
.collection-navigation>a:hover .room-token{transform:rotate(-5deg) translateY(-3px)}
[data-room=studio] .room-token i{position:absolute;inset:10px 0 2px 13px;border:1px solid #bdc99f;background:linear-gradient(120deg,#f3f7dc,#c4d4a5);box-shadow:0 5px 7px #28362230;transform:rotate(-16deg)}
[data-room=studio] .room-token i:nth-child(2){transform:rotate(0deg);inset:7px 4px 5px 9px;background:linear-gradient(125deg,#bdb0e2,#cfebdb)}
[data-room=studio] .room-token i:nth-child(3){transform:rotate(16deg);inset:4px 9px 8px 4px;background:repeating-linear-gradient(0deg,#fbf2d7 0 8px,#29392622 8px 9px);border-color:#fff8}
[data-room=forest] .room-token{transform:rotate(-10deg)}
[data-room=forest] .room-token i{position:absolute;left:25px;top:2px;width:26px;height:54px;border-radius:100% 0 100% 0;background:linear-gradient(135deg,#deefb0,#779377);border:1px solid #edffdc55;transform:rotate(35deg);box-shadow:4px 4px 10px #0002}
[data-room=forest] .room-token i:nth-child(2){left:4px;top:19px;transform:rotate(-70deg);width:24px;height:45px;background:linear-gradient(140deg,#9aaa66,#4b7550)}
[data-room=forest] .room-token i:nth-child(3){left:28px;top:35px;transform:rotate(30deg);width:19px;height:33px;background:#a3bf8b}
[data-room=glass] .room-token{transform:rotate(-12deg) rotateY(-20deg);transform-style:preserve-3d}
[data-room=glass] .room-token i,[data-room=glass] .room-token b{position:absolute;inset:12px 5px;background:linear-gradient(145deg,#b3daff50,#ad97f415 60%,#ecb8dd50);border:1px solid #bed9fba6;border-radius:4px;box-shadow:inset 0 1px 5px #fff3,4px 8px 16px #0004;transform:translateZ(12px)}
[data-room=glass] .room-token b{inset:4px 13px 20px -3px;transform:translateZ(-12px);opacity:.45}
.school-portal{border-radius:12px;background:linear-gradient(105deg,#233d2d,#16271e 65%,#2b3320);position:relative;overflow:hidden}
.school-portal::after{content:'';position:absolute;right:8%;width:230px;height:230px;top:-110px;border:1px solid #bfe2a222;box-shadow:0 0 0 25px #b4f59404,0 0 0 55px #b4f59403;border-radius:50%;pointer-events:none}
.scene-index{display:flex;align-items:stretch;border:1px solid #c6dfc124;background:#131d17e8;backdrop-filter:blur(18px);border-radius:10px;overflow:hidden;margin:22px 0 32px;isolation:isolate}
.scene-index>a{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:17px 12px;font:10px/1.4 var(--mono);letter-spacing:.4px;color:#b0c0ae;transition:background .3s,color .3s;position:relative}
.scene-index>a+a{border-left:1px solid #c6dfc118}.scene-index>a>small{font-size:8px;opacity:.5}.scene-index>a>b{font-weight:400;opacity:.45;margin-left:auto}.scene-index>a>i{width:6px;height:6px;background:var(--index-ink,#c1eda0);border-radius:50%;box-shadow:0 0 10px color-mix(in srgb,var(--index-ink,#c1eda0),transparent 60%)}
.scene-index>a:hover,.scene-index>a[aria-current=location]{background:#c5f4a60b;color:#e3f2db}.scene-index>a[aria-current=location]::after{content:'';height:2px;position:absolute;bottom:0;left:16px;right:16px;background:var(--index-ink,#c9eea6)}
[data-index-theme=festival]{--index-ink:#efa4cf}[data-index-theme=axiom]{--index-ink:#9dc8fa}[data-index-theme=folio]{--index-ink:#d4a177}[data-index-theme=court]{--index-ink:#75e7be}
.scene-index--works{position:sticky;top:89px;z-index:30;margin-top:0;box-shadow:0 8px 25px #0002}
.scene-index--profile{margin:22px 0 0;background:transparent;border-color:#c6dfc11b}.scene-index--profile>a{justify-content:flex-start;padding:19px 21px}.scene-index--profile>a>small{color:#b9a0e6}

/* A tangible iridescent sculpture in the identity window. */
.profile-hero{min-height:740px;padding:95px 0 88px;gap:clamp(40px,6vw,94px);grid-template-columns:1.13fr 1fr}
.profile-hero::before{inset:-5% -8% -2% 0;background:radial-gradient(ellipse at 80% 35%,#9b73cd17,transparent 45%),radial-gradient(ellipse at 68% 72%,#92e6cf0c,transparent 48%);mask-image:linear-gradient(90deg,transparent,#000 40%)}
.profile-hero>.scene-contours{width:90%;height:95%;right:-12%;opacity:.13;mask-image:linear-gradient(90deg,transparent 10%,#000 60%)}
.profile-hero h1{font-size:clamp(86px,9.9vw,145px);letter-spacing:-.075em;margin-block:27px 28px}
.profile-hero h1>.profile-name{background-image:linear-gradient(115deg,#ecffd1,#c2f671 45%,#a0d765 75%,#e1ffb9);filter:drop-shadow(0 12px 25px #a1ea4909)}
.profile-hero h1>.profile-greeting{font-size:.39em;font-weight:450;letter-spacing:-.055em}
html:lang(zh-CN) .profile-hero h1>.profile-greeting{font-size:.35em;line-height:1.9}
.profile-headline{font-size:21px;letter-spacing:-.4px}.profile-headline .profile-spark{color:#bfa4ff}
.profile-hero-description{max-width:380px;font-size:15px;line-height:2.1}
.identity-wrap{width:100%;max-width:460px;position:relative;isolation:isolate;padding:0 4px}
.identity-wrap::before{content:'';position:absolute;inset:12% -9% -2%;border-radius:50%;background:radial-gradient(ellipse,#bc9ce516,transparent 65%);filter:blur(15px);z-index:-2}
.identity-wrap::after{content:'';position:absolute;left:-15px;right:14px;top:16px;bottom:57px;border-radius:23px;border:1px solid #c4b6ef20;background:linear-gradient(140deg,#9380ba08,#c9f68704);transform:rotate(-4deg);z-index:-1;box-shadow:0 26px 50px #0003}
.identity-card{transform:rotate(4deg);border-radius:21px;border-color:#d9c7ff45;box-shadow:0 25px 60px #0006,inset 0 1px 0 #fff2}
.identity-wrap:hover .identity-card{transform:rotate(1deg) perspective(1000px) rotateY(calc(var(--scene-x,0)*7deg)) rotateX(calc(var(--scene-y,0)*-5deg)) translateY(-5px)}
.identity-art--sculpture{background:radial-gradient(ellipse at 45% 45%,#393449,#23232f 60%,#1b2829);padding:22px 25px 17px;animation:none;color:#c9c2de;min-height:345px}
.identity-art--sculpture::before{width:260px;height:260px;border-color:#dbc2ff23;box-shadow:0 0 0 24px #dcc6ff03,0 0 0 25px #c3a9e211,0 0 0 48px #c3a9e206;transform:rotateX(35deg) rotate(-30deg);top:50%;z-index:0}
.identity-art--sculpture::after{background:linear-gradient(120deg,transparent,#edddff12 45%,transparent 65%);mix-blend-mode:screen;z-index:1;pointer-events:none}
.identity-art--sculpture .identity-top{position:relative;z-index:2;border-color:#c7afd329;color:#d5c8e5;font-size:8px;letter-spacing:1.7px}
.identity-art--sculpture .monogram{position:absolute;font-size:170px;top:75px;left:50%;translate:-50% 0;opacity:.065;transform:rotate(-8deg);color:#e8e2ff;text-shadow:none;pointer-events:none}
.identity-art--sculpture .monogram>span{display:none}
.identity-art--sculpture .identity-art-footer{position:relative;z-index:2;font-size:8px;letter-spacing:.9px;color:#d1c7de}
.atelier-sculpture{position:relative;height:277px;margin:-8px -25px -6px;isolation:isolate}
.atelier-sculpture canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;transition:opacity 1s}
.atelier-sculpture.is-rendered canvas{opacity:1}
.sculpture-fallback{position:absolute;inset:0;display:grid;place-items:center;font:180px var(--display);color:#c3b0ea;filter:drop-shadow(8px 10px 0 #b1e69633);transition:opacity .6s}
.atelier-sculpture.is-rendered .sculpture-fallback{opacity:0}
.sculpture-coordinate,.sculpture-material{position:absolute;top:45%;z-index:2;writing-mode:vertical-rl;font:7px var(--mono);letter-spacing:1.7px;opacity:.45}.sculpture-coordinate{left:17px}.sculpture-material{right:17px;rotate:180deg}
.identity-details{padding:25px 26px 22px;background:radial-gradient(ellipse at 100% 0,#b49cf016,transparent 75%),#151c19;border-top:1px solid #d4dcb023}
.identity-floating{z-index:4;box-shadow:3px 4px 0 #0004,0 5px 12px #0003;padding:11px 17px;left:-15px}
.identity-signature{padding-top:15px}.identity-fields{margin:21px 0}.identity-caption{font-size:9px;line-height:1.8;max-width:90%;margin-inline:auto;text-align:center}
.profile-intro,.personal-section{padding-top:90px}
.personal-section-heading,.profile-section-heading{position:relative;padding-bottom:22px;border-bottom:1px solid #c5dcc51b;margin-bottom:32px}
.personal-section-heading::after,.profile-section-heading::after{content:'+';position:absolute;right:0;bottom:-6px;font:12px var(--mono);color:#b6a2d780;background:var(--atelier-bg);padding-left:10px}
.readme-panel{background:radial-gradient(ellipse at 0 0,#bbdcbb09,transparent 60%),#17201a;box-shadow:0 28px 55px #0002,inset 0 1px 0 #d2e9c510}
.readme-toolbar{background:linear-gradient(90deg,#c0e4b707,transparent)}
.curiosity-panel{background:linear-gradient(155deg,#262033,#15171d);box-shadow:inset 0 0 50px #b896e008,0 22px 40px #0003}
.curiosity-art{filter:drop-shadow(0 20px 22px #cfb9ff23);mix-blend-mode:screen}
.curiosity-copy{background:linear-gradient(0deg,#171820,#171820d9 50%,transparent);z-index:2}
.sport-card{border-radius:13px;position:relative;box-shadow:0 24px 45px #0004,inset 0 0 0 1px #fff05;overflow:hidden}
.sport-visual{height:540px;perspective:800px}
.sport-photo{transform:scale(1.025);object-position:center 25%;filter:saturate(.7) contrast(1.09)}
.sport-overlay{background:linear-gradient(0deg,#071629 0%,#07162966 25%,transparent 70%),linear-gradient(100deg,#12497522,transparent 60%)}
.leclerc-card .sport-overlay{background:linear-gradient(0deg,#290e18 0%,#290e1855 27%,transparent 70%),linear-gradient(100deg,#6c153922,transparent 60%)}
.sport-caption>strong{font-weight:650;font-size:clamp(60px,6vw,83px);text-shadow:0 10px 22px #0003;line-height:.94}
.sport-favourite{margin-bottom:21px}.sport-caption>strong>span{color:#c2e5f7}.leclerc-card .sport-caption>strong>span{color:#ffb8ba}
.sport-visual::after{inset:13px;border-color:#ffffff2b}.jersey-number{font-size:210px;opacity:.33;color:transparent;-webkit-text-stroke:1px #fff8;right:15px;top:45px;letter-spacing:-12px}
.sport-copy{position:relative;padding:29px 31px 33px;background:linear-gradient(130deg,#132433,#12191f)}
.leclerc-card .sport-copy{background:linear-gradient(130deg,#301b24,#201419)}
.sport-copy::before{content:'';position:absolute;left:31px;top:0;width:48px;height:2px;background:#97d4f0;box-shadow:0 0 19px #97d4f04d}.leclerc-card .sport-copy::before{background:#ef9da6;box-shadow:0 0 19px #ef9da64d}
.interest-card{border-radius:10px}.art-interest{background:radial-gradient(ellipse at 100% 0,#eac8f111,transparent 70%),#211c23}.life-interest{background:radial-gradient(ellipse at 0 0,#f3d4810d,transparent 70%),#25221b}
.ink-word{font-size:107px;letter-spacing:-8px;font-weight:400;transform:rotate(-7deg);color:#cdb4d0;filter:drop-shadow(5px 7px 0 #cdb4d00b)}
.life-word{color:#d8c687;letter-spacing:-3px}.life-word>span{font-style:italic;color:#f6e7bf}.life-word>b{color:#ddad72}
.device-card{box-shadow:inset 0 1px 0 #e6f2cf10,0 14px 30px #0002;background-image:radial-gradient(ellipse at 90% 0,#b4d9ff0a,transparent 65%)}
.main-device{border-color:#bd9eeb46;background-image:radial-gradient(ellipse at 0 0,#b6a0fa16,transparent 65%)}
.device-card .device-model-symbol{filter:drop-shadow(0 12px 20px #ffffff0a)}
.journey-stops li{background:linear-gradient(135deg,#202722,#151e19);box-shadow:inset 0 1px 0 #e6f2cf0a}
.contact-row{transition:padding .5s var(--scene-ease),background .4s}.contact-row:hover{padding-left:15px;padding-right:15px;background:linear-gradient(90deg,#bba3ed0c,transparent)}

/* Four projects: the lighting changes with the material, never the other way round. */
.exhibition-grid{row-gap:70px;column-gap:28px}.exhibit{position:relative;scroll-margin-top:170px;transition:box-shadow .8s var(--scene-ease),border-color .5s}
.exhibit--folio{box-shadow:0 20px 50px #0005,0 2px 0 #e7dbc499;outline:1px solid #e8dbbc30;outline-offset:5px}
.folio-stage{perspective:1000px;background-image:radial-gradient(ellipse at 70% 30%,#fff8,transparent 60%),repeating-linear-gradient(0deg,transparent 0 4px,#71493602 4px 5px)}
.folio-stage::before{box-shadow:-8px 9px 0 #eee4d0,-9px 10px 0 #bbaa865c,-16px 18px 0 #ded0b6;transition:transform 1s var(--scene-ease)}
.exhibit--folio:hover .folio-stage::before{transform:rotate(-5deg) translateY(-6px)}
.folio-window{box-shadow:0 20px 35px #5f463329,-3px 3px 0 #f8efdd;rotate:calc(var(--scene-x,0)*1.5deg);translate:0 calc(var(--scene-progress,0)*-11px);transition:rotate .6s,translate .2s linear,box-shadow .7s;transform-origin:center 75%}
.folio-window::after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,transparent 25%,#fff4 43%,transparent 55%);background-size:260% 100%;pointer-events:none;animation:scene-foil 16s ease-in-out infinite}
.folio-margin-note{rotate:-5deg;box-shadow:0 4px 0 #a08b6812;transition:rotate .7s,translate .7s}.exhibit--folio:hover .folio-margin-note{rotate:-8deg;translate:-3px -4px}
.folio-wordmark{letter-spacing:-7px;text-shadow:0 1px 0 #fff8}.folio-masthead,.folio-index{background-image:linear-gradient(90deg,#c5ab790c,transparent 50%)}
.folio-history[open] .folio-chapter{animation:scene-unfold .7s var(--scene-ease) both}.folio-history[open] .folio-chapter:nth-child(2){animation-delay:.1s}
.exhibit--axiom{box-shadow:0 20px 50px #0004,0 0 40px #c3e86705;outline:1px solid #bcdaa221;outline-offset:5px}
.axiom-stage{perspective:1100px;background-image:radial-gradient(ellipse at 50% 0,#e0f7af24,transparent 60%)}
.axiom-figure{box-shadow:7px 9px 0 #a8c84622,0 18px 35px #2c45151c;rotate:calc(var(--scene-x,0)*-2deg);translate:0 calc(var(--scene-progress,0)*-12px);transition:rotate .6s,translate .2s linear;position:relative;overflow:hidden}
.axiom-figure::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,#fff4 50%,transparent 65%);background-size:280% 100%;animation:scene-foil 14s ease-in-out infinite}
.axiom-fit{filter:drop-shadow(0 0 5px #3467c844)}.axiom-observations circle{transition:r .3s,fill .3s}.exhibit--axiom:hover .axiom-observations circle{r:5}
.axiom-app-window{translate:calc(var(--scene-x,0)*-10px) calc(var(--scene-progress,0)*7px);transition:translate .4s var(--scene-ease);box-shadow:0 16px 30px #12315130}
.axiom-stats,.festival-stats{background-image:linear-gradient(100deg,#ffffff12,transparent)}
.exhibit--festival{box-shadow:0 20px 50px #0005,5px 5px 0 #a6c7e52b;outline:1px solid #d3eabd30;outline-offset:5px}
.festival-stage{perspective:1100px;background-image:radial-gradient(ellipse at 70% 10%,#f5fff588,transparent 60%),radial-gradient(#40503216 .8px,transparent .8px);background-size:auto,9px 9px}
.festival-ticket-wrap{rotate:calc(var(--scene-x,0)*2.5deg);translate:0 calc(var(--scene-progress,0)*-13px);transition:rotate .65s,translate .2s linear;filter:drop-shadow(0 15px 14px #25403419)}
.festival-ticket{box-shadow:5px 7px 0 #b1c3a44d,11px 14px 0 #283c1720,0 23px 25px #24492116;background-image:linear-gradient(110deg,transparent,#fff5 50%,transparent);position:relative;overflow:hidden}
.festival-ticket::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 28%,#fff6 43%,transparent 57%);background-size:300% 100%;animation:scene-foil 11s ease-in-out infinite;pointer-events:none}
.festival-pink-label{box-shadow:4px 5px 0 #75476217;transform:rotate(10deg);transition:transform .65s}.exhibit--festival:hover .festival-pink-label{transform:rotate(5deg) translateY(-5px)}
.festival-orbit{box-shadow:0 0 0 19px #a8cce816,0 0 0 20px #abc8dc3a,0 0 0 43px #aacbdd0a}
.festival-garage-seal{box-shadow:5px 8px 0 #34516a26,0 12px 20px #234b6317;animation:scene-ticket 9s ease-in-out infinite}
.festival-weather{box-shadow:0 10px 20px #37572a13;border-color:#aac18d88}.festival-season-controls button{transition:translate .45s var(--scene-ease),box-shadow .4s,background .4s}.festival-season-controls button:hover{translate:0 -4px;box-shadow:0 5px 0 #223b2219}
.festival-history[open] .festival-chapter{animation:scene-unfold .7s var(--scene-ease) both}.festival-history[open] .festival-chapter:nth-child(2){animation-delay:.1s}
.exhibit--court{box-shadow:0 20px 50px #0006,0 0 40px #8febcf08;outline:1px solid #abf5d121;outline-offset:5px}
.exhibit--court .exhibit-preview{background-image:radial-gradient(ellipse at 0 80%,#51bbac19,transparent 70%),linear-gradient(160deg,#142b27,#071315 80%)}
.court-shot{box-shadow:0 0 0 1px #a9e4d53d,0 22px 40px #0007;rotate:calc(var(--scene-x,0)*1.4deg);translate:0 calc(var(--scene-progress,0)*-13px);transition:rotate .5s,translate .2s linear}
.court-shot::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#93ffce16 45%,transparent 60%);pointer-events:none;background-size:240% 100%;animation:scene-foil 12s ease-in-out infinite}
.court-type{filter:drop-shadow(0 10px 15px #0004)}.court-type>span{-webkit-text-stroke:1px #c6f6d782;color:transparent}.court-release{border-color:#b4f0ce63;box-shadow:5px 5px 0 #0003}
.court-launch{background:linear-gradient(90deg,#132d28,#12201e);border-top-color:#a9e5d137}
.exhibition-dialog[open],.wis-dialog[open]{animation:scene-dialog .55s var(--scene-ease) both;box-shadow:0 35px 140px #000b}
.exhibition-dialog[open]::backdrop,.wis-dialog[open]::backdrop{animation:scene-backdrop .45s both;background:#040b08bf;backdrop-filter:blur(15px) saturate(.55)}
.dialog-close{box-shadow:0 5px 18px #0002;transition:rotate .4s,scale .4s}.dialog-close:hover{rotate:90deg;scale:1.05}

/* Woodland light, still distinct from the digital frame. */
.school-header>.scene-contours{color:#bddd99;opacity:.09}.wis-cover{isolation:isolate;box-shadow:inset 0 0 80px #05180f5e;overflow:hidden}
.wis-cover::after{content:'';position:absolute;inset:-25%;z-index:1;background:repeating-conic-gradient(from 15deg at 75% -5%,transparent 0deg 11deg,#f4ffcb10 13deg 17deg,transparent 20deg 29deg);transform-origin:75% 0;mix-blend-mode:screen;pointer-events:none;animation:scene-canopy 19s ease-in-out infinite alternate;mask-image:linear-gradient(#000,transparent 80%)}
.wis-fieldbook{box-shadow:7px 8px 0 #dedecd,8px 9px 0 #79866b30,0 20px 30px #263b1d12;transform:rotate(1deg);transition:transform .8s var(--scene-ease)}
.wis-fieldbook:hover{transform:rotate(0deg) translateY(-3px)}
.wis-window-bar{background-image:linear-gradient(90deg,#d7e3cc,transparent)}.wis-screenshot{box-shadow:0 17px 40px #20362120;transition:translate .6s}.wis-screenshot:hover{translate:0 -4px}
.wis-observations>div{position:relative;border-top:1px solid #80956e40;background:linear-gradient(140deg,#edf0dd70,transparent);padding-top:26px}
.wis-observations>div::after{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:#678a53;box-shadow:0 0 0 5px #86ad6715}
.models-header{box-shadow:0 18px 45px #0004}.pop-print{box-shadow:12px 13px 0 #1b173b,17px 18px 0 #f175b760}
.model-work-header{position:relative}.model-work-header::after{content:'';position:absolute;left:0;bottom:-1px;width:65px;height:3px;background:var(--pop-pink,#ef77b7);box-shadow:0 0 20px #ee70ae26}
.model-exhibit{box-shadow:9px 10px 0 #271e40,11px 12px 0 #ceb1ea22,0 25px 50px #0004}.model-stage{background-image:radial-gradient(ellipse at 50% 35%,#b6b3ff24,transparent 70%)}
.model-stage::after{content:'';position:absolute;inset:12px;border:1px solid #ffffff2b;border-radius:3px;pointer-events:none;z-index:4;background:linear-gradient(120deg,transparent 40%,#ffffff04 50%,transparent 60%)}
.model-controls{box-shadow:0 10px 24px #0004,inset 0 1px 0 #fff3;backdrop-filter:blur(18px)}
.model-work--curry .model-exhibit{box-shadow:9px 10px 0 #50362f,11px 12px 0 #edb0882e,0 25px 50px #0004}

/* The journal: light changes; chronological order and readable text stay stable. */
.posts-heading .scene-contours{color:#dbb5e6;right:6%;opacity:.1}
.posts-mark{background:linear-gradient(130deg,#d7c3ef12,#b7d9cb03);box-shadow:0 15px 40px #0002;rotate:-5deg;border-radius:4px}
.posts-chronological{gap:28px}.post-index-date{display:flex;align-items:center;gap:17px;padding-top:21px;color:#b9c6b4}
.post-index-date::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,#c2d4b630,transparent)}
.post-index-date>b{border-radius:3px;padding:6px 9px;background:#c7ed9112;border:1px solid #c7ed9130;color:#c7ed91;letter-spacing:1.2px;font-size:8px}
.posts-chronological .post-card{border-radius:12px;overflow:hidden;box-shadow:0 18px 40px #0003;transition:translate .65s var(--scene-ease),box-shadow .6s,border-color .4s}
.posts-chronological .post-card:hover{translate:0 -5px;box-shadow:0 26px 50px #0005}
.posts-chronological .post-card-copy{padding:34px 36px}.posts-chronological .post-card h2{font-size:29px;line-height:1.55;letter-spacing:-.75px;margin-block:25px 16px;font-weight:500}
.post-card p{line-height:1.95;max-width:490px}.post-card-meta>span:last-child{border:1px solid currentColor;padding:6px 9px;border-radius:2px;opacity:.45;font-size:9px}
.post-card-bottom{border-top-color:color-mix(in srgb,currentColor,transparent 85%);padding-top:24px}
.post-art{isolation:isolate;overflow:hidden}.post-art--paper .paper-print{box-shadow:7px 9px 0 #ebe3d2,8px 10px 0 #90795733,0 15px 30px #563d3920;translate:0 calc(var(--scene-progress,0)*-10px);transition:translate .2s linear}
.post-art--paper .paper-word{filter:drop-shadow(0 4px 0 #fff5)}
.post-art--axiom .axiom-post-plate{box-shadow:5px 6px 0 #a1b96a40,0 16px 30px #314c2520;rotate:calc(var(--scene-x,0)*-2deg);transition:rotate .55s}
.post-art--festival .festival-post-ticket{filter:drop-shadow(0 18px 15px #263f2526);rotate:calc(var(--scene-x,0)*2deg);transition:rotate .55s}
.post-art--court::after{content:'';position:absolute;inset:11px;border:1px solid #91e4c248;box-shadow:inset 0 0 22px #69bca412;pointer-events:none;z-index:5}
.post-art--glass{box-shadow:inset 0 0 0 10px #24203318}.post-art--glass .pop-art-badge{box-shadow:4px 5px 0 #251d34;animation:scene-ticket 10s ease-in-out infinite}
.post-read b{display:inline-block;transition:translate .45s var(--scene-ease)}.post-card:hover .post-read b{translate:4px -4px}
.article-card{box-shadow:0 28px 90px #0005}.article-header{position:relative;padding-top:50px;padding-bottom:45px}
.article-meta{letter-spacing:1.4px}.article-header h1{font-size:clamp(32px,4.4vw,56px);line-height:1.5;font-weight:500;text-wrap:balance}
.article-art{position:relative;padding:14px;border-block:1px solid color-mix(in srgb,currentColor,transparent 85%)}
.article-art .post-art{min-height:480px;border-radius:3px}
.article-reading{padding-top:56px}.article-index a{transition:translate .4s,color .3s}.article-index a:hover{translate:3px 0}
.chapter-label{gap:17px;align-items:center}.chapter-label>span:first-child{display:grid;place-items:center;min-width:33px;height:33px;border:1px solid color-mix(in srgb,currentColor,transparent 70%);border-radius:50%;font-size:10px}
.article-chapter h2{margin-top:18px;margin-bottom:23px;letter-spacing:-.8px}
.article-body blockquote{position:relative;padding:27px 30px 28px 36px;border-left-width:2px;box-shadow:inset 0 1px 0 color-mix(in srgb,currentColor,transparent 95%);border-radius:0 7px 7px 0;font-weight:400}
.article-figure{margin-block:34px 40px}.article-figure>div{box-shadow:0 16px 26px #0002;border:1px solid color-mix(in srgb,currentColor,transparent 80%);padding:8px;border-radius:6px;background:color-mix(in srgb,currentColor,transparent 96%)}
.article-figure figcaption{font-size:11px;line-height:1.8;margin-top:16px;padding-left:15px;border-left:2px solid color-mix(in srgb,currentColor,transparent 65%)}
.more-notes>div{gap:16px}.next-note{border-radius:7px;transition:translate .5s var(--scene-ease),box-shadow .5s}.next-note:hover{translate:0 -4px;box-shadow:0 16px 30px #0003}

/* The timeline carries a quiet moving focus, and every window keeps its own world. */
.now-header{padding-block:70px 50px}.now-header h1{font-weight:600;font-size:clamp(100px,13vw,165px);letter-spacing:-.085em}.now-asterisk{color:#bfa4ff;text-shadow:3px 4px 0 #6c517f38}
.now-header>.scene-contours{right:3%;width:80%;color:#bce79f;opacity:.085}
.now-update{background:linear-gradient(140deg,#263421,#1b251b);box-shadow:6px 7px 0 #9aba6610,inset 0 1px 0 #dbebc417;transform:rotate(3deg);border:1px solid #d4e5ae38;border-radius:5px}
.timeline-list{position:relative}.timeline-entry{position:relative;margin-bottom:45px}.timeline-entry .entry-date{transition:opacity .7s,color .7s;opacity:.6}.timeline-entry.scene-in-view .entry-date{opacity:1}
.entry-day{font-weight:400;letter-spacing:-1.7px}.timeline-entry.scene-in-view .entry-day{color:#d4e8bd;text-shadow:0 0 24px #c6ed9820}
.milestone{box-shadow:0 14px 30px #0003;transition:box-shadow .65s var(--scene-ease)}.milestone:hover{box-shadow:0 23px 45px #0005}
.milestone::after{box-shadow:0 0 0 5px #b9e4920b,0 0 0 10px #b9e49204;transition:box-shadow .6s}.scene-in-view>.milestone::after{box-shadow:0 0 0 5px #b9e49213,0 0 0 10px #b9e49207}
.milestone-art{isolation:isolate;position:relative}.milestone-art::after{content:'';position:absolute;inset:9px;border:1px solid #fff2;pointer-events:none;z-index:6}
.milestone-art>img{translate:0 calc(var(--scene-progress,0)*-7px);transition:translate .2s linear}
.milestone--folio11 .milestone-art::after{border-color:#8b694b22}.milestone--models .milestone-art::after{border:2px solid #251d3540;inset:7px}
.milestone-link{transition:gap .4s}.milestone-link:hover{gap:17px}.milestone-tags li{box-shadow:inset 0 1px 0 #ffffff09}

/* A more dimensional game room and a precise data instrument. */
.game-pass{box-shadow:8px 9px 0 #485568,0 20px 40px #0005;rotate:-3deg;transition:rotate .7s,translate .7s}.game-pass:hover{rotate:0deg;translate:0 -4px}
.fh-exhibit{box-shadow:0 25px 50px #0005,5px 5px 0 #67c6e72b}.fh-image-stage{perspective:1000px}.fh-cover{translate:0 calc(var(--scene-progress,0)*-9px);transition:translate .2s linear}
.fh-souvenir{box-shadow:7px 8px 0 #335f6333,0 15px 25px #26524b24}.fh-stamp{filter:drop-shadow(4px 7px 0 #58692d22)}
.game-intermission{padding-block:47px}.game-intermission>b{filter:drop-shadow(0 0 14px #a9b9f02c)}
.usage-hero>.scene-contours{opacity:.07;color:#aedfaf}.pulse-object{filter:drop-shadow(0 17px 22px #a4e39317)}
.usage-metric{box-shadow:inset 0 1px 0 #dcffd30e,0 12px 25px #0002}.usage-panel{box-shadow:inset 0 1px 0 #dcffd309,0 15px 35px #0002}

/* A typographic closing installation, shared by every room. */
.atelier-finale{position:relative;isolation:isolate;margin-top:80px;padding:26px 0 30px;border-top:1px solid #c8dbc329;overflow:hidden}
.atelier-finale::before{content:'';position:absolute;width:400px;height:400px;right:-150px;top:0;border:1px solid #c1a4ea24;border-radius:50%;box-shadow:0 0 0 25px #bfa4ff05,0 0 0 26px #bfa4ff0c,0 0 0 65px #bfa4ff03;pointer-events:none;z-index:-1}
.finale-eyebrow,.finale-caption{display:flex;justify-content:space-between;gap:20px;font:9px/1.7 var(--mono);letter-spacing:1.1px;color:#a3b19d}.finale-eyebrow{margin-bottom:35px;color:#7d947e}
.finale-title{display:block;width:fit-content;max-width:100%;font:600 clamp(58px,9.3vw,132px)/.88 var(--display);letter-spacing:-.075em;color:#dce8d1}
.finale-title>span{display:block}.finale-title>span:first-child{color:transparent;-webkit-text-stroke:1px #b6c5ac75;display:flex;align-items:center;gap:28px}
.finale-title i{color:#bfa4ff;font-size:.75em;-webkit-text-stroke:0;font-style:normal;display:inline-block;animation:scene-orbit 35s linear infinite;transform-origin:center}
.finale-title>span:nth-child(2){margin-top:7px}.finale-title b{display:inline-block;font-size:.63em;color:#bcf276;vertical-align:top;margin:5px 0 0 28px;font-weight:400;transition:translate .7s var(--scene-ease),rotate .7s}
.finale-title:hover b{translate:10px -8px;rotate:6deg}.finale-period{color:#c4f68d}.finale-caption{margin-top:35px}.finale-caption>span:last-child{color:#bfa4e0}
.atelier-finale+.atelier-directory{margin-top:0}.atelier-directory>a{transition:background .4s}.atelier-directory>a:hover{background:linear-gradient(155deg,#c4dfba09,transparent)}
.atelier-directory>a>strong{transition:translate .55s var(--scene-ease)}.atelier-directory>a:hover>strong{translate:0 -3px}
.scene-composition:not(.scene-in-view) .festival-ticket::after,.scene-composition:not(.scene-in-view) .folio-window::after,.scene-composition:not(.scene-in-view) .axiom-figure::after,.scene-composition:not(.scene-in-view) .court-shot::after,.scene-composition:not(.scene-in-view) .festival-garage-seal,.scene-composition:not(.scene-in-view) .finale-title i{animation-play-state:paused}
@keyframes scene-orbit{to{transform:rotate(360deg)}}
@keyframes scene-foil{0%,20%{background-position:130% 50%}65%,100%{background-position:-70% 50%}}
@keyframes scene-ticket{0%,100%{rotate:-5deg;translate:0 0}50%{rotate:3deg;translate:0 -7px}}
@keyframes scene-canopy{from{transform:rotate(-3deg) translateX(-2%);opacity:.45}to{transform:rotate(5deg) translateX(3%);opacity:.85}}
@keyframes scene-unfold{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes scene-dialog{from{opacity:0;translate:0 22px;scale:.98}to{opacity:1;translate:0 0;scale:1}}
@keyframes scene-backdrop{from{opacity:0}to{opacity:1}}
@media(min-width:1450px){.site-shell,.game-page .site-shell{max-width:1320px}.profile-hero{min-height:810px}.identity-wrap{max-width:470px}.identity-art--sculpture{min-height:385px}.atelier-sculpture{height:318px}}
@media(max-width:1100px){.profile-hero{gap:40px;grid-template-columns:1.1fr 1fr;min-height:720px}.profile-hero h1{font-size:clamp(82px,10vw,115px)}.identity-wrap{max-width:390px}.identity-art--sculpture{min-height:310px}.atelier-sculpture{height:240px}.profile-headline{font-size:18px}.identity-fields>div{font-size:10px}.scene-index>a{font-size:9px;padding:16px 11px}.collection-navigation>a{padding:19px;min-height:118px}.room-token{right:12px;width:55px;opacity:.7}.collection-navigation>a>span{font-size:12px;max-width:73%}.posts-chronological .post-card-copy{padding:28px}.posts-chronological .post-card h2{font-size:25px}.sport-visual{height:490px}.finale-title{font-size:10.4vw}.scene-index--works{top:87px}}
@media(max-width:760px){
 .gallery-header,.posts-heading,.school-header{padding-block:40px 28px}.collection-mark{width:115px;height:115px}.collection-mark>.mono{font-size:6px;padding:7px 8px}.gallery-header>.scene-contours,.posts-heading>.scene-contours{width:100%;right:-18%;opacity:.07}
 .collection-navigation{gap:7px;margin-block:25px}.collection-navigation>a{padding:14px 12px;min-height:126px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:9px}.collection-navigation>a>span{font-size:11px;max-width:100%;line-height:1.4}.collection-navigation>a>small{font-size:7px}.room-token{height:44px;width:40px;top:10px;right:13px;scale:.7;transform-origin:top right;opacity:.85}
 .scene-index{border-radius:7px;margin-bottom:25px}.scene-index>a{font-size:8px;gap:7px;padding:14px 9px;letter-spacing:0}.scene-index>a>b{display:none}.scene-index>a>small{font-size:7px}.scene-index>a>i{width:4px;height:4px;flex-shrink:0}.scene-index--works{top:121px}.scene-index--profile>a{justify-content:center;padding:15px 7px}.scene-index--profile>a>small{display:none}
 .profile-hero{grid-template-columns:1fr;gap:60px;padding:51px 0 50px;min-height:0}.profile-hero h1{font-size:clamp(86px,16vw,125px);margin:20px 0 25px}.profile-hero h1>.profile-greeting{font-size:.4em}.profile-headline{font-size:21px}.profile-hero-description{font-size:15px;max-width:410px}.profile-hero>.scene-contours{height:58%;top:35%;width:130%;right:-17%;opacity:.11}
 .identity-wrap{max-width:405px;width:calc(100% - 25px);justify-self:center}.identity-card{border-radius:19px;transform:rotate(3deg)}.identity-art--sculpture{min-height:325px}.atelier-sculpture{height:257px}.identity-art--sculpture .monogram{font-size:160px}.identity-fields>div{font-size:11px}.identity-caption{margin-top:25px}.identity-wrap::after{left:-8px;bottom:50px}.identity-details{padding:25px}.identity-floating{left:-7px;font-size:9px}
 .profile-intro,.personal-section{padding-top:60px}.personal-section-heading,.profile-section-heading{padding-bottom:20px;margin-bottom:25px}.sport-visual{height:490px}.sport-caption>strong{font-size:65px}.sport-copy{padding:27px}.jersey-number{font-size:190px}.sport-copy::before{left:27px}.interest-card{padding:26px}
 .exhibition-grid{gap:43px}.exhibit{scroll-margin-top:180px}.folio-window,.axiom-figure,.festival-ticket-wrap,.court-shot{translate:none}.exhibit--folio,.exhibit--axiom,.exhibit--festival,.exhibit--court{outline-offset:3px}.festival-garage-seal{animation-duration:12s}.scene-index--works+ .exhibition-grid{margin-top:0}
 .posts-chronological .post-card-copy{padding:26px}.posts-chronological .post-card h2{font-size:23px;line-height:1.6;letter-spacing:-.6px;margin-block:20px 13px}.post-card-meta>span:last-child{font-size:7px;padding:5px}.post-card-bottom{gap:12px}.post-index-date{padding-top:14px}.article-header{padding:29px 25px 32px}.article-header h1{font-size:32px;line-height:1.55}.article-art{padding:8px}.article-art .post-art{min-height:350px}.article-reading{padding-top:32px}.article-body blockquote{padding:23px 25px;font-size:22px}.article-figure>div{padding:5px}.article-figure figcaption{font-size:10px}.chapter-label>span:first-child{width:29px;height:29px}
 .now-header{padding-block:42px 35px}.now-header h1{font-size:111px}.now-update{rotate:1deg}.timeline-entry{margin-bottom:33px}.milestone-art::after{inset:7px}.model-exhibit{box-shadow:5px 6px 0 #271e40,0 20px 40px #0004}.model-stage::after{inset:8px}.wis-fieldbook{box-shadow:4px 5px 0 #dedecd,0 16px 25px #263b1d12}
 .atelier-finale{margin-top:53px;padding:23px 0 27px}.finale-eyebrow{font-size:7px;letter-spacing:.8px;margin-bottom:30px}.finale-title{font-size:11.3vw;letter-spacing:-.07em;line-height:.94}.finale-title b{margin-left:13px;margin-top:0}.finale-title i{font-size:.85em}.finale-title>span:first-child{gap:20px}.finale-caption{font-size:8px;line-height:1.8;margin-top:29px}.atelier-finale::before{width:250px;height:250px;right:-145px}
}
@media(max-width:500px){.profile-hero h1{font-size:21.5vw}.profile-hero-copy{width:100%;min-width:0}.profile-hero h1>.profile-greeting{font-size:.46em}.profile-headline{font-size:18px}.identity-wrap{max-width:calc(100% - 23px)!important}.identity-art--sculpture{min-height:297px;padding:19px 22px 15px}.atelier-sculpture{height:235px;margin-inline:-22px}.identity-details{padding:22px}.identity-name>strong{font-size:28px}.identity-fields>div{font-size:10px}.identity-top{font-size:7px}.identity-caption{font-size:8px}.identity-floating{font-size:8px;padding:10px 12px}.sport-visual{height:440px}.sport-caption>strong{font-size:56px}.sport-topline{font-size:8px}.jersey-number{font-size:165px}.scene-index--works{top:116px}.scene-index--works>a{flex-direction:column;gap:7px;padding:12px 5px;font-size:7px}.scene-index--works>a>i{position:absolute;right:10px;top:12px}.collection-navigation>a{min-height:117px;padding:12px 9px}.collection-navigation>a>span{font-size:10px}.room-token{right:10px;top:7px}.post-card-meta{font-size:8px}.posts-chronological .post-card-copy{padding:25px}.posts-chronological .post-card h2{font-size:24px}.article-art .post-art{min-height:310px}.article-header h1{font-size:29px}.article-header{padding:28px 23px}.finale-eyebrow>span:last-child{display:none}.finale-caption{font-size:7px}.finale-title{font-size:11.2vw}}
@media(prefers-reduced-motion:reduce){.scene-contours svg,.folio-window,.axiom-figure,.festival-ticket-wrap,.court-shot,.milestone-art>img{translate:none;transform:none}.scene-composition *,.scene-composition *::before,.scene-composition *::after{animation:none!important;transition:none!important}}
html[data-site-motion=off] .scene-composition *,html[data-site-motion=off] .scene-composition *::before,html[data-site-motion=off] .scene-composition *::after{animation-play-state:paused!important}
.exhibit{scroll-margin-top:36px}.scene-index--works{top:100px}
@media(max-width:760px){.exhibit{scroll-margin-top:62px}.scene-index--works{top:127px}}
@media(max-width:500px){.scene-index--works{top:116px}.exhibit{scroll-margin-top:60px}}
.profile-hero>.scene-contours,.gallery-header>.scene-contours,.posts-heading>.scene-contours{right:0;width:100%}
.profile-hero::before{right:0}
