.page-contact { color: #F2FFF6; background-color: #08160F; }
.page-contact__hero-section { display: flex; flex-direction: column; gap: 24px; padding: 16px 16px 32px; max-width: 1200px; margin: 0 auto; }
.page-contact__hero-image-wrap { width: 100%; }
.page-contact__hero-image { width: 100%; max-width: 1200px; height: auto; aspect-ratio: auto 1200 / 350; object-fit: cover; border-radius: 16px; border: 1px solid #2E7A4E; }
.page-contact__hero-content { text-align: center; max-width: 800px; margin: 0 auto; }
.page-contact__hero-title { color: #F2C14E; font-weight: 800; line-height: 1.3; letter-spacing: 0.5px; max-width: 15em; margin: 0 auto 0.5em; }
.page-contact__hero-desc { color: #A7D9B8; line-height: 1.7; font-size: 1rem; margin: 0 0 1.5em; }
.page-contact__hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; width: 100%; max-width: 100%; box-sizing: border-box; }
.page-contact__btn { display: inline-block; padding: 14px 32px; border-radius: 999px; font-weight: 700; text-decoration: none; text-align: center; border: none; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease; max-width: 100%; box-sizing: border-box; white-space: normal; word-wrap: break-word; }
.page-contact__btn-primary { background: linear-gradient(180deg, #2AD16F 0%, #13994A 100%); color: #08160F; box-shadow: 0 4px 14px rgba(42, 209, 111, 0.3); }
.page-contact__btn-secondary { background: transparent; color: #F2FFF6; border: 2px solid #22C768; }
.page-contact__btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(87, 227, 141, 0.3); }
.page-contact__btn:active { transform: translateY(0); }
.page-contact__logo-section { padding: 32px 16px; background-color: #11271B; border-top: 1px solid #1E3A2A; border-bottom: 1px solid #1E3A2A; }
.page-contact__logo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px 16px; justify-items: center; max-width: 1200px; margin: 0 auto; }
.page-contact__logo-item { display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 280px; width: 100%; }
.page-contact__logo-image { width: 100%; max-width: 280px; height: auto; aspect-ratio: 2 / 1; object-fit: contain; border-radius: 12px; background-color: #08160F; border: 1px solid #2E7A4E; padding: 8px; box-sizing: border-box; }
.page-contact__logo-cta { padding: 10px 22px; border-radius: 999px; background: linear-gradient(180deg, #2AD16F 0%, #13994A 100%); color: #08160F; font-weight: 700; text-decoration: none; text-align: center; transition: transform 0.2s ease, box-shadow 0.2s ease; max-width: 100%; box-sizing: border-box; white-space: normal; word-wrap: break-word; }
.page-contact__logo-cta:hover { transform: scale(1.05); box-shadow: 0 4px 12px rgba(42, 209, 111, 0.4); }
.page-contact__logo-item:nth-child(5) { grid-column: 2; }
.page-contact__logo-item:nth-child(6) { grid-column: 3; }
.page-contact__info-section, .page-contact__faq-section { max-width: 1200px; margin: 0 auto; padding: 48px 16px; }
.page-contact__section-title-wrap { text-align: center; margin-bottom: 32px; }
.page-contact__section-title { color: #F2C14E; font-size: 2rem; font-weight: 800; margin: 0 0 8px; }
.page-contact__section-desc { color: #A7D9B8; max-width: 700px; margin: 0 auto; line-height: 1.6; }
.page-contact__info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.page-contact__info-card { background-color: #11271B; border-radius: 16px; overflow: hidden; border: 1px solid #2E7A4E; display: flex; flex-direction: column; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.page-contact__info-card:hover { transform: translateY(-5px); box-shadow: 0 8px 24px rgba(57, 227, 141, 0.4); }
.page-contact__info-card-image { width: 100%; min-height: 200px; height: auto; aspect-ratio: 2 / 1; object-fit: cover; border-bottom: 1px solid #1E3A2A; }
.page-contact__info-card-content { padding: 20px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.page-contact__info-card-title { color: #F2FFF6; font-size: 1.25rem; font-weight: 700; margin: 0; }
.page-contact__info-card-text { color: #A7D9B8; line-height: 1.6; margin: 0; flex: 1; }
.page-contact__info-card .page-contact__btn { align-self: flex-start; padding: 10px 20px; font-size: 0.9rem; }
.page-contact__faq-section { max-width: 800px; }
.page-contact__faq-item { background-color: #11271B; border: 1px solid #2E7A4E; border-radius: 12px; padding: 0; margin-bottom: 12px; overflow: hidden; }
.page-contact__faq-question { list-style: none; width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; color: #F2FFF6; font-weight: 600; font-size: 1rem; cursor: pointer; gap: 16px; box-sizing: border-box; }
.page-contact__faq-question::-webkit-details-marker { display: none; }
.page-contact__faq-icon { flex-shrink: 0; color: #22C768; font-size: 1.5rem; font-weight: 700; width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; background: rgba(34, 199, 104, 0.1); border-radius: 6px; }
.page-contact__faq-answer { padding: 0 20px 16px; color: #A7D9B8; line-height: 1.6; border-top: 1px solid #1E3A2A; }
.page-contact__faq-text { margin: 12px 0 0; }
.page-contact__guide-section { padding: 48px 16px; background-color: #0A4B2C; }
.page-contact__guide-inner { max-width: 1000px; margin: 0 auto; }
.page-contact__guide-title { color: #F2C14E; font-size: 1.75rem; font-weight: 800; text-align: center; margin: 0 0 24px; }
.page-contact__guide-figure { margin: 0 0 24px; }
.page-contact__guide-image { width: 100%; max-width: 800px; height: auto; aspect-ratio: 2 / 1; display: block; margin: 0 auto; border-radius: 12px; border: 1px solid #2E7A4E; }
.page-contact__guide-caption { text-align: center; color: #A7D9B8; margin-top: 8px; font-size: 0.9rem; }
.page-contact__guide-text { color: #E8F5E9; line-height: 1.75; max-width: 800px; margin: 0 auto; text-align: center; }
@media (max-width: 768px) {
.page-contact__hero-section { padding-top: 16px; }
.page-contact__hero-image { aspect-ratio: 2 / 1; }
.page-contact__hero-title { font-size: 1.5rem; }
.page-contact__btn { width: 100%; }
.page-contact__logo-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
.page-contact__logo-item:nth-child(5), .page-contact__logo-item:nth-child(6) { grid-column: auto; }
.page-contact__logo-image { max-width: 100%; }
.page-contact__info-grid { grid-template-columns: 1fr; }
.page-contact__guide-title { font-size: 1.35rem; }
.page-contact__guide-figure figcaption { font-size: 0.8rem; }
.page-contact img { max-width: 100% !important; height: auto !important; }
}