.subpage{min-height:100svh;background:var(--ink);color:var(--bone)}
.subpage-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:var(--shell);min-height:5.25rem;margin:auto;border-bottom:1px solid var(--line)}
.subpage-header .brand{min-height:2.75rem}.subpage-back{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--bone-2);font-size:.72rem;font-weight:700}.subpage-back:hover{color:var(--signal)}
.legal-main,.error-main{width:var(--shell);margin:auto;padding-block:clamp(3rem,9vw,7rem)}
.legal-hero{display:grid;gap:1.5rem;padding-bottom:clamp(3rem,8vw,5.5rem);border-bottom:1px solid var(--line)}
.subpage-code{display:block;color:var(--signal);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.08em}
.legal-hero h1,.error-copy h1{max-width:11ch;margin:0;font-size:clamp(2.7rem,11vw,7.4rem);line-height:1.02;letter-spacing:-.07em}
.legal-hero p{max-width:41rem;margin:0;color:var(--bone-2);font-size:1rem}
.legal-grid{display:grid;gap:0;margin-top:2.5rem;border-bottom:1px solid var(--line)}
.legal-card{display:grid;gap:.8rem;padding:1.6rem 0;border-top:1px solid var(--line)}
.legal-card>span{font-family:var(--font-mono);font-size:.56rem;color:var(--signal)}
.legal-card h2{margin:0;font-size:1.2rem;letter-spacing:-.025em}.legal-card p{max-width:48rem;margin:0;color:var(--bone-2);font-size:.86rem;line-height:2}
.legal-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:2rem;color:var(--muted);font-size:.68rem}
.error-main{display:grid;gap:3rem;align-items:center;min-height:calc(100svh - 10.5rem)}
.error-copy p{max-width:38rem;color:var(--bone-2)}
.error-path{display:flex;align-items:center;gap:.75rem;direction:ltr;margin:1.5rem 0;padding:.8rem;border:1px solid var(--line);font-family:var(--font-mono);font-size:.62rem;color:var(--muted);overflow:hidden}.error-path span{color:var(--signal);font-weight:700}.error-path code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.error-actions{display:flex;flex-wrap:wrap;gap:.7rem}.error-actions .button{min-width:11rem}.error-actions button{background:transparent;color:var(--bone);cursor:pointer}
.error-visual{position:relative;min-height:22rem;border:1px solid var(--line);background:var(--ink-2);overflow:hidden}.error-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to left,var(--line-soft) 1px,transparent 1px),linear-gradient(to bottom,var(--line-soft) 1px,transparent 1px);background-size:3rem 3rem}
.error-number{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:clamp(8rem,38vw,18rem);font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1px var(--bone);letter-spacing:-.12em}.error-number::after{content:"";position:absolute;inset:52% -8% auto;height:.35rem;background:var(--signal);transform:rotate(-7deg)}
.error-signal{position:absolute;inset:1rem;display:flex;justify-content:space-between;align-items:flex-end;color:var(--muted);font-family:var(--font-mono);font-size:.54rem}.error-signal span:last-child{color:var(--signal)}
.subpage-footer{width:var(--shell);margin:auto;padding-block:1.5rem;border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:.58rem;direction:ltr}
@media(min-width:48rem){.legal-hero{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.55fr);align-items:end}.legal-hero .subpage-code{grid-column:1/-1}.legal-grid{margin-top:4rem}.legal-card{grid-template-columns:3rem minmax(12rem,.45fr) minmax(0,1fr);gap:1.5rem}.error-main{grid-template-columns:minmax(0,.9fr) minmax(24rem,.72fr);gap:6vw}.error-visual{min-height:33rem}}
