/* CONTACT PAGE — THEME CAPCAY */
.contact-page { padding: 3rem 0 4rem; background: #F5F7FB; }
.contact-hero { max-width: 1120px; margin: 0 auto 1.5rem; padding: clamp(2rem, 5vw, 4.25rem); text-align: center; color: #FFFFFF; background: linear-gradient(135deg, #10284B, #1E6BFF); border-radius: 24px; box-shadow: 0 18px 38px rgba(12, 86, 233, .18); }
.contact-eyebrow { margin: 0 0 .65rem; color: #1E6BFF; font-size: .78rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.contact-hero .contact-eyebrow { color: #DDEAFF; }
.contact-hero h1 { max-width: 720px; margin: 0 auto; color: #FFFFFF; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.14; }
.contact-hero__lead { max-width: 730px; margin: 1.15rem auto 0; color: #EEF4FF; font-size: clamp(1rem, 1.8vw, 1.14rem); line-height: 1.75; }
.contact-guidance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; max-width: 1120px; margin: 0 auto; }
.contact-guidance__card, .contact-next-step { box-sizing: border-box; background: #FFFFFF; border: 1px solid #E1E7F0; border-radius: 20px; box-shadow: 0 12px 30px rgba(22,50,92,.08); }
.contact-guidance__card { padding: 1.75rem; }
.contact-guidance__number { display: grid; width: 2.45rem; height: 2.45rem; margin-bottom: 1.15rem; place-items: center; color: #FFFFFF; background: #1E6BFF; border-radius: 50%; font-size: .82rem; font-weight: 800; }
.contact-guidance__card h2, .contact-next-step h2 { margin: 0; color: #10284B; font-size: 1.3rem; line-height: 1.3; }
.contact-guidance__card p, .contact-next-step > p { margin: .8rem 0 0; color: #425A78; line-height: 1.7; }
.contact-next-step { display: grid; grid-template-columns: minmax(210px, .85fr) minmax(0, 1.5fr); gap: 2rem; align-items: center; max-width: 1120px; margin: 1.5rem auto 0; padding: clamp(1.5rem, 3vw, 2.25rem); border-left: 4px solid #15B86A; }
.contact-next-step .contact-eyebrow { color: #10995A; }
.contact-next-step > p { margin: 0; }
@media (max-width: 800px) { .contact-guidance { grid-template-columns: 1fr; } .contact-next-step { grid-template-columns: 1fr; gap: .8rem; } }
@media (max-width: 640px) { .contact-page { padding: 1.5rem 0 2.5rem; } .contact-hero { padding: 2rem 1.25rem; border-radius: 18px; } .contact-guidance { grid-template-columns: 1fr; gap: 1rem; } .contact-guidance__card, .contact-next-step { border-radius: 16px; } }
