/* Stable styles for static 404/legal pages. Keep this path unversioned. */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f8f5ee}
body{margin:0}
a{color:inherit}
.skip-link{position:fixed;z-index:999;left:1rem;top:1rem;transform:translateY(-160%);padding:.7rem 1rem;border-radius:.65rem;background:#fff;color:#0d2a4b;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.16)}
.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible{outline:3px solid #c6a15b;outline-offset:3px}

/* 404 */
.error-page{min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;background:#f8f5ee;color:#0d2a4b}
.error-header,.error-footer{background:#0b2441;color:#fff}
.error-header__inner,.error-footer__inner,.error-main__inner{width:min(calc(100% - 40px),1200px);margin:0 auto}
.error-header__inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.error-brand{display:inline-flex;align-items:center;gap:1rem;color:#fff;text-decoration:none}
.error-brand__mark{color:#c6a15b;font-family:Georgia,"Times New Roman",serif;font-size:2.3rem;line-height:1}
.error-brand__divider{width:1px;height:38px;background:rgba(198,161,91,.7)}
.error-brand__name{font-family:Georgia,"Times New Roman",serif;font-size:1.15rem}
.error-nav{display:flex;align-items:center;gap:.4rem}
.error-nav a{min-height:44px;display:inline-flex;align-items:center;padding:.55rem .85rem;color:rgba(255,255,255,.9);text-decoration:none;border-radius:999px;font-size:.88rem;transition:color 160ms ease,background 160ms ease}
.error-nav a:hover{color:#e1bd78;background:rgba(255,255,255,.06)}
.error-main{position:relative;overflow:hidden;display:grid;place-items:center;padding:5rem 0 5.5rem}
.error-main::before{content:"";position:absolute;width:430px;height:430px;left:-250px;top:-150px;border:1px solid rgba(198,161,91,.28);border-radius:50%;box-shadow:0 0 0 70px rgba(198,161,91,.07),0 0 0 140px rgba(198,161,91,.05)}
.error-main::after{content:"";position:absolute;right:-40px;bottom:-80px;width:360px;height:360px;border-top:1px solid rgba(198,161,91,.18);border-left:1px solid rgba(198,161,91,.18);transform:rotate(45deg);box-shadow:-65px -65px 0 -64px rgba(198,161,91,.18),-130px -130px 0 -129px rgba(198,161,91,.14)}
.error-main__inner{position:relative;z-index:1;text-align:center;max-width:760px}
.error-code{margin:0;color:#0b2441;font-family:Georgia,"Times New Roman",serif;font-size:clamp(6rem,17vw,10.5rem);font-weight:400;line-height:.82;letter-spacing:-.06em}
.error-ornament{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:2rem 0 1.75rem}
.error-ornament::before,.error-ornament::after{content:"";width:7.5rem;max-width:22vw;height:1px;background:rgba(198,161,91,.65)}
.error-ornament span{width:.48rem;height:.48rem;border:1px solid #c6a15b;transform:rotate(45deg)}
.error-title{margin:0 auto;max-width:17ch;color:#0b2441;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4.8vw,3.6rem);font-weight:600;line-height:1.05;text-wrap:balance}
.error-text{margin:1.25rem auto 0;max-width:46ch;color:#667085;font-size:1rem;line-height:1.65}
.error-actions{margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}
.error-primary{min-width:250px;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:.85rem 1.4rem;border-radius:.65rem;background:#0b2f59;color:#fff;text-decoration:none;font-weight:700;box-shadow:0 10px 25px rgba(13,42,75,.15)}
.error-primary span{color:#d7b26c;font-size:1.25rem}
.error-secondary{color:#0d2a4b;text-decoration-color:#c6a15b;text-underline-offset:5px;font-weight:600}
.error-footer__inner{min-height:118px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.error-footer__brand{display:flex;align-items:center;gap:1rem}
.error-footer__tagline{color:rgba(255,255,255,.72);font-size:.82rem;line-height:1.55}
.error-footer__copyright{color:rgba(255,255,255,.65);font-size:.75rem;text-align:right}

/* Legal pages */
.legal-page{min-height:100vh;background:#f8f5ee;color:#29384a}
.legal-shell{width:min(calc(100% - 40px),920px);margin:0 auto;padding:3rem 0 5rem}
.legal-back{display:inline-flex;min-height:44px;align-items:center;margin-bottom:2rem;color:#0d2a4b;font-weight:700;text-decoration:none}
.legal-kicker{color:#b89455;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.legal-title{margin:.7rem 0 .85rem;color:#0d2a4b;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.25rem,6vw,4rem);line-height:1.04}
.legal-lead{color:#657080;font-size:1rem;line-height:1.7;max-width:70ch}
.legal-draft{margin:1.5rem 0 2rem;padding:1rem 1.1rem;border:1px solid rgba(184,148,85,.45);border-radius:.9rem;background:#fffaf0;color:#5d5547;font-size:.88rem;line-height:1.55}
.legal-card{margin-top:1rem;padding:1.4rem 1.5rem;border:1px solid rgba(13,42,75,.11);border-radius:1.1rem;background:rgba(255,255,255,.78)}
.legal-card h2{margin:0 0 .65rem;color:#0d2a4b;font-family:Georgia,"Times New Roman",serif;font-size:1.28rem}
.legal-card p,.legal-card li{color:#5f6976;line-height:1.7;font-size:.92rem}
.legal-card ul{margin:.55rem 0 0;padding-left:1.2rem}
.legal-card code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}
.legal-pending{display:inline-block;padding:.2rem .5rem;border-radius:.45rem;background:#f6eddc;color:#7a6337;font-size:.72rem;font-weight:800;letter-spacing:.04em}
.legal-footer{margin-top:2.25rem;padding-top:1.25rem;border-top:1px solid rgba(13,42,75,.12);color:#68717e;font-size:.78rem}

@media(max-width:720px){.error-header__inner{min-height:72px}.error-brand__name,.error-brand__divider,.error-nav a:not(:first-child){display:none}.error-main{padding:4rem 0}.error-main__inner{width:min(calc(100% - 32px),760px)}.error-footer__inner{padding:1.5rem 0;min-height:0;flex-direction:column;align-items:flex-start}.error-footer__copyright{text-align:left}.legal-shell{width:min(calc(100% - 28px),920px);padding-top:2rem}}
@media(prefers-reduced-motion:reduce){.error-nav a{transition:none!important}}
@media(forced-colors:active){.legal-card,.legal-draft,.error-primary{border:1px solid CanvasText}.error-ornament span{border-color:CanvasText}}
