:root{--paper:#f7f7f4;--ink:#202723;--muted:#69706a;--accent:#a36d4d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}header{position:absolute;top:0;left:0;width:100%;z-index:20;display:flex;align-items:center;padding:32px 4%;gap:32px}.brand{font-size:14px;font-weight:700;letter-spacing:.03em}.brand span{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:7px;letter-spacing:0}nav{display:flex;gap:30px;margin-left:auto;font-size:12px}.preview{font:9px monospace;letter-spacing:.12em;border-left:1px solid #ccd0ca;padding-left:25px;color:var(--muted)}.journey{position:relative}.stage{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden}.steps{margin-top:-100svh;pointer-events:none}.steps section{height:110svh;min-height:700px;scroll-margin-top:0}.hero-copy{position:absolute;top:23%;left:7%;width:86%;transition:opacity .5s,transform .7s}.eyebrow{font:10px monospace;letter-spacing:.17em;color:var(--muted)}h1{font-size:clamp(60px,8.8vw,142px);line-height:.98;letter-spacing:-.065em;font-weight:500;margin:32px 0}h1 span{color:#8a9089}.intro{font-size:15px;line-height:1.65;margin-top:30px}.scene{position:absolute;left:44%;top:7%;height:83%;width:55%;transition:left 1s,width 1s;pointer-events:none}svg{width:100%;height:100%;overflow:visible}.shape-caption{position:absolute;bottom:8%;left:38%;font:8px monospace;letter-spacing:.13em;color:var(--muted);white-space:nowrap}.bottom{position:absolute;bottom:0;width:92%;left:4%;padding:24px 0;border-top:1px solid #d7dad4;display:flex;align-items:center;gap:30px}.scroll-hint{font:9px monospace;letter-spacing:.09em;white-space:nowrap}.scroll-hint span{margin-left:25px;font-size:20px}.role-nav{display:flex;justify-content:space-between;flex:1;margin-left:5%;gap:20px}.role-nav a{font:10px monospace;color:#8c928b;padding:12px 0;transition:color .3s}.role-nav span{display:block;font:12px Arial;margin-top:9px;color:var(--ink)}.role-nav a.active{color:var(--accent)}.role-nav a.active span{font-weight:bold}.role-content{position:absolute;left:56%;top:23%;width:37%;opacity:0;transform:translateY(20px);transition:opacity .45s,transform .6s;pointer-events:none}h2{font-size:clamp(35px,4.5vw,76px);line-height:1.03;letter-spacing:-.05em;font-weight:500;margin:23px 0}.role-content>p{font-size:16px;line-height:1.6;max-width:440px;color:#555e56}.word-cloud{display:flex;flex-wrap:wrap;gap:12px 23px;margin:28px 0;align-items:baseline;max-width:460px}.word-cloud span{font-size:14px;color:#737d74}.word-cloud span:nth-child(3n+1){font-size:21px;color:var(--ink)}.word-cloud span:nth-child(3n+2){color:var(--accent)}.project{border-top:1px solid #d7dad4;padding-top:15px}.project a{display:flex;align-items:center;gap:16px;font-size:13px}.project img{width:65px;height:65px;object-fit:contain}.project small{display:block;font:9px monospace;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}.project b{font-weight:400;font-size:18px;margin-left:auto}.stage.detail .hero-copy{opacity:0;transform:translateY(-30px);pointer-events:none}.stage.detail .scene{left:0;width:53%}.stage.detail .role-content{opacity:1;transform:none;pointer-events:auto}.stage.detail .shape-caption{left:22%}.outro{padding:120px 8% 150px;background:#242c28;color:#f3f4ef}.outro .eyebrow{color:#a9b5ac}.outro h2{font-size:clamp(50px,7vw,110px)}.all-projects{display:flex;justify-content:space-between;padding:25px 0;border-bottom:1px solid #68756b;max-width:600px;font-size:20px}.outro>p:last-child{font-size:13px;color:#a9b5ac}a:focus-visible{outline:2px solid #a36d4d;outline-offset:6px}
@media(max-width:700px){header{padding:22px 6%}.brand{font-size:11px}nav{font-size:11px;gap:16px}.preview{display:none}.stage{min-height:740px}.hero-copy{top:16%;left:6%;width:88%}h1{font-size:clamp(43px,10.7vw,74px);margin:24px 0}.intro{font-size:13px}.scene{top:30%;left:8%;width:90%;height:52%}.shape-caption{font-size:6px;left:26%;bottom:0}.bottom{width:88%;left:6%;padding:13px 0;display:block}.scroll-hint{display:none}.role-nav{margin:0;gap:9px}.role-nav span{font-size:10px;max-width:85px;line-height:1.35}.role-nav a{font-size:8px}.stage.detail .scene{top:5%;left:10%;width:80%;height:40%}.stage.detail .shape-caption{display:none}.role-content{left:7%;top:42%;width:86%}h2{font-size:36px;margin:14px 0}.role-content>p{font-size:13px;line-height:1.5;margin:10px 0}.word-cloud{gap:9px 16px;margin:17px 0}.word-cloud span{font-size:11px}.word-cloud span:nth-child(3n+1){font-size:16px}.project{padding-top:8px}.project img{width:45px;height:45px}.project a{font-size:12px}.steps section{min-height:820px}.outro{padding:80px 7%}.all-projects{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.locked{overflow:hidden}.entry{position:fixed;inset:0;background:#202824;color:#f5f4ee;z-index:100;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transition:opacity .8s,visibility .8s}.entry>p{font:11px monospace;letter-spacing:.22em}.entry h2{font-size:clamp(45px,7vw,105px);margin:55px 20px}.entry button{background:#e5b98c;color:#242b26;border:0;padding:20px 38px;font-size:14px;cursor:pointer}.entry>span{font:9px monospace;letter-spacing:.14em;margin-top:25px;color:#a7b4aa}.entry.gone{opacity:0;visibility:hidden}.scene{pointer-events:auto;cursor:grab;filter:drop-shadow(0 35px 25px #69766b13)}.stage.detail .scene{left:-3%;width:64%}#shape{transform:scale(1.13)}#corner-cloud{position:absolute;width:320px;transform:translate(-50%,-50%);display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:center;pointer-events:none}#corner-cloud span{font-size:12px;color:#58685c;text-shadow:0 1px 5px #f7f7f4,0 -1px 5px #f7f7f4}#corner-cloud span:nth-child(2n){font-size:16px;color:#93603e}.stage:not(.detail) #corner-cloud{display:none}.training{font-size:12px;line-height:1.7;color:#68736a}.project a{padding:11px 0;border-bottom:1px solid #d7dad4}.project small{display:none}.timeline{max-width:900px;border-left:1px solid #6e8073;margin:65px 0 0 12px}.timeline article{position:relative;padding:0 0 45px 35px}.timeline article:before{content:'';position:absolute;left:-5px;top:5px;width:9px;height:9px;border-radius:50%;background:#d6b591}.timeline article>span{font:10px monospace;color:#d6b591}.timeline h3{font-size:23px;font-weight:400}.timeline p{font-size:15px;line-height:1.7;color:#bdc7bf;max-width:650px}@media(max-width:700px){.stage.detail .scene{left:2%;width:96%;top:2%;height:43%}#corner-cloud{width:230px;gap:6px 12px}#corner-cloud span{font-size:9px}#corner-cloud span:nth-child(2n){font-size:11px}.role-content{top:46%}.role-content h2{font-size:30px}.word-cloud{margin:10px 0}.project a{padding:8px 0}.role-content>p{font-size:12px}.training{font-size:10px}.stage{min-height:800px}}
.entry{background:var(--paper);color:var(--ink)}.entry h2{font-size:clamp(46px,8vw,116px);letter-spacing:-.065em}.entry button{background:var(--ink);color:var(--paper)}.entry>span{color:var(--muted)}.project{max-height:37vh;overflow:auto;scrollbar-width:thin}.project a{min-height:105px;gap:22px}.project img{width:95px;height:95px;object-fit:contain}.role-content{top:15%}.word-cloud .training{width:100%}.stage.detail .scene{width:54%;left:0}.role-content h2{font-size:clamp(34px,4vw,64px)}@media(max-width:700px){.role-content{top:40%}.stage.detail .scene{width:90%;left:5%;height:36%}.project{max-height:24vh}.project a{min-height:80px}.project img{width:70px;height:70px}.word-cloud{gap:8px 13px}.role-content h2{font-size:30px}.stage{min-height:900px}}
.entry .entry-name{font:500 clamp(24px,3vw,42px) Arial,Helvetica,sans-serif;letter-spacing:-.035em;margin:0 0 35px}.entry button{background:transparent;color:var(--ink);border:1px solid #c8cec8;padding:15px 23px;font-size:12px}.entry button span{margin-left:36px}.scene{left:60%;width:40%;opacity:.72}.hero-copy{width:70%}h1{font-size:clamp(60px,7vw,110px)}.stage.detail .scene{opacity:.78}.scroll-hint{position:fixed;right:4%;top:110px;color:var(--muted);font-size:8px}.world-preview{position:relative;display:block;flex:none;width:95px;height:95px}.world-preview img,.world-preview video{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.world-preview video{opacity:0;pointer-events:none}.world-preview.moving video{opacity:1}.world-preview.moving img{opacity:0}.project{max-height:40vh}.project a{min-height:90px}.world-preview{width:80px;height:80px}@media(max-width:700px){.hero-copy{width:88%}h1{font-size:clamp(43px,10.7vw,74px)}.scene{left:18%;width:80%;top:34%;height:44%}.scroll-hint{display:block;top:87px;right:6%;font-size:7px}.scroll-hint span{font-size:12px;margin-left:8px}.project{max-height:30vh}.project a{min-height:66px;padding:4px 0}.world-preview{width:56px;height:56px}.world-preview img{width:100%;height:100%}.role-content{top:38%}}
.entry{background:#101411;color:#d7dfd4;background-image:radial-gradient(ellipse at 50% 45%,#29372855,transparent 58%);isolation:isolate}.entry:before{content:'';position:absolute;inset:22px;border:1px solid #75836a26;pointer-events:none}.entry .entry-name{font-size:clamp(24px,3vw,38px);font-weight:400;color:#d7dfd4;letter-spacing:-.025em;margin:35px 0 55px}.entry button{position:relative;font:10px monospace;letter-spacing:.12em;text-transform:uppercase;color:#d9e8a2;border:1px solid #b5c48270;background:#a4b94c0b;box-shadow:inset 0 0 18px #bddc5710,0 0 35px #b4d66208;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));padding:20px 30px;transition:background .3s,box-shadow .3s}.entry button:hover,.entry button:focus-visible{background:#b7d65b22;box-shadow:0 0 36px #bad46428}.entry>span{color:#a8b49b;font:9px monospace;letter-spacing:.17em;min-height:12px;margin-top:18px}.entry-orbit{position:relative;width:70px;height:70px;border:1px solid #8d9b7755;border-radius:50%;opacity:.7}.entry-orbit i{position:absolute;inset:0;border:1px solid #b8c59a66;border-radius:50%;transform:rotate(45deg) scaleX(.4)}.entry-orbit i:nth-child(2){transform:rotate(-45deg) scaleX(.4)}.entry-orbit i:nth-child(3){transform:scaleY(.4)}.init-track{width:190px;height:1px;background:#81956e25;margin-top:30px;opacity:0}.init-track i{display:block;width:0;height:100%;background:#c7df8a;box-shadow:0 0 12px #c7df8a}.initializing .init-track{opacity:1}.initializing .init-track i{width:100%;transition:width 1.35s ease-in-out}.initializing .entry-orbit{transform:rotate(90deg);transition:transform 1.5s ease-in-out}.entry.gone{transform:scale(1.025);transition:opacity .9s,visibility .9s,transform .9s}
.sound-choice{margin-top:23px;font:10px Arial,sans-serif;color:#a7b49b;display:flex;align-items:center;gap:9px;cursor:pointer}.sound-choice input{accent-color:#b5c482;width:13px;height:13px}#sound-toggle{position:fixed;bottom:18px;right:22px;z-index:50;border:1px solid #8b988b55;background:#f7f7f4e8;color:#384339;padding:9px 13px;font:10px monospace;cursor:pointer}.bottom{padding-bottom:50px}@media(max-width:700px){#sound-toggle{bottom:8px;right:6%;font-size:9px;padding:6px 9px}.bottom{padding-bottom:36px}}
.entry .entry-name{font-family:'Courier New',Courier,monospace;letter-spacing:-.055em;font-weight:400}.entry{background-color:#101411}.entry:after{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#a3b88d07 1px,transparent 1px),linear-gradient(90deg,#a3b88d07 1px,transparent 1px);background-size:70px 70px}#hex-field{position:fixed;inset:0;z-index:-1;pointer-events:none}body{isolation:isolate;background:#f7f7f4}.stage{background:transparent}#sound-toggle{z-index:120;bottom:16px;right:22px;background:#202824;color:#dbe5ce;border-color:#95a47d66;padding:12px 16px}.locked #sound-toggle{color:#dbe5ce}.outro{position:relative}@media(pointer:fine){body,a,button,.scene{cursor:crosshair}}@media(prefers-reduced-motion:reduce){#hex-field{display:none}}
.word-cloud>a{font-size:14px;color:#59665c;text-decoration:underline;text-decoration-color:#59665c55;text-underline-offset:4px}.word-cloud>a:nth-child(3n+1){font-size:21px}.word-cloud>a:nth-child(3n+2){color:#93603e}a:hover,a:focus-visible{font-weight:700;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px}a:active{font-weight:700}.timeline a,.training a{text-decoration:underline;text-underline-offset:4px}@media(pointer:fine){a,button,input,label,.project a *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='32' viewBox='0 0 28 32'%3E%3Cpath d='M3 2 L3 24 L9 19 L14 29 L19 26 L14 16 L23 16 Z' fill='%23202b24' stroke='white' stroke-width='2'/%3E%3C/svg%3E") 3 2,pointer}}@media(max-width:700px){.word-cloud>a{font-size:11px}.word-cloud>a:nth-child(3n+1){font-size:16px}}
/* Keep the brain and interactions readable at small preview widths. */
.stage.detail .scene{opacity:1}.scene{opacity:.93}
a,button,input[type=checkbox],label[for],.sound-choice,.project a,.project a *,a span,a b,a img{cursor:pointer!important}
a:hover,a:focus-visible{color:#243f32;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-shadow:.3px 0 currentColor,-.3px 0 currentColor}
#points text{fill:#354b40}#hex-field{opacity:.42}
@media (hover:hover){a,button,input[type=checkbox],.sound-choice,.project a *{cursor:url('/link-cursor.svg') 3 2,pointer!important}}
/* Quiet link treatment: underline only on interaction, no weight jump. */
a,.word-cloud>a,.training a,.timeline a{ text-decoration:none;text-shadow:none;font-weight:400; }
a:hover,a:focus-visible,a:active,.word-cloud>a:hover,.training a:hover,.timeline a:hover{font-weight:400;text-shadow:none;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.brand,.brand:hover{font-weight:700}.role-nav a.active span{font-weight:400}
@media(pointer:fine){a,button,input[type=checkbox],label[for],.sound-choice,.project a,.project a *,a span,a b,a img{cursor:default!important}}
.world-preview video,.world-preview img{transition:opacity .65s ease}.world-preview.moving img{opacity:1}.world-preview video{z-index:1}.world-preview.moving video{opacity:1}

/* Shared pyramid identity in entry and navigation. */
.entry-logo{width:190px;height:175px;overflow:visible;color:#bbcbb4}.brand{display:flex;align-items:center;gap:12px}.header-logo{width:53px;height:49px;flex:none;color:#637c6d}.brand .brand-copy{display:block;font:inherit;letter-spacing:inherit}.brand .brand-copy>span{display:block}.entry .entry-name{margin-top:20px}@media(max-width:700px){.entry-logo{width:155px;height:145px}.header-logo{width:38px;height:38px}.brand{gap:7px}}

/* Spatial hierarchy: reserve the right half for terms and project worlds. */
.stage.detail .scene{width:43%;left:1%;height:72%;top:12%}
.word-cloud .term-chip{display:inline-block;font:400 13px/1.4 Arial,sans-serif;padding:7px 11px;border:1px solid #75877926;border-radius:16px;background:#eef1ec88;color:#4d5e52;cursor:default}
.word-cloud{gap:8px}.word-cloud .training{font-size:12px;line-height:1.7}
.entry .entry-name{font-family:'American Typewriter','Courier New',monospace;font-weight:400;letter-spacing:.025em;font-size:clamp(25px,3vw,38px)}
.entry-logo{filter:brightness(1.7)}
@media(max-width:700px){.stage.detail .scene{width:78%;left:11%;height:31%;top:5%}.word-cloud .term-chip{font-size:11px;padding:5px 8px}.role-content{top:38%}}
.word-cloud span.term-chip:nth-child(n){font:400 13px/1.4 Arial,sans-serif;color:#4d5e52}
.stage.detail .role-content{bottom:115px;overflow:auto;scrollbar-width:thin;padding-right:8px}.stage.detail .project{max-height:none;overflow:visible}
@media(max-width:700px){.stage{min-height:650px;height:100svh}.stage.detail .scene{top:4%;height:30%;width:88%;left:6%}.stage.detail .role-content{top:35%;bottom:105px}.word-cloud span.term-chip:nth-child(n){font-size:11px}.bottom{background:#f7f7f4f5;z-index:5;padding-bottom:20px}.scroll-hint{top:75px}}

/* Main-page sculpture: deeper graphite glass and restrained technical labels. */
#shape #faces polygon:nth-child(1){fill:#33443e;fill-opacity:.18}
#shape #faces polygon:nth-child(2){fill:#273b39;fill-opacity:.23}
#shape #faces polygon:nth-child(3){fill:#53615a;fill-opacity:.13}
#shape #faces polygon:nth-child(4){fill:#24332e;fill-opacity:.18}
#shape #edges line{stroke:url(#crystal-edge);stroke-width:1.45;stroke-linecap:round;filter:drop-shadow(0 0 1px #ffe4a688)}
#shape #points circle{stroke:#c4a35b;stroke-width:1.25;fill:#fff8de}
#shape #points text{font-family:monospace;font-size:14px;font-weight:500;letter-spacing:.35px;fill:#35443e}

/* A single warm glint follows every edge of the rotating sculpture. */
#edge-spark{pointer-events:none;filter:drop-shadow(0 0 3px #ffd66f) drop-shadow(0 0 7px #e7b84c99)}
@media(prefers-reduced-motion:reduce){#edge-spark{display:none}}

/* Entry sculpture matches the main pyramid's graphite glass and gold glint. */
.entry-logo{filter:none}
.entry-logo .logo-faces polygon:nth-child(1){fill:#33443e;fill-opacity:.18}
.entry-logo .logo-faces polygon:nth-child(2){fill:#273b39;fill-opacity:.23}
.entry-logo .logo-faces polygon:nth-child(3){fill:#53615a;fill-opacity:.13}
.entry-logo .logo-faces polygon:nth-child(4){fill:#24332e;fill-opacity:.18}
.entry-logo .logo-edges line{stroke:url(#crystal-edge);stroke-width:1.45;stroke-linecap:round;filter:drop-shadow(0 0 1px #ffe4a688)}
.entry-logo .logo-points circle{stroke:#c4a35b;stroke-width:1.25;fill:#fff8de}
.logo-spark{pointer-events:none;filter:drop-shadow(0 0 3px #ffd66f) drop-shadow(0 0 7px #e7b84c99)}
@media(prefers-reduced-motion:reduce){.logo-spark{display:none}}

/* Keep the discovery link reachable beneath the mobile section navigation. */
.scroll-hint{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 0;cursor:pointer!important}
@media(max-width:700px){
 header nav a{white-space:nowrap}
 .bottom{display:flex;flex-direction:column;gap:4px;padding:12px 0 max(8px,env(safe-area-inset-bottom))}
 .bottom .role-nav{order:0;flex:none;width:100%;margin:0}
 .bottom .scroll-hint{order:1;position:static;inset:auto;align-self:center;font-size:9px;min-height:44px}
 .stage.detail .role-content{bottom:155px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:700px){.stage:not(.detail) .scene{top:44%;height:34%}}

@media(max-width:700px){.steps section{height:70svh;min-height:0}.steps{padding-bottom:100svh}}

/* Mobile sections fit in one viewport; the document owns all scrolling. */
@media(max-width:700px){
 .stage.detail .scene{top:2%;height:22%}
 .stage.detail .role-content{top:26%;bottom:140px;overflow:visible;padding-right:0}
 .stage.detail .role-content .eyebrow{font-size:8px}
 .stage.detail .role-content h2{position:static;font-size:26px;line-height:1.1;margin:8px 0}
 .stage.detail .role-content>p{font-size:12px;line-height:1.4;margin:6px 0}
 .stage.detail .word-cloud{gap:5px;margin:10px 0}
 .stage.detail .word-cloud span.term-chip:nth-child(n){font-size:10px;line-height:1.3;padding:4px 7px}
 .stage.detail .word-cloud .training{font-size:9px;line-height:1.45;margin:4px 0 0}
 .stage.detail .project{overflow:visible;max-height:none;padding-top:4px}
 .stage.detail .project a{min-height:40px;padding:3px 0;gap:12px;font-size:11px;line-height:1.3}
 .stage.detail .world-preview{width:34px;height:34px}
}

.profile-language{display:flex;gap:4px;align-items:center;margin:0;font:11px monospace;letter-spacing:.06em}
.profile-language a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border:1px solid transparent;border-radius:3px}
.profile-language a[aria-current=page]{border-color:currentColor}
.entry .profile-language{position:absolute;top:24px;right:4%;color:#d7dfd4}
header>.profile-language{flex:none}
@media(max-width:700px){header{flex-wrap:wrap;gap:8px 16px}header>nav:not(.profile-language){margin-left:auto}header>.profile-language{position:absolute;right:6%;top:72px;font-size:10px}header>.profile-language a{min-width:34px;min-height:32px}.entry .profile-language{right:6%;top:20px}}
