/* PF Fris: visual, information-dense, structure first */

/* Boxed layout: header/utility bar/footer run full-bleed; only CONTENT sections
   are inset "cards" against the tinted page ground. Not the whole theme. */
body { background: var(--wp--preset--color--page-tint); }
.site-header-wrap, .pf-utility-bar, .pf-footer { background: var(--wp--preset--color--white); }

.pf-card-section {
	max-width: 1600px;
	background: var(--wp--preset--color--white);
	border-radius: 12px;
	box-shadow: 0 10px 28px rgba(28,47,74,0.07);
	padding: 2.4rem;
	margin: 1.5rem auto;
}
.pf-card-section > *:first-child { margin-top: 0; }
.pf-card-section > *:last-child { margin-bottom: 0; }
.pf-card-section h2 { margin-top: 2.2rem; margin-bottom: 0.9rem; }
.pf-card-section h2:first-child { margin-top: 0; }
.pf-card-section p { margin-top: 0; margin-bottom: 1.1rem; line-height: 1.65; }
@media (max-width: 1650px) {
	.pf-card-section { margin: 1.5rem 2rem; }
}
@media (max-width: 782px) {
	.pf-card-section { margin: 0.9rem; padding: 1.5rem; }
}

/* Utility bar */
.pf-utility-bar {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}
.pf-utility-bar p {
	margin: 0;
	padding: 0.5rem 0;
	font-size: 0.8rem;
}
.pf-utility-bar a { color: var(--wp--preset--color--white); }

/* Header */
.site-header-wrap {
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.site-header-wrap a { color: var(--wp--preset--color--ink); text-decoration: none; }

.pf-badge-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 1.15rem;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}
.pf-badge-logo .pf-badge-icon { display: inline-flex; color: var(--wp--preset--color--ink); }
.pf-badge-logo .pf-badge-icon svg { width: 24px; height: 24px; display: block; }

/* Primary nav (hand-built, checkbox-toggle mobile menu, image mega-menu for Ports) */
.pf-nav { position: relative; }
.pf-nav-list {
	display: flex;
	align-items: center;
	gap: 0.2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.pf-nav-list > li { position: relative; }
.pf-nav-list > li > a {
	display: inline-block;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 0.92rem;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	padding: 0.5rem 0.7rem;
	border-bottom: 2.5px solid transparent;
}
.pf-nav-list > li > a:hover,
.pf-nav-list > li.pf-nav-open > a {
	border-bottom-color: var(--wp--preset--color--amber);
}
.pf-nav-toggle-checkbox { display: none; }
.pf-nav-toggle { display: none; }

/* Mega menu panel */
.pf-nav-mega-panel {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 620px;
	max-width: 90vw;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	box-shadow: 0 20px 44px rgba(28,47,74,0.16);
	padding: 1rem;
	opacity: 0;
	visibility: hidden;
	transform: translateX(-50%) translateY(6px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
	z-index: 30;
}
.pf-nav-mega:hover .pf-nav-mega-panel,
.pf-nav-mega:focus-within .pf-nav-mega-panel {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}
.pf-nav-mega-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.7rem;
}
.pf-nav-mega-item {
	display: flex;
	flex-direction: column;
	border-radius: 7px;
	overflow: hidden;
	text-decoration: none !important;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--paper);
}
.pf-nav-mega-item img {
	width: 100%;
	height: 78px;
	object-fit: cover;
	display: block;
}
.pf-nav-mega-item > span:last-child {
	padding: 0.5rem 0.6rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 0.85rem;
	color: var(--wp--preset--color--ink);
}
.pf-nav-mega-item:hover { border-color: var(--wp--preset--color--amber); }
.pf-nav-mega-placeholder-fill {
	height: 78px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--wp--preset--color--ink) 0%, var(--wp--preset--color--amber) 100%);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 0.8rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

@media (max-width: 900px) {
	.pf-nav-toggle {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 4px;
		width: 30px;
		height: 30px;
		cursor: pointer;
	}
	.pf-nav-toggle span { display: block; height: 2px; background: var(--wp--preset--color--ink); border-radius: 2px; }
	.pf-nav-list {
		display: none;
		position: absolute;
		top: 100%;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		background: var(--wp--preset--color--white);
		border: 1px solid var(--wp--preset--color--line);
		border-radius: 8px;
		box-shadow: 0 16px 36px rgba(28,47,74,0.16);
		padding: 0.6rem;
		width: 260px;
		z-index: 40;
	}
	.pf-nav-toggle-checkbox:checked ~ .pf-nav-list { display: flex; }
	.pf-nav-mega-panel { position: static; width: auto; max-width: none; box-shadow: none; border: none; transform: none; opacity: 1; visibility: visible; display: none; padding: 0.4rem 0 0.4rem 0.8rem; }
	.pf-nav-mega:focus-within .pf-nav-mega-panel,
	.pf-nav-mega.pf-nav-open .pf-nav-mega-panel { display: block; }
	.pf-nav-mega-grid { grid-template-columns: 1fr 1fr; }
}

