/* Extra homepage section layouts + version picker */

.home-kicker {
    margin: 0 0 0.45rem;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8b1e1e;
}

.home-kicker--light {
    color: var(--home-sand);
}

.home-btn--solid {
    background: #8b1e1e;
    color: #fff;
}

.home-btn--solid:hover {
    background: #6f1717;
    color: #fff;
}

.home-btn--outline {
    border: 1px solid rgba(26, 23, 27, 0.28);
    color: var(--home-ink);
    background: transparent;
}

.home-btn--outline:hover {
    background: rgba(26, 23, 27, 0.05);
    color: var(--home-ink);
}

/* Welcome */
.home-welcome {
    background: var(--home-cream);
}

.home-welcome__text {
    margin: 0 0 1rem;
    max-width: 40rem;
    font-size: 1.08rem;
    line-height: 1.65;
    color: var(--home-ink);
}

.home-welcome__text--muted {
    color: var(--home-muted);
    font-size: 1rem;
}

.home-welcome__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.35rem;
}

.home-welcome__narrow {
    max-width: 40rem;
}

.home-welcome__split {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 2.5rem;
    align-items: center;
}

.home-welcome__media,
.home-history__media,
.home-visit__media,
.home-spotlight__media {
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
    background: #e8e4dc;
    aspect-ratio: 4 / 3;
}

.home-welcome__media img,
.home-history__media img,
.home-visit__media img,
.home-spotlight__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* History */
.home-history {
    background: #fff;
}

.home-history__split {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 2.5rem;
    align-items: center;
}

.home-history__text {
    margin: 0 0 1rem;
    line-height: 1.65;
    color: var(--home-muted);
    max-width: 38rem;
}

.home-milestones {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}

.home-milestone {
    padding: 1.35rem 1.25rem;
    background: var(--home-cream);
    border-radius: 4px;
    border-top: 3px solid #8b1e1e;
}

.home-milestone__year {
    margin: 0 0 0.55rem;
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--home-ink);
    line-height: 1;
}

.home-milestone__text {
    margin: 0;
    color: var(--home-muted);
    line-height: 1.55;
    font-size: 0.98rem;
}

/* Activities */
.home-activities {
    background: var(--home-cream);
}

.home-activities--grid {
    background: #fff;
}

.home-act-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem 1.75rem;
}

.home-act-card {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 1rem;
    align-items: center;
    text-decoration: none;
    color: inherit;
    animation: home-rise 0.7s ease-out both;
    animation-delay: var(--card-delay, 0s);
}

.home-act-card__media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 4px;
    background: #e8e4dc;
}

.home-act-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.home-act-card:hover .home-act-card__media img {
    transform: scale(1.03);
}

.home-act-card__title {
    display: block;
    margin: 0 0 0.35rem;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--home-ink);
}

.home-act-card:hover .home-act-card__title {
    color: #8b1e1e;
}

.home-act-card__text {
    display: block;
    margin: 0 0 0.65rem;
    color: var(--home-muted);
    line-height: 1.45;
    font-size: 0.95rem;
}

.home-act-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 600;
    color: #8b1e1e;
    font-size: 0.92rem;
}

.home-act-card__cta .fa {
    font-size: 0.75rem;
    transition: transform 0.2s ease;
}

.home-act-card:hover .home-act-card__cta .fa {
    transform: translateX(3px);
}

.home-act-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.home-act-strip__item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.25rem;
    min-height: 8.5rem;
    padding: 1.25rem 1.15rem;
    background: #fff;
    border-radius: 4px;
    text-decoration: none;
    color: inherit;
    border-bottom: 3px solid transparent;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.home-act-strip__item:hover {
    border-bottom-color: #8b1e1e;
    transform: translateY(-2px);
}

.home-act-strip__title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--home-ink);
}

.home-act-strip__cta {
    font-weight: 600;
    color: #8b1e1e;
    font-size: 0.92rem;
}

.home-act-list {
    list-style: none;
    margin: 0;
    padding: 0;
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
}

.home-act-list li + li {
    border-top: 1px solid #e8e4dc;
}

