body.home,
body.home #page {
	background: var(--opa-portal-surface);
}

.opa-news-index.opa-home {
	--opa-home-ink: var(--opa-portal-primary);
	--opa-home-paper: var(--opa-portal-background);
	--opa-home-line: color-mix(in srgb, var(--opa-portal-text) 17%, var(--opa-portal-surface));
	--opa-home-muted: color-mix(in srgb, var(--opa-portal-text) 78%, var(--opa-portal-surface));
	padding-block-end: 3rem;
}

.opa-home .opa-news-heading {
	margin: 0;
	overflow-wrap: anywhere;
}

.opa-home .opa-history-lead .opa-news-card-title {
	color: var(--opa-home-ink);
}

.opa-home .opa-home-eyebrow,
.opa-home .opa-history-lead .opa-history-kicker {
	color: var(--opa-home-ink);
	display: block;
	font-size: 0.65rem;
	font-weight: 650;
	letter-spacing: 0.09em;
	line-height: 1.35;
	margin: 0 0 0.48rem;
	text-transform: uppercase;
}

.opa-home-masthead {
	align-items: center;
	display: grid;
	gap: 1.25rem 2rem;
	grid-template-columns: minmax(0, 1fr) minmax(0, 25rem);
	padding-block-end: clamp(1.1rem, 2.6vw, 2rem);
}

.opa-home-masthead:has(> .opa-portal-weather) {
	padding-block-end: clamp(0.65rem, 2vw, 1.5rem);
}

.opa-home-masthead:has(> :only-child) {
	grid-template-columns: minmax(0, 1fr);
}

.opa-home-masthead h1 em {
	color: var(--opa-portal-accent);
	font-style: normal;
}

.opa-home-masthead .opa-portal-weather {
	margin: 0;
	max-width: none;
}

.opa-home-editorial {
	display: grid;
	gap: clamp(1.4rem, 3.5vw, 2.75rem);
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	margin-block-start: clamp(1.2rem, 2.8vw, 2rem);
}

.opa-home-editorial:has(> :only-child) {
	grid-template-columns: minmax(0, 1fr);
}

.opa-home-story .opa-history-lead {
	background: var(--opa-home-paper);
	border: 0;
	border-radius: 13px;
	color: var(--opa-home-ink);
	display: block;
	height: auto;
	margin: 0;
}

.opa-home-story .opa-history-lead .opa-news-cover img {
	aspect-ratio: 2.25;
	height: auto;
	object-fit: cover;
}

.opa-home-story .opa-history-lead .opa-news-card-body {
	padding: clamp(1.15rem, 3vw, 2rem);
}

.opa-home .opa-history-lead .opa-news-excerpt {
	color: var(--opa-portal-text);
	margin-block: 0.65rem;
}

.opa-home .opa-history-lead .opa-history-read {
	color: var(--opa-home-ink);
	display: inline-block;
	font-size: 0.9rem;
	margin-block-start: 0.45rem;
}

.opa-home-news header {
	border-block-end: 2px solid var(--opa-home-ink);
	padding-block-end: 0.95rem;
}

.opa-home-news-entry {
	border-block-end: 1px solid var(--opa-home-line);
	padding: 0.83rem 0 0.9rem;
}

.opa-home-news-entry .opa-news-card-title {
	color: var(--opa-home-ink);
}

.opa-home-news-entry .opa-news-excerpt {
	margin-block-start: 0.3rem;
}

.opa-home .opa-home-news-entry :is(time, .opa-news-excerpt) {
	color: var(--opa-home-muted);
}

.opa-home .opa-home-news-entry time {
	margin-block-start: 0.3rem;
}

.opa-home .opa-home-section {
	border-block-start: 1px solid var(--opa-home-line);
	margin-block-start: clamp(1.6rem, 3vw, 2.5rem);
	padding-block-start: clamp(1.15rem, 2.5vw, 1.7rem);
	scroll-margin-block-start: 1rem;
}

.opa-home .opa-home-masthead + .opa-home-section {
	border-block-start: 0;
	margin-block-start: 0;
}

.opa-home-section-header {
	align-items: end;
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 1.5rem;
	justify-content: space-between;
	margin-block-end: 1rem;
}

.opa-home-section-link {
	color: var(--opa-home-ink);
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 700;
	margin-block-start: 0.8rem;
}

.opa-home-section-header .opa-home-section-link {
	margin-block-start: 0;
}

.opa-home-section-header .opa-news-navigation {
	flex-basis: 100%;
	max-width: 100%;
	min-width: 0;
	position: relative;
}

.opa-home-section-header .opa-news-navigation a {
	gap: 0.45rem;
}

.opa-home-section-header .opa-home-guide-icon {
	border-radius: 7px;
	flex-basis: 1.8rem;
	height: 1.8rem;
}

.opa-home-section-header .opa-home-guide-icon svg {
	width: 1.05rem;
	height: 1.05rem;
}

