/* Presentation only: all copy, photos and icon cards live in editable Polymer layouts. */
:root .hv-heritage-line { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 1rem; margin: 2rem 0 0; font-size: .9375rem; color: var(--hv-color-eyebrow); }
:root .hv-heritage-line::before { content: ""; width: 3rem; height: 1px; background: var(--hv-color-accent); }
:root .hv-kicker { font-family: var(--hv-font-ui); font-size: 1.1rem; letter-spacing: .12em; text-transform: uppercase; color: var(--hv-color-eyebrow); margin-bottom: 1.25rem; }
:root .hv-editorial { padding-block: clamp(4rem, 7vw, 7rem) !important; }
:root .hv-editorial > .container > .row { align-items: center; --bs-gutter-x: clamp(2rem, 5vw, 5rem); row-gap: 3rem; }
:root .hv-editorial-copy h2 { max-width: 520px; margin-bottom: 1.5rem; }
:root .hv-editorial-copy p { max-width: 520px; line-height: 1.75; }
:root .hv-collage .polymer-content-grid > .row { position: relative; display: block; margin: 0; padding: 0 0 3.5rem 2rem; }
/* This overlapping composition needs its shadow outside the animated column. */
html.polymer-motion-ready .polymer-animate-columns > .polymer-layout__container > .row > .hv-collage { clip-path: none !important; }
:root .hv-collage .polymer-content-grid > .row > div { padding: 0; margin: 0; }
:root .hv-collage .polymer-content-grid > .row > div:first-child { width: 82%; margin-left: auto; }
:root .hv-collage .polymer-content-grid > .row > div:last-child { position: absolute; left: 0; bottom: 0; width: 47%; border: 8px solid var(--hv-color-background); transform: rotate(-4deg); box-shadow: 0 10px 28px rgb(var(--hv-ink-rgb) / 12%); }
:root .hv-collage .polymer-card { border: 0; border-radius: 2px; background: none; box-shadow: none; }
:root .hv-collage .card-body { display: none !important; }
:root .hv-collage .polymer-card__image { margin: 0; overflow: hidden; }
:root .hv-collage .polymer-card__image img { width: 100%; height: 100%; object-fit: cover; }
:root .hv-highlights-intro { padding-bottom: 0 !important; }
:root .hv-highlights-intro h2 { max-width: 700px; margin-bottom: 0; }
:root .hv-highlights { padding-top: 2.5rem !important; padding-bottom: 5rem !important; }
:root .hv-highlights .polymer-card { text-align: left; }
:root .hv-highlights .polymer-card .card-body { align-items: flex-start; padding: 0 1rem 0 0; }
:root .hv-highlights .polymer-card .card-title { font-size: clamp(1.8rem, 2.5vw, 2.5rem); }
:root .hv-highlights .polymer-card .card-text { color: var(--hv-color-text-muted); font-size: 1rem; line-height: 1.7; }
:root .hv-faq-layout h2 { font-size: clamp(2.5rem, 3.5vw, 3.75rem); margin-bottom: 1.5rem; }
:root .hv-faq-layout > .container > .row { row-gap: 2rem; }
:root .hv-faq-layout .polymer-faq-group__title { font-size: 1.15rem; }
:root .hv-faq-layout > .container > .row > div:first-child > p:not(.hv-kicker) { max-width: 320px; line-height: 1.7; }
:root .polymer-classic-layout:is(.hv-parallax, .hv-parallax) { background-position: center calc(50% + var(--hv-story-shift, 0px)); }
@media (max-width: 991.98px) {
    :root .hv-editorial-copy h2, :root .hv-editorial-copy p { max-width: none; }
    :root .hv-collage { max-width: 600px; margin-inline: auto; }
}
@media (max-width: 767.98px) {
    :root .hv-collage .polymer-content-grid > .row { padding-left: 1rem; }
    :root .hv-highlights .polymer-card .card-body { padding-right: 0; }
    :root .hv-highlights { padding-bottom: 3rem !important; }
    :root .hv-faq-layout > .container > .row > div:first-child > p:not(.hv-kicker) { max-width: none; }
    :root .polymer-classic-layout:is(.hv-parallax, .hv-parallax) { background-position: center; }
}
@media (prefers-reduced-motion: reduce) {
    :root .polymer-classic-layout:is(.hv-parallax, .hv-parallax) { background-position: center; }
}

/* Historic photo, oversized founding year, and a calm editorial story panel. */
:root .polymer-classic-layout.hv-history {
    --polymer-layout-overlay: linear-gradient(90deg, rgb(var(--hv-ink-rgb) / .35), rgb(var(--hv-ink-rgb) / .08));
    padding-block: clamp(3rem, 6vw, 6rem) !important;
}
:root .hv-history > .container > .row { align-items: center; --bs-gutter-x: 0; row-gap: 2.5rem; }
:root .hv-history__date { color: var(--hv-color-paper); padding-right: clamp(2rem, 5vw, 5rem); }
:root .hv-history__eyebrow { font-family: var(--hv-font-ui); font-size: 1.2rem; letter-spacing: .15em; text-transform: uppercase; margin: 0 0 1.5rem; }
:root .hv-history__year { font-family: var(--hv-font-display); font-size: clamp(7rem, 15vw, 15rem); font-weight: 400; line-height: .85; letter-spacing: -.045em; margin: 0 0 2rem; }
:root .hv-history__caption { max-width: 300px; border-top: 1px solid rgb(255 253 248 / 55%); padding-top: 1.5rem; font-size: 1rem; line-height: 1.7; margin: 0; }
:root .hv-history__story { padding: clamp(2rem, 4vw, 4rem); background: var(--hv-color-background); color: var(--hv-color-ink); border-top: 4px solid var(--hv-color-accent); box-shadow: 0 14px 40px rgb(var(--hv-ink-rgb) / 12%); }
:root .hv-history__story h2 { font-size: clamp(2.5rem, 3.8vw, 4rem); line-height: 1.08; color: var(--hv-color-ink); margin: 0 0 1.75rem; }
:root .hv-history__story > p:not(.hv-kicker) { color: var(--hv-color-text-body); font-size: 1rem; line-height: 1.8; margin-bottom: 1.25rem; }
:root .hv-history__story > .hv-kicker { color: var(--hv-color-eyebrow); }
:root .hv-history__story > p:last-child { margin: 1.75rem 0 0; }
:root .hv-history__story .btn { --polymer-button-background: var(--hv-color-accent); --polymer-button-text: var(--hv-color-white); }
@media (max-width: 991.98px) {
    :root .hv-history__date { padding-right: 0; }
    :root .hv-history__year { font-size: clamp(7rem, 22vw, 12rem); }
    :root .hv-history__caption { max-width: 100%; }
}
@media (max-width: 575.98px) {
    :root .hv-history__story { padding: 1.75rem 1.5rem; }
    :root .hv-history__story h2 { font-size: 2.5rem; }
    :root .hv-history__story .btn { width: 100%; }
}