.home-act-list a {
    display: grid;
    gap: 0.25rem;
    padding: 1.15rem 1.25rem;
    text-decoration: none;
    color: inherit;
}

.home-act-list a:hover strong {
    color: #8b1e1e;
}

.home-act-list strong {
    font-size: 1.1rem;
    color: var(--home-ink);
}

.home-act-list span {
    color: var(--home-muted);
    line-height: 1.45;
    font-size: 0.95rem;
}

/* Visit */
.home-visit {
    background: #fff;
}

.home-visit--dark {
    background: var(--home-ink);
    color: #fff;
}

.home-visit--dark .home-section__title,
.home-visit--dark .home-visit__text,
.home-visit--dark .home-visit__facts dt,
.home-visit--dark .home-visit__facts dd,
.home-visit--dark .home-visit__facts a {
    color: #fff;
}

.home-visit--dark .home-visit__text {
    opacity: 0.9;
}

.home-visit--dark .home-visit__facts dt {
    color: var(--home-sand);
}

.home-visit__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 2.25rem;
    align-items: center;
}

.home-visit--compact .home-visit__inner {
    grid-template-columns: 1fr;
}

.home-visit__text {
    margin: 0 0 1.25rem;
    max-width: 36rem;
    line-height: 1.65;
    color: var(--home-muted);
}

.home-visit__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.5rem;
    margin: 0 0 1.35rem;
}

.home-visit__facts dt {
    margin: 0 0 0.25rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #8b1e1e;
}

.home-visit__facts dd {
    margin: 0;
    line-height: 1.45;
}

.home-visit__facts a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Actueel split */
.home-actueel {
    background: var(--home-cream);
}

.home-actueel__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

.home-compact {
    background: #fff;
    border-radius: 6px;
    padding: 1.35rem 1.25rem;
    height: 100%;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

.home-compact__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.home-compact__title {
    margin: 0;
    font-size: 1.25rem;
}

.home-compact__list,
.home-compact__agenda {
    list-style: none;
    margin: 0;
    padding: 0;
}

.home-compact__list li + li,
.home-compact__agenda li + li {
    border-top: 1px solid #ebe6de;
}

.home-compact__list a,
.home-compact__agenda a {
    display: block;
    padding: 0.85rem 0;
    text-decoration: none;
    color: inherit;
}

.home-compact__list time {
    display: block;
    font-size: 0.82rem;
    color: var(--home-muted);
    margin-bottom: 0.2rem;
}

.home-compact__list span {
    display: block;
    font-weight: 600;
    line-height: 1.35;
    color: var(--home-ink);
}

.home-compact__list a:hover span {
    color: #8b1e1e;
}

.home-compact__agenda a {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 0.85rem;
    align-items: center;
}

.home-compact__date {
    background: #8b1e1e;
    color: #fff;
    text-align: center;
    border-radius: 4px;
    padding: 0.45rem 0.25rem;
    line-height: 1.1;
}

.home-compact__date strong {
    display: block;
    font-size: 1.15rem;
}

.home-compact__date span {
    display: block;
    font-size: 0.7rem;
    text-transform: uppercase;
    opacity: 0.9;
}

.home-compact__event-title {
    font-weight: 600;
    line-height: 1.35;
}

.home-compact__agenda a:hover .home-compact__event-title {
    color: #8b1e1e;
}

/* CTA row */
.home-cta-row {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    background: #fff;
}

.home-cta-row__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    padding: 1.25rem 0;
    border-top: 1px solid #e4dfd6;
    border-bottom: 1px solid #e4dfd6;
}

.home-cta-row__lead {
    margin: 0;
    font-weight: 600;
    color: var(--home-ink);
}

.home-cta-row__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1.35rem;
}

.home-cta-row__nav a {
    color: #8b1e1e;
    font-weight: 600;
    text-decoration: none;
}

.home-cta-row__nav a:hover {
    text-decoration: underline;
}

/* Gospel spotlight */
.home-spotlight {
    background: #fff;
}