/* Buttons: outline variant (no pill radius, matches theme.json 7px) */
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--ink);
	background: transparent;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--amber);
	color: var(--wp--preset--color--amber);
	background: transparent;
}

/* Breadcrumbs */
.pf-breadcrumbs {
	font-size: 0.8rem;
	color: var(--wp--preset--color--ink-soft);
	margin-bottom: 0.75rem;
}
.pf-breadcrumbs a { color: inherit; }

/* Homepage photo banner, above the text+map hero card */
.pf-home-banner { position: relative; height: 340px; overflow: hidden; }
.pf-home-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pf-home-banner-caption {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 0.9rem 2.4rem;
	background: linear-gradient(0deg, rgba(0,0,0,0.55), transparent);
	color: white;
	font-size: 0.85rem;
}
@media (max-width: 782px) {
	.pf-home-banner { height: 220px; }
	.pf-home-banner-caption { padding: 0.7rem 1.2rem; font-size: 0.78rem; }
}

/* Homepage hero (padding here wins over .pf-card-section's shorthand, source order) */
.pf-hero-wrap {
	gap: 2.5rem;
	padding: 3rem 2.4rem;
	align-items: center;
}
@media (max-width: 782px) {
	.pf-hero-wrap { padding: 1.8rem 1.5rem; }
}
.pf-hero-text { flex: 1.05; }
.pf-hero-badges { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.pf-highlight {
	display: inline-block;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--wp--preset--color--amber);
	background: var(--wp--preset--color--amber-tint);
	border-radius: 5px;
	padding: 0.18rem 0.5rem;
	margin-left: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	white-space: nowrap;
}
.pf-badge {
	display: inline-flex;
	align-items: center;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink-soft);
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
	padding: 0.3rem 0.65rem;
}
.pf-route-map-card {
	flex: 0.95;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	padding: 1.5rem;
	min-width: 320px;
}
.pf-route-map {
	height: 360px;
	border-radius: 6px;
	background: var(--wp--preset--color--paper);
}
.pf-route-map .leaflet-popup-content { font-family: var(--wp--preset--font-family--body); font-size: 0.88rem; line-height: 1.5; }
.pf-route-map .leaflet-popup-content a { color: var(--wp--preset--color--amber); }
.pf-route-map-tooltip.leaflet-tooltip,
.pf-map-tooltip.leaflet-tooltip {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 0.8rem;
	border: none;
	box-shadow: 0 4px 10px rgba(28,47,74,0.15);
}
.pf-route-map-legend {
	font-size: 0.8rem;
	color: var(--wp--preset--color--ink-soft);
	margin: 0.6rem 0 0;
	text-align: center;
}

.pf-muted { color: var(--wp--preset--color--ink-soft); font-size: 0.9rem; }

/* Body copy links: underline with a bit of breathing room, external links get a small icon */
.wp-block-post-content a,
main a {
	text-decoration-thickness: 1.5px;
	text-underline-offset: 3px;
}
main a[href^="http"]:not([href*="portsmouth-ferries.co.uk"])::after {
	content: "";
	display: inline-block;
	width: 0.7em;
	height: 0.7em;
	margin-left: 0.22em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center / contain;
	vertical-align: -0.05em;
}

/* Tables: responsive scroll wrapper, nicer default look */
.wp-block-table {
	overflow-x: auto;
	border-radius: 8px;
	border: 1px solid var(--wp--preset--color--line);
}
.wp-block-table table { width: 100%; border-collapse: collapse; margin: 0; }
.wp-block-table th {
	text-align: left;
	background: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: rgba(255,255,255,0.85);
	padding: 0.8rem 1rem;
	border-bottom: 2px solid var(--wp--preset--color--ink);
	white-space: nowrap;
}
.wp-block-table td {
	padding: 0.8rem 1rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
	font-size: 0.92rem;
}
.wp-block-table tbody tr:last-child td { border-bottom: none; }
.wp-block-table tbody tr:hover td { background: var(--wp--preset--color--paper); }

/* Comparison table wrap */
.pf-table-wrap { padding-bottom: 0.5rem; }
.pf-table-wrap table { width: 100%; }

/* Visual route cards (replaces the plain comparison table) */
.pf-route-cards {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1rem;
}
.pf-route-cards-6 { grid-template-columns: repeat(6, 1fr); }

