.contact-page { background: #f7f8f4; padding: 64px 0 88px; color: #233e33; }
.contact-page :is(h1,h2) { font-family: system-ui, -apple-system, sans-serif !important; letter-spacing: -.04em; }
.contact-intro { text-align: center; max-width: 650px; margin: 0 auto 44px; }
.contact-eyebrow { color: #94602f; font-size: 10px; letter-spacing: 2px; font-weight: 700; }
.contact-intro h1 { font-size: clamp(34px, 4.5vw, 54px); font-weight: 700; line-height: 1.15; margin: 18px 0; }
.contact-intro h1 span { color: #708769; }
.contact-intro p { font-size: 15px; color: #788277; line-height: 1.8; }
.contact-panel { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.4fr); max-width: 1080px; margin: auto; background: white; border: 1px solid #e2e8dc; border-radius: 24px; overflow: hidden; box-shadow: 0 20px 60px #263e320a; }
.contact-details { padding: 44px 36px; background: radial-gradient(ellipse at bottom left, #3c5943, transparent 65%), #213d32; color: white; display: flex; flex-direction: column; }
.contact-mark { width: 56px; height: 56px; display: grid; place-items: center; background: #ffffff12; border: 1px solid #ffffff20; border-radius: 17px; margin-bottom: 26px; font-size: 25px; color: #e9c99b; }
.contact-details h2 { font-size: 28px; font-weight: 600; margin-bottom: 12px; }
.contact-details > p { color: #b9c8ba; font-size: 14px; line-height: 1.9; margin-bottom: 32px; }
.contact-method { display: flex; gap: 16px; margin-bottom: 28px; align-items: flex-start; }
.contact-method > i { color: #d5b88e; font-size: 18px; width: 20px; margin-top: 4px; flex-shrink: 0; }
.contact-method > div { min-width: 0; }
.contact-method span { display: block; color: #a8bbad; font-size: 11px; margin-bottom: 7px; }
.contact-method a { display: block; color: #f5f7ef; font-size: 14px; text-decoration: none; line-height: 1.9; overflow-wrap: anywhere; }
.contact-method a:hover { color: #edc38f; text-decoration: underline; }
.contact-note { margin-top: auto; padding-top: 28px; border-top: 1px solid #ffffff20; font-size: 12px; color: #cad5c6; }
.contact-note i { margin-right: 10px; color: #e2bd8d; }
.contact-form-area { padding: 44px; }
.contact-form-area h2 { font-size: 28px; font-weight: 600; margin: 10px 0; }
.contact-form-area > p { color: #7f887d; font-size: 13px; line-height: 1.8; margin-bottom: 28px; }
.contact-form-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px 18px; }
.contact-field-wide { grid-column: 1 / -1; }
.contact-field label { display: block; font-size: 12px; color: #415544; font-weight: 600; margin-bottom: 9px; }
.contact-field label span { color: #ad7547; }
.contact-field :is(input,textarea) { width: 100%; border: 1px solid #dfe5da; border-radius: 10px; background: #fbfcf9; padding: 13px 15px; font-size: 13px; color: #263e32; transition: border-color .2s, box-shadow .2s; }
.contact-field input { min-height: 48px; }
.contact-field textarea { resize: vertical; min-height: 140px; line-height: 1.8; }
.contact-field :is(input,textarea)::placeholder { color: #8a9486; }
.contact-field :is(input,textarea):focus { outline: none; border-color: #718c66; background: white; box-shadow: 0 0 0 3px #718c6618; }
.contact-submit button { display: inline-flex; gap: 28px; align-items: center; justify-content: center; border: none; border-radius: 10px; background: #ec761b; color: white; min-height: 48px; padding: 13px 24px; font-size: 13px; font-weight: 600; transition: background .2s; }
.contact-submit button:hover { background: #cc5d0c; }
.contact-page :is(button,a):focus-visible { outline: 3px solid #d6a164; outline-offset: 4px; }
@media (max-width: 991px) {
 .contact-panel { grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); }
 .contact-details, .contact-form-area { padding: 32px 24px; }
 .contact-form-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
 .contact-page { padding: 36px 0 48px; }
 .contact-intro { margin-bottom: 28px; }
 .contact-panel { grid-template-columns: minmax(0, 1fr); border-radius: 18px; }
 .contact-details { padding: 28px; }
 .contact-details > p { margin-bottom: 24px; }
 .contact-method { margin-bottom: 20px; }
 .contact-submit button { width: 100%; }
}
