.lv-contact-page { background: var(--lv-bg, #FBF8F2); padding-bottom: var(--lv-section-padding-compact, 60px); }
.lv-contact-header { margin: 0 auto 48px; max-width: 760px; text-align: center; }
.lv-contact-header__eyebrow, .lv-contact-info__tag, .lv-section-header__eyebrow { color: var(--lv-gold-dark, #A07828); display: block; font: 700 12px/1.4 var(--lv-font-body, 'Roboto', sans-serif); letter-spacing: .14em; text-transform: uppercase; }
.lv-contact-header__title { color: var(--lv-green-deep, #2E3A1A); font: 700 clamp(34px, 6vw, 56px)/1.16 var(--lv-font-heading, 'Playfair Display', serif); margin: 14px 0 16px; }
.lv-contact-header__desc { color: var(--lv-muted, #8A8078); font: 400 16px/1.7 var(--lv-font-body, 'Roboto', sans-serif); margin: 0 auto; max-width: 620px; }
.lv-contact-main { margin-bottom: 64px; }
.lv-contact-grid { display: grid; gap: 40px; grid-template-columns: 1fr; }
.lv-contact-info { padding: 8px 0; }
.lv-contact-info__heading { color: var(--lv-green-deep, #2E3A1A); font: 700 clamp(30px, 4vw, 44px)/1.2 var(--lv-font-heading, 'Playfair Display', serif); margin: 14px 0 18px; }
.lv-contact-info__text, .lv-contact-item span, .lv-contact-info__direction p { color: var(--lv-body, #3D3028); font: 400 16px/1.7 var(--lv-font-body, 'Roboto', sans-serif); }
.lv-contact-info__text { margin: 0 0 28px; }
.lv-contact-info__list { display: grid; gap: 18px; list-style: none; margin: 0; padding: 0; }
.lv-contact-item { align-items: flex-start; display: flex; gap: 14px; }
.lv-contact-item__icon { align-items: center; background: var(--lv-surface, #FFFFFF); border: 1px solid var(--lv-border, #E4E0D8); border-radius: 50%; color: var(--lv-gold-dark, #A07828) !important; display: flex; flex: 0 0 42px; font-size: 21px !important; height: 42px; justify-content: center; width: 42px; }
.lv-contact-item strong, .lv-contact-info__direction strong { color: var(--lv-green-deep, #2E3A1A); display: block; font: 700 14px/1.4 var(--lv-font-body, 'Roboto', sans-serif); margin-bottom: 3px; }
.lv-contact-item a { color: var(--lv-green-mid, #4E7A22); display: inline-block; font: 700 16px/1.5 var(--lv-font-body, 'Roboto', sans-serif); text-decoration: none; }
.lv-contact-item a:hover, .lv-contact-item a:focus-visible { color: var(--lv-gold-dark, #A07828); text-decoration: underline; }
.lv-contact-info__direction { border-left: 4px solid var(--lv-gold-core, #C9A030); margin-top: 28px; padding-left: 16px; }
.lv-contact-info__direction p { margin: 6px 0 0; }
.lv-contact-form-wrapper { background: var(--lv-surface, #FFFFFF); border: 1px solid var(--lv-border, #E4E0D8); border-radius: var(--lv-radius-md, 8px); padding: 24px; }
.lv-contact-form__title { color: var(--lv-green-deep, #2E3A1A); font: 700 30px/1.2 var(--lv-font-heading, 'Playfair Display', serif); margin: 0 0 22px; }
.lv-contact-form { display: grid; gap: 18px; }
.lv-contact-form__row { display: grid; gap: 18px; grid-template-columns: 1fr; }
.lv-contact-form__field { color: var(--lv-body, #3D3028); display: grid; font: 700 13px/1.4 var(--lv-font-body, 'Roboto', sans-serif); gap: 7px; }
.lv-contact-form__field input, .lv-contact-form__field textarea { background: var(--lv-bg, #FBF8F2); border: 1px solid var(--lv-border, #E4E0D8); border-radius: var(--lv-radius-sm, 4px); color: var(--lv-body, #3D3028); font: 400 15px/1.5 var(--lv-font-body, 'Roboto', sans-serif); padding: 11px 12px; width: 100%; }
.lv-contact-form__field textarea { min-height: 140px; resize: vertical; }
.lv-contact-form__field input:focus, .lv-contact-form__field textarea:focus { border-color: var(--lv-green-mid, #4E7A22); box-shadow: 0 0 0 3px rgba(78, 122, 34, .16); outline: 0; }
.lv-contact-form__submit { cursor: pointer; min-height: 50px; }
.lv-alert { border-radius: var(--lv-radius-sm, 4px); font: 400 14px/1.5 var(--lv-font-body, 'Roboto', sans-serif); margin-bottom: 18px; padding: 12px 14px; }
.lv-alert--success { background: var(--lv-green-mist, #F4F7EE); color: var(--lv-green-deep, #2E3A1A); }
.lv-alert--error { background: #FBECEC; color: #8A2020; }
.lv-contact-map { margin-bottom: 64px; }
.lv-map-wrapper { border: 1px solid var(--lv-border, #E4E0D8); border-radius: var(--lv-radius-md, 8px); overflow: hidden; }
.lv-map-wrapper iframe { border: 0; display: block; height: 360px; width: 100%; }
.lv-contact-faq { margin: 0 auto; max-width: 1120px; }
.lv-section-header { margin-bottom: 28px; text-align: center; }
.lv-section-header__title { color: var(--lv-green-deep, #2E3A1A); font: 700 clamp(30px, 5vw, 42px)/1.2 var(--lv-font-heading, 'Playfair Display', serif); margin: 12px 0 0; }
.lv-visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }

@media (min-width: 768px) {
	.lv-contact-page { padding-bottom: var(--lv-section-padding, 100px); }
	.lv-contact-grid { gap: 56px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.lv-contact-form__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lv-contact-form-wrapper { padding: 36px; }
	.lv-map-wrapper iframe { height: 450px; }
}