@media (min-width: 769px) {
	.opa-home-section-header .opa-news-sections {
		border: 0;
		flex-wrap: nowrap;
		gap: 0.35rem;
		margin: -5px;
		padding: 5px;
	}

	.opa-home-section-header .opa-news-sections > li {
		flex: none;
	}

	.opa-home-section-header .opa-news-navigation:not([data-guide-row-fits]) .opa-news-sections {
		inset-inline: 0;
		overflow: hidden;
		pointer-events: none;
		position: absolute;
		visibility: hidden;
	}

	.opa-home-section-header .opa-news-navigation:not([data-guide-row-fits]) .opa-news-mobile-sections {
		display: block;
	}

	.opa-home-section-header .opa-news-sections .opa-home-guide-icon {
		flex-basis: 1.55rem;
		height: 1.55rem;
	}

	.opa-home-section-header .opa-news-sections a {
		align-items: center;
		border: 1px solid var(--opa-home-line);
		border-radius: 8px;
		color: var(--opa-home-ink);
		display: inline-flex;
		font-size: 0.8125rem;
		font-weight: 700;
		letter-spacing: normal;
		padding: 0.25rem 0.45rem 0.25rem 0.25rem;
		text-transform: none;
		white-space: nowrap;
	}

	.opa-home-section-header .opa-news-sections a[aria-current] {
		background: var(--opa-home-ink);
		border-color: var(--opa-home-ink);
		color: var(--opa-portal-surface);
	}
}

.opa-home-section-header .opa-news-mobile-links a {
	border: 1px solid transparent;
}

@media (hover: hover) {
	.opa-home-section-header .opa-news-navigation a:not([aria-current]):hover {
		border-color: var(--opa-home-ink);
	}
}

.opa-home-guide-grid,
.opa-home-agenda-grid {
	display: grid;
	gap: 0.65rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.opa-home-agenda-grid {
	gap: 0.8rem 1.3rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.opa-home-guide-entry,
.opa-home-event {
	align-items: center;
	color: var(--opa-home-ink);
	display: flex;
	gap: 0.72rem;
	min-width: 0;
}

.opa-home-guide-entry {
	background: var(--opa-home-paper);
	border-radius: 10px;
	min-height: 4.4rem;
	padding: 0.6rem 0.75rem;
}

.opa-home-guide-icon,
.opa-home-event-date {
	align-items: center;
	border-radius: 8px;
	display: flex;
	flex: 0 0 2.65rem;
	height: 2.65rem;
	justify-content: center;
	overflow: hidden;
}

.opa-home-guide-icon {
	background: var(--opa-guide-icon-background, #eaf0f8);
	color: var(--opa-guide-icon-ink, #28537f);
}

.opa-home-guide-icon[data-tone="shops"] {
	--opa-guide-icon-background: #e1f0fb;
	--opa-guide-icon-ink: #195989;
}

.opa-home-guide-icon[data-tone="culture"] {
	--opa-guide-icon-background: #eee6fc;
	--opa-guide-icon-ink: #68419a;
}

.opa-home-guide-icon[data-tone="food"] {
	--opa-guide-icon-background: #ffe9dc;
	--opa-guide-icon-ink: #9a421f;
}

.opa-home-guide-icon[data-tone="stay"] {
	--opa-guide-icon-background: #f9e6ef;
	--opa-guide-icon-ink: #963657;
}

.opa-home-guide-icon[data-tone="nature"] {
	--opa-guide-icon-background: #def3eb;
	--opa-guide-icon-ink: #176952;
}

.opa-home-guide-icon[data-tone="community"] {
	--opa-guide-icon-background: #fff0ce;
	--opa-guide-icon-ink: #825713;
}

.opa-home-guide-icon[data-tone="services"] {
	--opa-guide-icon-background: #e6ebff;
	--opa-guide-icon-ink: #414c97;
}

.opa-home-guide-icon img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.opa-home-guide-copy,
.opa-home-event-copy {
	display: block;
	min-width: 0;
	overflow-wrap: anywhere;
}

.opa-home-guide-copy .opa-home-eyebrow {
	margin: 0 0 0.12rem;
}

.opa-home-guide-copy strong,
.opa-home-event-copy strong {
	display: block;
}

.opa-home-event {
	align-items: flex-start;
	border-block-end: 1px solid var(--opa-home-line);
	min-height: 3.9rem;
	padding: 0 0.25rem 0.6rem 0;
}

.opa-home-event-date {
	background: #ffeadf;
	color: #943e21;
	flex-direction: column;
	gap: 0.17rem;
	font-size: 0.65rem;
	font-weight: 700;
	line-height: 1.04;
	text-transform: uppercase;
}

.opa-home-event-date strong {
	font-size: 1.05rem;
}

.opa-home-event-copy > span {
	color: var(--opa-home-muted);
	display: inline-block;
	font-size: 0.69rem;
	margin-inline-end: 0.45rem;
}

.opa-home .opa-history-read:is(:hover, :focus-visible) {
	border-block-end-color: transparent;
}

.opa-home a:focus-visible {
	outline: 2px solid var(--opa-portal-accent);
	outline-offset: 3px;
}

@media (max-width: 760px) {
	.opa-home-masthead,
	.opa-home-editorial {
		grid-template-columns: minmax(0, 1fr);
	}


	.opa-home-guide-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 500px) {
	.opa-home-guide-grid,
	.opa-home-agenda-grid {
		grid-template-columns: minmax(0, 1fr);
	}

}
