@font-face{font-family:Oxanium;src:url('../fonts/oxanium.woff2') format('woff2');font-weight:400 600;font-display:swap}
@font-face{font-family:'Share Tech Mono';src:url('../fonts/share-tech-mono.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Source Han Sans JP';src:url('../fonts/source-han-sans-jp.woff2') format('woff2');font-weight:400 600;font-display:swap}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--c-tech-white);color:var(--c-gunmetal);font-family:var(--font-body);font-size:17px;line-height:1.95;letter-spacing:.01em}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto;object-fit:contain;min-width:0}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.25}h1{font-size:40px;letter-spacing:.05em}h2{font-size:28px;letter-spacing:.06em}h3{font-size:24px;letter-spacing:.04em}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:rgba(34,217,234,.15)}a:active,button:active{opacity:.78}a:focus-visible,button:focus-visible{outline:2px solid var(--c-gunmetal);outline-offset:3px;background-color:#e4f9fa}[hidden]{display:none!important}section[id]{scroll-margin-top:calc(var(--header-h) + 16px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.container{width:calc(100% - 64px);max-width:1320px;margin-inline:auto;min-width:0}.eyebrow{font-family:var(--font-ui);font-size:13px;line-height:1.6;letter-spacing:.12em}.concept{font-family:var(--font-display);font-weight:500;font-size:clamp(18px,2vw,28px);line-height:1.55;letter-spacing:.015em;word-break:normal;overflow-wrap:normal}.skip-link{position:fixed;top:8px;left:16px;z-index:200;background:white;padding:8px 16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
@media(min-width:1440px){.container{width:calc(100% - 96px)}}
@media(max-width:1023px){:root{--header-h:calc(64px + env(safe-area-inset-top))}.container{width:calc(100% - 48px)}}
@media(max-width:767px){body{font-size:16px;line-height:1.9}.container{width:calc(100% - 40px)}h1{font-size:32px}h2{font-size:24px}.concept{font-size:20px}}
@media(max-width:359px){.container{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}[data-boot]{display:none!important}[data-hero-content]{opacity:1;visibility:visible}}
