.page-loading, .page-not-found { min-height: 58vh; display: grid; place-items: center; padding: 120px 24px 60px; text-align: center; color: var(--navy); }
.page-not-found div { max-width: 620px; }
.page-not-found h1 { font-family: "Space Grotesk", sans-serif; font-size: clamp(2rem, 6vw, 4rem); margin: 0 0 12px; }
.page-not-found p { color: var(--slate); margin-bottom: 24px; }
#page-content > .hero { min-height: 72vh; }
.faq-section { padding: 80px clamp(24px, 7vw, 110px); background: #f7f9fd; }
.faq-section .section-heading { max-width: 720px; margin-bottom: 34px; }
.faq-list { display: grid; gap: 12px; max-width: 980px; }
.faq-item { border: 1px solid rgba(16, 37, 84, .12); border-radius: 16px; background: #fff; box-shadow: 0 10px 35px rgba(16, 37, 84, .05); overflow: hidden; }
.faq-item summary { display: flex; align-items: center; gap: 14px; cursor: pointer; padding: 20px 22px; color: var(--navy); font-weight: 800; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary span { color: #0f74d8; font-family: "Space Grotesk", sans-serif; }
.faq-item[open] summary { border-bottom: 1px solid rgba(16, 37, 84, .08); }
.faq-item > div { padding: 20px 58px 24px; color: var(--slate); line-height: 1.75; }
.help-cta { max-width: 980px; margin-top: 24px; padding: 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-radius: 20px; background: var(--navy); color: #fff; }
.help-cta b { font-size: 1.15rem; }.help-cta p { margin: 5px 0 0; color: #cbd8ef; }
.contact-section { display: grid; grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr); gap: clamp(32px, 6vw, 88px); align-items: start; padding: 80px clamp(24px, 7vw, 110px); background: #f7f9fd; }
.contact-copy { position: sticky; top: 110px; }.contact-copy h2 { margin: 10px 0 16px; color: var(--navy); font-family: "Space Grotesk", sans-serif; font-size: clamp(2rem, 4vw, 3.5rem); }.contact-copy > p { color: var(--slate); line-height: 1.75; }
.contact-promise { margin-top: 28px; display: grid; gap: 12px; padding: 22px; border: 1px solid rgba(23, 197, 232, .3); border-radius: 18px; background: #fff; }.contact-promise span { color: #526078; font-size: .92rem; }
.contact-card { border: 1px solid rgba(16, 37, 84, .12); border-radius: 22px; background: #fff; padding: clamp(22px, 4vw, 38px); box-shadow: 0 22px 60px rgba(16, 37, 84, .1); }
.contact-card form { display: grid; gap: 18px; }.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-card label { display: grid; gap: 8px; color: var(--navy); font-size: .88rem; font-weight: 800; }.contact-card input, .contact-card textarea { width: 100%; box-sizing: border-box; border: 1px solid #cfd8e7; border-radius: 12px; padding: 13px 14px; background: #fff; color: #172033; font: inherit; font-weight: 500; }.contact-card input:focus, .contact-card textarea:focus { outline: 3px solid rgba(23, 197, 232, .2); border-color: #17a8c8; }
.contact-card .captcha-question { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 12px; background: #eef6ff; }.contact-card .captcha-question button { border: 0; background: transparent; color: #1257d6; font-size: 1.3rem; cursor: pointer; }
.contact-card .privacy-consent { display: flex; grid-template-columns: auto 1fr; align-items: flex-start; gap: 10px; color: #526078; font-size: .8rem; font-weight: 500; line-height: 1.5; }.contact-card .privacy-consent input { width: auto; margin-top: 3px; }.contact-card .honeypot { position: absolute; left: -10000px; }
.form-status.error { color: #b42318; }.contact-result { text-align: center; padding: 36px 12px; }.contact-result > span { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 18px; border-radius: 50%; background: #d8f8e8; color: #087443; font-size: 1.7rem; font-weight: 900; }.contact-result h3 { color: var(--navy); font-size: 1.6rem; }.contact-result p { color: var(--slate); line-height: 1.7; margin-bottom: 22px; }
.contact-success { margin: 24px 0; border: 1px solid #9ee6c3; border-radius: 18px; background: #ecfdf5; padding: 24px; text-align: left; }.contact-success > span { margin: 0 0 14px; }.contact-success h3 { margin: 0 0 8px; }.contact-success p { margin: 0; }
@media (max-width: 900px) { .dynamic-nav { display: none; } }
@media (max-width: 800px) { .contact-section { grid-template-columns: 1fr; }.contact-copy { position: static; }.contact-grid { grid-template-columns: 1fr; }.help-cta { align-items: flex-start; flex-direction: column; }.faq-item > div { padding-left: 22px; padding-right: 22px; } }
