:root{--brand:#2f6df0;--ink:#111110;--muted:#8a8a82;--bg:#f5f5f2;--r:3px;--maxw:1280px;--pad:clamp(20px, 5vw, 56px);--sans:"Zen Kaku Gothic New", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-weight:400;line-height:1.5}a{color:inherit;text-decoration:none}::selection{background:var(--ink);color:var(--bg)}:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:2px}.dot{color:var(--brand)}.screen{min-height:100svh;max-width:var(--maxw);padding:clamp(20px, 3vw, 36px) var(--pad) clamp(24px, 3vw, 40px);grid-template-rows:auto 1fr auto;gap:clamp(24px,4vh,56px);margin:0 auto;display:grid}.row{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.mark{letter-spacing:-.02em;font-size:18px;font-weight:900}.link{font-family:var(--mono);letter-spacing:.02em;color:var(--muted);font-size:12.5px;transition:color .2s;position:relative}.link:hover{color:var(--ink)}.link:after{content:"";background:currentColor;height:1px;transition:right .3s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-3px;left:0;right:100%}.link:hover:after{right:0}.top-right{align-items:center;gap:clamp(12px,2vw,22px);display:flex}.lang-switch{background:color-mix(in srgb, var(--ink) 7%, transparent);font-family:var(--mono);letter-spacing:.03em;border-radius:999px;align-items:center;gap:2px;padding:3px;font-size:11px;display:inline-flex}.lang{color:var(--muted);white-space:nowrap;border-radius:999px;padding:4px 9px;line-height:1;transition:color .18s,background-color .18s,box-shadow .18s}.lang:hover{color:var(--ink)}.lang.is-active{color:var(--brand);background:#fff;box-shadow:0 1px 2px #1111101a}.center{text-align:center;align-content:center;justify-items:center;display:grid}.kicker{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:11px;margin-bottom:clamp(18px,2.6vw,28px);font-size:12px;font-weight:500;display:inline-flex}.kicker:before{content:"";background:var(--brand);border-radius:50%;width:6px;height:6px}.center h1{letter-spacing:-.05em;font-size:clamp(40px,8vw,96px);font-weight:900;line-height:1.03;animation:.9s cubic-bezier(.22,1,.36,1) both rise}.hero-sub{max-width:40ch;color:var(--muted);text-wrap:balance;margin-top:clamp(20px,2.6vw,30px);font-size:clamp(14px,1.6vw,16px);line-height:1.8}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.base{gap:clamp(20px,2.6vw,32px);display:grid}.cols{grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,48px);display:grid}.col{align-content:start;gap:6px;display:grid}.c-top{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px}.c-n{color:var(--brand)}.c-ja{letter-spacing:-.01em;font-size:clamp(16px,1.9vw,19px);font-weight:900}.c-note{color:var(--muted);max-width:30ch;font-size:13px;line-height:1.7}.endline{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.end-link{font-family:var(--mono);letter-spacing:.02em;color:var(--ink);font-size:12.5px;position:relative}.end-link span{transition:transform .2s;display:inline-block}.end-link:hover{color:var(--brand)}.end-link:hover span{transform:translate(2px,-2px)}.meta{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);font-size:12px}.skip-link{position:absolute;top:0;left:-9999px}.skip-link:focus{background:var(--bg);border:1px solid var(--muted);border-radius:var(--r);z-index:60;padding:8px 14px;top:14px;left:clamp(20px,5vw,56px)}@media (max-width:680px){.cols{grid-template-columns:1fr;gap:16px}.c-note{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.contact{align-content:center;justify-items:start;width:100%;max-width:560px;margin:0 auto;display:grid}.contact-title{letter-spacing:-.04em;font-size:clamp(32px,6vw,64px);font-weight:900;line-height:1.05}.contact-lead{max-width:42ch;color:var(--muted);margin-top:14px;font-size:clamp(14px,1.6vw,16px);line-height:1.8}.form{gap:18px;width:100%;margin-top:clamp(24px,4vw,40px);display:grid}.field{gap:6px;display:grid}.field label{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px}.field input,.field textarea{width:100%;font:inherit;color:var(--ink);border:1px solid var(--muted);border-radius:var(--r);background:0 0;padding:10px 12px;transition:border-color .2s}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field textarea:focus{border-color:var(--brand);outline:none}.form button{font-family:var(--mono);letter-spacing:.02em;color:var(--bg);background:var(--ink);border-radius:var(--r);cursor:pointer;border:none;justify-self:start;padding:11px 22px;font-size:13px;transition:opacity .2s}.form button:hover{opacity:.85}.form button:disabled{opacity:.5;cursor:default}.form-status{font-size:14px;line-height:1.8}.form-success{color:var(--ink);font-weight:700}.form-error{color:#d33}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}
