/* THE DIRECTORY — original navigation-led interface. No reference code or artwork. */
:root{--world-ink:#0b0c0c;--world-paper:#e6e5df;--world-dim:#92938f;--world-acid:#c7fe91;--world-ease:cubic-bezier(.65,0,.35,1);--world-expo:cubic-bezier(.16,1,.3,1)}
html{scroll-behavior:auto}body{background:var(--world-ink);color:var(--world-paper)}
body.is-home{overflow:hidden} body.is-home,body.is-home button,body.is-home a{font-family:Arial,'Helvetica Neue',sans-serif}
body.is-home main{min-height:100svh} body.is-home .site-footer{display:none}
.site-frame{pointer-events:none;position:fixed;inset:10px;z-index:140;border:1px solid rgba(232,234,228,.045)}.frame-tick{position:absolute;width:7px;height:7px;border-color:#aaa;border-style:solid;opacity:.3}.frame-tick:nth-child(1){top:-1px;left:-1px;border-width:1px 0 0 1px}.frame-tick:nth-child(2){top:-1px;right:-1px;border-width:1px 1px 0 0}.frame-tick:nth-child(3){bottom:-1px;left:-1px;border-width:0 0 1px 1px}.frame-tick:nth-child(4){bottom:-1px;right:-1px;border-width:0 1px 1px 0}
.world-header{z-index:155;position:fixed;top:0;left:0;width:100%;height:84px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 clamp(24px,4.8vw,88px);color:var(--world-paper);pointer-events:none;font-size:12px;letter-spacing:.08em}.world-header>*{pointer-events:auto}.world-brand{display:flex;align-items:center;gap:15px;width:max-content;line-height:1;text-transform:lowercase;text-decoration:none;color:inherit}.world-brand:hover{color:inherit}.brand-mark{font-size:31px;font-weight:650;letter-spacing:-.15em;padding-right:8px;text-transform:lowercase}.brand-slash{font-weight:300;display:inline-block;margin:0 4px;transform:skew(-14deg);color:var(--world-acid)}.brand-name{font-family:Georgia,serif;font-size:16px;font-style:italic;letter-spacing:-.04em}.world-header-descriptor{justify-self:center;letter-spacing:.18em;color:#a5a5a0;font-size:10px;white-space:nowrap}.world-header-descriptor span{padding:0 9px;color:#575b57}.world-menu-trigger{display:flex;gap:22px;align-items:center;justify-self:end;font:inherit;letter-spacing:.18em;color:var(--world-paper);border:0;cursor:pointer;padding:16px 0 16px 20px;background:transparent}.world-menu-trigger:hover{color:var(--world-acid)}.menu-cross{position:relative;width:24px;height:24px;border:1px solid rgba(235,234,223,.55);border-radius:50%;display:grid;place-items:center;transition:transform .55s var(--world-ease)}.menu-cross i{position:absolute;width:9px;height:1px;background:currentColor;display:block}.menu-cross i:last-child{transform:rotate(90deg)}body.map-open .menu-cross{transform:rotate(45deg)}
.world-map{position:fixed;z-index:151;inset:0;background:#d6dfd1;color:#121915;visibility:hidden;opacity:0;clip-path:inset(0 0 100% 0);padding:110px clamp(25px,7vw,120px) 38px;display:flex;flex-direction:column}.map-topline,.map-bottomline{display:flex;align-items:center;justify-content:space-between;font:10px/1.5 Arial,sans-serif;letter-spacing:.16em}.map-bottomline{margin-top:auto}.map-destinations{display:flex;flex-direction:column;justify-content:center;flex:1;padding:3vh 0;min-height:0}.map-destinations a{display:grid;grid-template-columns:60px 1fr minmax(100px,200px);align-items:baseline;gap:15px;border-top:1px solid rgba(21,27,21,.35);color:inherit;text-decoration:none;padding:clamp(12px,2vh,26px) 0;transition:padding .55s var(--world-expo),color .2s}.map-destinations a:last-child{border-bottom:1px solid rgba(21,27,21,.35)}.map-destinations a:hover,.map-destinations a:focus-visible{padding-left:18px;color:#f24c32}.map-destinations a span{font-size:12px;letter-spacing:.08em;position:relative;top:-2px}.map-destinations a strong{font-family:Georgia,serif;font-size:clamp(45px,8.3vh,105px);font-weight:400;letter-spacing:-.085em;line-height:.98}.map-destinations a:nth-child(even) strong{font-style:italic}.map-destinations a i{font-style:normal;font-size:11px;letter-spacing:.035em;text-align:right}.map-topline{padding-bottom:17px;border-bottom:1px solid currentColor}
.world-wipe{position:fixed;z-index:160;inset:0;display:grid;grid-template-columns:repeat(4,1fr);pointer-events:none;visibility:hidden}.world-wipe i{background:#dcffb1;transform:translateY(100%)}.world-wipe i:nth-child(2){background:#b6d9cd}.world-wipe i:nth-child(3){background:#e4e3da}.world-wipe i:nth-child(4){background:#e7a8bc}
/* Index as an instrument: four destinations instead of a scroll marketing page. */
.world{min-height:100svh;isolation:isolate}.directory-stage{height:100svh;min-height:650px;background:#0b0c0c;position:relative;padding:105px clamp(24px,7vw,120px) 38px;display:flex;flex-direction:column;overflow:hidden}.directory-stage::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.64' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' opacity='.42' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:screen}.directory-stage::after{content:"";width:64vmax;height:64vmax;position:absolute;right:-32vmax;top:-26vmax;background:radial-gradient(circle,rgba(173,213,181,.075),transparent 66%);pointer-events:none;transition:background 1s}
.directory-intro{position:relative;z-index:4;color:#818982;display:flex;align-items:center;gap:16px;font:10px/1.4 Arial,sans-serif;letter-spacing:.22em}.tiny-symbol{color:var(--world-acid);font-size:24px;line-height:.5}.directory-guide{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:clamp(42px,7vh,90px);margin-bottom:20px}.directory-guide p{font-family:Georgia,serif;letter-spacing:-.035em;font-size:clamp(20px,2.3vw,31px);max-width:395px;line-height:1.15;color:#deded5}.directory-guide>span{font:10px/1.4 Arial,sans-serif;letter-spacing:.16em;color:#a4aca3;align-self:flex-end}.directory-guide b{font-size:17px;vertical-align:-1px;margin-left:12px;color:var(--world-acid);font-weight:400}
.directory-art{position:absolute;right:-2%;top:11%;width:61%;height:74%;opacity:.88;pointer-events:none;mix-blend-mode:screen;z-index:1;transition:filter .8s var(--world-ease),opacity .8s}.directory-links{position:relative;z-index:5;margin-top:auto;margin-bottom:auto;width:100%;isolation:isolate;display:block}.directory-link{min-height:clamp(90px,12.2vh,138px);display:grid;grid-template-columns:7.8% 1fr minmax(180px,25%) 42px;align-items:center;border-top:1px solid rgba(220,225,216,.25);text-decoration:none;color:#f0efe8;position:relative;transition:padding .65s var(--world-expo),color .45s var(--world-ease);overflow:hidden}.directory-link:last-child{border-bottom:1px solid rgba(220,225,216,.25)}.directory-link::before{content:"";inset:0;position:absolute;background:var(--world-acid);transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--world-ease);z-index:-1}.directory-link:hover::before,.directory-link:focus-visible::before{transform:scaleY(1)}.directory-link:hover,.directory-link:focus-visible{padding:0 18px;color:#0c1410;outline-offset:-4px}.directory-link:hover .dir-name,.directory-link:focus-visible .dir-name{transform:translateX(7px)}.directory-link span{display:block}.dir-num{font-size:13px;font-family:monospace;letter-spacing:.08em;opacity:.65}.dir-name{font-size:clamp(58px,8vw,123px);line-height:1;font-weight:600;letter-spacing:-.096em;transition:transform .72s var(--world-expo);font-family:Arial,'Helvetica Neue',sans-serif;text-transform:uppercase}.serif-name{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.078em;text-transform:none}.dir-desc{font:10px/1.4 Arial,sans-serif;letter-spacing:.13em;justify-self:start;opacity:.72;padding:0 12px}.dir-arrow{font:26px Georgia,serif;justify-self:end;padding-right:8px;transition:transform .6s var(--world-expo)}.directory-link:hover .dir-arrow{transform:rotate(45deg)}.directory-floor{position:relative;z-index:4;display:grid;grid-template-columns:1fr 2fr 1fr;color:#888e8c;border-top:1px solid rgba(223,230,222,.19);padding-top:20px;font:10px/1.3 Arial,sans-serif;letter-spacing:.16em}.directory-floor span:nth-child(2){text-align:center}.directory-floor span:last-child{text-align:right}
/* Four different rooms rather than four identical project cards. */
.room{position:fixed;z-index:50;inset:0;overflow-y:auto;overscroll-behavior:contain;display:none;padding:111px clamp(24px,7vw,120px) 100px;background:#111917;color:#ecf4e9;scrollbar-width:thin;scrollbar-color:#556a60 transparent}.room.is-visible{display:block}.room-systems{background:#10201c;color:#eef4e7;--room-highlight:#c7fe91}.room-research{background:#131b31;color:#eeeffc;--room-highlight:#a4b5fe}.room-music{background:#351c24;color:#ffe5da;--room-highlight:#f0b8ab}.room-about{background:#ebe7d9;color:#171c1a;--room-highlight:#d84b32}.room-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;border-bottom:1px solid currentColor;font:10px/1.4 Arial,sans-serif;letter-spacing:.18em;opacity:.8}.room-top button{font:inherit;letter-spacing:.18em;background:none;border:0;color:inherit;cursor:pointer;padding:9px 0 9px 20px}.room-top button:hover{color:var(--room-highlight)}.room-head{margin-top:clamp(35px,7vh,90px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.65fr);column-gap:6vw}.room-kicker{grid-column:1/-1;font:11px/1.3 Arial,sans-serif;letter-spacing:.2em;color:var(--room-highlight);margin-bottom:16px}.room-head h2{margin:0;font-size:clamp(65px,9.2vw,154px);font-family:Arial,'Helvetica Neue',sans-serif;font-weight:600;letter-spacing:-.097em;line-height:.88}.room-head h2 em{font-family:Georgia,serif;letter-spacing:-.078em;font-weight:400}.room-intro{align-self:end;max-width:340px;font-size:clamp(17px,1.45vw,21px);line-height:1.45;letter-spacing:-.015em;color:inherit;opacity:.84;padding-bottom:8px}.room-feature{position:relative;margin-top:40px;min-height:220px;height:clamp(250px,36vh,440px);overflow:hidden}.room-feature-systems{background:#203b32;border:1px solid #506a59}.room-feature-research{background:#273658;border:1px solid #52608c}.room-feature-music{background:#562630;border:1px solid #884c56}.feature-graphic{height:100%;width:100%;position:relative}.feature-graphic svg{width:100%;height:100%;display:block}.sys-grid path{fill:none;stroke:rgba(192,249,190,.10);stroke-width:1}.sys-paths path{fill:none;stroke:#bfedc8;stroke-width:2;stroke-dasharray:8 9;animation:flowPath 18s linear infinite}.sys-paths path:nth-child(2){stroke:#9acbc2;animation-direction:reverse}.sys-nodes circle{fill:var(--room-highlight)}.sys-labels{font:11px monospace;letter-spacing:2px;fill:#d8e9d6}.room-smallnote{display:block;font:11px monospace;letter-spacing:.12em;margin-top:12px;opacity:.7}.graphic-stamp{position:absolute;bottom:20px;left:20px;font:10px/1.3 Arial,sans-serif;letter-spacing:.15em;color:inherit;opacity:.75}.room-list{margin-top:clamp(24px,5vh,60px);border-top:1px solid currentColor}.room-list a{display:grid;grid-template-columns:minmax(150px,26%) 1fr 35px;gap:10px;align-items:center;color:inherit;text-decoration:none;border-bottom:1px solid rgba(210,223,219,.2);padding:24px 0;transition:padding .5s var(--world-expo),color .25s}.room-list a:hover,.room-list a:focus-visible{padding-left:14px;color:var(--room-highlight)}.room-list a span{font:10px/1.4 Arial,sans-serif;letter-spacing:.16em;opacity:.7}.room-list a strong{font:400 clamp(23px,3vw,43px)/1.15 Georgia,serif;letter-spacing:-.04em}.room-list a b{justify-self:end;font:25px Georgia,serif}.research-art{width:100%;height:100%;display:block;overflow:visible}.research-art text{font:11px monospace;letter-spacing:2px;fill:#b4bedf}.research-wave{fill:none;stroke:url(#researchLine);stroke-width:4;stroke-linecap:round;stroke-dasharray:1050;stroke-dashoffset:0;animation:researchDraw 7s ease-in-out infinite alternate}.research-wave-secondary{fill:none;stroke:#a0a7f5;stroke-width:1.5;stroke-dasharray:7 9;opacity:.6;animation:flowPath 22s linear infinite}.music-art{width:100%;height:100%;display:block;touch-action:pan-y}.music-overlay{position:absolute;top:18px;left:22px;right:22px;display:flex;justify-content:space-between;font:10px Arial,sans-serif;letter-spacing:.14em;pointer-events:none}.about-typography{position:relative;height:clamp(220px,37vh,390px);margin-top:40px;border-top:1px solid rgba(25,25,22,.5);border-bottom:1px solid rgba(25,25,22,.5);overflow:hidden;display:flex;align-items:center;justify-content:center}.about-word{font:bold clamp(220px,30vw,600px)/.65 Arial,sans-serif;letter-spacing:-.12em;color:#ced2c7;position:relative;left:-25px;mix-blend-mode:multiply}.about-vertical{position:absolute;right:10px;top:10px;font:10px Arial,sans-serif;letter-spacing:.12em;writing-mode:vertical-rl}.about-rule{position:absolute;left:10%;top:0;bottom:0;width:2px;background:#d84b32;transform:skew(-12deg)}
.room-pager{position:fixed;z-index:91;bottom:26px;right:clamp(24px,7vw,120px);display:none;align-items:center;gap:3px;padding:4px;background:rgba(15,18,17,.72);backdrop-filter:blur(12px);border:1px solid #55615e}.room-pager.is-visible{display:flex}.room-pager button{width:43px;height:33px;cursor:pointer;background:transparent;border:0;color:#a9b3ad;font:11px monospace}.room-pager button.is-active{background:#e2f1d7;color:#0d100d}.room-pager button:hover:not(.is-active){color:white}
@keyframes flowPath{to{stroke-dashoffset:-800}}@keyframes researchDraw{to{stroke-dashoffset:410}}
/* Keep existing article templates accessible but unify the site chrome. */
.is-document{background:#15171b}.is-document main{padding-top:84px;min-height:80vh}.is-document .world-header{background:rgba(13,16,18,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(240,245,240,.11)}.is-document .page-head{padding-top:90px}.is-document .site-footer{margin-top:0}.is-document .article-header{padding-top:90px}.is-document .world-map .map-destinations a{color:#111c17}
@media (max-width:880px){.world-header{grid-template-columns:1fr auto;padding:0 25px;height:67px}.world-header-descriptor{display:none}.directory-stage{padding:88px 25px 27px;min-height:625px}.directory-guide{margin-top:clamp(30px,6vh,50px)}.directory-guide p{font-size:24px}.directory-art{width:100%;right:-28%;top:9%;height:69%;opacity:.55}.directory-link{grid-template-columns:50px 1fr 26px;min-height:clamp(93px,12vh,118px)}.dir-name{font-size:clamp(55px,10vw,96px)}.dir-desc{display:none}.directory-floor{grid-template-columns:1fr 1fr}.directory-floor span:nth-child(2){display:none}.directory-floor span:last-child{text-align:right}.world-map{padding:80px 26px 30px}.map-destinations a{grid-template-columns:35px 1fr}.map-destinations a i{display:none}.room{padding:85px 26px 90px}.room-head{grid-template-columns:1fr}.room-head h2{font-size:clamp(61px,11vw,102px)}.room-intro{max-width:650px;margin-top:30px}.room-feature{margin-top:27px}.room-list a{grid-template-columns:1fr 28px}.room-list a span{grid-column:1/-1}.room-list a strong{grid-column:1;grid-row:2}.room-list a b{grid-column:2;grid-row:2}.room-pager{right:24px;bottom:15px}}
@media (max-width:550px){.world-header{height:64px;padding:0 22px}.brand-mark{font-size:25px}.brand-name{font-size:15px}.world-menu-trigger{gap:12px;font-size:10px;padding-left:8px}.directory-stage{height:100svh;min-height:590px;padding:90px 23px 22px}.directory-intro{font-size:9px;letter-spacing:.09em;gap:9px}.directory-intro .tiny-symbol{font-size:17px}.directory-guide{display:block;margin-top:clamp(30px,5vh,46px);margin-bottom:16px}.directory-guide p{font-size:clamp(19px,5.3vw,25px);max-width:300px}.directory-guide>span{display:block;margin-top:13px;font-size:9px;letter-spacing:.12em}.directory-guide b{margin-left:9px;font-size:15px}.directory-art{top:8%;right:-43%;width:140%;height:65%;opacity:.44}.directory-link{min-height:clamp(85px,12vh,105px);grid-template-columns:41px 1fr 25px}.dir-name{font-size:clamp(45px,12vw,70px)}.dir-num{font-size:10px}.dir-arrow{font-size:21px}.directory-floor{font-size:9px;padding-top:13px}.world-map{padding:78px 23px 27px}.map-topline{font-size:9px}.map-destinations a{padding:17px 0}.map-destinations a strong{font-size:clamp(44px,11vw,66px)}.room{padding:90px 22px 80px}.room-head{margin-top:45px}.room-kicker{font-size:10px}.room-head h2{font-size:clamp(53px,12.4vw,78px)}.room-intro{font-size:16px;line-height:1.5;margin-top:27px}.room-feature{height:230px;min-height:0}.graphic-stamp{left:10px;bottom:10px;font-size:8px}.room-list{margin-top:30px}.room-list a{padding:18px 0}.room-list a span{font-size:9px}.room-list a strong{font-size:24px}.about-typography{height:230px}.about-word{font-size:270px}.room-pager{right:20px;bottom:12px}.room-pager button{width:35px;height:31px}.is-document main{padding-top:64px}.is-document .page-head,.is-document .article-header{padding-top:55px}}
@media (max-height:680px) and (min-width:881px){.directory-stage{padding-top:76px;padding-bottom:19px}.directory-guide{margin-top:12px}.directory-link{min-height:clamp(69px,13vh,95px)}.dir-name{font-size:clamp(48px,7.7vw,92px)}.directory-intro{font-size:9px}.directory-floor{padding-top:9px}}
@media (prefers-reduced-motion:reduce){.directory-link,.directory-link::before,.dir-name,.dir-arrow,.map-destinations a,.research-wave,.research-wave-secondary,.sys-paths path,.room-list a{animation:none!important;transition:none!important}}
/* Final responsiveness and contrast refinements */
body.map-open .world-header,body.map-open .world-menu-trigger,body.map-open .world-brand{color:#121c14}
body.map-open .world-header-descriptor{color:#586759}
body.map-open .brand-slash{color:#d44f37}
body.map-open .menu-cross{border-color:#263b2e}
.world-map .map-destinations a{opacity:1;color:#142016}
.world-map .map-destinations a:hover,.world-map .map-destinations a:focus-visible{color:#d84b32}
.world-brand .brand-name{display:inline-block}
@media(max-width:880px){.directory-link .dir-desc{display:none}.directory-link .dir-arrow{grid-column:3;grid-row:1}.directory-link .dir-name{grid-column:2;grid-row:1}.directory-link .dir-num{grid-column:1;grid-row:1}}
@media(max-width:550px){.directory-link{min-height:clamp(85px,11.8vh,105px)}.directory-link .dir-name{font-size:clamp(44px,11.5vw,68px)}.world-brand .brand-name{font-size:14px}}
/* The shutter is a typographic object, not four decorative color panels. */
.world-wipe i{position:relative;overflow:hidden;background:#101a17}
.world-wipe i:nth-child(2){background:#1e332d}
.world-wipe i:nth-child(3){background:#d3dbd1}
.world-wipe i:nth-child(4){background:#0b1312}
.world-wipe i::before{content:"";position:absolute;inset:0;opacity:.22;background:repeating-linear-gradient(0deg,transparent 0 8px,rgba(242,250,241,.09) 9px,transparent 10px),linear-gradient(135deg,transparent,rgba(0,0,0,.4));pointer-events:none}
.world-wipe i::after{position:absolute;left:-.15em;top:50%;transform:translateY(-53%) rotate(-6deg);font:italic clamp(180px,28vw,520px)/.75 Georgia,serif;letter-spacing:-.16em;opacity:.12;color:#e0e9db;pointer-events:none}
.world-wipe i:nth-child(1)::after{content:"N"}.world-wipe i:nth-child(2)::after{content:"I"}.world-wipe i:nth-child(3)::after{content:"C";color:#101c18;opacity:.21}.world-wipe i:nth-child(4)::after{content:"K"}
@media(max-width:550px){.world-wipe i::after{font-size:41vw;left:-.36em}}

/* V11 — one typographic voice and an uninterrupted scene transition.
   Inspired by the references' consistency, but independently designed. */
:root{--world-type:'Cousine','Liberation Mono','DejaVu Sans Mono',ui-monospace,monospace}
body,body a,body button,body input,body textarea,
.world-header,.world-map,.directory-stage,.room,.room-pager,
.is-document .page-head,.is-document .article-header,.is-document .prose,
.is-document .site-footer{font-family:var(--world-type)!important}
.world-brand,.brand-name,.brand-mark,.world-header-descriptor,
.map-topline,.map-bottomline,.map-destinations a span,.map-destinations a i,
.map-destinations a strong,.directory-intro,.directory-guide p,
.directory-guide>span,.directory-floor,.dir-num,.dir-name,.dir-desc,.dir-arrow,
.room-top,.room-kicker,.room-head h2,.room-head h2 em,.room-intro,
.room-list a span,.room-list a strong,.room-list a b,.about-word,.about-vertical,
.room-smallnote,.graphic-stamp,.music-overlay,.room-pager button,
.is-document .page-head h1,.is-document .article-header h1,
.is-document .prose h2,.is-document .prose h3,.is-document .footer-top h2{
  font-family:var(--world-type)!important;
  font-style:normal!important;
}
.brand-mark{font-size:24px;font-weight:700;letter-spacing:-.09em}
.brand-name{font-size:12px;letter-spacing:-.015em;font-weight:500}
.brand-slash{transform:none;font-weight:400}
.world-header-descriptor,.world-menu-trigger{font-size:10px;letter-spacing:.08em}
.directory-guide p{font-size:clamp(16px,2vw,25px);font-weight:400;line-height:1.5;letter-spacing:-.035em;max-width:540px}
.directory-link{overflow:visible;min-width:0}
.dir-name{font-size:clamp(51px,6.9vw,100px);line-height:1.2;font-weight:500;letter-spacing:-.065em;text-transform:lowercase;white-space:nowrap;padding-block:.07em}
.dir-desc{letter-spacing:.045em;line-height:1.65}
.dir-arrow{font-size:25px}
.map-destinations a{align-items:center;min-height:0;padding:clamp(12px,2.1vh,23px) 0}
.map-destinations a strong{font-size:clamp(34px,7vh,76px);font-weight:500;letter-spacing:-.06em;line-height:1.25;white-space:nowrap;padding-block:.04em;text-transform:lowercase}
.map-destinations a i{line-height:1.5}
.world-map{overflow-y:auto;overscroll-behavior:contain}
.room-head{align-items:start}
.room-head h2{font-size:clamp(48px,6vw,96px);font-weight:500;letter-spacing:-.06em;line-height:1.17;overflow:visible;padding-block:.08em}
.room-head h2 em{letter-spacing:inherit}
.room-intro{font-size:clamp(14px,1.3vw,18px);line-height:1.65;letter-spacing:-.018em}
.room-list a strong{font-size:clamp(18px,2.45vw,34px);line-height:1.4;letter-spacing:-.035em}
.about-word{font-size:clamp(160px,25vw,390px);line-height:1.2;letter-spacing:-.1em}
.world-wipe{display:block;background:#c9e4cd;clip-path:inset(100% 0 0 0);overflow:hidden;will-change:clip-path;contain:paint}
.world-wipe:before{content:'NB / INDEX';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:500 clamp(13px,2.5vw,27px)/1.4 var(--world-type);letter-spacing:.08em;color:#15231c;white-space:nowrap}
.world-wipe:after{content:'';position:absolute;top:calc(50% + 30px);left:50%;width:60px;height:1px;transform:translateX(-50%);background:#15231c;opacity:.45}
.world-wipe i{display:none}
.is-document .page-head h1,.is-document .article-header h1{font-size:clamp(36px,5.5vw,66px);font-weight:500;line-height:1.24;letter-spacing:-.055em;overflow:visible}
.is-document .prose h2{font-size:clamp(25px,3vw,36px);line-height:1.38;font-weight:500;letter-spacing:-.025em}
.is-document .prose h3{font-size:clamp(19px,2.2vw,25px);line-height:1.4}
.is-document .prose{font-size:14px;line-height:1.9}
.is-document .footer-top h2{font-size:clamp(32px,4vw,52px);line-height:1.3}
.directory-link,.map-destinations a,.room-head,.room-list a{clip-path:none}
@media(max-width:880px){
 .directory-link{grid-template-columns:42px minmax(0,1fr) 28px}
 .dir-name{font-size:clamp(44px,8.5vw,74px);letter-spacing:-.07em}
 .room-head h2{font-size:clamp(35px,6.5vw,64px);line-height:1.21}
 .map-destinations a strong{font-size:clamp(34px,6.5vh,66px)}
}
@media(max-width:550px){
 body.is-home{overflow:auto}
 .directory-stage{height:auto;min-height:100svh;overflow-y:auto}
 .directory-intro{line-height:1.5}
 .directory-guide p{font-size:clamp(16px,4vw,21px);line-height:1.47}
 .directory-links{margin:clamp(20px,4vh,42px) 0}
 .directory-link{min-height:clamp(70px,10.5svh,95px);grid-template-columns:36px minmax(0,1fr) 20px;gap:4px}
 .dir-name{font-size:clamp(34px,8.8vw,51px);letter-spacing:-.075em;line-height:1.28;white-space:nowrap}
 .dir-arrow{font-size:19px;padding-right:0}
 .map-destinations a{grid-template-columns:30px minmax(0,1fr);gap:6px;padding:clamp(10px,1.6vh,16px) 0}
 .map-destinations a strong{font-size:clamp(32px,8.2vw,53px);line-height:1.29}
 .room-head h2{font-size:clamp(32px,8vw,49px);line-height:1.24;letter-spacing:-.07em}
 .room-intro{font-size:14px;margin-top:22px}
 .room-list a strong{font-size:clamp(16px,4.1vw,23px);line-height:1.4;overflow-wrap:break-word}
 .room-top{font-size:9px;letter-spacing:.04em}
 .room{overscroll-behavior:contain;touch-action:pan-y}
 .room-pager button{min-width:44px;min-height:44px}
 .world-map{padding-bottom:max(28px,env(safe-area-inset-bottom))}
 .map-bottomline{font-size:8px;letter-spacing:.055em}
}
@media(prefers-reduced-motion:reduce){.world-wipe{display:none}}
/* Visibility is controlled by the menu's clip and visibility, not opacity. */
.world-map{opacity:1}
/* On touch screens the fixed pager obscured project links. INDEX remains
   available at the top and each chapter has a back-to-index control. */
@media(max-width:550px){.room-pager,.room-pager.is-visible{display:none!important}}

/* V12 / The directory exposes its contents: themed marks and one-tap showcases.
   The chapter navigation remains, but it is no longer a gate to the work. */
:root{
  --systems-tone:#c7fe91;
  --research-tone:#afbcff;
  --music-tone:#f6b9ab;
  --about-tone:#dfd6bd;
}
.directory-stage{min-height:710px;padding-bottom:22px}
.directory-guide{margin-top:clamp(28px,5.6vh,58px);margin-bottom:12px}
.directory-guide p{margin:0}
.directory-links{margin-top:auto;margin-bottom:0}
.directory-link{min-height:clamp(73px,9.4vh,100px);grid-template-columns:7.8% minmax(0,1fr) minmax(140px,18%) 132px 38px}
.dir-name{font-size:clamp(46px,6.5vw,88px);line-height:1.13}
.dir-motif{height:53px;width:115px;display:grid!important;place-items:center;justify-self:end;opacity:.68;color:var(--motif-tone);transform:translateX(0);transition:transform .7s var(--world-expo),opacity .5s var(--world-ease)}
.dir-motif svg{width:100%;height:100%;overflow:visible}
.dir-motif circle{fill:currentColor}
.directory-link[data-preview=systems]{--motif-tone:var(--systems-tone)}
.directory-link[data-preview=research]{--motif-tone:var(--research-tone)}
.directory-link[data-preview=music]{--motif-tone:var(--music-tone)}
.directory-link[data-preview=about]{--motif-tone:var(--about-tone)}
.directory-link:hover .dir-motif,.directory-link:focus-visible .dir-motif{opacity:1;transform:translateX(-6px)}
.directory-link:hover .dir-motif,.directory-link:focus-visible .dir-motif{color:#17251a}
.directory-link:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
.directory-shortcuts{position:relative;z-index:7;border-top:1px solid rgba(221,230,222,.38);margin-top:clamp(11px,2.9vh,30px);padding:12px 0 16px;display:grid;grid-template-columns:155px minmax(0,1fr);gap:20px;align-items:start}
.shortcut-caption{color:#a8b1aa;font:500 9px/1.65 var(--world-type);letter-spacing:.035em;max-width:130px}
.shortcut-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.shortcut{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:6px;row-gap:5px;min-width:0;padding:2px 12px 4px;border-left:1px solid rgba(230,233,223,.24);color:#f0f3ed;text-decoration:none;transition:color .3s var(--world-ease),transform .5s var(--world-expo)}
.shortcut:focus-visible{outline:1px solid var(--world-acid);outline-offset:-3px}
.shortcut:hover{transform:translateY(-4px)}
.shortcut>span{grid-column:1;grid-row:1;font:500 9px/1.25 var(--world-type);color:#aab4ac}
.shortcut>span i{font:normal 15px/1 var(--world-type);vertical-align:-1px;margin-left:4px;color:var(--shortcut-tone)}
.shortcut strong{grid-column:1;grid-row:2;font:500 clamp(10px,.88vw,13px)/1.5 var(--world-type);letter-spacing:-.035em;white-space:nowrap}
.shortcut b{grid-column:2;grid-row:2;font:500 16px var(--world-type);color:var(--shortcut-tone)}
.shortcut-systems{--shortcut-tone:var(--systems-tone)}
.shortcut-pipeline{--shortcut-tone:#a2d8d1}
.shortcut-research{--shortcut-tone:var(--research-tone)}
.shortcut-music{--shortcut-tone:var(--music-tone)}
.shortcut:hover strong{color:var(--shortcut-tone)}
.directory-floor{font-size:9px;padding-top:11px}
/* A direct route from the full-screen directory, too. */
.world-map .map-destinations{padding:1vh 0}
.world-map .map-destinations a{padding:clamp(9px,1.8vh,18px) 0}
.map-shortcuts{padding-top:14px;border-top:1px solid rgba(21,27,21,.35);display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;align-items:start}
.map-shortcuts>span{font:500 10px/1.5 var(--world-type);letter-spacing:.01em;color:#42564b}
.map-shortcuts>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.map-shortcuts a{min-width:0;display:flex;justify-content:space-between;align-items:center;gap:8px;color:#15251c;text-decoration:none;border-bottom:1px solid rgba(25,42,29,.4);padding-bottom:12px;font:500 11px/1.5 var(--world-type)}
.map-shortcuts a:hover,.map-shortcuts a:focus-visible{color:#d84b32;border-color:#d84b32}
.map-shortcuts b{font-size:17px;font-weight:400}
.map-bottomline{padding-top:18px}
/* Keep inactive scenes from consuming paint and CPU; the piano roll is painted
   only while music is visible. Its canvas is a diagram, not interactive UI. */
.music-art{contain:strict;display:block}
.room-feature-music{isolation:isolate;background:#261820}
.room-feature-music:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 60% 35%,rgba(244,167,157,.12),transparent 55%);pointer-events:none;z-index:1}
.music-overlay,.room-feature-music .graphic-stamp{z-index:2}
@media(max-width:1100px){
  .directory-link{grid-template-columns:45px minmax(0,1fr) 85px 25px}
  .dir-desc{display:none}
  .dir-motif{width:80px;height:50px}
  .shortcut-caption{font-size:9px}
  .directory-shortcuts{grid-template-columns:125px minmax(0,1fr);gap:12px}
  .shortcut{padding-inline:8px}
  .shortcut strong{font-size:10px}
  .map-shortcuts{grid-template-columns:125px minmax(0,1fr);gap:10px}
  .map-shortcuts a{font-size:10px}
}
@media(max-width:700px){
 body.is-home{overflow-y:auto;overflow-x:hidden}
 .directory-stage{height:auto;min-height:100svh;padding:90px 23px 23px;overflow:visible}
 .directory-guide{margin-top:30px;margin-bottom:16px}
 .directory-guide p{font-size:clamp(17px,4.3vw,21px)}
 .directory-guide>span{margin-top:7px}
 .directory-links{margin-top:22px}
 .directory-link{min-height:clamp(66px,9svh,85px);grid-template-columns:33px minmax(0,1fr) 62px 19px;gap:4px}
 .dir-name{font-size:clamp(31px,8.3vw,52px);letter-spacing:-.065em}
 .dir-motif{width:61px;height:42px;opacity:.9}
 .dir-arrow{font-size:17px}
 .directory-shortcuts{grid-template-columns:1fr;gap:11px;margin-top:18px;padding:12px 0 15px}
 .shortcut-caption{max-width:none;font-size:9px}
 .shortcut-links{grid-template-columns:1fr 1fr;gap:11px 12px}
 .shortcut{padding:0 7px 0 10px;border-left:1px solid rgba(230,233,223,.3)}
 .shortcut strong{font-size:11px}
 .directory-floor{padding-top:12px}
 .world-map{padding:76px 23px max(26px,env(safe-area-inset-bottom));overflow-y:auto}
 .world-map .map-destinations{flex:none;padding:17px 0}
 .world-map .map-destinations a{padding:10px 0}
 .world-map .map-destinations a strong{font-size:clamp(33px,8vw,51px)}
 .map-shortcuts{grid-template-columns:1fr;gap:10px;margin-top:4px}
 .map-shortcuts>span{font-size:9px}
 .map-shortcuts>div{grid-template-columns:1fr 1fr;gap:9px 13px}
 .map-shortcuts a{font-size:10px;padding:6px 0 9px}
 .map-bottomline{margin-top:20px}
}
@media(max-width:360px){
 .directory-stage{padding-inline:19px}
 .directory-link{grid-template-columns:29px minmax(0,1fr) 50px 16px}
 .dir-name{font-size:clamp(29px,8.5vw,40px)}
 .dir-motif{width:49px}
 .shortcut strong{font-size:9.5px}
 .map-shortcuts a{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.dir-motif,.shortcut{transition:none!important}}
/* Decorative art stays inside the narrow index; the page itself can scroll. */
@media(max-width:700px){.directory-stage{overflow:hidden}}
/* Deep-link fix: wide markdown tables must scroll inside the article, never
   enlarge the mobile layout viewport (which displaced the fixed INDEX control). */
@media(max-width:760px){
 .is-document .article-layout{grid-template-columns:minmax(0,1fr)}
 .is-document .article-prose{min-width:0;max-width:100%;overflow-wrap:anywhere}
 .is-document .article-prose table{max-width:100%;width:100%;overflow-x:auto}
 .is-document .article-prose pre{max-width:100%;overflow-x:auto}
 .is-document main{min-width:0}
 .is-document .interactive-intro,.is-document .trace-content,.is-document .trend-grid{grid-template-columns:minmax(0,1fr)}
}
/* Light navigation must include its fixed chrome when opened over an article. */
.is-document.map-open .world-header{background:#d6dfd1;color:#121c14;border-bottom:1px solid rgba(21,27,21,.24);backdrop-filter:none}
.is-document.map-open .world-menu-trigger,.is-document.map-open .world-brand{color:#121c14}
.is-document.map-open .world-header-descriptor{color:#586759}
.is-document.map-open .brand-slash{color:#d44f37}

/* VIEWPORT COMPOSITION / Height is a first-class input, not an implicit desktop
   constant. A short landscape window keeps the complete index inside its own
   canvas; the drawing alone is allowed to bleed beyond the composition. */
@media (min-width:701px) and (max-height:850px){
 .world-header{height:clamp(55px,9.7svh,76px)}
 .directory-stage{height:100svh;min-height:0;padding-top:clamp(58px,10.4svh,84px);padding-bottom:clamp(9px,1.7svh,18px)}
 .directory-intro{font-size:clamp(8px,1.24svh,10px)}
 .directory-guide{margin-top:clamp(8px,2.1svh,20px);margin-bottom:clamp(5px,1svh,11px)}
 .directory-guide p{font-size:clamp(17px,min(2.3vw,3.15svh),26px);line-height:1.1}
 .directory-links{margin-top:auto;margin-bottom:0}
 .directory-link{height:clamp(42px,8.45svh,69px);min-height:0}
 .dir-name{font-size:clamp(34px,min(5.65vw,8.85svh),72px);line-height:1.07}
 .dir-motif{height:clamp(27px,5.7svh,44px)}
 .directory-shortcuts{margin-top:clamp(4px,1.2svh,11px);padding:clamp(5px,1.1svh,9px) 0}
 .directory-scroll-cue{margin-bottom:clamp(3px,.6svh,7px)}
 .directory-floor{padding-top:clamp(4px,1svh,9px)}
}
@media (min-width:701px) and (max-height:620px){
 .directory-guide>span{font-size:9px}
 .directory-shortcuts{gap:10px}
 .shortcut-caption{font-size:8px}
 .directory-floor{font-size:8px}
 .directory-scroll-cue{font-size:8px}
 .world-map{padding-top:70px;padding-bottom:16px;overflow-y:auto}
 .world-map .map-destinations{padding:0;flex:1 0 auto}
 .world-map .map-destinations a{padding:4px 0}
 .world-map .map-destinations a strong{font-size:clamp(29px,6.5svh,43px)}
 .map-shortcuts{padding-top:8px}
 .map-bottomline{padding-top:9px}
}
@media (max-width:700px) and (max-height:740px){
 .directory-stage{height:100svh;min-height:0;padding-top:clamp(57px,10.9svh,76px);padding-bottom:11px}
 .directory-guide{margin-top:clamp(8px,1.8svh,13px);margin-bottom:6px}
 .directory-guide p{font-size:clamp(15px,4.25vw,18px);line-height:1.14}
 .directory-guide>span{display:none}
 .directory-links{margin-top:auto;margin-bottom:0}
 .directory-link{height:clamp(44px,8.2svh,58px);min-height:0}
 .dir-name{font-size:clamp(27px,7.9vw,40px);line-height:1.05}
 .dir-motif{height:clamp(29px,5.4svh,36px)}
 .directory-shortcuts{margin-top:8px;padding:7px 0 9px;gap:5px}
 .shortcut-links{gap:7px 10px}
 .shortcut{row-gap:2px}
 .shortcut strong{font-size:clamp(9px,2.7vw,11px)}
 .directory-scroll-cue{font-size:8px;margin-bottom:3px}
 .directory-floor{font-size:8px;padding-top:7px}
}
/* Below this height we cannot promise four readable navigation rows plus
   metadata inside one viewport. Keep the content scrollable instead of hiding it.
   Clip horizontally only: plain overflow:visible also un-clipped the decorative
   directory-art canvas (140% wide, right -43% at narrow widths), which enlarged
   the layout viewport to 474px at 320x480 in Firefox and WebKit. */
@media (max-height:450px){
 .directory-stage{height:auto;min-height:100svh;overflow-x:hidden;overflow-y:auto}
}
/* The base .directory-link span selector is more specific than .dir-desc.
   At compact widths the descriptor must actually disappear, not wrap into the motif. */
@media(max-width:1100px){.directory-link .dir-desc{display:none}}
@media (max-width:700px) and (max-height:520px){
 .directory-stage{height:auto;min-height:100svh;overflow-x:hidden;overflow-y:auto}
}

/* Release focus: direct evidence above navigation while preserving the Directory composition. */
.world-header{grid-template-columns:minmax(0,1fr) auto minmax(0,.8fr) auto;column-gap:clamp(10px,2vw,26px)}
.world-header-descriptor{grid-column:2;justify-self:center}
.world-header-resume{grid-column:3;justify-self:end;font:500 11px/1.3 var(--world-type,monospace);letter-spacing:.09em;text-decoration:none;color:var(--world-paper);white-space:nowrap}
.world-header-resume:hover,.world-header-resume:focus-visible{color:var(--world-acid)}
.world-menu-trigger{grid-column:4}
.directory-introduction{max-width:min(650px,66vw)}
.directory-current{display:block;margin-top:10px;color:#aabbb0;font:500 clamp(10px,1vw,12px)/1.5 var(--world-type,monospace);letter-spacing:.015em}
.directory-guide{flex-shrink:0}
.directory-shortcuts{order:1;margin-top:clamp(14px,2.8vh,26px);border-top:1px solid #b9c7b060;border-bottom:1px solid #b9c7b048;padding-block:clamp(9px,1.8vh,16px)}
.directory-links{order:2;margin-top:auto;margin-bottom:auto}
.directory-action-row{order:3;display:flex;gap:22px;align-items:center;margin-top:clamp(7px,1.3vh,15px)}
.directory-cta{color:#dce5d6;text-decoration:none;border-bottom:1px solid #8ca58c70;padding-bottom:3px;font:500 10px/1.5 var(--world-type,monospace);letter-spacing:.065em}
.directory-cta:hover,.directory-cta:focus-visible{color:var(--world-acid);border-color:var(--world-acid)}
.directory-scroll-cue{order:4;align-self:flex-end;margin-top:-20px}
.directory-floor{order:5}
@media(max-width:880px){.world-header{grid-template-columns:minmax(0,1fr) auto auto;gap:12px}.world-header-descriptor{display:none}.world-header-resume{grid-column:2;font-size:10px}.world-menu-trigger{grid-column:3}}
@media(max-width:700px){.directory-introduction{max-width:100%}.directory-shortcuts{order:1;margin-top:14px;padding:8px 0 10px}.directory-links{order:2;margin-top:12px;margin-bottom:8px}.directory-action-row{margin-top:8px;gap:18px}.directory-scroll-cue{margin:3px 0 4px auto}.directory-current{font-size:10px}.directory-guide{margin-top:18px;margin-bottom:8px}}
@media(max-width:360px){.world-brand .brand-name{display:none}.world-header{gap:9px}.directory-current{font-size:9px}}
@media(max-height:680px) and (min-width:701px){.directory-current{margin-top:3px;font-size:9px}.directory-shortcuts{margin-top:5px;padding-block:3px}.directory-action-row{margin-top:4px}.directory-scroll-cue{margin-top:-10px}}
@media(max-width:700px) and (max-height:740px){.directory-shortcuts{margin-top:6px;padding:3px 0 4px}.directory-current{margin-top:3px}.directory-links{margin-top:6px;margin-bottom:4px}.directory-action-row{margin-top:3px}.directory-scroll-cue{margin:0 0 2px auto}}
.contact-location{font-size:13px;color:#a9bcb7;font-family:var(--world-type,monospace);letter-spacing:.035em}
/* Keep the new evidence-first composition inside its viewport at all supported sizes. */
@media(min-width:701px) and (min-height:851px){
  .directory-guide{margin-top:clamp(15px,2.1svh,26px);margin-bottom:8px}
  .directory-guide p{font-size:clamp(18px,1.9vw,25px);line-height:1.18}
  .directory-shortcuts{margin-top:14px;padding-block:9px}
  .dir-name{font-size:clamp(44px,5.5vw,77px);line-height:1.05}
  .directory-link{min-height:clamp(64px,8.2svh,82px)}
  .directory-action-row{margin-top:6px}
  .directory-scroll-cue{margin-top:-16px}
}
@media(max-width:700px){
 .directory-guide p{line-height:1.28}
 .directory-scroll-cue{display:none}
 .directory-action-row{margin-bottom:5px}
}
@media(max-width:700px) and (max-height:740px){
 .directory-guide{margin-top:10px;margin-bottom:4px}
 .directory-current{margin-top:2px}
 .directory-shortcuts{margin-top:4px}
 .directory-action-row{margin-top:2px;margin-bottom:0}
}
@media(max-width:700px){
 .directory-link{min-height:clamp(55px,8svh,76px)}
 .directory-guide{margin-top:10px;margin-bottom:4px}
 .directory-shortcuts{margin-top:7px;padding-block:5px 7px}
 .directory-links{margin-top:8px;margin-bottom:3px}
 .directory-floor{padding-top:6px}
}
@media(max-width:700px) and (max-height:740px){
 .directory-link{min-height:clamp(52px,7.9svh,66px)}
 .directory-guide{margin-top:5px}
 .directory-shortcuts{margin-top:3px;padding-block:3px}
 .directory-links{margin-top:4px;margin-bottom:2px}
 .directory-floor{padding-top:3px}
}
@media(max-width:360px) and (min-height:521px){
 .directory-stage{padding-top:54px;padding-bottom:7px}
 .directory-guide{margin-top:3px;margin-bottom:2px}
 .directory-links{margin-top:2px;margin-bottom:0}
 .directory-link{min-height:49px}
 .directory-shortcuts{padding-block:2px;gap:5px}
 .directory-action-row{margin-top:0}
}