.home-spotlight__split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2.5rem;
    align-items: center;
}

.home-spotlight__text {
    margin: 0 0 1.25rem;
    max-width: 34rem;
    line-height: 1.65;
    color: var(--home-muted);
}

/* Version picker (preview only) */
.home-vpicker {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 9998;
    width: min(340px, calc(100vw - 2rem));
    font-family: var(--font-sans, Ubuntu, Arial, sans-serif);
    filter: drop-shadow(0 12px 28px rgba(0, 0, 0, 0.22));
}

.home-vpicker__toggle {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    border: 0;
    border-radius: 8px 8px 0 0;
    padding: 0.85rem 1rem;
    background: var(--home-ink);
    color: #fff;
    cursor: pointer;
    text-align: left;
}

.home-vpicker.is-collapsed .home-vpicker__toggle {
    border-radius: 8px;
}

.home-vpicker.is-collapsed .home-vpicker__panel {
    display: none;
}

.home-vpicker.is-collapsed .home-vpicker__toggle .fa {
    transform: rotate(180deg);
}

.home-vpicker__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.1rem;
    height: 2.1rem;
    border-radius: 4px;
    background: var(--home-sand);
    color: var(--home-ink);
    font-weight: 700;
    font-size: 0.85rem;
}

.home-vpicker__label {
    flex: 1;
    font-weight: 600;
}

.home-vpicker__panel {
    background: #fff;
    color: var(--home-ink);
    border-radius: 0 0 8px 8px;
    max-height: min(58vh, 520px);
    overflow: auto;
    padding: 0.85rem 0.85rem 1rem;
}

.home-vpicker__intro {
    margin: 0 0 0.85rem;
    font-size: 0.88rem;
    line-height: 1.45;
    color: var(--home-muted);
}

.home-vpicker__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.4rem;
}

.home-vpicker__link {
    display: grid;
    grid-template-columns: 2rem 1fr;
    gap: 0.65rem;
    align-items: start;
    padding: 0.65rem 0.7rem;
    border-radius: 6px;
    text-decoration: none;
    color: inherit;
    background: var(--home-cream);
}

.home-vpicker__link:hover {
    background: #ebe6de;
}

.home-vpicker__link.is-active {
    background: rgba(139, 30, 30, 0.1);
    outline: 1px solid rgba(139, 30, 30, 0.35);
}

.home-vpicker__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 4px;
    background: var(--home-ink);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
}

.home-vpicker__link.is-active .home-vpicker__num {
    background: #8b1e1e;
}

.home-vpicker__meta {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.home-vpicker__meta strong {
    font-size: 0.92rem;
    line-height: 1.25;
}

.home-vpicker__meta span {
    font-size: 0.8rem;
    line-height: 1.35;
    color: var(--home-muted);
}

.home-vpicker__group {
    margin: 1rem 0 0.45rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--home-muted);
}

/* ?? Alternating section bands (clear separation) ?? */
.home-band--a {
    background: #f4f1ec !important;
}

.home-band--b {
    background: #ffffff !important;
}

.home-band--c {
    background: #f4f1ec !important;
}

.home-band--ink {
    background: var(--home-ink) !important;
    color: #fff;
}

/* Light CTA bands ? never match the dark footer */
.home-band--sand {
    background: #d4cbb4 !important;
    color: var(--home-ink);
}

.home-band--sky {
    background: #d7e6ee !important;
    color: var(--home-ink);
}

.home-band--ink .home-section__title,
.home-band--ink .home-section__lead,
.home-band--ink .home-kicker,
.home-band--ink p,
.home-band--ink h2,
.home-band--ink h3 {
    color: #fff;
}

.home-band--ink .home-section__lead,
.home-band--ink .home-visit__text {
    color: rgba(255, 255, 255, 0.85);
}

.home-band--ink .home-section__link {
    color: var(--home-sand);
}

.home-band--ink .home-kicker {
    color: var(--home-sand);
}

/* Soft edge so bands read as separate blocks */
.home > .home-section.home-band {
    border-top: 1px solid rgba(26, 23, 27, 0.06);
}

