/* info */
.contact-page {
    gap: 0;
}
.contact-page .contact-container {
    position: relative;
    margin-block: clamp(1rem, 4vw, 2rem);
    padding-inline: clamp(1rem, 4vw, 2rem);
}
.contact-page .contact-info {
    position: relative;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
    padding: 2rem;
    margin-inline: auto;
    width: fit-content;
    color: var(--color-text-accent);
    background: var(--color-bg-accent);
    box-shadow: 0 0 clamp(0.5rem, 2vw, 1rem) clamp(0.125rem, 0.5vw, 0.25rem) var(--color-shadow-strong);
}
.contact-page .contact-info *:focus-visible {
    outline-color: var(--color-focus-accent);
}
.contact-page .contact-info::after {
    content: "";
    display: block;
    position: absolute;
    pointer-events: none;
    inset: 0.5rem 0.5rem;
    border: 0.125rem solid;
    border-color: var(--color-bg-detail);
}
.contact-page .contact-container::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 50%;
    top: 25%;
    left: 0;
    background: var(--color-bg-contrast);
    z-index: -1;
}
.contact-page .contact-info a {
    text-decoration: none;
    color: inherit;
}

/* map */
.map-embed {
    width: 100%;
    height: 25rem;
}
main.contact-page .map-embed:last-child:not(aside) {
    margin-bottom: 0;
    margin-top: auto;
}