/* V3 — type is a moving object, chrome is the only accent. */
:root{--ice:#EEF0F3;--blue:#9FD2E8;--ink:#050607}
html,body{background:var(--ink);color:var(--ice)}
.mono{font:400 11px/1.5 "JetBrains Mono",monospace;letter-spacing:.18em;text-transform:uppercase}
.hero-copy h1,.declaration h2,.strong-copy h2,.contact-copy h2,#done-title h2{font-family:Geist,sans-serif;font-weight:850;font-size:clamp(48px,7.5vw,116px);line-height:.94;letter-spacing:-.02em;margin:18px 0 0;text-transform:uppercase}
.resolve-char{display:inline-block;transform-origin:50% 50%;will-change:transform,opacity}
.resolve-rule{display:block;width:120px;height:1px;margin:24px 0 18px;background:linear-gradient(90deg,#fff,var(--blue));transform-origin:left}
.jp-copy{font:500 15px/1.9 "Zen Kaku Gothic New",sans-serif!important;max-width:580px!important;color:#EEF0F3bd!important;margin:0!important;letter-spacing:.02em}
.jp-mask{display:inline-block;overflow:hidden;vertical-align:top}.jp-mask>span{display:inline-block}
.scene-label{opacity:.6}.brand span{font-family:Geist,sans-serif;width:auto;letter-spacing:.15em;font-weight:800}
.hero-copy{left:5vw;bottom:8vh}.hero-copy h1{font-size:clamp(44px,6vw,90px)}
.declaration{left:8vw;max-width:850px}.declaration .mono{margin:0}
.strong-copy{left:5vw;bottom:7vh;max-width:940px}#scene4 .strong-copy{max-width:760px;bottom:6vh}#scene4 h2{font-size:clamp(48px,6.5vw,98px)}
#scene3{color:#15181F}#scene3 .jp-copy{color:#15181Fbb!important}#scene3 .resolve-rule{background:#15181F}
#scene5{color:var(--ice)}#scene5 .strong-copy{bottom:5vh}#scene5 h2{font-size:clamp(44px,5.7vw,88px)}
#intro{position:fixed;left:0;top:0;width:100%;height:100svh;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:19;pointer-events:none;transform-origin:center;will-change:transform}
.intro-name{font:850 clamp(32px,5vw,76px)/1 Geist,sans-serif;letter-spacing:.16em;text-shadow:0 2px 20px #000}.intro-char{display:inline-block}.intro-name+p{font:500 14px "Zen Kaku Gothic New";margin-top:20px}
#instrument{position:fixed;inset:19px;z-index:10;pointer-events:none;color:#fff;mix-blend-mode:difference}
#instrument i{position:absolute;width:12px;height:12px;border-color:#fff3;border-style:solid;border-width:1px 0 0 1px}
#instrument i:nth-child(1){top:0;left:0}#instrument i:nth-child(2){top:0;right:0;transform:rotate(90deg)}#instrument i:nth-child(3){bottom:0;right:0;transform:rotate(180deg)}#instrument i:nth-child(4){bottom:0;left:0;transform:rotate(270deg)}
#coordinates,#clock{position:absolute;bottom:10px;opacity:.35;font:400 11px "JetBrains Mono";letter-spacing:.08em}#coordinates{left:18px}#clock{right:18px}
body[data-scene="1"] #instrument:after,body[data-scene="5"] #instrument:after,body[data-scene="6"] #instrument:after{content:"";position:fixed;inset:0;background:linear-gradient(#fff0a 1px,transparent 1px),linear-gradient(90deg,#fff0a 1px,transparent 1px);background-size:80px 80px;z-index:-1;opacity:.5}
body.silence #instrument,body.silence #intro{visibility:hidden}
#market-outline{position:absolute;left:0;right:0;top:20%;height:1.1em;font:900 clamp(24px,9.1vw,180px)/1 Geist,sans-serif;letter-spacing:-.04em;white-space:nowrap;pointer-events:none;color:transparent;-webkit-text-stroke:1px #ffffff40;z-index:1}
#market-outline span{position:absolute;left:1vw}#market-outline span+span{-webkit-text-stroke-color:#fff;clip-path:inset(0 calc(100% - var(--fill,0%)) 0 0)}
#burst-tags{position:absolute;inset:0;pointer-events:none}#burst-tags span{position:absolute;top:40%;left:50%;color:#fffb;opacity:0}
#sculpture-control{position:absolute;left:0;top:8%;width:100%;height:64%;border:0;background:none;pointer-events:auto;cursor:grab;color:#EEF0F3;touch-action:pan-y}#sculpture-control:active{cursor:grabbing}#sculpture-control span{position:absolute;bottom:0;right:5vw;font-size:9px;opacity:.45}#identity{position:absolute;left:5vw;top:13%;opacity:.5}
#scene6{background:transparent;color:var(--ice);padding-top:110px}.contact-layout{grid-template-columns:1fr 1.04fr;gap:7vw;align-items:start;perspective:1100px}.contact-copy{padding-top:45px}.contact-copy h2{font-size:clamp(48px,6.5vw,96px)}
.glass{position:relative;padding:28px 32px 30px;border:1px solid #9FD2E83d;background:linear-gradient(130deg,#EEF0F30c,#0B0E14c9 50%,#9FD2E80c);box-shadow:inset 1px 0 0 #fff4,inset -1px 0 0 #9FD2E850,0 26px 80px #0007;transition:transform .4s;transform-style:preserve-3d}
.glass:before{content:"";position:absolute;top:-1px;left:0;width:70%;height:1px;background:linear-gradient(90deg,#9FD2E80a,#fff,#9FD2E805)}
.plate-top{display:flex;justify-content:space-between;gap:16px;font-size:9px;margin-bottom:26px;opacity:.65}#character-count{white-space:nowrap}
.field{margin-bottom:18px}.field label{font:400 11px/1.5 "JetBrains Mono","Zen Kaku Gothic New",monospace;letter-spacing:.12em;color:#EEF0F39c}.field input,.field textarea{color:var(--ice);border-bottom-color:#EEF0F32e}.field:after{background:linear-gradient(90deg,#9FD2E880,#fff,#9FD2E850);box-shadow:0 0 6px #9FD2E840}.consent input{accent-color:#9FD2E8}.consent{color:#EEF0F3b0}#send{color:var(--ice);border-image:linear-gradient(120deg,#9FD2E870,#fff,#15181F,#9FD2E8) 1;font-family:"JetBrains Mono","Zen Kaku Gothic New",monospace}#send:hover{background:#9FD2E80a}
.glass:has(form[aria-busy="true"]){transform:translateZ(-60px) rotateX(3deg)}
#done-title{min-height:430px;padding-top:120px}#done-title h2{font-size:clamp(34px,4.6vw,64px)}#done-title[hidden]{display:none}.company-facts,footer{border-color:#EEF0F324;color:#EEF0F3a0}.company-facts{font:400 11px/1.9 "JetBrains Mono","Zen Kaku Gothic New",monospace;margin-top:65px}.company-facts p{font-size:13px;margin-bottom:14px}dt{color:#EEF0F370}nav.light{color:#15181F}
body.no-webgl #scene5,body.no-webgl #scene6{background:#0B0E14}body.no-webgl #intro{display:none}body.no-webgl .resolve-char,body.no-webgl .jp-mask>span{opacity:1!important;transform:none!important}body.no-webgl #sculpture-control{display:none}
@media(max-width:767px){.hero-copy{left:24px;right:24px;bottom:12vh}.hero-copy h1{font-size:43px}.declaration{left:24px;right:24px}.declaration h2{font-size:64px}.strong-copy{left:24px;right:24px;bottom:10vh}.strong-copy h2{font-size:56px}.jp-copy{font-size:13px!important;line-height:1.8!important}.resolve-rule{margin:18px 0 14px;width:88px}#scene3 h2{font-size:50px}#scene4 h2{font-size:49px}#scene4 .strong-copy{bottom:8vh}#scene5 h2{font-size:45px}#scene5 .strong-copy{bottom:8vh}.intro-name{font-size:32px}.intro-name+p{font-size:11px}#scene6{padding:100px 24px 25px}.contact-copy{padding:0}.contact-copy h2{font-size:58px}.contact-copy p{margin-bottom:24px!important}.glass{padding:24px 20px}.plate-top{font-size:8px;letter-spacing:.08em}.contact-layout{display:block}.company-facts{margin-top:35px}#instrument{inset:10px}#coordinates,#clock{font-size:8px;bottom:5px}#identity{top:11%;left:24px}#sculpture-control span{right:24px;font-size:7px}.hint{bottom:38px}#done-title{min-height:320px;padding-top:80px}#market-outline{top:25%;font-size:9vw}.company-facts dt,.company-facts dd{font-size:10px}}
@media(prefers-reduced-motion:reduce){body:not(.force-motion) .glass{transition:none}body:not(.force-motion) .resolve-char,body:not(.force-motion) .jp-mask>span{will-change:auto}}

/* First visual correction: recover metal shading and make focus an illuminated edge. */
.field input:focus-visible,.field textarea:focus-visible{outline:none;border-bottom-color:#EEF0F3b0}
.field:focus-within label{color:#EEF0F3}.contact-copy{text-shadow:0 2px 18px #050607,0 1px 4px #050607}.jp-mask{max-width:100%}

/* Second visual correction: products read as objects, focus stays on the glass. */
#burst-tags span:before{content:"";display:inline-block;width:5px;height:5px;margin-right:8px;border-radius:50%;background:radial-gradient(circle at 30% 20%,#fff,#9FD2E8 35%,#15181F 65%,#fff);box-shadow:0 0 6px #9FD2E83d}
.contact-copy .jp-copy{position:relative;text-shadow:0 2px 4px #050607,0 0 12px #050607}
@media(max-width:767px){#sculpture-control span{bottom:16px}#scene5 .strong-copy{bottom:7.5vh}.glass{background:linear-gradient(130deg,#EEF0F309,#0B0E14dd 55%,#9FD2E809)}}
.floating-label{position:absolute;left:5vw;top:12vh;z-index:4;margin:0!important;pointer-events:none}#scene6>.floating-label{left:8vw;top:96px}#identity{left:auto;right:5vw;top:12vh}
@media(max-width:767px){.floating-label{left:24px;top:96px}#scene6>.floating-label{left:24px;top:76px}#identity{right:24px;top:96px}}
