/* ===== STATIC PAGE STYLES ===== */

.page-hero { max-width: var(--container-max); margin: 0 auto; padding: 48px 24px 56px; text-align: center; }
.page-hero-title { font-family: var(--font-heading); font-size: 3rem; font-weight: 700; line-height: 1.15; letter-spacing: -0.5px; color: var(--color-text); margin-bottom: 16px; }
.page-hero-desc { max-width: 600px; margin: 0 auto; font-size: 1.05rem; color: var(--color-text-secondary); line-height: 1.7; }

.page-content { max-width: 900px; margin: 0 auto; padding: 56px 24px 80px; }
.page-content p { margin-bottom: 1.25em; font-size: 0.975rem; line-height: 1.75; }
.page-content h2 { font-family: var(--font-heading); font-size: 1.85rem; font-weight: 700; line-height: 1.3; letter-spacing: -0.3px; margin-top: 2.5em; margin-bottom: 0.75em; }
.page-content h3 { font-family: var(--font-heading); font-size: 1.45rem; font-weight: 600; line-height: 1.35; margin-top: 2em; margin-bottom: 0.65em; }
.page-content a { color: var(--color-link); text-decoration: underline; text-decoration-color: rgba(1,77,160,0.3); text-underline-offset: 2px; }
.page-content a:hover { text-decoration-color: var(--color-link); }
.page-content strong { font-weight: 600; }
.page-content ul, .page-content ol { margin-bottom: 1.25em; padding-left: 1.5em; }
.page-content li { margin-bottom: 0.5em; line-height: 1.7; }
.page-content img { border-radius: var(--radius-lg); margin: 2em 0; }
.page-content figure { margin: 2em 0; }
.page-content figcaption { font-family: var(--font-nav); font-size: 0.72rem; color: var(--color-text-muted); text-align: center; margin-top: 8px; }
.page-content blockquote { margin: 2em 0; padding: 20px 24px; border-left: 3px solid var(--color-primary); background: var(--color-bg-soft); border-radius: 0 var(--radius-md) var(--radius-md) 0; }
.page-content blockquote p { font-size: 1.1rem; font-style: italic; margin-bottom: 0; }

/* Contact form */
.contact-form { margin-top: 2em; }
.form-row { margin-bottom: 20px; }
.form-row-double { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-label { display: block; font-family: var(--font-nav); font-size: 0.72rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--color-text-secondary); margin-bottom: 6px; }
.form-input, .form-textarea { width: 100%; padding: 12px 16px; border: 1px solid var(--color-border); border-radius: var(--radius-md); font-family: var(--font-body); font-size: 0.95rem; color: var(--color-text); outline: none; transition: border-color 0.2s; }
.form-input:focus, .form-textarea:focus { border-color: var(--color-primary); }
.form-textarea { min-height: 160px; resize: vertical; }

/* 404 */
.error-page { min-height: calc(100vh - var(--header-height) - 300px); display: flex; align-items: center; justify-content: center; text-align: center; padding: 80px 24px; background: linear-gradient(135deg, #fef4e8 0%, #e8f0fb 50%, #fde8d8 100%); }
.error-inner { max-width: 520px; }
.error-code { font-family: var(--font-heading); font-size: 8rem; font-weight: 700; color: var(--color-primary); line-height: 1; letter-spacing: -4px; margin-bottom: 8px; opacity: 0.15; }
.error-title { font-family: var(--font-heading); font-size: 2.2rem; font-weight: 700; color: var(--color-text); margin-bottom: 16px; line-height: 1.2; }
.error-desc { font-size: 1.05rem; color: var(--color-text-secondary); margin-bottom: 32px; line-height: 1.7; }
.error-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.error-search { margin-top: 40px; max-width: 400px; margin-left: auto; margin-right: auto; }
.error-search-box { display: flex; background: #fff; border-radius: var(--radius-lg); border: 1px solid var(--color-border); overflow: hidden; }
.error-search-box input { flex: 1; padding: 14px 18px; border: none; outline: none; font-family: var(--font-body); font-size: 0.95rem; }
.error-search-box button { padding: 14px 20px; background: var(--color-primary); color: #fff; border: none; cursor: pointer; transition: background 0.2s; display: flex; align-items: center; }
.error-search-box button:hover { background: var(--color-primary-hover); }

@media (max-width: 1024px) { .page-hero-title { font-size: 2.4rem; } }
@media (max-width: 640px) { .page-hero-title { font-size: 2rem; } .form-row-double { grid-template-columns: 1fr; } .error-code { font-size: 5rem; } .error-title { font-size: 1.6rem; } }