.pf-details-table { margin-top: 1.6rem; }
.pf-details-table summary {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 0.88rem;
	color: var(--wp--preset--color--amber);
	list-style: none;
}
.pf-details-table summary::-webkit-details-marker { display: none; }
.pf-details-table summary::before { content: "+ "; }
.pf-details-table[open] summary::before { content: "\2212 "; }
.pf-details-table .wp-block-table { margin-top: 1rem; }

/* CSS-only tabs (radio-button technique, no JS) */
.pf-tab-input { position: absolute; opacity: 0; pointer-events: none; }
.pf-tab-labels { display: flex; gap: 0.4rem; border-bottom: 2px solid var(--wp--preset--color--line); margin-bottom: 1.6rem; flex-wrap: wrap; }
.pf-tab-labels label {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--wp--preset--color--ink-soft);
	padding: 0.6rem 1rem;
	border-bottom: 2.5px solid transparent;
	margin-bottom: -2px;
}
.pf-tab-panel { display: none; }
#pf-tab-france:checked ~ .pf-tab-panels .pf-panel-france,
#pf-tab-spain:checked ~ .pf-tab-panels .pf-panel-spain,
#pf-tab-ci:checked ~ .pf-tab-panels .pf-panel-ci { display: block; }
#pf-tab-france:checked ~ .pf-tab-labels label[for="pf-tab-france"],
#pf-tab-spain:checked ~ .pf-tab-labels label[for="pf-tab-spain"],
#pf-tab-ci:checked ~ .pf-tab-labels label[for="pf-tab-ci"] {
	color: var(--wp--preset--color--ink);
	border-bottom-color: var(--wp--preset--color--amber);
}
.pf-route-card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	overflow: hidden;
	text-decoration: none !important;
	background: var(--wp--preset--color--paper);
}
.pf-route-card:hover { border-color: var(--wp--preset--color--amber); box-shadow: 0 10px 24px rgba(28,47,74,0.1); transform: translateY(-2px); }
.pf-route-card-img { height: 110px; position: relative; }
.pf-route-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pf-route-card-img.pf-nav-mega-placeholder .pf-nav-mega-placeholder-fill { height: 110px; }
.pf-route-card-body { padding: 0.9rem 1rem 1.1rem; flex: 1; display: flex; flex-direction: column; }
.pf-route-card-body .pf-highlight { margin-left: 0; margin-bottom: 0.5rem; align-self: flex-start; white-space: normal; line-height: 1.3; }
.pf-route-card-name { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1rem; color: var(--wp--preset--color--ink); margin-bottom: 0.2rem; }
.pf-route-card-meta { font-size: 0.82rem; color: var(--wp--preset--color--ink-soft); margin-bottom: 0.7rem; }
.pf-route-card-cta { margin-top: auto; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 0.82rem; color: var(--wp--preset--color--amber); }

@media (max-width: 900px) {
	.pf-route-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
	.pf-route-cards { grid-template-columns: 1fr; }
}

/* Quote / trust strip */
.pf-quote-strip {
	background: var(--wp--preset--color--amber-tint);
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 1.6rem 0;
}
.pf-quote-strip p { margin: 0; max-width: 860px; font-size: 1rem; }

/* Real-photo showcase */
.pf-photo-section { margin-top: 1.2rem; }
.pf-photo-cover img { width: 100%; height: 300px; object-fit: cover; border-radius: 8px; }
.pf-photo-cover figcaption { font-size: 0.8rem; color: var(--wp--preset--color--ink-soft); margin-top: 0.4rem; }

/* Haven tile grid */
.pf-haven-grid { gap: 1px !important; background: var(--wp--preset--color--line); border: 1px solid var(--wp--preset--color--line); }
.pf-haven-tile { background: var(--wp--preset--color--white); padding: 1.1rem 1rem; }
.pf-haven-tile p { margin: 0; font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 0.92rem; }
.pf-haven-tile .pf-muted { font-family: var(--wp--preset--font-family--body); font-weight: 400; display: block; margin-top: 0.2rem; }

/* Route/haven hero (featured image banner) */
.pf-route-hero { position: relative; padding-bottom: 2rem; }
.pf-route-hero-image { position: relative; }
.pf-route-hero-image img { width: 100%; height: 440px; object-fit: cover; display: block; }
.pf-route-hero-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(0,0,0,0.5), rgba(0,0,0,0) 55%);
}
.pf-route-hero-text { margin-top: -3.2rem; position: relative; z-index: 1; }
.pf-route-hero-text .pf-breadcrumbs { color: rgba(255,255,255,0.85); }
.pf-route-hero-text h1 {
	background: var(--wp--preset--color--white);
	display: inline-block;
	padding: 0.9rem 1.3rem;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(28,47,74,0.18);
}

