/* Doorway-inspired invitation; copy and imagery come from editable Polymer layouts. */
:root .polymer-classic-layout.hv-invitation { background: var(--hv-color-background); color: var(--hv-color-ink); padding-block: clamp(2rem, 5vw, 5rem) !important; }
:root .hv-invitation > .container { background: var(--hv-color-surface); border: 1px solid var(--hv-color-border-accent); padding: clamp(1.5rem, 4vw, 4rem); }
:root .hv-invitation > .container > .row { --bs-gutter-x: clamp(2rem, 5vw, 5rem); align-items: center; row-gap: 2.5rem; }
:root .hv-invitation__copy { text-align: left; }
:root .hv-invitation__eyebrow { display: flex; align-items: center; gap: 1rem; font-family: var(--hv-font-ui); font-size: 1.1rem; font-weight: 400; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; color: var(--hv-color-eyebrow); margin: 0 0 1.5rem; }
:root .hv-invitation__eyebrow::before { content: ""; width: 2.5rem; height: 1px; background: var(--hv-color-accent); }
:root .hv-invitation__copy h2 { font-family: var(--hv-font-display); font-size: clamp(2.75rem, 4.5vw, 5rem); font-weight: 400; line-height: 1.04; color: var(--hv-color-ink); margin: 0 0 1.5rem; }
:root .hv-invitation__copy > p:not(.hv-invitation__eyebrow) { max-width: 430px; font-size: 1.0625rem; line-height: 1.8; color: var(--hv-color-text); margin-bottom: 1.5rem; }
:root .hv-invitation__copy > p:last-child { margin: 2rem 0 0; }
:root .hv-invitation__copy .btn { display: inline-flex; align-items: center; gap: 1.25rem; }
:root .hv-invitation__copy .btn::after { transition: transform 180ms ease; }
:root .hv-invitation__copy .btn:hover::after { transform: translateX(4px); }
:root .hv-invitation__image .polymer-card { background: transparent; border: 1px solid var(--hv-color-border-strong); border-radius: 50% 50% 2px 2px / 33.333% 33.333% 2px 2px; padding: 10px; box-shadow: none; max-width: 350px; height: auto; margin-left: auto; overflow: hidden; }
:root .hv-invitation__image .card-body { display: none !important; }
:root .hv-invitation__image .polymer-card__image { border-radius: 50% 50% 0 0 / 33.333% 33.333% 0 0; overflow: hidden; margin: 0; }
:root .hv-invitation__image .polymer-card__image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
@media (max-width: 991.98px) {
    :root .hv-invitation > .container { max-width: calc(100% - 2rem); }
    :root .hv-invitation__copy h2 { font-size: clamp(2.75rem, 6vw, 4rem); }
    :root .hv-invitation__copy > p:not(.hv-invitation__eyebrow) { max-width: 540px; }
    :root .hv-invitation__image .polymer-card { margin-inline: auto; width: min(100%, 300px); }
}
@media (max-width: 575.98px) {
    :root .hv-invitation__copy .btn { width: 100%; justify-content: space-between; font-size: 1.1rem; padding-inline: 1rem; }
    :root .hv-invitation__copy > p:not(.hv-invitation__eyebrow) { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) { :root .hv-invitation__copy .btn::after { transition: none; transform: none; } }
@media (prefers-reduced-motion: reduce) { :root .hv-invitation__copy .btn:hover::after { transform: none; } }