.home > .home-section.home-band--ink {
    border-top-color: transparent;
}

.home > .home-section.r4-cta--address.home-band {
    border-top: 1px solid rgba(26, 23, 27, 0.2);
}

/* ?? News layout variants ?? */
.hn-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
}

.hn-card a {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.hn-card__media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 4px;
    background: #d9d2c6;
    margin-bottom: 0.85rem;
}

.hn-card__media.is-empty,
.hn-row__media.is-empty,
.hn-mosaic__media.is-empty {
    background: linear-gradient(135deg, #d9d2c6, #c4bbaa);
}

.hn-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.hn-card a:hover .hn-card__media img {
    transform: scale(1.03);
}

.hn-card__body time,
.hn-row__body time,
.hn-digest time {
    display: block;
    font-size: 0.82rem;
    color: var(--home-muted);
    margin-bottom: 0.3rem;
}

.hn-card__body h3,
.hn-row__body h3 {
    margin: 0 0 0.4rem;
    font-size: 1.15rem;
    line-height: 1.3;
    color: var(--home-ink);
}

.hn-card a:hover h3,
.hn-row__item a:hover h3 {
    color: #8b1e1e;
}

.hn-card__body p,
.hn-row__body p {
    margin: 0;
    color: var(--home-muted);
    line-height: 1.5;
    font-size: 0.95rem;
}

.hn-magazine {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 1.5rem;
    align-items: stretch;
}

.hn-magazine__side {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.hn-magazine__feature .hn-card__media {
    aspect-ratio: 16 / 10;
}

.hn-magazine__item {
    display: grid;
}

.hn-magazine__item a {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 0.9rem;
    align-items: center;
}

.hn-magazine__item .hn-card__media {
    aspect-ratio: 4 / 3;
    margin: 0;
}

.hn-row {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: rgba(255, 255, 255, 0.55);
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
}

.home-band--b .hn-row {
    background: #f7f4ef;
}

.hn-row__item + .hn-row__item {
    border-top: 1px solid #e4dfd6;
}

.hn-row__item a {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 1.15rem;
    padding: 1.1rem 1.15rem;
    text-decoration: none;
    color: inherit;
    align-items: center;
}

.hn-row__media {
    aspect-ratio: 4 / 3;
    border-radius: 4px;
    overflow: hidden;
    background: #d9d2c6;
}

.hn-row__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hn-mosaic {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 0.85rem;
    min-height: 420px;
}

.hn-mosaic__cell--lg {
    grid-row: 1 / span 2;
}

.hn-mosaic__cell a {
    display: block;
    height: 100%;
    text-decoration: none;
    color: #fff;
}

.hn-mosaic__media {
    position: relative;
    height: 100%;
    min-height: 180px;
    border-radius: 4px;
    overflow: hidden;
    background: #3a3438;
}

.hn-mosaic__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.hn-mosaic__cell a:hover img {
    transform: scale(1.04);
}

.hn-mosaic__overlay {
    position: absolute;
    inset: auto 0 0 0;
    padding: 1.25rem 1.15rem;
    background: linear-gradient(transparent, rgba(26, 23, 27, 0.82));
}

.hn-mosaic__overlay time {
    display: block;
    font-size: 0.8rem;
    opacity: 0.85;
    margin-bottom: 0.25rem;
}

.hn-mosaic__overlay h3 {
    margin: 0;
    font-size: clamp(1.05rem, 1.8vw, 1.45rem);
    line-height: 1.25;
}

.hn-digest {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: digest;
}

.hn-digest li {
    counter-increment: digest;
    border-top: 1px solid rgba(26, 23, 27, 0.12);
}

.hn-digest li:last-child {
    border-bottom: 1px solid rgba(26, 23, 27, 0.12);
}

.hn-digest a {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    gap: 0.85rem 1rem;
    padding: 1.15rem 0.25rem;
    text-decoration: none;
    color: inherit;
    align-items: start;
}

.hn-digest a::before {
    content: counter(digest, decimal-leading-zero);
    font-weight: 700;
    font-size: 1.15rem;
    color: #8b1e1e;
    line-height: 1.2;
}

.hn-digest time {
    grid-column: 2;
    margin: 0;
}

.hn-digest strong {
    grid-column: 2;
    font-size: 1.2rem;
    line-height: 1.3;
    color: var(--home-ink);
}

.hn-digest a:hover strong {
    color: #8b1e1e;
}

.hn-digest span {
    grid-column: 2;
    color: var(--home-muted);
    line-height: 1.5;
    font-size: 0.95rem;
}

/* ?? Agenda layout variants ?? */
.ha-timeline {
    list-style: none;
    margin: 0;
    padding: 0 0 0 1.25rem;
    border-left: 2px solid rgba(139, 30, 30, 0.35);
}

.ha-timeline__item {
    position: relative;
    padding: 0 0 1.75rem 1.5rem;
}

.ha-timeline__item:last-child {
    padding-bottom: 0;
}

.ha-timeline__marker {
    position: absolute;
    left: -1.35rem;
    top: 0.35rem;
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    background: #8b1e1e;
    box-shadow: 0 0 0 4px rgba(139, 30, 30, 0.15);
}

.ha-timeline__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.ha-timeline__link time {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #8b1e1e;
    margin-bottom: 0.3rem;
}

.ha-timeline__link h3 {
    margin: 0 0 0.35rem;
    font-size: 1.2rem;
    color: var(--home-ink);
}

.ha-timeline__link:hover h3 {
    color: #8b1e1e;
}

.ha-timeline__link p {
    margin: 0;
    color: var(--home-muted);
    line-height: 1.5;
}

.ha-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem;
}

.ha-card a {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 1rem;
    align-items: stretch;
    text-decoration: none;
    color: inherit;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 6px;
    padding: 1rem;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.05);
    height: 100%;
    transition: transform 0.2s ease;
}

