@font-face{font-family:Manrope;src:url('/assets/manrope.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
:root{--paper:#fff;--ink:#131519;--navy:#112446;--surface:#f0f1f3;--subtle:#646870;--gutter:clamp(20px,3.1vw,56px);--ease:cubic-bezier(.22,1,.36,1);--small:14px;--body:17px;--lead:clamp(20px,2vw,27px);--heading:clamp(42px,5.2vw,76px);--display:clamp(66px,7.25vw,110px)}
*{box-sizing:border-box}html{scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:var(--navy);color:white}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;cursor:pointer;background:none;-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--navy);outline-offset:5px}button:disabled{cursor:default;opacity:.45}svg{display:block;width:24px;height:24px}h1,h2,p{margin:0}h1,h2{font-weight:500;letter-spacing:-.065em;line-height:1.02;text-wrap:balance}p{text-wrap:pretty}.page-gutter{padding-left:var(--gutter);padding-right:var(--gutter)}.svg-defs,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:20px;background:var(--ink);color:#fff;padding:12px 20px;z-index:100}.skip-link:focus{top:12px}.site-header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;gap:48px;position:sticky;top:0;z-index:30;background:var(--paper)}.wordmark{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:650;letter-spacing:-1.3px;line-height:1}.wordmark svg{width:36px;height:36px;transition:transform .6s var(--ease)}.wordmark:hover svg{transform:rotate(60deg)}nav{display:flex;gap:32px;margin-left:auto}nav a{font-size:var(--small);position:relative;padding:10px 0}nav a:after,.text-link:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}nav a:hover:after,.text-link:hover:after{transform:scaleX(1);transform-origin:left}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;white-space:nowrap;border-radius:100px;padding:13px 23px;background:var(--ink);color:white;font-size:var(--small);line-height:1.5;min-height:48px;transition:transform .2s var(--ease),background .2s}.button svg{width:17px;height:17px;transition:transform .35s var(--ease)}.button:hover{background:var(--navy)}.button:hover svg{transform:translate(2px,-2px)}.button:active{transform:scale(.95)}.hero-head{display:grid;grid-template-columns:1.7fr 1fr;align-items:end;gap:48px;padding-top:36px;padding-bottom:54px}h1{font-size:var(--display)}.line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.line>span{display:block}.hero-summary{max-width:310px;padding-bottom:6px;justify-self:end}.hero-summary p{font-size:var(--body);line-height:1.6}.text-link{display:inline-flex;gap:14px;align-items:center;position:relative;font-size:var(--small);padding:10px 0}.text-link svg{height:16px;width:16px;transition:transform .3s var(--ease)}.text-link:hover svg{transform:translate(2px,-2px)}.hero-summary .text-link{margin-top:15px}.experience{height:270vh;position:relative;padding-bottom:88px}.stage{position:sticky;top:112px;isolation:isolate;height:clamp(460px,65dvh,720px);overflow:hidden;background:var(--surface);border-radius:24px}.stage-top{position:absolute;top:24px;left:28px;right:24px;display:flex;align-items:center;justify-content:space-between;z-index:4;pointer-events:none}.stage-name{font-size:var(--small);display:flex;align-items:center;gap:9px}.stage-name svg{height:20px;width:20px}.stage-tools{display:flex;gap:8px;pointer-events:auto}.icon-button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.8);transition:background .2s,transform .2s var(--ease)}.icon-button svg{width:19px;height:19px}.icon-button:hover{background:#fff;transform:rotate(-8deg)}.icon-button:active{transform:scale(.88)}.scene{position:absolute;inset:0;cursor:grab;touch-action:pan-y;outline:none}.scene.is-dragging{cursor:grabbing}.scene canvas,.scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scene canvas{opacity:0;transition:opacity .6s}.scene.ready canvas{opacity:1}.scene.ready>img{opacity:0;transition:opacity .6s}.scene-loading{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;padding:13px 18px;border-radius:99px;background:rgba(255,255,255,.93);font-size:var(--small);transition:opacity .3s}.scene-loading span{width:12px;height:12px;border:1.5px solid #c4c6ca;border-top-color:var(--navy);border-radius:50%;animation:spin 1s linear infinite}.scene.ready .scene-loading,.scene.failed .scene-loading{opacity:0;pointer-events:none}.stage-caption{position:absolute;bottom:98px;left:28px;pointer-events:none;z-index:3}.stage-caption p{font-size:var(--lead);font-weight:500;letter-spacing:-.045em;margin-bottom:4px}.stage-caption>span{font-size:var(--small);color:#51565d}.stage-bottom{position:absolute;bottom:22px;left:24px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:4}.scatter-button{font-size:var(--small);display:flex;align-items:center;gap:13px;padding:10px 0}.scatter-button svg{width:16px;height:16px;transition:transform .3s}.scatter-button:hover svg{transform:rotate(90deg)}.scroll-footnote{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:24px;font-size:var(--small);color:var(--subtle);padding-top:28px;padding-bottom:0}.approach{padding-top:170px;padding-bottom:150px}.approach-intro{display:grid;grid-template-columns:1.7fr 1fr;gap:48px;align-items:end;margin-bottom:60px}.approach h2{font-size:var(--heading);max-width:750px}.approach-intro>p{max-width:315px;justify-self:end}.system-map{background:#f7f7f8;border-radius:24px;padding:28px 44px 40px;overflow:hidden}.map-drawing{position:relative;max-width:1100px;margin:auto}.map-drawing>svg{width:100%;height:auto;overflow:visible}.map-node{position:absolute;border-radius:99px;background:white;display:flex;align-items:center;gap:12px;padding:11px 19px;font-size:var(--small);transition:transform .25s var(--ease),background .25s,color .25s}.map-node span{width:6px;height:6px;border-radius:50%;background:var(--navy);transition:transform .25s,background .25s}.map-node[aria-pressed=true]{background:var(--navy);color:white}.map-node[aria-pressed=true] span{background:white}.map-node:hover{transform:translateY(-4px)}.map-node:active{transform:scale(.94)}.node-form{left:3.7%;top:60%}.node-motion{left:59%;top:25%}.node-response{right:3%;bottom:3%}.map-copy{display:grid;grid-template-columns:1.7fr 1fr;gap:60px;align-items:end;margin-top:26px}.map-word{font-size:clamp(64px,9vw,136px);font-weight:500;letter-spacing:-.075em;line-height:1}.map-copy p{max-width:360px}.map-instruction{font-size:var(--small);color:var(--subtle);display:block;margin-top:24px}.contact{padding-top:40px;padding-bottom:120px}.contact-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:80px}.contact-mark{width:75px;height:75px;transform:rotate(-15deg)}.contact-top p{font-size:var(--body);width:315px}.contact-main{display:flex;align-items:center;justify-content:space-between;gap:48px}.contact h2{font-size:clamp(76px,10vw,154px);letter-spacing:-.075em;line-height:1.03}.round-talk{height:clamp(170px,19vw,290px);width:clamp(170px,19vw,290px);background:var(--navy);color:white;flex-shrink:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;font-size:var(--body);transition:transform .5s var(--ease),background .3s}.round-talk svg{width:44px;height:44px;transition:transform .5s var(--ease)}.round-talk:hover{transform:rotate(-8deg);background:var(--ink)}.round-talk:hover svg{transform:translate(5px,-5px)}.round-talk:active{transform:scale(.95)}footer{padding-top:60px;padding-bottom:28px;background:#f7f7f8;overflow:hidden}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:var(--small);gap:20px}.footer-wordmark{display:flex;align-items:flex-start;white-space:nowrap;font-size:24.2vw;line-height:1.25;font-weight:600;letter-spacing:-.085em;margin-left:-.01em;margin-top:26px;margin-bottom:18px}.footer-wordmark span{font-size:1.6vw;letter-spacing:0;margin-top:3vw;margin-left:1.8vw}.footer-bottom{color:var(--subtle)}dialog{border:0;padding:34px 40px 28px;border-radius:24px;width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 32px);color:var(--ink);background:white;overflow:auto}dialog::backdrop{background:rgba(17,22,33,.32);backdrop-filter:blur(8px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.dialog-top>svg{width:36px;height:36px}.dialog-top .icon-button{background:var(--surface)}dialog h2{font-size:clamp(42px,6vw,68px);margin-bottom:22px}dialog>p{font-size:var(--body)}.idea-options{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0}.idea-options button{padding:12px 18px;background:var(--surface);border-radius:99px;font-size:var(--small);transition:transform .2s,background .2s,color .2s}.idea-options button:hover{background:#e2e5e9}.idea-options button[aria-pressed=true]{background:var(--navy);color:white}.idea-options button:active{transform:scale(.95)}.idea-response{min-height:54px}.dialog-note{display:block;color:var(--subtle);font-size:13px;margin-top:28px}.ripple{position:absolute;width:16px;height:16px;border:1px solid rgba(17,36,70,.4);border-radius:50%;pointer-events:none;z-index:2;animation:ripple .85s var(--ease) forwards}.scene.failed~.stage-caption{background:rgba(240,241,243,.9);border-radius:16px;padding:8px 12px;left:16px}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ripple{from{opacity:.7;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(12)}}@keyframes line-rise{from{transform:translateY(110%)}to{transform:none}}@keyframes intro-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){h1 .line>span{animation:line-rise 1.05s var(--ease) both}h1 .line:nth-child(2)>span{animation-delay:.1s}.hero-summary{animation:intro-in 1s .25s var(--ease) both}.stage{animation:intro-in 1.1s .3s var(--ease) both}}
@media(min-width:1800px){.hero-head{padding-top:60px;padding-bottom:70px}.stage{max-height:800px}.hero-summary{max-width:370px}}@media(max-width:1023px){.site-header{height:86px;gap:28px}.hero-head{padding-top:32px;padding-bottom:42px;gap:28px;grid-template-columns:1.5fr 1fr}.hero-summary{max-width:270px}.hero-summary p{font-size:15px}h1{font-size:clamp(58px,7.3vw,80px)}.stage{top:98px;height:clamp(470px,64dvh,650px)}.stage-caption{bottom:92px}.scatter-button{font-size:13px}.approach-intro{gap:32px}.approach-intro>p{font-size:15px}.map-copy{grid-template-columns:1.3fr 1fr;gap:32px}.system-map{padding:24px 28px 32px}.contact-top p{width:270px}.approach{padding-top:130px;padding-bottom:120px}}
@media(max-width:767px){:root{--body:16px;--small:13px}.site-header{height:80px;gap:16px}.wordmark{font-size:24px;gap:7px}.wordmark svg{width:30px;height:30px}nav{display:none}.talk-button{margin-left:auto;padding:11px 17px;gap:18px;min-height:44px}.hero-head{display:block;padding-top:30px;padding-bottom:32px}h1{font-size:clamp(55px,10.4vw,80px);letter-spacing:-.065em}.hero-summary{max-width:390px;margin-top:28px;display:flex;gap:24px;align-items:flex-end;justify-self:auto}.hero-summary p{font-size:14px;max-width:230px;line-height:1.6}.hero-summary .text-link{font-size:13px;flex-shrink:0;margin:0;gap:8px}.hero-summary .text-link svg{width:13px;height:13px}.experience{height:240vh;padding-bottom:72px}.stage{top:88px;height:min(72dvh,660px);min-height:470px;border-radius:20px}.stage-top{left:18px;right:16px;top:16px}.stage-name{font-size:13px;gap:7px}.stage-tools{gap:5px}.icon-button{height:35px;width:35px}.stage-caption{left:20px;bottom:138px}.stage-caption p{font-size:22px}.stage-caption>span{font-size:12px}.stage-bottom{left:14px;right:14px;bottom:16px;flex-wrap:wrap;gap:8px}.scatter-button{font-size:13px;margin-left:auto;padding:10px 6px}.scroll-footnote{font-size:12px;gap:32px}.scroll-footnote>span{max-width:145px}.scroll-footnote>span:last-child{text-align:right}.approach{padding-top:112px;padding-bottom:104px}.approach-intro{display:block;margin-bottom:40px}.approach h2{font-size:clamp(38px,7.2vw,56px);letter-spacing:-.055em}.approach-intro>p{font-size:16px;max-width:310px;margin-top:28px;justify-self:auto}.system-map{padding:16px 20px 30px;border-radius:20px}.map-drawing{margin:24px -50px 38px;height:260px}.map-drawing>svg{height:260px;width:100%}.map-node{font-size:12px;padding:9px 12px;gap:8px}.node-form{left:11%;top:62%}.node-motion{left:56%;top:20%}.node-response{right:10%;bottom:0}.map-copy{display:block;margin-top:25px}.map-word{font-size:72px;display:block;margin-bottom:28px}.map-copy p{font-size:16px}.map-instruction{font-size:12px;margin-top:20px}.contact{padding-top:16px;padding-bottom:80px}.contact-top{margin-bottom:48px;gap:28px}.contact-mark{width:52px;height:52px}.contact-top p{font-size:14px;width:auto}.contact-main{display:block}.contact h2{font-size:clamp(61px,11.4vw,90px);letter-spacing:-.07em}.round-talk{width:142px;height:142px;gap:14px;font-size:14px;margin-top:38px;margin-left:auto}.round-talk svg{width:34px;height:34px}footer{padding-top:34px;padding-bottom:22px}.footer-top,.footer-bottom{font-size:12px}.footer-top .text-link{font-size:12px;gap:8px}.footer-wordmark{font-size:23vw;margin-top:30px;margin-bottom:22px}.footer-wordmark span{font-size:12px;margin-top:3vw;margin-left:10px}dialog{padding:24px}.dialog-top{margin-bottom:28px}}
@media(max-width:380px){h1{font-size:clamp(46px,14vw,53px)}.contact h2{font-size:clamp(49px,14.4vw,55px)}.hero-summary{display:block}.hero-summary .text-link{margin-top:12px}.hero-summary p{max-width:280px}.stage-caption p{font-size:20px}.talk-button{gap:12px;padding:11px 14px}.wordmark{font-size:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.experience{height:auto;padding-bottom:0}.stage{position:relative;top:0}.scroll-footnote{position:static;padding-top:22px}.scene-loading span{display:none}}

/* Refinement: satin forms in a dark window, a quiet lavender-white shell. */
:root{--paper:#faf9fc;--ink:#16151b;--navy:#1a294c;--surface:#eeedf3;--subtle:#686570;--header-height:100px}
.site-header{background:rgba(250,249,252,.96)}
.wordmark svg{transition:none;transform-origin:center;will-change:transform}.wordmark:hover svg{transform:none}
.stage{background:#090c15;color:#f0eff6;height:clamp(470px,68dvh,760px);box-shadow:0 24px 65px -35px rgba(21,21,37,.25)}
.stage-top{top:22px;left:26px}.stage-name{color:#e3e1eb}.stage-name svg{width:22px;height:22px}
.stage-tools{padding:4px;border-radius:100px;background:rgba(255,255,255,.055);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.09)}
.stage-tools .icon-button{background:transparent;color:#eeedf7;width:36px;height:36px}.stage-tools .icon-button:hover{background:rgba(255,255,255,.09)}
.stage button:focus-visible{outline-color:#a9ceff}
.stage-caption{bottom:90px;left:28px}.stage-caption>span{color:#aaa8b9}.stage-caption p{font-size:clamp(20px,2vw,27px)}
.stage-bottom{left:28px;right:24px;bottom:24px}.interaction-note{font-size:13px;color:#a5a3b3}
.scatter-button{padding:12px 18px;gap:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);border-radius:100px;color:#eeedf8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .2s var(--ease),background .25s,border-color .25s}
.scatter-button:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.2)}.scatter-button:active{transform:scale(.96)}
.scene-loading{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#d4d1e3}.scene-loading span{border-color:#484859;border-top-color:#c0c8e2}
.scene.failed~.stage-caption{background:rgba(9,12,21,.8)}
.waveform{display:inline-flex;align-items:center;justify-content:center;gap:3px;width:24px;height:18px;flex:none;vertical-align:middle;pointer-events:none}
.waveform i{display:block;width:2px;height:13px;background:currentColor;border-radius:2px;transform-origin:center;animation:wave-breathe 1.35s ease-in-out infinite;animation-delay:calc(var(--i)*-.19s)}
.waveform i:nth-child(2){height:9px}.waveform i:nth-child(3){height:16px}.waveform i:nth-child(4){height:11px}.waveform i:nth-child(5){height:7px}
button:hover .waveform i,button:focus-visible .waveform i{animation-duration:.65s}button:active .waveform{transform:scale(.85)}
.offscreen .waveform i{animation-play-state:paused}.motion-is-paused .scatter-button .waveform i{animation-play-state:paused}
.talk-button{gap:19px;background:var(--ink)}.talk-button:hover{background:#34313f}
.talk-button>svg{width:15px;height:15px}.talk-button .waveform{width:21px;gap:2.5px;height:16px}.talk-button .waveform i{height:11px}.talk-button .waveform i:nth-child(3){height:15px}
.approach{height:290svh;padding-top:0;padding-bottom:0;margin-top:100px;position:relative}
.map-stage{position:sticky;top:calc(var(--header-height) + 10px);height:calc(100svh - var(--header-height) - 28px);padding:18px 0 28px;display:flex;flex-direction:column;justify-content:space-between;perspective:1100px}
.approach-intro{grid-template-columns:1.7fr 1fr;gap:48px;margin-bottom:0;flex-shrink:0}
.approach h2{font-size:clamp(40px,4.2vw,62px);letter-spacing:-.058em}.approach-intro>p{max-width:310px;line-height:1.5}
.system-map{background:none;border-radius:0;padding:0;overflow:visible;flex:1;display:flex;flex-direction:column;min-height:0;justify-content:space-between;perspective:1100px}
.map-drawing{width:100%;max-width:1120px;flex:1;min-height:0;margin:12px auto 4px;position:relative;transform-style:preserve-3d;will-change:transform;transform-origin:center}
.map-drawing>svg{width:100%;height:100%;overflow:visible;position:absolute;inset:0}
.map-orbits{opacity:.3}.route-bed{opacity:.35}.map-node{padding:12px 20px;font-size:14px;border:1px solid rgba(25,25,45,.07);background:rgba(250,249,252,.75);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#4b4b5b;transform:translate(-50%,-50%);white-space:nowrap;z-index:3;box-shadow:0 8px 26px -16px rgba(29,43,75,.25);transition:background .3s,color .3s,box-shadow .3s}
.map-node span{height:5px;width:5px;background:#91b3e3}.map-node[aria-pressed=true]{background:var(--ink);color:#fff;border-color:transparent;box-shadow:0 9px 24px -10px rgba(24,27,49,.35)}
.map-node:hover{transform:translate(-50%,-50%);background:#edf1fa;color:var(--ink);box-shadow:0 10px 32px -15px rgba(62,90,150,.4)}.map-node[aria-pressed=true]:hover{background:#34313f;color:white}.map-node:active{transform:translate(-50%,-50%) scale(.95)}
.node-form{left:10.5%;top:61%}.node-motion{left:55%;top:70%}.node-response{left:83%;top:83%;right:auto;bottom:auto}
.map-copy{grid-template-columns:1.7fr 1fr;gap:48px;margin-top:0;align-items:end;flex-shrink:0;padding-top:12px;position:relative;z-index:3;pointer-events:none}
.map-word{font-size:clamp(64px,7.8vw,116px);line-height:1.1}.map-copy>div{min-height:110px;display:flex;flex-direction:column;justify-content:flex-end}.map-copy p{font-size:16px;max-width:330px;line-height:1.5}.map-instruction{font-size:13px;margin-top:14px;color:var(--subtle)}
.contact{padding-top:100px}.contact-mark{transform:none;will-change:transform}.round-talk{background:var(--ink);position:relative;overflow:hidden;isolation:isolate}.round-talk:before{content:'';position:absolute;inset:8px;border-radius:50%;border:1px solid rgba(255,255,255,.16);opacity:0;transform:scale(.93);transition:opacity .35s,transform .6s var(--ease)}.round-talk:hover{background:#25232d}.round-talk:hover:before{opacity:1;transform:scale(1)}
.talk-label{display:flex;align-items:center;gap:15px}.round-talk .waveform{width:27px}.round-talk .waveform i{height:17px}.round-talk .waveform i:nth-child(2){height:11px}.round-talk .waveform i:nth-child(5){height:10px}
footer{background:#efedf4}.icon-button:active,.idea-options button:active{transform:scale(.9)}dialog{background:var(--paper)}dialog::backdrop{background:rgba(14,16,29,.25);backdrop-filter:blur(12px)}
.interaction-ripple{position:fixed;left:0;top:0;width:24px;height:24px;border:1px solid rgba(103,143,202,.55);background:rgba(191,219,251,.035);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border-radius:50%;pointer-events:none;z-index:90;animation:glass-ripple .62s var(--ease) forwards;will-change:transform,opacity}.interaction-ripple.on-dark{border-color:rgba(180,209,250,.6);background:rgba(210,230,255,.025)}
@keyframes wave-breathe{0%,100%{transform:scaleY(.4)}45%{transform:scaleY(1)}75%{transform:scaleY(.62)}}
@keyframes glass-ripple{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}12%{opacity:.9}100%{opacity:0;transform:translate(-50%,-50%) scale(3.6)}}
@media(max-width:1023px){:root{--header-height:86px}.approach{height:280svh;margin-top:88px}.approach-intro{gap:28px}.approach h2{font-size:clamp(37px,4.7vw,48px)}.map-copy{grid-template-columns:1.2fr 1fr;gap:28px}.map-word{font-size:78px}.map-copy p{font-size:15px}.stage{top:98px}.talk-button{gap:15px}}
@media(max-width:767px){:root{--header-height:80px}.site-header{background:rgba(250,249,252,.97)}.talk-button{gap:13px;padding:11px 16px}.talk-button>svg{display:none}.talk-button .waveform{width:20px}.stage{height:min(72dvh,680px);min-height:470px;top:88px}.stage-top{top:15px;left:18px;right:14px}.stage-tools{gap:1px;padding:3px}.stage-tools .icon-button{width:33px;height:33px}.stage-caption{left:20px;bottom:91px}.stage-caption p{font-size:20px}.stage-caption>span{font-size:12px}.stage-bottom{left:20px;right:16px;bottom:20px;flex-wrap:nowrap;gap:10px}.interaction-note{font-size:11px;max-width:96px}.scatter-button{font-size:12px;gap:12px;padding:11px 14px;flex-shrink:0}.scatter-button .waveform{width:21px;gap:2.5px}
.approach{height:280svh;margin-top:82px}.map-stage{height:calc(100svh - 100px);top:90px;padding:12px 0 16px;gap:12px}.approach-intro{display:block}.approach h2{font-size:clamp(34px,8vw,44px);line-height:1.03}.approach-intro>p{font-size:14px;line-height:1.5;max-width:300px;margin-top:16px}.system-map{padding:0;min-height:0}.map-drawing{margin:0 -10px;width:calc(100% + 20px);height:auto;max-width:none;flex:1;min-height:160px}.map-drawing>svg{width:100%;height:100%;position:absolute}.map-node{padding:9px 13px;font-size:12px;gap:8px}.map-copy{display:grid;grid-template-columns:1fr;gap:10px;padding-top:2px;min-height:141px}.map-word{font-size:58px;margin:0;line-height:1}.map-copy>div{min-height:71px;justify-content:flex-start}.map-copy p{font-size:14px;max-width:340px;line-height:1.5}.map-instruction{font-size:11px;margin-top:9px}.contact{padding-top:84px}.round-talk .talk-label{gap:10px}.round-talk .waveform{width:21px;gap:2.5px}.round-talk .waveform i{height:12px}}
@media(max-height:720px) and (min-width:768px){.map-stage{padding-top:4px;padding-bottom:10px}.approach h2{font-size:42px}.approach-intro>p{font-size:14px}.map-copy>div{min-height:76px}.map-word{font-size:64px}.map-copy p{font-size:14px}.map-instruction{margin-top:9px}.map-copy{padding-top:4px}}
@media(max-height:690px) and (max-width:767px){.map-stage{gap:7px}.approach h2{font-size:31px}.approach-intro>p{font-size:12px;max-width:280px;margin-top:10px}.map-copy{min-height:113px;gap:5px}.map-word{font-size:46px}.map-copy p{font-size:12px}.map-copy>div{min-height:61px}.map-drawing{min-height:132px}.map-node{font-size:11px;padding:8px 10px}}
@media(prefers-reduced-transparency:reduce){.stage-tools,.scatter-button{background:#1d202d;backdrop-filter:none}.map-node{background:var(--paper);backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.approach{height:auto;margin-top:80px}.map-stage{height:auto;position:relative;top:0;gap:30px}.map-drawing{height:340px;min-height:260px;flex:auto}.map-copy{margin-top:20px}.contact{padding-top:80px}.interaction-ripple{display:none}.waveform i{animation:none;transform:scaleY(.65)}}
.site-header.has-scrolled{background:rgba(250,249,252,.8);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
@media(prefers-reduced-transparency:reduce){.site-header.has-scrolled{background:var(--paper);backdrop-filter:none}}
.scene>picture{position:absolute;inset:0;width:100%;height:100%;display:block;transition:opacity .6s}.scene>picture img{width:100%;height:100%;object-fit:cover;display:block}.scene.ready>picture{opacity:0;pointer-events:none}.wordmark{transition:opacity .2s}.wordmark:hover{opacity:.73}
@media(prefers-reduced-motion:reduce){.scene>picture{transition:none}}
body{overflow-x:clip}
.map-orbits path{vector-effect:non-scaling-stroke}
