/* Current public site: quieter navigation, clearer footer and page detail rhythm. */
.nav-links { gap: .15rem; }
.nav-links a, .nav-toggle { white-space: nowrap; }
footer { padding-top: 3.2rem; }
.footer-topline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 0 2.4rem; margin-bottom: 2.8rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.footer-topline span { max-width: 18ch; color: #fff; font: 600 clamp(1.45rem,2.5vw,2.2rem)/1.25 'Sora',sans-serif; letter-spacing: -.045em; }
.footer-topline a { display: inline-flex; align-items: center; gap: .7rem; padding: .8rem 1.1rem; border-radius: 999px; background: #fff; color: #25115d; font: 700 .84rem 'Sora',sans-serif; text-decoration: none; white-space: nowrap; transition: transform .2s ease, background .2s ease; }
.footer-topline a:hover { transform: translateY(-2px); background: #eee8ff; }
.footer-grid { grid-template-columns: minmax(240px,1.75fr) repeat(3,minmax(130px,1fr)); gap: clamp(1.4rem,3vw,3rem); }
.footer-brand .logo { height: 48px; max-width: 210px; margin-bottom: 1rem; }
.footer-brand p { max-width: 32ch; color: rgba(255,255,255,.7); }
.footer-email { display: inline-flex; align-items: center; gap: .65rem; margin-top: 1.3rem; color: #d3c6ff; font-size: .85rem; text-decoration: none; overflow-wrap: anywhere; }
.footer-email:hover { color: #fff; }
.footer-links h4 { letter-spacing: .1em; }
.footer-links a { color: rgba(255,255,255,.7); }
.footer-bottom { color: rgba(255,255,255,.58); }
.footer-bottom p { margin: 0; }
.page-hero { background: #150b46; }
.page-hero .hero-lede { max-width: 62ch; }
.metric-strip { border-radius: 20px; }
.metric strong { color: #5b3df5; }
.faq-list { max-width: 880px; }
.faq-question { width: 100%; border: 0; background: transparent; text-align: left; font: inherit; }
.faq-question:focus-visible { outline: 3px solid #9f7aea; outline-offset: -3px; border-radius: 8px; }
.faq-item.active { background: rgba(91,61,245,.035); }
.faq-answer p { max-width: 76ch; }
.contact-hero-grid { align-items: center; }
.contact-card { padding: 1.5rem; }
.contact-card-kicker { color: #c9b6ff; font: 700 .7rem 'Sora',sans-serif; text-transform: uppercase; letter-spacing: .12em; }
.contact-card h2 { color: #fff; font-size: clamp(1.4rem,2vw,1.85rem); line-height: 1.25; }
.contact-card p { color: rgba(255,255,255,.74); font-size: .91rem; font-weight: 400; }
.contact-card a { justify-content: center; padding: .85rem 1rem; border-radius: 999px; background: #fff; color: #24125f; text-align: center; }
.contact-card a:hover { background: #eee8ff; }
.contact-page { padding-top: clamp(3.5rem,6vw,5rem); }
.contact-panel { background: #fff; }
.contact-panel .section-tag, .contact-side .section-tag { display: inline-block; margin-bottom: .7rem; }
.contact-panel h2, .contact-side h2 { letter-spacing: -.04em; }
.contact-actions .btn-primary { min-width: 0; }
.contact-note { margin-top: 1.3rem; font-size: .85rem; }
.contact-direct { display: flex; align-items: center; gap: .8rem; margin-top: 1.5rem; padding: 1.1rem 1.2rem; border: 1px solid #ded8f4; border-radius: 15px; background: #f8f5ff; }
.contact-direct i { color: #5b3df5; }
.contact-direct a { color: #291676; font-weight: 700; overflow-wrap: anywhere; }
.contact-steps { display: grid; gap: 1rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.contact-steps li { display: grid; grid-template-columns: 2rem 1fr; gap: .8rem; align-items: start; color: #484257; line-height: 1.6; }
.contact-steps b { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #ede7ff; color: #4f31cb; font: 700 .75rem 'Sora',sans-serif; }
@media(max-width:900px){ .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .footer-brand { grid-column: 1/-1; } }
@media(max-width:640px){ .footer-topline { align-items: flex-start; flex-direction: column; } .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem 1rem; } .footer-brand { grid-column: 1/-1; } .footer-email { font-size: .79rem; } .footer-links h4 { margin-bottom: .8rem; } .contact-card { max-width: none; } }
@media(max-width:380px){ .footer-grid { grid-template-columns: 1fr; } }