.home-band--b .ha-card a {
    background: #f7f4ef;
}

.ha-card a:hover {
    transform: translateY(-2px);
}

.ha-card__date {
    background: #8b1e1e;
    color: #fff;
    text-align: center;
    border-radius: 4px;
    padding: 0.85rem 0.4rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.1;
}

.ha-card__date strong {
    font-size: 1.55rem;
}

.ha-card__date span {
    display: block;
    text-transform: uppercase;
    font-size: 0.78rem;
    margin-top: 0.2rem;
}

.ha-card__date em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    opacity: 0.85;
    margin-top: 0.15rem;
}

.ha-card__body h3 {
    margin: 0 0 0.4rem;
    font-size: 1.1rem;
    line-height: 1.3;
}

.ha-card__body p {
    margin: 0 0 0.65rem;
    color: var(--home-muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.ha-card__cta {
    font-weight: 600;
    color: #8b1e1e;
    font-size: 0.9rem;
}

.ha-rail {
    display: grid;
    gap: 0.65rem;
}

.ha-rail__item {
    display: grid;
    grid-template-columns: 4.5rem 1fr;
    gap: 1rem;
    align-items: center;
    padding: 0.95rem 1.1rem;
    background: rgba(255, 255, 255, 0.65);
    border-radius: 4px;
    text-decoration: none;
    color: inherit;
    border-left: 4px solid #8b1e1e;
}

.home-band--b .ha-rail__item {
    background: #f7f4ef;
}

.ha-rail__item:hover strong {
    color: #8b1e1e;
}

.ha-rail__day {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    color: var(--home-ink);
    text-align: center;
}

.ha-rail__month {
    display: block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--home-muted);
    margin-bottom: 0.2rem;
}

.ha-rail__meta strong {
    display: block;
    font-size: 1.1rem;
    line-height: 1.3;
}

.ha-stack {
    display: grid;
    gap: 0.85rem;
}

.ha-stack__item a {
    display: block;
    padding: 1.15rem 1.25rem;
    background: rgba(255, 255, 255, 0.65);
    border-radius: 4px;
    text-decoration: none;
    color: inherit;
}

.home-band--b .ha-stack__item a {
    background: #f7f4ef;
}

.ha-stack__item--lead a {
    padding: 1.65rem 1.5rem;
    border-top: 3px solid #8b1e1e;
}

.ha-stack__item time {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #8b1e1e;
    margin-bottom: 0.35rem;
}

.ha-stack__item h3 {
    margin: 0;
    font-size: 1.15rem;
    line-height: 1.3;
}

.ha-stack__item--lead h3 {
    font-size: 1.45rem;
}

.ha-stack__item p {
    margin: 0.55rem 0 0;
    color: var(--home-muted);
    line-height: 1.5;
}

.ha-stack__item a:hover h3 {
    color: #8b1e1e;
}

.ha-highlight {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 1.5rem;
    align-items: start;
}

.ha-highlight__lead a {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 1.25rem;
    align-items: center;
    text-decoration: none;
    color: inherit;
    padding: 1.5rem;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 6px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
}

.home-band--b .ha-highlight__lead a {
    background: #f7f4ef;
}

.ha-highlight__date {
    background: #8b1e1e;
    color: #fff;
    text-align: center;
    border-radius: 4px;
    padding: 1.1rem 0.5rem;
    line-height: 1.05;
}

.ha-highlight__date strong {
    display: block;
    font-size: 2.2rem;
}

.ha-highlight__date span {
    display: block;
    text-transform: uppercase;
    font-size: 0.85rem;
    margin-top: 0.25rem;
}

.ha-highlight__lead h3 {
    margin: 0 0 0.45rem;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    line-height: 1.2;
}

.ha-highlight__lead p:not(.home-kicker) {
    margin: 0;
    color: var(--home-muted);
    line-height: 1.5;
}

.ha-highlight__lead a:hover h3 {
    color: #8b1e1e;
}

.ha-highlight__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ha-highlight__list li + li {
    border-top: 1px solid rgba(26, 23, 27, 0.1);
}

.ha-highlight__list a {
    display: grid;
    gap: 0.2rem;
    padding: 0.95rem 0.15rem;
    text-decoration: none;
    color: inherit;
}

.ha-highlight__list time {
    font-size: 0.82rem;
    font-weight: 600;
    color: #8b1e1e;
}

.ha-highlight__list span {
    font-weight: 600;
    line-height: 1.35;
}

.ha-highlight__list a:hover span {
    color: #8b1e1e;
}

.home-actueel__lead-grid {
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: 1.5rem;
}

.home-actueel__stack {
    display: grid;
    gap: 1.25rem;
}

.home-compact--flush {
    box-shadow: none;
}

@media (max-width: 900px) {
    .home-welcome__split,
    .home-history__split,
    .home-visit__inner,
    .home-spotlight__split,
    .home-actueel__grid,
    .home-actueel__lead-grid,
    .home-milestones,
    .home-act-strip,
    .hn-cards,
    .hn-magazine,
    .hn-mosaic,
    .ha-cards,
    .ha-highlight {
        grid-template-columns: 1fr;
    }

    .hn-mosaic {
        grid-template-rows: auto;
        min-height: 0;
    }

    .hn-mosaic__cell--lg {
        grid-row: auto;
        min-height: 260px;
    }

    .home-act-grid {
        grid-template-columns: 1fr;
    }

    .home-act-card {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    }

    .hn-magazine__item a {
        grid-template-columns: 100px 1fr;
    }
}

@media (max-width: 560px) {
    .home-act-card {
        grid-template-columns: 1fr;
    }

    .home-visit__facts {
        grid-template-columns: 1fr;
    }

    .hn-row__item a {
        grid-template-columns: 96px 1fr;
        gap: 0.85rem;
    }

    .ha-highlight__lead a,
    .ha-card a {
        grid-template-columns: 72px 1fr;
    }

    .home-vpicker {
        right: 0.65rem;
        bottom: 0.65rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-act-card,
    .home-act-strip__item,
    .ha-card a {
        animation: none !important;
        transform: none !important;
    }
}


/* ?? Round 3: About ?? */
.home-about__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 2.5rem;
    align-items: center;
}

.home-about--left .home-about__layout {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.home-about--left .home-about__media {
    order: -1;
}

.home-about--stacked .home-about__layout {
    grid-template-columns: 1fr;
    gap: 1.75rem;
    max-width: 52rem;
}

.home-about--stacked .home-about__media {
    aspect-ratio: 21 / 10;
}

.home-about--asymmetric .home-about__layout {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: 2rem;
}

.home-about--asymmetric .home-about__media {
    aspect-ratio: 5 / 4;
}

.home-about--frame .home-about__media {
    padding: 0.65rem;
    background: #fff;
    box-shadow: 0 12px 32px rgba(26, 23, 27, 0.1);
    aspect-ratio: auto;
}

.home-about--frame .home-about__media img {
    aspect-ratio: 4 / 3;
}

.home-about__text {
    margin: 0 0 1rem;
    max-width: 38rem;
    font-size: 1.08rem;
    line-height: 1.65;
    color: var(--home-ink);
}

.home-about__text--muted {
    color: var(--home-muted);
    font-size: 1rem;
}

.home-about__media {
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
    background: #e8e4dc;
    aspect-ratio: 4 / 3;
}

.home-about__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Activity tiles */
.home-act-tiles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.home-act-tile {
    display: grid;
    grid-template-rows: auto 1fr;
    text-decoration: none;
    color: inherit;
    background: rgba(255, 255, 255, 0.55);
    border-radius: 4px;
    overflow: hidden;
    animation: home-rise 0.7s ease-out both;
    animation-delay: var(--card-delay, 0s);
    transition: transform 0.2s ease;
}

.home-band--b .home-act-tile {
    background: #f7f4ef;
}

.home-act-tile:hover {
    transform: translateY(-3px);
}

.home-act-tile__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #e8e4dc;
}

.home-act-tile__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.home-act-tile:hover .home-act-tile__media img {
    transform: scale(1.04);
}

.home-act-tile__body {
    display: grid;
    gap: 0.4rem;
    padding: 1.1rem 1.15rem 1.25rem;
}

.home-act-tile__title {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--home-ink);
}

