.simulation-object{--tx:0;--ty:0;aspect-ratio:1;pointer-events:auto;-webkit-user-select:none;user-select:none;perspective:900px;mix-blend-mode:lighten;width:100%;display:block;position:relative}.simulation-object .so-float{width:100%;height:100%;animation:so-float 9s var(--ease-in-out) infinite;transform-style:preserve-3d;display:block}.simulation-object .so-tilt{width:100%;height:100%;transform:rotateX(calc(var(--ty) * -9deg)) rotateY(calc(var(--tx) * 12deg)) translateZ(0);will-change:transform;display:block;position:relative;-webkit-mask-image:radial-gradient(circle,#000 58%,#0000 74%);mask-image:radial-gradient(circle,#000 58%,#0000 74%)}.simulation-object img{object-fit:contain;width:100%;height:100%;transform:translate(calc(var(--tx) * -1.2%), calc(var(--ty) * -1.2%));display:block}.simulation-object .so-tilt:after{content:"";background:radial-gradient(circle at calc(50% + var(--tx) * 34%) calc(50% + var(--ty) * 34%), #f3f3f333, #f3f3f30d 26%, transparent 52%);opacity:calc(min(1, (var(--tx) * var(--tx) + var(--ty) * var(--ty)) * 2.2));pointer-events:none;position:absolute;inset:0}.simulation-object:before{content:"";height:8%;animation:so-ground 9s var(--ease-in-out) infinite;pointer-events:none;background:radial-gradient(#f3f3f317,#0000 70%);border-radius:50%;position:absolute;bottom:6%;left:22%;right:22%}@keyframes so-float{0%,to{transform:translateY(0)rotateY(0)}50%{transform:translateY(-2.4%)rotateY(2.5deg)}}@keyframes so-ground{0%,to{opacity:1;transform:scaleX(1)}50%{opacity:.55;transform:scaleX(.86)}}@media (prefers-reduced-motion:reduce){.simulation-object .so-float,.simulation-object:before{animation:none}.simulation-object .so-tilt,.simulation-object img{transform:none}.simulation-object .so-tilt:after{display:none}}
.about-intro{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:end;gap:60px;padding:20px 0 64px;display:grid}.about-label{color:var(--ash);margin:0 0 24px;font-size:12px}.about-statement{font:700 clamp(34px, 3.8vw, 48px) / 1.4 var(--f-disp);letter-spacing:-.045em;margin:0}.about-overview{padding-bottom:6px}.about-overview .about-label{margin-bottom:16px}.about-overview .p-sec{max-width:28em;margin:0;font-size:14px}.about-page .models{border-top:1px solid var(--rule-2);grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:0 0 8px;padding:0 0 40px;list-style:none;display:grid}.about-page .models li{padding-top:8px}.about-page .models .simulation-object{width:78%;margin:0 auto 6px}.about-page .model-step{color:var(--ash);margin:0 0 6px;font-size:12px}.about-page .models h2{font:500 16px / 1.5 var(--f-body);letter-spacing:-.02em;margin:0}.about-page .models p:last-child{color:var(--ash);max-width:30em;margin:8px 0 0;font-size:13.4px;line-height:1.8}.about-page .models-note{color:var(--dust);margin:0 0 44px;font-size:12.5px}.about-page .steps{border-top:1px solid var(--rule-2);margin:0;padding:0;list-style:none}.about-page .steps li{border-bottom:1px solid var(--rule);grid-template-columns:44px minmax(150px,.65fr) minmax(0,1.35fr);gap:24px;padding:28px 0;display:grid}.about-page .step-number{font:700 22px / 1.5 var(--f-disp);color:var(--ash);font-variant-numeric:tabular-nums}.about-page .steps h2{margin:2px 0 0;font-size:16px;font-weight:500;line-height:1.6}.about-page .steps h2 span{color:var(--ash);margin-top:6px;font-size:11px;font-weight:400;display:block}.about-page .steps p{color:var(--ash);max-width:64ch;margin:0;font-size:14px;line-height:1.85}.about-page .limits{color:var(--ash);max-width:64ch;margin:18px 0 0;padding-left:1.2em;font-size:14.2px;line-height:1.8}.about-page .limits li{margin-bottom:8px}.about-page .limits li::marker{color:var(--seal)}@media (max-width:760px){.about-page .models{grid-template-columns:1fr;gap:28px;padding-bottom:24px}.about-page .models .simulation-object{width:62%}.about-page .models p:last-child{max-width:none}.about-intro{grid-template-columns:1fr;gap:30px;padding:4px 0 36px}.about-statement{font-size:clamp(30px,8.7vw,40px)}.about-overview{padding:0}.about-overview .p-sec{max-width:40em;font-size:13px}.about-page .steps li{grid-template-columns:30px minmax(0,1fr);gap:12px 16px;padding:24px 0}.about-page .steps h2{flex-wrap:wrap;align-items:baseline;gap:5px 12px;display:flex}.about-page .steps h2 span{margin:0}.about-page .steps p{grid-column:2;font-size:13px}}
