/* NOIRLY v4.1.0 — UNFOLD / WORLDS. Self-contained interior system. */
:root{font-family:Inter,"Arial",system-ui,-apple-system,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
*{box-sizing:border-box}
html{min-width:320px}body{margin:0;min-width:320px;overflow-x:hidden}
body.world-page{--bg:#edeae0;--ink:#191d1b;--accent:#b9ef71;--halo:rgba(185,239,113,.19);--line:rgba(25,29,27,.23);background:var(--bg);color:var(--ink)}
body[data-world="vision"]{--bg:#111b19;--ink:#f2f1e7;--accent:#b9ef71;--halo:rgba(185,239,113,.18);--line:rgba(242,241,231,.22)}
body[data-world="about"]{--bg:#252233;--ink:#f2eef1;--accent:#bca6fa;--halo:rgba(188,166,250,.19);--line:rgba(242,238,241,.23)}
body[data-world="contact"]{--bg:#f36c52;--ink:#261a17;--accent:#ffe0bb;--halo:rgba(255,224,187,.25);--line:rgba(38,26,23,.22)}
body[data-world="privacy"],body[data-world="terms"],body[data-world="404"]{--bg:#e9e9df;--ink:#1d2925;--accent:#b3d58c;--halo:rgba(179,213,140,.2);--line:rgba(29,41,37,.18)}
a{color:inherit}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[hidden]{display:none!important}.skip-link{position:fixed;z-index:110;top:-100px;left:16px;padding:12px;background:var(--ink);color:var(--bg)}.skip-link:focus{top:8px}
.world-header{position:relative;z-index:25;display:flex;justify-content:space-between;align-items:center;gap:16px;height:92px;padding:16px clamp(18px,2.6vw,52px);border-bottom:1px solid var(--line)}
.world-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-glyph{width:28px;height:28px;fill:currentColor;flex:none}.brand-lines{display:grid;gap:2px}.brand-lines strong{font-size:17px;font-weight:950;letter-spacing:-.09em}.brand-lines small{font-size:8px;font-weight:800;letter-spacing:.1em;opacity:.76}
.world-actions{display:flex;align-items:center;gap:7px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;border:1px solid var(--ink);border-radius:100px;background:transparent;padding:0 16px;text-decoration:none;font-weight:900;font-size:10px;letter-spacing:.095em;cursor:pointer;transition:background .24s,color .24s,transform .24s}
.pill:hover{background:var(--ink);color:var(--bg);transform:translateY(-1px)}.pill.language{padding:0 13px;min-width:40px}.vector-back{width:19px;height:19px}.vector-arrow{width:1.2em;height:1.2em;flex:none;vertical-align:middle}
.world-stage{position:relative;display:grid;grid-template-columns:minmax(330px,47%) minmax(0,53%);grid-template-rows:auto 1fr;align-items:start;border-left:1px solid var(--line);border-right:1px solid var(--line);margin:0 clamp(12px,1.1vw,24px)}
.world-grid{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.57;background:linear-gradient(to right,transparent 49.95%,var(--line) 50%,transparent 50.05%),linear-gradient(to bottom,transparent 55%,var(--line) 55.1%,transparent 55.2%);background-size:100% 100%,100% 760px}
.world-hero{grid-column:2;grid-row:1;position:relative;z-index:2;min-height:calc(100vh - 92px);min-height:calc(100svh - 92px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:90px clamp(30px,5vw,115px) 146px 7vw;overflow:hidden}
.hero-signal{display:flex;flex-direction:column;gap:24px;margin-bottom:27px}.hero-rule{display:block;width:43px;height:1px;background:var(--ink)}.hero-number,.hero-counter,.instrument-caption,.instrument-foot,.panel-index,.project-id,.contact-index,.index-eyebrow,.legal-number{font-size:10px;font-weight:900;letter-spacing:.13em}
.hero-title{position:relative;z-index:2;margin:0;max-width:760px;font-size:clamp(50px,5.75vw,113px);line-height:.96;letter-spacing:-.075em;font-weight:950;overflow-wrap:break-word}
.hero-lead{position:relative;z-index:2;max-width:500px;margin:26px 0 0;font-weight:600;line-height:1.55;font-size:clamp(15px,1.14vw,19px)}
.world-giant{position:absolute;z-index:1;bottom:-.1em;left:1.5%;white-space:nowrap;max-width:97%;font-size:clamp(90px,13vw,240px);font-weight:1000;letter-spacing:-.095em;line-height:.85;opacity:.13;user-select:none;pointer-events:none}.hero-counter{position:absolute;bottom:22px;right:22px;opacity:.7}
.world-instrument{grid-column:1;grid-row:1/3;position:sticky;top:0;height:100vh;height:100svh;min-height:620px;z-index:3;border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}
.instrument-caption{position:absolute;top:13%;left:9%;display:grid;gap:4px;opacity:.75;line-height:1.3}.instrument-caption span{opacity:.65}
.world-orbit{position:relative;width:min(76%,550px);aspect-ratio:1;display:grid;place-items:center;isolation:isolate}
.world-orbit::before{content:"";position:absolute;inset:-17%;z-index:-1;border-radius:50%;background:radial-gradient(circle,var(--halo),transparent 62%);animation:worldGlow 5s ease-in-out infinite}
.world-rings{position:absolute;inset:-12%;width:124%;height:124%;fill:none;stroke:var(--ink);stroke-width:.55;opacity:.28;animation:worldSpin 52s linear infinite}
.world-rings circle:nth-child(2){stroke-dasharray:2 7}.world-rings path{opacity:.6}
.world-star{position:absolute;inset:12%;width:76%;height:76%;overflow:visible;filter:drop-shadow(20px 17px 0 var(--halo));animation:starEntrance 1s cubic-bezier(.18,.8,.16,1) both}
.star-base{fill:var(--ink)}.world-blade{fill:var(--ink);cursor:pointer;transition:fill .32s ease}.world-blade.current{fill:var(--accent)}.world-blade:hover,.world-blade:focus-visible{fill:var(--accent)}.world-blade path{pointer-events:all}.star-pin{fill:var(--bg);pointer-events:none}
.world-hub{position:absolute;z-index:3;inset:auto;display:grid;place-items:center;width:48px;height:48px;background:var(--bg);color:var(--ink);border:1px solid var(--ink);box-shadow:0 0 0 6px var(--halo);border-radius:50%;transition:scale .25s,box-shadow .25s}.world-hub:hover{scale:1.12;box-shadow:0 0 0 12px var(--halo)}.world-hub svg{width:22px;height:22px}
.orbit-tab{position:absolute;display:flex;align-items:center;gap:9px;min-height:32px;white-space:nowrap;padding:8px 11px;font-size:10px;font-weight:900;letter-spacing:.05em;text-decoration:none;border:1px solid var(--ink);background:var(--bg);z-index:2;transition:background .22s,color .22s,scale .22s}.orbit-tab span:first-child{opacity:.65}.orbit-tab:hover,.orbit-tab.active{background:var(--ink);color:var(--bg);scale:1.04}.orbit-tab.north{top:1%;left:50%;transform:translateX(-50%)}.orbit-tab.east{right:-14%;top:50%;transform:translateY(-50%)}.orbit-tab.south{bottom:1%;left:50%;transform:translateX(-50%)}.orbit-tab.west{left:-14%;top:50%;transform:translateY(-50%)}
.instrument-foot{position:absolute;bottom:7%;left:9%;margin:0;max-width:260px;line-height:1.7;opacity:.66}
.world-story-wrap{grid-column:2;grid-row:2;position:relative;z-index:2;min-width:0;border-top:1px solid var(--line)}.world-story{padding:clamp(25px,4.4vw,84px) clamp(28px,5vw,112px) 110px 7vw}
.world-panel{display:grid;grid-template-columns:60px minmax(0,1fr);gap:22px;border-top:1px solid var(--line);padding:42px 0 64px}.world-panel:first-child{border-top:0}.panel-index{padding-top:10px;opacity:.65}.panel-body{min-width:0}.panel-body h2{margin:0 0 28px;font-size:clamp(36px,4vw,72px);font-weight:950;letter-spacing:-.07em;line-height:1.02;max-width:650px}.panel-body p{max-width:580px;font-size:clamp(15px,1.2vw,19px);line-height:1.65;font-weight:540;margin:0 0 22px}.world-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-height:54px;padding:0 0 8px;text-decoration:none;border-bottom:2px solid var(--ink);font-size:14px;font-weight:830;transition:gap .25s,opacity .2s}.world-cta:hover{gap:62px;opacity:.7}.world-cta svg{width:22px;height:22px}
/* Each direction has its own editorial composition without standard cards. */
.project-stage{position:relative;border-top:1px solid var(--line);padding:27px 0 64px;min-height:530px}.project-id{display:flex;justify-content:space-between;gap:20px}.project-status{display:inline-flex;gap:9px;align-items:center}.project-status b{width:7px;height:7px;background:var(--ink);border-radius:50%}.project-title{position:relative;margin:42px 0 22px;font-size:clamp(57px,7vw,145px);font-weight:950;line-height:.9;letter-spacing:-.085em;white-space:nowrap}.project-mini-star{position:relative;top:-.45em;margin-left:.05em;font-size:.24em}.project-description{position:relative;z-index:1;max-width:520px;margin-left:auto}.project-description p{font-size:16px;line-height:1.6;margin:0 0 24px}.project-description .project-intro{font-size:clamp(21px,2vw,34px);font-weight:800;line-height:1.2;letter-spacing:-.04em}.project-emblem{position:absolute;right:-5%;bottom:0;font-size:280px;color:var(--accent);opacity:.32;line-height:1;pointer-events:none}
.principles{border-top:1px solid var(--line);margin-top:35px}.principle{display:grid;grid-template-columns:38px minmax(0,1fr);gap:18px;padding:32px 0;border-bottom:1px solid var(--line)}.principle>span,.value-row>span{font-size:11px;font-weight:850;opacity:.65}.principle h3{font-size:clamp(24px,2.3vw,38px);letter-spacing:-.045em;line-height:1.14;margin:0 0 15px}.principle p{font-size:15px;margin:0;max-width:520px}
.values{border-top:1px solid var(--line);margin-top:45px}.value-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px 20px;border-bottom:1px solid var(--line);padding:30px 0}.value-row h3{overflow-wrap:anywhere;font-size:clamp(25px,2.35vw,41px);margin:0;line-height:1.1;letter-spacing:-.05em}.value-row p{grid-column:2;margin:0}
.contact-panel{padding:18px 0 110px;border-top:1px solid var(--line)}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:42px 0 35px;text-decoration:none;font-size:clamp(26px,3.8vw,65px);font-weight:950;letter-spacing:-.065em;overflow-wrap:anywhere;line-height:1.1}.contact-email svg{width:32px;height:32px;flex-shrink:0;transition:transform .2s}.contact-email:hover svg{transform:translate(4px,-4px)}.contact-panel>p{font-size:clamp(18px,1.5vw,24px);line-height:1.4;max-width:540px}.contact-outro{display:flex;align-items:center;gap:20px;min-height:180px;border-top:1px solid var(--line)}.contact-outro>span{font-size:90px}.contact-outro p{max-width:400px;font-size:21px;font-weight:730}
/* Legal documents: calm reading rather than a decorative wall of text. */
.legal-mode .world-hero{min-height:650px}.legal-mode .hero-title{font-size:clamp(48px,5vw,95px)}.legal-story{max-width:1100px}.legal-date{font-size:12px;font-weight:850;letter-spacing:.08em;margin-bottom:44px}.legal-entry{display:grid;grid-template-columns:45px minmax(0,1fr);gap:28px;border-top:1px solid var(--line);padding:32px 0 48px}.legal-number{opacity:.6;padding-top:6px}.legal-entry h2{font-size:clamp(25px,2.3vw,39px);line-height:1.15;letter-spacing:-.05em;margin:0 0 16px}.legal-entry p{font-size:clamp(15px,1.08vw,18px);line-height:1.72;max-width:730px;margin:0}.legal-entry p a{text-underline-offset:4px}.legal-end{padding:30px 0 90px}.error-story{min-height:300px}
.world-footer{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:24px;padding:34px clamp(18px,3vw,50px);border-top:1px solid var(--line);font-size:11px;font-weight:800;letter-spacing:.04em}.footer-identity{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:17px;letter-spacing:-.07em}.footer-identity .brand-glyph{width:24px;height:24px}.world-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:9px 18px}.world-footer nav a{font-size:11px;text-decoration:underline;text-underline-offset:4px}.world-footer>span{text-align:right;white-space:nowrap}
/* INDEX / full-screen portal */
.world-index{position:fixed;z-index:90;inset:0;background:#171d1b;color:#f2eee4;padding:clamp(22px,4vw,62px);overflow-y:auto;overscroll-behavior:contain}.world-index-inner{max-width:1100px;margin:auto}.index-close{float:right;color:inherit;border-color:currentColor}.index-close svg{width:15px;height:15px}.index-eyebrow{padding-top:100px;opacity:.6}.world-index h2{clear:both;font-weight:950;font-size:clamp(30px,4vw,74px);letter-spacing:-.07em;margin:22px 0 26px}.index-routes{list-style:none;padding:0;margin:0}.index-routes li{border-top:1px solid #545b55}.index-routes li:last-child{border-bottom:1px solid #545b55}.index-routes a{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:15px;padding:22px 0;text-decoration:none;font-size:clamp(20px,3vw,44px);font-weight:780;letter-spacing:-.05em;transition:color .2s}.index-routes a:hover,.index-routes a[aria-current=page]{color:#bbef71}.index-routes a svg{width:23px;height:23px}.idx-num{font-size:12px;opacity:.65}.index-legal{display:flex;flex-wrap:wrap;gap:12px 25px;margin:25px 0}.index-legal a{font-size:12px;text-underline-offset:4px}.index-motion{display:inline-flex;align-items:center;gap:10px;border:1px solid currentColor;padding:13px 16px;margin-top:5px;background:none;color:inherit;font-size:11px;font-weight:850;letter-spacing:.06em;cursor:pointer}.status-dot{width:8px;height:8px;border-radius:50%;background:#b9ef71}.index-motion[aria-pressed=false] .status-dot{background:transparent;border:1px solid currentColor}
[data-reveal]{transition:opacity .8s ease,translate .85s cubic-bezier(.2,.8,.2,1)}.js-enhanced [data-reveal]:not(.in-view){opacity:.72;translate:0 9px}.js-enhanced [data-reveal].in-view{opacity:1;translate:0 0}
.world-leaving .world-stage{opacity:.06;transform:scale(.993)}.world-stage{transition:opacity .34s ease,transform .34s ease}
@keyframes worldSpin{to{transform:rotate(360deg)}}@keyframes worldGlow{0%,100%{opacity:.4;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@keyframes starEntrance{from{opacity:0;transform:rotate(-22deg) scale(.8);filter:blur(6px)}to{opacity:1;transform:rotate(0deg) scale(1);filter:blur(0)}}
html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html:not([data-motion=on]) *,html:not([data-motion=on]) *::before,html:not([data-motion=on]) *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:1800px){.world-orbit{width:min(74%,660px)}.world-hero{padding-left:7vw}.hero-title{font-size:clamp(72px,5.3vw,132px)}}
@media(max-width:1190px){.world-stage{grid-template-columns:minmax(270px,43%) minmax(0,57%)}.world-hero{padding-left:50px;padding-right:35px}.world-story{padding-left:45px;padding-right:35px}.world-instrument .world-orbit{width:74%}.orbit-tab.east{right:-22%}.orbit-tab.west{left:-22%}.hero-title{font-size:clamp(48px,6.1vw,80px)}.project-title{font-size:clamp(52px,7vw,85px)}}
@media(max-width:760px){.world-header{height:73px;padding:12px 18px}.brand-glyph{width:25px;height:25px}.brand-lines strong{font-size:16px}.brand-lines small{font-size:7px}.pill{min-height:36px;font-size:9px;padding:0 10px}.origin-link{width:36px;padding:0}.origin-link span{display:none}.world-actions{gap:6px}.world-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;margin:0 12px}.world-grid{background-size:100% 600px}.world-hero{grid-column:1;grid-row:1;min-height:380px;padding:53px 25px 100px;justify-content:flex-start}.hero-signal{gap:12px;margin-bottom:20px}.hero-title{font-size:clamp(38px,9vw,66px);max-width:650px}.hero-lead{font-size:15px;margin-top:20px;max-width:510px}.world-giant{font-size:clamp(74px,19vw,140px);bottom:-.1em}.hero-counter{font-size:8px}.world-instrument{grid-column:1;grid-row:2;position:relative;top:auto;height:440px;min-height:0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.instrument-caption{top:4%;left:7%;font-size:8px}.instrument-foot{bottom:3%;left:7%;font-size:9px}.world-orbit{width:min(68%,370px)}.world-instrument .world-orbit{width:min(68%,370px)}.orbit-tab{font-size:9px;padding:7px}.orbit-tab.east{right:-19%}.orbit-tab.west{left:-19%}.world-story-wrap{grid-column:1;grid-row:3;border:0}.world-story{padding:38px 25px 55px}.world-panel{padding:35px 0 50px;grid-template-columns:45px minmax(0,1fr);gap:15px}.panel-body h2{font-size:clamp(32px,7vw,50px)}.panel-body p{font-size:15px}.world-footer{grid-template-columns:1fr auto;gap:22px}.world-footer nav{grid-column:1/-1;grid-row:2;justify-content:flex-start}.world-footer>span{grid-column:2;grid-row:1}.project-title{font-size:clamp(49px,12vw,89px)}.project-stage{min-height:430px}.project-emblem{font-size:170px}}
@media(max-width:420px){.world-header{padding:10px 14px}.world-stage{margin:0 8px}.world-hero{padding:42px 20px 78px;min-height:350px}.hero-title{font-size:clamp(37px,9.9vw,48px)}.hero-lead{font-size:14px}.world-instrument{height:362px}.world-orbit,.world-instrument .world-orbit{width:66%}.orbit-tab{font-size:8px;min-height:27px;padding:5px 7px;gap:5px}.orbit-tab.east{right:-21%}.orbit-tab.west{left:-21%}.instrument-caption{top:2%;font-size:7px}.instrument-foot{bottom:2%;max-width:220px;font-size:8px}.world-hub{width:39px;height:39px}.world-hub svg{width:18px;height:18px}.world-story{padding:27px 20px 50px}.world-panel{grid-template-columns:30px 1fr;gap:12px}.panel-body h2{font-size:31px}.project-title{font-size:clamp(49px,12vw,65px)}.project-description .project-intro{font-size:22px}.world-footer{padding:25px 16px}.world-footer nav a{font-size:10px}.legal-mode .world-hero{min-height:360px}.legal-entry{grid-template-columns:22px 1fr;gap:10px}.contact-email{font-size:clamp(23px,6.5vw,37px)}.index-routes a{grid-template-columns:35px 1fr auto}.world-index h2{font-size:37px}}
@media(max-height:730px) and (min-width:761px){.world-instrument{min-height:575px}.world-orbit{width:min(62%,440px)}.instrument-caption{top:8%}.instrument-foot{bottom:5%}}

/* When motion is disabled, content is always fully visible. */
html[data-motion=off] .js-enhanced [data-reveal]:not(.in-view){opacity:1;translate:none}

body.index-open{overflow:hidden}
