/* Original HP220 Home composition, native markup and existing Bologna fonts.
   Home-only: do not alter the approved navigation or inner-page layouts. */
body.vgreen-theme .vgreen-home-hero .hero-theme { margin: 20px auto 10px; color: #fff; animation: none; }
body.vgreen-theme .vgreen-home-hero .hero-rule { background: #fff; }
body.vgreen-theme .vgreen-home-hero .hero-sub { color: #f0cf83; text-shadow: 0 2px 7px rgba(0,0,0,.9); }
@media (min-width: 641px) {
    body.vgreen-theme .vgreen-home-hero .hero-content { padding-top: 0; margin-top: 30px; }
    body.vgreen-theme .vgreen-home-hero .hero-arrow { top: auto; bottom: 6%; height: 50px; transform: none; }
}
body.vgreen-theme .vgreen-welcome { padding: 54px 0 58px; border: 0; }
body.vgreen-theme .vgreen-welcome > .container { width: min(1140px, calc(100% - 48px)); }
body.vgreen-theme .vgreen-welcome .vgreen-section-heading { display: block; margin-bottom: 34px; text-align: center; }
body.vgreen-theme .vgreen-welcome .vgreen-section-heading h2 { margin: 0; color: #686868; font-size: 32px; line-height: 1.15; text-transform: uppercase; }
body.vgreen-theme .vgreen-welcome .vgreen-section-heading h2::after { content: ""; display: block; width: 80px; height: 4px; margin: 14px auto; background: #686868; }
body.vgreen-theme .vgreen-welcome .vgreen-section-heading h3 { margin: 0; color: #686868; font-size: 27px; line-height: 1.3; font-weight: 500; }
body.vgreen-theme .vgreen-rich-text { display: block; color: #686868; }
body.vgreen-theme .vgreen-rich-text p,
body.vgreen-theme .vgreen-rich-text p:first-child { margin: 0 0 16px; padding: 0; border: 0; color: #686868; font-size: 18px; line-height: 1.55; text-align: justify; }
body.vgreen-theme .vgreen-rich-text strong { color: inherit; }
body.vgreen-theme .vgreen-rich-text .vgreen-signature { margin: 20px 0 0 !important; padding: 0 !important; border: 0; color: #686868; text-align-last: right; }
body.vgreen-theme .vgreen-callout { margin: 42px auto 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
body.vgreen-theme .vgreen-callout h3,
body.vgreen-theme .vgreen-callout p { margin: 0; color: #686868; font-size: 25px; line-height: 1.25; font-weight: 500; }

/* Original edge-to-edge seven-picture strip, with modest hover disclosure. */
body.vgreen-theme .vgreen-topic-section { padding: 0; border: 0; background: #fff; }
body.vgreen-theme .vgreen-topic-grid { width: 100%; max-width: none; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0; }
body.vgreen-theme .vgreen-topic-card,
body.vgreen-theme .vgreen-topic-card:nth-child(n + 3):nth-child(-n + 5),
body.vgreen-theme .vgreen-topic-card:nth-child(n + 6),
body.vgreen-theme .vgreen-topic-card:last-child { display: block; grid-column: auto; min-height: 0; aspect-ratio: 400 / 266; box-shadow: none; transform: none; }
body.vgreen-theme .vgreen-topic-card::before,
body.vgreen-theme .vgreen-topic-card::after { display: none; }
body.vgreen-theme .vgreen-topic-card:hover,
body.vgreen-theme .vgreen-topic-card:focus-within { transform: none; box-shadow: none; }
body.vgreen-theme .vgreen-topic-image { position: absolute; inset: 0; }
body.vgreen-theme .vgreen-topic-image img { object-fit: cover; transform: none; }
body.vgreen-theme .vgreen-topic-copy { position: absolute; inset: 0; justify-content: center; align-items: center; padding: 8px; text-align: center; background: #003d27d9; opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; }
body.vgreen-theme .vgreen-topic-copy h3,
body.vgreen-theme .vgreen-topic-card:nth-child(n + 3):nth-child(-n + 5) .vgreen-topic-copy h3 { margin: 0 0 8px; font-size: 15px; line-height: 1.08; text-shadow: none; }
body.vgreen-theme .vgreen-topic-copy .button,
body.vgreen-theme .vgreen-topic-copy .button.muted { padding: 4px 8px; border: 1px solid #fff; font-size: 12px; line-height: 1.1; }
body.vgreen-theme .vgreen-topic-card:hover .vgreen-topic-copy,
body.vgreen-theme .vgreen-topic-card:focus-within .vgreen-topic-copy { opacity: 1; visibility: visible; }

/* The original seven pictures travel as one slow, seamless strip. */
body.vgreen-theme .vgreen-topic-marquee { width: 100%; overflow: hidden; }
body.vgreen-theme .vgreen-topic-track { display: flex; width: 200%; }
body.vgreen-theme .vgreen-topic-track > .vgreen-topic-grid {
    flex: 0 0 50%;
    width: 50%;
    max-width: none;
}
@keyframes vgreenTopicSlideLeft {
    to { transform: translate3d(-50%, 0, 0); }
}
@media (min-width: 1001px) and (prefers-reduced-motion: no-preference) {
    body.vgreen-theme .vgreen-topic-track {
        animation: vgreenTopicSlideLeft 90s linear infinite;
        will-change: transform;
    }
    body.vgreen-theme .vgreen-topic-marquee:focus-within .vgreen-topic-track {
        animation-play-state: paused;
    }
}
@media (max-width: 1000px) {
    body.vgreen-theme .vgreen-topic-track { display: block; width: 100%; }
    body.vgreen-theme .vgreen-topic-track > .vgreen-topic-grid { width: 100%; }
    body.vgreen-theme .vgreen-topic-track > .vgreen-topic-grid[aria-hidden="true"] { display: none; }
}

/* Four balanced information cards, retaining the original dark photo backdrop. */
body.vgreen-theme .vgreen-home-info { padding: 44px 0 56px; background: #3a353c url('../images/home-vgreen/info-background.jpg') center / cover no-repeat; }
body.vgreen-theme .vgreen-home-info-grid { width: min(1200px, calc(100% - 48px)); grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
body.vgreen-theme .vgreen-home-info-card {
    display: flex; flex-direction: column; align-items: stretch; min-width: 0;
    padding: 20px 20px 22px; border: 1px solid #dbe8dc; border-top: 4px solid #20a54d;
    border-radius: 10px; background: #fff; text-align: left;
    box-shadow: 0 12px 30px rgba(9, 25, 16, .15);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body.vgreen-theme .vgreen-home-info-card:hover {
    transform: translateY(-4px); border-color: #84c998;
    box-shadow: 0 18px 36px rgba(9, 25, 16, .22);
}
body.vgreen-theme .vgreen-home-info-card > img { width: 110px; height: 64px; margin: 0 auto 14px; object-fit: cover; }
body.vgreen-theme .vgreen-home-info-card h2 { min-height: 44px; margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid #e1ebe1; font-size: 26px; line-height: 1.12; text-align: center; }
body.vgreen-theme .vgreen-home-info-card h2 a { color: #155e30; }
body.vgreen-theme .vgreen-home-info-card p { margin: 0 0 20px; color: #4d5e52; font-size: 18px; line-height: 1.45; overflow-wrap: anywhere; }
body.vgreen-theme .vgreen-home-info-card p a { color: #16763b; text-decoration: underline; text-underline-offset: 3px; }
body.vgreen-theme .vgreen-home-info-card .button { display: inline-flex; align-items: center; justify-content: center; align-self: stretch; width: auto; min-height: 44px; gap: 12px; margin: auto 0 0; padding: 10px 14px; color: #fff; background: #078b3d; border: 1px solid #078b3d; border-radius: 4px; font-size: 16px; line-height: 1.2; }
body.vgreen-theme .vgreen-home-info-card .button::after { content: "\2192"; display: inline; }
body.vgreen-theme .vgreen-home-info-card .button:hover,
body.vgreen-theme .vgreen-home-info-card .button:focus { color: #fff; background: #005b1b; border-color: #005b1b; }
body.vgreen-theme .vgreen-home-info-card a:focus-visible { outline: 2px solid #13773a; outline-offset: 4px; }
body.vgreen-theme .vgreen-christmas-overlay { background: rgba(9, 13, 15, .24); }
body.vgreen-theme .vgreen-christmas-content { max-width: 1200px; padding: 54px 24px; }
body.vgreen-theme .vgreen-christmas-content h2 { font-size: 30px; line-height: 1.15; text-transform: uppercase; }
body.vgreen-theme .vgreen-christmas-content p { font-size: 20px; text-transform: uppercase; }
@media (max-width: 1000px) {
    body.vgreen-theme .vgreen-home-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 641px) and (max-width: 1000px) {
    body.vgreen-theme .vgreen-topic-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    body.vgreen-theme .vgreen-topic-grid > .vgreen-topic-card:nth-child(n) { grid-column: span 3; }
    body.vgreen-theme .vgreen-topic-grid > .vgreen-topic-card:nth-child(n + 5) { grid-column: span 4; }
}
@media (max-width: 640px) {
    body.vgreen-theme .vgreen-welcome { padding: 38px 0 40px; }
    body.vgreen-theme .vgreen-welcome > .container { width: calc(100% - 36px); }
    body.vgreen-theme .vgreen-welcome .vgreen-section-heading h2 { font-size: 27px; line-height: 1.15; }
    body.vgreen-theme .vgreen-welcome .vgreen-section-heading h3 { font-size: 23px; }
    body.vgreen-theme .vgreen-rich-text p,
    body.vgreen-theme .vgreen-rich-text p:first-child { font-size: 18px; text-align: left; }
    body.vgreen-theme .vgreen-callout h3,
    body.vgreen-theme .vgreen-callout p { font-size: 22px; }
    body.vgreen-theme .vgreen-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.vgreen-theme .vgreen-topic-card,
    body.vgreen-theme .vgreen-topic-card:nth-child(n + 3):nth-child(-n + 5),
    body.vgreen-theme .vgreen-topic-card:nth-child(n + 6),
    body.vgreen-theme .vgreen-topic-card:last-child { display: flex; flex-direction: column; aspect-ratio: auto; background: #fff; align-items: stretch; }
    body.vgreen-theme .vgreen-topic-image { position: relative; width: 100%; aspect-ratio: 400 / 266; }
    body.vgreen-theme .vgreen-topic-copy { position: relative; flex: 1; height: auto; opacity: 1; visibility: visible; padding: 14px 10px 18px; background: #005b1b; }
    body.vgreen-theme .vgreen-topic-copy h3 { font-size: 16px; line-height: 1.2; }
    body.vgreen-theme .vgreen-topic-card:last-child { grid-column: 1 / -1; }
    body.vgreen-theme .vgreen-topic-card:last-child .vgreen-topic-image { aspect-ratio: auto; height: 180px; }
    body.vgreen-theme .vgreen-home-info { padding: 32px 0; }
    body.vgreen-theme .vgreen-home-info-grid { width: calc(100% - 36px); grid-template-columns: minmax(0, 1fr); gap: 20px; }
    body.vgreen-theme .vgreen-home-info-card { padding: 20px 24px 24px; }
    body.vgreen-theme .vgreen-home-info-card > img { width: 110px; height: 64px; margin-bottom: 14px; }
    body.vgreen-theme .vgreen-home-info-card h2 { min-height: 0; margin-bottom: 18px; }
    body.vgreen-theme .vgreen-christmas-content { width: 100%; padding: 36px 18px; }
    body.vgreen-theme .vgreen-christmas-content h2 { font-size: 27px; line-height: 1.2; }
    body.vgreen-theme .vgreen-christmas-content p { font-size: 18px; }
}
@media (hover: none) and (min-width: 641px) {
    body.vgreen-theme .vgreen-topic-copy { opacity: 1; visibility: visible; }
}
@media (prefers-reduced-motion: reduce) {
    body.vgreen-theme .vgreen-home-info-card { transition: none; }
    body.vgreen-theme .vgreen-home-info-card:hover { transform: none; }
    body.vgreen-theme .vgreen-topic-copy { transition: none; }
    body.vgreen-theme .vgreen-topic-image img { transform: none !important; }
}
/* A compact publication announcement directly below the hero. */
body.vgreen-theme .vgreen-home-publication { padding: 14px 0; color: #f5faf3; background: radial-gradient(ellipse at top right, #296748, transparent 70%), #103c2a; border-bottom: 2px solid #d78a32; }
body.vgreen-theme .vgreen-home-publication-inner { display: grid; grid-template-columns: 130px minmax(0, 1fr) auto; gap: 24px; align-items: center; }
body.vgreen-theme .vgreen-home-publication-edition { padding-right: 20px; border-right: 1px solid #ffffff38; }
body.vgreen-theme .vgreen-home-publication-edition strong { display: block; color: #fff; font-size: 46px; font-weight: 600; line-height: 1; }
body.vgreen-theme .vgreen-home-publication-edition span { display: block; margin-top: 4px; color: #c4e2ca; font-size: 15px; line-height: 1.15; }
body.vgreen-theme .vgreen-home-publication-copy .section-kicker { margin: 0 0 5px; color: #c4e2ca; font-size: 10px; letter-spacing: .14em; }
body.vgreen-theme .vgreen-home-publication-copy h2 { margin: 0 0 5px; color: #fff; font-size: clamp(22px, 2.1vw, 27px); font-weight: 500; line-height: 1.15; }
body.vgreen-theme .vgreen-home-publication-copy h2 span { color: #ffb45c; }
body.vgreen-theme .vgreen-home-publication-copy > a { color: #e1eddf; font-size: 16px; text-underline-offset: 4px; }
body.vgreen-theme .vgreen-home-publication-button { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 10px 14px; border: 1px solid #d0dec3; border-radius: 6px; background: #f4f8ee; color: #103c2a; font-size: 17px; font-weight: 500; line-height: 1.1; text-decoration: none; }
body.vgreen-theme .vgreen-home-publication-button small { grid-column: 1 / -1; font-size: 13px; font-weight: 500; }
body.vgreen-theme .vgreen-home-publication-button:hover { background: #fff; }
body.vgreen-theme .vgreen-home-publication a:focus-visible { outline: 3px solid #ffb45c; outline-offset: 5px; }
@media (max-width: 900px) {
    body.vgreen-theme .vgreen-home-publication-inner { grid-template-columns: 130px minmax(0, 1fr); gap: 20px; }
    body.vgreen-theme .vgreen-home-publication-button { grid-column: 2; justify-self: start; }
}
@media (max-width: 540px) {
    body.vgreen-theme .vgreen-home-publication-inner { width: calc(100% - 36px); grid-template-columns: minmax(0, 1fr); gap: 12px; }
    body.vgreen-theme .vgreen-home-publication-edition { display: flex; align-items: center; gap: 12px; padding: 0 0 10px; border-right: 0; border-bottom: 1px solid #ffffff38; }
    body.vgreen-theme .vgreen-home-publication-edition strong { font-size: 36px; }
    body.vgreen-theme .vgreen-home-publication-edition span { margin: 0; }
    body.vgreen-theme .vgreen-home-publication-button { grid-column: 1; justify-self: stretch; }
}
/* End of Home-only parity styles. */
