:root{--fg:#000;--bg:#fff;--nav-h:3.5rem}*{box-sizing:border-box}html{scroll-snap-type:y proximity;scroll-behavior:smooth}body{margin:0;color:var(--fg);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,helvetica neue,Helvetica,Arial,sans-serif;font-size:1.125rem;line-height:1.6;overflow-wrap:break-word}a{color:inherit}.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;background:var(--bg);border-bottom:1px solid var(--fg);z-index:10}.nav .brand{font-weight:700;text-decoration:none}.nav nav{display:flex;gap:1.5rem}.nav nav a{text-decoration:none}.nav nav a:hover,.nav .brand:hover{text-decoration:underline}.screen{min-height:100vh;min-height:100svh;padding:calc(var(--nav-h) + 2rem)1.5rem 2rem;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start;scroll-margin-top:0;border-bottom:1px solid var(--fg)}.intro{color:#fff;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),var(--intro-image,none)50% 65%/cover no-repeat #000}.intro h1{font-size:clamp(2.5rem,9vw,7rem);line-height:1;margin:0 0 1rem;letter-spacing:-.03em}.intro p{margin:0 0 2rem}.next{align-self:flex-start}.content{max-width:40rem}.content h2{font-size:clamp(2rem,5vw,3.5rem);line-height:1.1;margin:.25rem 0 1.5rem;letter-spacing:-.02em}.num{font-weight:700}@media(max-width:600px){.nav{top:auto;bottom:0;padding:0 1rem;border-bottom:0;border-top:1px solid var(--fg)}.nav .brand{display:none}.nav nav{gap:1rem;width:100%;justify-content:space-between}.screen{padding:2rem 1rem calc(var(--nav-h) + 2rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.to-top{position:fixed;right:1.5rem;bottom:1.5rem;z-index:10;text-decoration:none;font-size:1.5rem;line-height:1;opacity:0;pointer-events:none;transition:opacity .2s}.to-top.visible{opacity:1;pointer-events:auto}.to-top.visible:hover{opacity:.6}@media(max-width:600px){.to-top{right:1rem;bottom:calc(var(--nav-h) + 1rem)}}.mail-button{display:none}@media(max-width:600px){.nav .nav-desktop{display:none}.mail-button{position:fixed;top:1rem;right:1rem;z-index:10;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid #000;border-radius:50%;background:#fff;color:#000;opacity:0;pointer-events:none;transition:opacity .2s}.mail-button.visible{opacity:1;pointer-events:auto}.mail-button svg{width:1.25rem;height:1.25rem}}.contact{width:min(32rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:1.5rem;color:var(--fg);background:var(--bg);border:1px solid var(--fg);border-radius:0;font:inherit;overflow-y:auto}.contact::backdrop{background:rgba(0,0,0,.5)}.contact h2{margin:0 0 1rem;font-size:1.75rem;line-height:1.1;letter-spacing:-.02em}.contact label{display:block;margin-bottom:1rem;font-size:1rem}.contact input[type=email],.contact input[type=text],.contact textarea,.contact input[type=file]{display:block;width:100%;margin-top:.25rem;padding:.5rem;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--fg);border-radius:0}.contact .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact .status{min-height:1.6em;margin:0 0 1rem;font-size:1rem}.contact .actions{display:flex;gap:.75rem}.contact button{padding:.5rem 1.25rem;font:inherit;color:var(--bg);background:var(--fg);border:1px solid var(--fg);border-radius:0;cursor:pointer}.contact button.close{color:var(--fg);background:var(--bg)}.contact button:disabled{opacity:.5;cursor:default}