.home-act-tile:hover .home-act-tile__title {
    color: #8b1e1e;
}

.home-act-tile__text {
    color: var(--home-muted);
    line-height: 1.45;
    font-size: 0.95rem;
}

/* Final CTA ? always light, never footer ink */
.home-final-cta {
    color: var(--home-ink);
}

.home-final-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) auto;
    gap: 1.75rem 2rem;
    align-items: end;
}

.home-final-cta--panel .home-final-cta__inner,
.home-final-cta--cream .home-final-cta__inner {
    padding: 1.75rem 1.5rem;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(26, 23, 27, 0.08);
}

.home-final-cta--soft .home-final-cta__inner {
    padding: 0.25rem 0;
}

.home-final-cta__text {
    margin: 0 0 0.85rem;
    max-width: 38rem;
    line-height: 1.65;
    color: var(--home-muted);
}

.home-final-cta__meta {
    margin: 0;
    font-size: 0.95rem;
    color: var(--home-ink);
}

.home-final-cta__meta a {
    color: #8b1e1e;
    font-weight: 600;
}

.home-final-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-end;
}

.home-band--sand .home-final-cta__text,
.home-band--sky .home-final-cta__text,
.home-band--sand .home-section__lead,
.home-band--sky .home-section__lead {
    color: rgba(26, 23, 27, 0.72);
}

.home-band--sand .home-kicker,
.home-band--sky .home-kicker {
    color: #8b1e1e;
}

@media (max-width: 900px) {
    .home-about__layout,
    .home-about--left .home-about__layout,
    .home-about--asymmetric .home-about__layout,
    .home-final-cta__inner,
    .home-act-tiles {
        grid-template-columns: 1fr;
    }

    .home-about--left .home-about__media {
        order: 0;
    }

    .home-about--stacked .home-about__media {
        aspect-ratio: 16 / 10;
    }

    .home-final-cta__actions {
        justify-content: flex-start;
    }
}