/* Fact panel pattern (used inside post-content on route/haven pages) */
.pf-fact-panel {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	padding: 1.3rem 1.4rem;
}
.pf-fact-panel h3 {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--ink-soft);
	margin: 0 0 0.9rem;
}
.pf-fact-row {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.55rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	font-size: 0.9rem;
}
.pf-fact-row:last-child { border-bottom: none; }
.pf-fact-row .pf-fact-label { color: var(--wp--preset--color--ink-soft); }
.pf-fact-row .pf-fact-value { font-weight: 600; text-align: right; }

/* Tip / note callout block */
.pf-tip {
	background: var(--wp--preset--color--amber-tint);
	border-left: 3px solid var(--wp--preset--color--amber);
	border-radius: 6px;
	padding: 1rem 1.2rem;
}
.pf-tip strong { color: var(--wp--preset--color--ink); }

/* Pros / cons block */
.pf-proscons { gap: 1.5rem !important; }
.pf-proscons > .wp-block-column {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	padding: 1.2rem 1.4rem;
}
.pf-proscons h3 { font-size: 0.95rem; margin: 0 0 0.6rem; }
.pf-proscons ul { margin: 0; padding-left: 1.1rem; }
.pf-proscons li { margin-bottom: 0.35rem; font-size: 0.92rem; }

/* Generic content block (photo-caption card, small info tile) */
.pf-block {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	padding: 1.2rem 1.3rem;
}

/* Port mini-map */
.pf-port-map { height: 260px; border-radius: 6px; background: var(--wp--preset--color--paper); }

/* Weather widget */
.pf-weather { min-height: 60px; }
.pf-weather-now { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.pf-weather-temp { font-family: var(--wp--preset--font-family--heading); font-size: 2.2rem; font-weight: 700; color: var(--wp--preset--color--ink); }
.pf-weather-desc { font-weight: 600; font-size: 0.95rem; }
.pf-weather-days { display: flex; gap: 0.5rem; }
.pf-weather-day { flex: 1; background: var(--wp--preset--color--paper); border-radius: 6px; padding: 0.6rem 0.4rem; text-align: center; font-size: 0.82rem; }
.pf-weather-day-label { font-weight: 600; margin-bottom: 0.2rem; }
.pf-weather-credit { margin-top: 0.7rem; font-size: 0.72rem; }

/* Port essentials grid (map / weather / facilities) */
.pf-port-essentials { gap: 1.2rem !important; }
.pf-port-essentials > .wp-block-column {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	padding: 1.2rem 1.3rem;
}
.pf-port-essentials h3 {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--ink-soft);
	margin: 0 0 0.8rem;
}
.pf-port-essentials ul { margin: 0; padding-left: 1.1rem; }
.pf-port-essentials li { font-size: 0.9rem; margin-bottom: 0.35rem; }

/* Port photo gallery */
.pf-port-gallery.wp-block-gallery {
	border-radius: 8px;
	overflow: hidden;
}
.pf-port-gallery img { border-radius: 6px; }

/* General polish: consistent transitions, tighter rhythm */
a, .wp-element-button, .pf-nav-list > li > a, .pf-haven-tile, .pf-nav-mega-item {
	transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.wp-element-button:hover { transform: translateY(-1px); }
.pf-haven-tile a { text-decoration: none; }
.pf-haven-tile:hover { background: var(--wp--preset--color--paper); }
h1, h2, h3 { text-wrap: balance; }
.pf-card-section h3 { margin-top: 1.6rem; margin-bottom: 0.6rem; }

/* Compact author byline (replaces the old full "Written by..." paragraph) */
.pf-byline {
	margin-top: 2.2rem !important;
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--line);
	font-size: 0.8rem;
	color: var(--wp--preset--color--ink-soft);
}

/* In-page "jump to section" nav (alternative to real tabs, keeps one SEO page) */
.pf-jumpnav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 1.4rem 0 2rem;
	padding-bottom: 1.4rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.pf-jumpnav a {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 0.82rem;
	color: var(--wp--preset--color--ink-soft);
	text-decoration: none !important;
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
	padding: 0.4rem 0.75rem;
}
.pf-jumpnav a:hover { color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--amber); }
html { scroll-padding-top: 90px; }

/* Footer */
.pf-footer {
	background: var(--wp--preset--color--ink);
	color: rgba(255,255,255,0.75);
	padding: 1.5rem 0;
	margin-top: 3rem;
}
.pf-footer a { color: rgba(255,255,255,0.85); }
.pf-footer p { margin: 0; font-size: 0.85rem; }

@media (max-width: 782px) {
	.pf-hero-wrap { flex-wrap: wrap; }
	.pf-haven-grid { grid-template-columns: repeat(2, 1fr) !important; }
	.pf-route-hero-text { margin-top: -2rem; }
}
