.contact-page{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-secondary)}.contact-page-header{display:flex;align-items:center;gap:1.5rem;padding:1.25rem 2rem;border-bottom:1px solid var(--border-color, var(--border-muted));background:var(--card-bg, white)}.contact-page-header .dark-mode-toggle{margin-left:auto}[data-theme=dark] .contact-page-header{background:var(--modal-bg, #1e293b)}.contact-page-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;font-weight:700;font-size:1.15rem;color:var(--dark-text, #1e293b)}[data-theme=dark] .contact-page-logo{color:var(--text-primary, var(--border-subtle))}.contact-page-logo .logo-icon{overflow:hidden;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md)}.contact-page-logo .logo-icon img{width:100%;height:100%;object-fit:contain}.contact-page-main{display:flex;flex:1;align-items:center;justify-content:center;padding:4rem 1.5rem}.contact-page-inner{width:100%;max-width:1000px}.contact-page-hero{margin-bottom:2.5rem;text-align:center}.contact-page-hero h1{margin-bottom:.75rem;font-size:3rem;font-weight:800;-webkit-text-fill-color:transparent;background:var(--gradient-1, linear-gradient(135deg, #009ace, #0d47a1));background-clip:text}.contact-page-hero p{max-width:520px;margin:0 auto;font-size:1.1rem;line-height:1.7;color:var(--text-secondary, var(--muted-color))}.contact-page-card{overflow:hidden;border-radius:30px;box-shadow:0 20px 60px #009ace26;background:#fff}[data-theme=dark] .contact-page-card{box-shadow:0 20px 60px #0006;background:var(--modal-bg, #1e293b)}.contact-submit--sending{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.contact-submit-spinner{flex-shrink:0;width:1.1rem;height:1.1rem;animation:contact-submit-spin .75s linear infinite}.contact-feedback{padding:.85rem 1rem;margin-bottom:1rem;border:1.5px solid transparent;border-radius:var(--radius-lg, 12px);font-size:.92rem;font-weight:600;line-height:1.45;text-align:center}.contact-feedback--success{border-color:#22c55e73;background:#22c55e1a;color:#15803d}.contact-feedback--error{border-color:#ef444473;background:#ef44441a;color:#b91c1c}[data-theme=dark] .contact-feedback--success{border-color:#86efac66;background:#22c55e26;color:#86efac}[data-theme=dark] .contact-feedback--error{border-color:#f8717166;background:#ef444426;color:#fca5a5}@keyframes contact-submit-spin{to{transform:rotate(360deg)}}.faq-section{margin-top:3rem}.faq-header{margin-bottom:2rem;text-align:center}.faq-header h2{margin-bottom:.5rem;font-size:2rem;font-weight:800;color:var(--dark-text)}[data-theme=dark] .faq-header h2{color:var(--text-primary)}.faq-header p{font-size:1rem;color:var(--text-secondary)}.faq-header a{text-decoration:none;font-weight:600;color:var(--primary-blue)}.faq-header a:hover{text-decoration:underline}.faq-list{display:flex;flex-direction:column;gap:.75rem}.faq-item{overflow:hidden;border-radius:var(--radius-xl);border:1px solid var(--border-color);background:var(--modal-bg);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.faq-item:hover{border-color:var(--primary-blue);box-shadow:0 4px 20px #009ace1a}.faq-item.open{border-color:var(--primary-blue);box-shadow:0 4px 20px #009ace1f}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1.25rem 1.5rem;border:none;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:600;text-align:left;background:none;color:var(--dark-text);transition:color var(--duration-fast);cursor:pointer}[data-theme=dark] .faq-question{color:var(--text-primary)}.faq-item.open .faq-question{color:var(--primary-blue)}.faq-icon{flex-shrink:0;width:20px;height:20px;color:var(--primary-blue);transition:transform var(--duration-base) ease}.faq-item.open .faq-icon{transform:rotate(45deg)}.faq-answer{overflow:hidden;max-height:0;padding:0 1.5rem;transition:max-height .35s ease,padding .35s ease}.faq-item.open .faq-answer{max-height:300px;padding:0 1.5rem 1.25rem}.faq-answer p{margin:0;line-height:1.75;color:var(--text-secondary)}.faq-answer a{text-decoration:none;font-weight:600;color:var(--primary-blue)}.faq-answer a:hover{text-decoration:underline}@media(max-width:768px){.contact-page-hero h1{font-size:2rem}.contact-page-main{align-items:flex-start;padding:2rem 1rem}.contact-page-header{padding:1rem 1.25rem}}
