.skip-link{position:fixed;left:16px;top:16px;z-index:100;padding:10px 14px;background:var(--accent);color:var(--ink);font:700 12px var(--body);transform:translateY(-180%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}
:where(a,button,input,textarea):focus-visible{outline:3px solid var(--accent);outline-offset:4px}.contact-form input:focus,.contact-form textarea:focus{outline:0}.contact-form label:focus-within{border-color:var(--ink)}
.legal-page{min-height:100vh;background:var(--paper)}.legal-header{border-bottom:1px solid var(--line);background:var(--paper)}.legal-nav{height:86px;display:flex;align-items:center;justify-content:space-between}.legal-nav .button{padding:11px 16px}.legal-main{padding:105px 0 130px}.legal-kicker{font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.legal-main h1{font:600 clamp(48px,7vw,88px)/.95 var(--display);letter-spacing:-.08em;margin:26px 0 22px}.legal-intro{max-width:650px;color:var(--ink-soft);font-size:17px;line-height:1.7;margin-bottom:65px}.legal-content{max-width:790px}.legal-content h2{font:600 29px/1.1 var(--display);letter-spacing:-.06em;margin:48px 0 13px}.legal-content h2:first-child{margin-top:0}.legal-content p,.legal-content li{color:var(--ink-soft);font-size:15px;line-height:1.8}.legal-content ul{padding-left:22px}.legal-content a{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}.legal-footer{border-top:1px solid rgba(255,255,255,.15);background:var(--ink);color:var(--white);padding:25px 0;font:10px var(--mono)}.legal-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.legal-footer a{color:rgba(255,253,250,.75)}.error-page .legal-main{min-height:calc(100vh - 173px);display:flex;align-items:center}.error-code{font:500 12px var(--mono);color:var(--accent);letter-spacing:.1em}.error-page .legal-main h1{font-size:clamp(70px,14vw,170px);margin:20px 0}.error-page .legal-intro{margin-bottom:30px}@media(max-width:560px){.legal-nav{height:76px}.legal-nav .brand-mark{width:36px;height:36px}.legal-nav .brand-name{font-size:16px}.legal-main{padding:75px 0 90px}.legal-intro{font-size:15px;margin-bottom:45px}.legal-content h2{font-size:26px}.legal-content p,.legal-content li{font-size:14px}.legal-footer-inner{align-items:flex-start;flex-direction:column}.error-page .legal-main{min-height:calc(100vh - 190px)}}
