.page-404{min-height:calc(100vh - 140px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;position:relative;overflow:hidden;text-align:center;background:var(--ah-color-dark)}
.p404-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px}
.p404-bg-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(30,45,79,.08) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%)}
.p404-painting{position:absolute;inset:0;overflow:hidden}
.p404-frame{position:absolute;border:1px solid rgba(30,45,79,.12);border-radius:2px;overflow:hidden;opacity:0;animation:frameFloat 20s ease-in-out infinite}
.p404-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(60%);opacity:.4}
.p404-frame:nth-child(1){width:180px;height:240px;top:10%;left:5%;animation-delay:0s}
.p404-frame:nth-child(2){width:140px;height:180px;top:60%;left:8%;animation-delay:-5s}
.p404-frame:nth-child(3){width:200px;height:160px;top:15%;right:6%;animation-delay:-8s}
.p404-frame:nth-child(4){width:160px;height:220px;bottom:10%;right:8%;animation-delay:-12s}
.p404-frame:nth-child(5){width:120px;height:150px;bottom:20%;left:20%;animation-delay:-3s}
@keyframes frameFloat{0%,100%{opacity:0;transform:translateY(10px) rotate(-1deg)}20%,80%{opacity:1;transform:translateY(0) rotate(0deg)}}
.p404-content{position:relative;z-index:1;max-width:600px}
.p404-num{font-family:var(--ah-font-serif);font-size:clamp(120px,20vw,200px);font-weight:700;line-height:.85;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px rgba(30,45,79,.3);margin-bottom:0;position:relative;user-select:none}
.p404-num::after{content:'404';position:absolute;inset:0;color:transparent;-webkit-text-stroke:0;background:linear-gradient(135deg,rgba(30,45,79,.18) 0%,rgba(30,45,79,.06) 50%,transparent 100%);-webkit-background-clip:text;background-clip:text}
.p404-ornament{display:flex;align-items:center;gap:12px;margin:24px auto;max-width:240px}
.p404-orn-line{flex:1;height:1px;background:rgba(30,45,79,.3)}
.p404-orn-icon{font-size:14px;color:rgba(30,45,79,.5)}
.p404-title{font-family:var(--ah-font-serif);font-size:clamp(22px,3vw,32px);font-weight:700;color:#fff;margin-bottom:12px;line-height:1.2}
.p404-title em{font-style:italic;color:var(--ah-color-primary-light,var(--ah-color-primary-lt))}
.p404-sub{font-size:15px;color:rgba(255,255,255,.45);line-height:1.75;max-width:420px;margin:0 auto 36px}
.p404-search-wrap{position:relative;max-width:380px;margin:0 auto 40px}
.p404-search{width:100%;height:50px;padding:0 54px 0 18px;background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.12);border-radius:var(--ah-radius-sm,4px);font-size:14px;color:#fff;outline:none;transition:border-color .2s;font-family:var(--ah-font-body)}
.p404-search::placeholder{color:rgba(255,255,255,.3)}
.p404-search:focus{border-color:rgba(30,45,79,.5);background:rgba(255,255,255,.1)}
.p404-search-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;background:var(--ah-color-primary,var(--ah-color-primary));border:none;border-radius:var(--ah-radius-sm,4px);display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff;cursor:pointer;transition:background .2s}
.p404-search-btn:hover{background:var(--ah-color-primary-dk,var(--ah-color-primary-dk))}
.p404-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:48px}
.p404-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--ah-radius-sm,4px);font-size:14px;font-weight:700;letter-spacing:.04em;transition:all .22s;text-decoration:none;font-family:var(--ah-font-body)}
.p404-btn.primary{background:var(--ah-color-primary,var(--ah-color-primary));color:#fff}
.p404-btn.primary:hover{background:var(--ah-color-primary-dk,var(--ah-color-primary-dk));color:#fff}
.p404-btn.secondary{background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.12)}
.p404-btn.secondary:hover{background:rgba(255,255,255,.14);color:#fff}
.p404-links-label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.2);margin-bottom:14px}
.p404-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.p404-link{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid rgba(255,255,255,.08);border-radius:24px;font-size:13px;color:rgba(255,255,255,.5);transition:all .2s;cursor:pointer;text-decoration:none}
.p404-link:hover{border-color:rgba(30,45,79,.4);color:var(--ah-color-primary-light,var(--ah-color-primary-lt))}
.p404-link i{font-size:11px}
