.comfy-contact-page { padding-top: 113px; font-family: "Inter", sans-serif; color: var(--comfy-ink); }
.comfy-contact-page h1, .comfy-contact-page h2, .comfy-contact-page h3 { font-family: "Barlow", sans-serif; font-weight: 700; color: var(--comfy-ink); letter-spacing: -.03em; }
.comfy-contact-page h1 { font-size: clamp(2.6rem, 4.4vw, 4rem); line-height: 1.05; margin: 15px 0 20px; }
.comfy-contact-page h2 { font-size: 2rem; line-height: 1.15; margin: 10px 0 20px; }
.comfy-contact-page p { color: var(--comfy-muted); line-height: 1.8; font-size: .9rem; }
.comfy-contact-page section { scroll-margin-top: 110px; }
.comfy-contact-intro { padding: 0 0 34px; }
.comfy-contact-breadcrumb { display: flex; gap: 12px; padding: 25px 0 28px; color: var(--comfy-muted); font-size: .72rem; }
.comfy-contact-breadcrumb a { color: inherit; }
.comfy-contact-intro > .container > p { max-width: 65ch; margin: 0; }
.comfy-contact-main { padding: 0 0 64px; }
.comfy-contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 54px; align-items: start; }
.comfy-contact-grid > * { min-width: 0; }
.comfy-contact-direct { background: var(--comfy-paper); border-radius: var(--comfy-radius); padding: 34px; border: 1px solid var(--comfy-line); }
.comfy-contact-direct > p { max-width: 39ch; margin-bottom: 24px; }
.comfy-contact-phone { display: block; color: var(--comfy-red); font-size: clamp(1.35rem, 2.1vw, 1.8rem); font-weight: 700; margin: 0 0 10px; }
.comfy-contact-email { display: inline-block; color: var(--comfy-ink); font-size: .95rem; overflow-wrap: anywhere; }
.comfy-contact-direct .comfy-contact-hours { font-size: .76rem; margin: 14px 0 25px; }
.comfy-contact-address { display: flex; gap: 14px; padding: 24px 0; border-top: 1px solid var(--comfy-line); font-size: .85rem; line-height: 1.9; }
.comfy-contact-address > i { color: var(--comfy-red); font-size: 1.25rem; }
.comfy-contact-address a { font-size: .78rem; margin-top: 8px; }
.comfy-contact-planner { border-top: 1px solid var(--comfy-line); padding-top: 22px; }
.comfy-contact-planner p { font-size: .8rem; margin: 0 0 8px; }
.comfy-contact-planner a { font-size: .8rem; }
.comfy-contact-form-card h2 { margin: 0 0 10px; }
.comfy-contact-form-card > p { margin-bottom: 26px; }
.comfy-contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.comfy-field-wide { grid-column: 1 / -1; }
.comfy-contact-fields label { display: block; color: var(--comfy-ink); font-size: .82rem; font-weight: 700; margin-bottom: 8px; }
.comfy-contact-fields input, .comfy-contact-fields textarea { display: block; width: 100%; padding: 13px 14px; border: 1px solid #cfc8bd; border-radius: 5px; background: #fff; color: var(--comfy-ink); font: 400 .87rem/1.5 "Inter", sans-serif; }
.comfy-contact-fields textarea { resize: vertical; min-height: 138px; }
.comfy-contact-fields input::placeholder, .comfy-contact-fields textarea::placeholder { color: #817a72; }
.comfy-contact-fields input:focus, .comfy-contact-fields textarea:focus { outline: 2px solid var(--comfy-red); outline-offset: 2px; border-color: var(--comfy-red); }
.comfy-contact-fields .text-danger { display: block; font-size: .75rem; margin-top: 5px; }
.comfy-contact-fields .input-validation-error { border-color: var(--comfy-red); }
.comfy-contact-submit { display: flex; align-items: center; gap: 22px; margin-top: 24px; }
.comfy-contact-submit .comfy-button { flex-shrink: 0; }
.comfy-contact-submit p { font-size: .7rem; line-height: 1.7; margin: 0; max-width: 35ch; }
.comfy-contact-submit p a { color: var(--comfy-muted); text-decoration: underline; }
.comfy-contact-locations { background: var(--comfy-paper); padding: 52px 0; }
.comfy-contact-location-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.comfy-contact-location-heading h2 { margin-bottom: 0; }
.comfy-contact-location-heading p { font-size: .85rem; margin: 0; }
.comfy-location-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.comfy-location-card { overflow: hidden; border: 1px solid var(--comfy-line); border-radius: var(--comfy-radius); background: #fff; }
.comfy-location-card > img { display: block; width: 100%; height: auto; aspect-ratio: 2.15; object-fit: cover; }
.comfy-location-copy { padding: 26px 28px; }
.comfy-location-copy h3 { font-size: 1.6rem; margin: 0 0 14px; }
.comfy-location-copy address { font-size: .85rem; font-style: normal; color: var(--comfy-muted); }
.comfy-location-copy p { font-size: .8rem; margin: 0 0 15px; }
.comfy-location-copy p strong { color: var(--comfy-ink); font-weight: 400; }
.comfy-location-copy a { display: block; width: fit-content; color: var(--comfy-ink); font-size: .85rem; margin: 6px 0; overflow-wrap: anywhere; }
.comfy-location-copy a:hover { color: var(--comfy-red); }
.comfy-contact-map { margin-top: 24px; }
.comfy-contact-map > button { display: flex; align-items: center; justify-content: center; gap: 16px; width: 100%; border: 1px solid var(--comfy-line); border-radius: 5px; padding: 16px; background: #fff; color: var(--comfy-ink); font-size: .85rem; }
.comfy-contact-map i { color: var(--comfy-red); }
.comfy-contact-map iframe { display: block; width: 100%; height: 340px; border: 0; border-radius: var(--comfy-radius); }
.comfy-contact-page a:focus-visible, .comfy-contact-page button:focus-visible { outline: 3px solid var(--comfy-red); outline-offset: 4px; }
@media (max-width: 991px) {
    .comfy-contact-fields input, .comfy-contact-fields textarea { font-size: 16px; }
    .comfy-contact-grid { gap: 30px; }
    .comfy-contact-direct { padding: 26px; }
    .comfy-contact-fields { grid-template-columns: 1fr; gap: 18px; }
    .comfy-contact-submit { align-items: flex-start; flex-direction: column; gap: 16px; }
    .comfy-contact-location-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
}
@media (max-width: 767px) {
    .comfy-contact-grid, .comfy-location-grid { grid-template-columns: 1fr; }
    .comfy-contact-direct { padding: 26px; }
    .comfy-contact-page h2 { font-size: 1.8rem; }
    .comfy-contact-main { padding-bottom: 40px; }
    .comfy-contact-form-card { padding-top: 8px; }
    .comfy-contact-submit .comfy-button { width: 100%; }
    .comfy-contact-submit p { max-width: 50ch; }
    .comfy-contact-locations { padding: 36px 0; }
    .comfy-location-copy { padding: 24px; }
}
@media (max-width: 575px) { .comfy-contact-page { padding-top: 101px; } .comfy-contact-breadcrumb { padding: 22px 0; } .comfy-contact-page h1 { font-size: 2.6rem; } }
