.utility-page { overflow-x: clip; }
.error-page { position: relative; isolation: isolate; min-height: 94svh; padding: 180px var(--pad) 80px; overflow: hidden; }
.error-number { position: absolute; z-index: -1; right: -2vw; top: 15%; font-family: Montserrat,Arial,sans-serif; font-weight: 900; font-size: clamp(200px,42vw,740px); line-height: 1; color: #ffffff05; -webkit-text-stroke: 1px #ffffff13; pointer-events: none; }
.error-copy { max-width: 1050px; }
.error-copy h1 { font-family: Montserrat,Arial,sans-serif; font-size: clamp(42px,7.2vw,112px); font-weight: 900; letter-spacing: -.065em; line-height: .98; margin: 38px 0; }
.error-copy h1 > span { display: block; animation: error-reveal .65s var(--ease) both; }
.error-copy h1 > span:nth-child(2) { animation-delay: .08s; }
.error-copy h1 > span:nth-child(3) { animation-delay: .16s; }
.error-copy > p:not(.eyebrow):not(.utility-micro) { max-width: 480px; line-height: 1.7; color: #b7b7b7; }
.utility-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin: 35px 0 50px; }
.utility-link { font-size: 11px; letter-spacing: .08em; text-underline-offset: 6px; }
.utility-micro { font-size: 10px; line-height: 1.7; letter-spacing: .1em; }
.privacy-page { max-width: 1100px; margin-inline: auto; padding: 170px var(--pad) 90px; }
.privacy-page h1 { font-family: Montserrat,Arial,sans-serif; font-size: clamp(34px,6.2vw,80px); font-weight: 900; line-height: 1.02; letter-spacing: -.06em; margin: 30px 0; }
.privacy-date { color: #a5a5a5; font-size: 12px; }
.privacy-copy { max-width: 720px; margin: 65px 0; }
.privacy-copy section { border-top: 1px solid #ffffff26; padding-block: 28px; }
.privacy-copy h2 { font-size: 22px; line-height: 1.4; margin: 0 0 20px; }
.privacy-copy p { font-size: 16px; line-height: 1.85; color: #c7c7c7; }
.privacy-copy a { overflow-wrap: anywhere; text-underline-offset: 4px; }
@keyframes error-reveal { from { clip-path: inset(100% 0 0); transform: translateY(12px); } to { clip-path: inset(0); transform: translateY(0); } }
@media(max-width:767px) { .error-page { padding-top: 140px; min-height: 85svh; } .error-copy h1 { font-size: clamp(34px,8.8vw,65px); } .privacy-page { padding-top: 140px; } .privacy-copy { margin-top: 45px; } .utility-actions { gap: 28px; } }
@media(prefers-reduced-motion:reduce) { .error-copy h1 > span { animation: none; } }
