html:has(.vr-contact) { scroll-behavior: auto; scroll-padding-top: 0; }
body.admin-bar:has(.vr-contact) .vr-site-header { top: 32px; }
.vr-contact { padding-block: clamp(2rem,5vw,4rem); }
.vr-contact :is(h1,h2,h3) { font-family: Georgia,"Times New Roman",serif; font-weight: 400; color: var(--vr-wine); line-height: 1.15; text-wrap: balance; }
.vr-contact h1 { font-size: clamp(2.3rem,4.4vw,4.15rem); margin: .8rem 0 1.25rem; }
.vr-contact h2 { font-size: clamp(1.9rem,3vw,2.85rem); margin: .7rem 0 1rem; }
.vr-contact h3 { font-size: 1.6rem; margin: .8rem 0; }
.vr-contact-kicker { color: var(--vr-wine); font-size: .75rem; letter-spacing: .16em; font-weight: 700; margin: 0; }
.vr-contact-hero { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: clamp(2rem,5vw,4.5rem); margin-bottom: clamp(3rem,7vw,6rem); }
.vr-contact-hero--text { grid-template-columns: 1fr; max-width: 52rem; }
.vr-contact-lead { font-size: 1.1rem; line-height: 1.8; color: var(--vr-ink-soft); max-width: 34rem; }
.vr-contact-hero__photo { margin: 0; padding: .7rem; border: 1px solid var(--vr-line); border-radius: 8rem 1.2rem 1.2rem 1.2rem; background: #f6efe5; box-shadow: 0 12px 30px rgb(24 36 42 / 6%); }
.vr-contact-hero__photo img { display: block; width: 100%; height: auto; max-height: 36rem; object-fit: contain; border-radius: 7.5rem .8rem .8rem .8rem; }
.vr-contact-hero__photo figcaption { padding: .7rem .5rem .2rem; color: var(--vr-ink-soft); font-size: .8rem; text-align: center; }
.vr-contact-link { display: inline-flex; gap: .6rem; align-items: center; min-height: 44px; font-weight: 600; text-underline-offset: .2em; }
.vr-contact-editorial { max-width: 50rem; margin: 0 auto 3rem; }
.vr-contact-section-intro { max-width: 43rem; margin: 0 auto 2rem; text-align: center; }
.vr-contact-channels-section { scroll-margin-top: 10rem; margin-bottom: clamp(3rem,6vw,5rem); }
.vr-contact-cards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.vr-contact-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.1rem,2vw,1.8rem); background: #fffcf6; border: 1px solid var(--vr-line); border-radius: 1rem; box-shadow: 0 5px 20px rgb(24 36 42 / 3%); }
.vr-contact-card > p { margin: .3rem 0 1rem; }
.vr-contact-card > :is(a,address) { margin-top: auto; }
.vr-contact-icon { display: inline-flex; align-items: center; justify-content: center; width: 3.2rem; height: 3.2rem; border-radius: 50%; background: var(--vr-sand); color: var(--vr-wine); }
.vr-contact-card--wine { background: var(--vr-wine); color: #fffdf8; }
.vr-contact-card--wine h3 { color: inherit; }
.vr-contact-card--wine .vr-contact-icon { color: #fffdf8; background: rgb(255 255 255 / 12%); }
.vr-contact-card--wine .vr-button { background: #fffdf8; color: var(--vr-wine); text-align: center; }
.vr-contact .vr-contact-value { font-size: .95rem; overflow-wrap: anywhere; }
.vr-contact address { font-style: normal; line-height: 1.8; overflow-wrap: anywhere; }
.vr-contact-small { font-size: .85rem; line-height: 1.6; }
.vr-contact-card--wine .vr-contact-small { margin: .9rem 0 0; }
.vr-contact-location { display: grid; grid-template-columns: .85fr 1.25fr; border-radius: 1.3rem; overflow: hidden; background: var(--vr-sand); margin-bottom: 4rem; border: 1px solid var(--vr-line); }
.vr-contact-location__copy { padding: clamp(1.4rem,4vw,3.2rem); align-self: center; }
.vr-contact-location:not(:has(.vr-contact-map)) { grid-template-columns: 1fr; }
.vr-contact-map { position: relative; min-width: 0; min-height: 420px; background: #eee5d8; display: grid; align-items: center; }
.vr-contact-map__invitation { text-align: center; max-width: 28rem; margin: auto; padding: 2rem; }
.vr-contact-map__symbol { display: inline-flex; padding: 1.5rem; border-radius: 50%; border: 1px solid #bfa98e; color: var(--vr-wine); }
.vr-contact-map__symbol svg { width: 40px; height: 40px; }
.vr-contact [hidden] { display: none !important; }
.vr-contact-map iframe { display: block; border: 0; width: 100%; height: 100%; min-height: 420px; }
.vr-contact-facade { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; margin-bottom: 4rem; }
.vr-contact-facade figure { margin: 0; }
.vr-contact-facade img { display: block; width: 100%; height: auto; border-radius: 1rem; }
.vr-contact-closing { display: grid; grid-template-columns: 1.6fr 1fr; gap: 2rem; align-items: center; border-block: 1px solid var(--vr-line); padding: 3rem 0; }
.vr-contact-closing__links { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.vr-contact :is(a,button,iframe):focus-visible { outline: 3px solid var(--vr-focus); outline-offset: 4px; }
.vr-contact .vr-button { white-space: normal; max-width: 100%; overflow-wrap: anywhere; }
@media (max-width: 70rem) { .vr-contact-cards { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 782px) { body.admin-bar:has(.vr-contact) .vr-site-header { top: 46px; } }
@media (max-width: 47.99rem) { .vr-contact-hero,.vr-contact-location,.vr-contact-facade,.vr-contact-closing { grid-template-columns: minmax(0,1fr); } .vr-contact-hero { gap: 1.5rem; } .vr-contact-hero__photo { border-top-left-radius: 4rem; } .vr-contact-hero__photo img { border-top-left-radius: 3.5rem; } .vr-contact-map,.vr-contact-map iframe { min-height: 350px; } .vr-contact-closing__links { align-items: flex-start; } }
@media (max-width: 600px) { body.admin-bar:has(.vr-contact) .vr-site-header { top: 0; } .vr-contact-cards { grid-template-columns: minmax(0,1fr); } .vr-contact-channels-section { scroll-margin-top: 8rem; } }
@media (prefers-reduced-motion: no-preference) { .vr-contact-link { transition: color .2s; } }
