/*
Theme Name: LunchTrip
Theme URI: https://lunchtrip.org/
Author: LunchTrip Foundation
Description: The LunchTrip Foundation site, built around Virtual Flights. Airmail stripes, a departures board and a boarding pass, in the logo's blues.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.9
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lunchtrip
*/

/* ---------- Basics ---------- */

body {
	-webkit-font-smoothing: antialiased;
}

:where(.wp-site-blocks) > * {
	margin-block-start: 0;
}

.wp-block-post-content > * + * {
	margin-block-start: 0;
}

:focus-visible {
	outline: 3px solid var(--wp--preset--color--sky);
	outline-offset: 2px;
}

img {
	max-width: 100%;
	height: auto;
}

/* ---------- Airmail stripe ---------- */

.lt-airmail {
	height: 6px;
	background: repeating-linear-gradient(
		-45deg,
		#c8323a 0 14px,
		#ffffff 14px 28px,
		#1e5aae 28px 42px,
		#ffffff 42px 56px
	);
}

/* ---------- Header ---------- */

.lt-header {
	padding-top: 14px;
	padding-bottom: 14px;
}

.lt-header > .wp-block-group {
	gap: 12px 24px;
	align-items: center;
}

.lt-logo {
	display: flex;
	align-items: center;
	min-height: 44px;
}

.lt-logo img {
	height: 46px;
	width: auto;
	display: block;
}

.lt-header-right {
	gap: 8px;
	align-items: center;
}

.wp-block-navigation.lt-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--mist);
	font-weight: 600;
	font-size: 16px;
	padding: 11px 14px;
	border-radius: 8px;
	text-decoration: none;
}

.wp-block-navigation.lt-nav .wp-block-navigation-item__content:hover,
.wp-block-navigation.lt-nav .current-menu-item > .wp-block-navigation-item__content {
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
}

.lt-nav .wp-block-navigation__container {
	gap: 4px;
}

.lt-nav .wp-block-navigation__responsive-container-open,
.lt-nav .wp-block-navigation__responsive-container-close {
	color: #ffffff;
	min-width: 44px;
	min-height: 44px;
	justify-content: center;
}

.lt-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--navy);
	padding: 24px;
}

.lt-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 22px;
}

.lt-fly-now .wp-block-button__link {
	padding: 11px 20px;
	font-size: 16px;
}

/* ---------- Sections ---------- */

.lt-section {
	padding-top: clamp(56px, 8vw, 88px);
	padding-bottom: clamp(56px, 8vw, 88px);
}

.lt-section-tight {
	padding-top: 0;
}

.lt-eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--red);
}

.has-navy-background-color .lt-eyebrow,
.has-blue-background-color .lt-eyebrow {
	color: var(--wp--preset--color--amber);
}

/* On the lighter blue, amber needs a touch more light to read at small sizes (4.5:1). */
.has-blue-background-color .lt-eyebrow {
	color: #ffd97f;
}

.lt-lead {
	font-size: 20px;
}

.has-navy-background-color .lt-lead {
	color: var(--wp--preset--color--mist);
}

.lt-muted {
	color: var(--wp--preset--color--ink-soft);
}

.lt-small {
	font-size: 15px;
}

.has-navy-background-color .lt-small {
	color: #b9cbe6;
}

.has-navy-background-color a:where(:not(.wp-element-button)),
.has-blue-background-color a:where(:not(.wp-element-button)),
.has-board-background-color a:where(:not(.wp-element-button)) {
	color: #ffffff;
}

/* Outline buttons on dark backgrounds */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: inherit;
	border: 2px solid var(--wp--preset--color--sky);
	padding: 12px 26px;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.1);
}

.has-paper-background-color .wp-block-button.is-style-outline > .wp-block-button__link,
.has-white-background-color .wp-block-button.is-style-outline > .wp-block-button__link {
	border-color: var(--wp--preset--color--blue);
	color: var(--wp--preset--color--blue);
}

.lt-btn-blue .wp-block-button__link {
	background: var(--wp--preset--color--blue);
	color: #ffffff;
}

.lt-btn-blue .wp-block-button__link:hover {
	background: var(--wp--preset--color--navy);
	color: #ffffff;
}

/* ---------- Hero ---------- */

.lt-hero {
	position: relative;
	overflow: hidden;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 520' preserveAspectRatio='none'%3E%3Cpath d='M-40 470C300 360 520 120 900 150S1380 330 1500 60' fill='none' stroke='%237FA9E0' stroke-opacity='.55' stroke-width='3' stroke-dasharray='2 14' stroke-linecap='round'/%3E%3C/svg%3E");
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

.lt-hero .wp-block-columns {
	gap: 48px;
}

/* ---------- Seatback screen: the safety demonstration video ---------- */

.lt-screen {
	margin: 0;
	padding: 10px 10px 12px;
	background: #0b1630;
	border-radius: 24px;
	box-shadow: 0 28px 70px rgba(4, 12, 30, 0.55), inset 0 0 0 1px rgba(127, 169, 224, 0.18);
}

.lt-screen-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 4px 8px 10px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--amber);
}

.lt-screen-bar .lt-screen-len {
	margin-left: auto;
	color: var(--wp--preset--color--sky);
}

.lt-screen-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--wp--preset--color--amber);
	flex: none;
}

.lt-screen-frame {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	background: #fbf6ea;
	aspect-ratio: 16 / 9;
}

.lt-screen video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: #fbf6ea;
}

.lt-screen-preview {
	cursor: pointer;
}

/* The play button: always on the silent preview. (a. outranks the white links of dark sections.) */
a.lt-screen-start {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 12px 26px 12px 12px;
	border-radius: 999px;
	background: var(--wp--preset--color--amber);
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--figtree);
	font-weight: 700;
	font-size: 19px;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 14px 34px rgba(4, 12, 30, 0.35);
}

a.lt-screen-start:hover,
a.lt-screen-start:focus-visible {
	background: #ffd56e;
	color: var(--wp--preset--color--navy);
}

.lt-screen-start-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--wp--preset--color--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%23FFC94A'/%3E%3C/svg%3E") 58% 50% / 28px no-repeat;
	flex: none;
}

@media (prefers-reduced-motion: no-preference) {
	.lt-screen-start {
		transition: transform 0.15s ease, background-color 0.15s ease;
	}

	.lt-screen-start:hover {
		transform: translate(-50%, -50%) scale(1.04);
	}
}

/* Small pause button for the looping preview. */
.lt-screen-pause {
	display: none;
}

.lt-screen.is-enhanced .lt-screen-pause {
	position: absolute;
	right: 12px;
	bottom: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(20, 40, 75, 0.8);
	color: #ffffff;
	cursor: pointer;
}

.lt-screen-pause svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.lt-screen .lt-icon-pause,
.lt-screen.is-previewing .lt-icon-play {
	display: none;
}

.lt-screen.is-previewing .lt-icon-pause {
	display: block;
}

.lt-screen.is-full .lt-screen-start,
.lt-screen.is-full .lt-screen-pause {
	display: none;
}

.lt-screen figcaption {
	margin: 10px 8px 0;
	font-size: 14px;
	color: var(--wp--preset--color--sky);
}

/* Hero with the video: give the screen most of the width. */
.lt-hero-video .wp-block-columns.alignwide {
	max-width: 1360px;
	gap: 40px;
}

.lt-hero-video h1 {
	font-size: clamp(2.4rem, 3.8vw, 3.5rem);
	line-height: 1.04;
	margin-top: 0.25em;
	margin-bottom: 0.4em;
}

.lt-hero-video .lt-lead {
	font-size: 18px;
}

@media (max-width: 1100px) {
	.lt-hero-video .wp-block-columns.alignwide {
		flex-wrap: wrap !important;
	}

	.lt-hero-video .wp-block-columns.alignwide > .wp-block-column {
		flex-basis: 100% !important;
	}

	.lt-hero-video .lt-screen {
		margin-top: 8px;
	}
}

@media (max-width: 600px) {
	.lt-screen {
		padding: 6px 6px 10px;
		border-radius: 16px;
	}

	.lt-screen-frame {
		border-radius: 10px;
	}

	.lt-screen-start {
		gap: 10px;
		padding: 8px 18px 8px 8px;
		font-size: 16px;
	}

	.lt-screen-start-icon {
		width: 40px;
		height: 40px;
		background-size: 22px;
	}

	.lt-screen.is-enhanced .lt-screen-pause {
		right: 6px;
		bottom: 6px;
		width: 36px;
		height: 36px;
	}
}

/* ---------- Boarding pass ---------- */

.lt-pass {
	display: flex;
	background: #ffffff;
	color: var(--wp--preset--color--navy);
	border-radius: 18px;
	box-shadow: 0 24px 60px rgba(4, 12, 30, 0.45);
	overflow: hidden;
	transform: rotate(-2deg);
	max-width: 520px;
	margin: 0 auto;
}

.lt-pass-main {
	flex: 1 1 auto;
	padding: 26px 28px;
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}

.lt-pass-top,
.lt-pass-route {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

.lt-pass-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.lt-pass-code {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 700;
	font-size: 15px;
	color: var(--wp--preset--color--red);
}

.lt-pass-place {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: clamp(32px, 5vw, 44px);
	line-height: 1;
}

.lt-pass-sub {
	font-size: 14px;
	color: var(--wp--preset--color--ink-soft);
}

.lt-pass-route svg {
	flex: 1 1 auto;
	height: 24px;
	min-width: 48px;
}

.lt-pass-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	border-top: 2px dashed var(--wp--preset--color--line);
	padding-top: 16px;
}

.lt-pass-label {
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
}

.lt-pass-value {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 700;
	font-size: 22px;
}

.lt-pass-stub {
	flex: 0 0 84px;
	width: 84px;
	box-sizing: border-box;
	background: var(--wp--preset--color--blue);
	color: #ffffff;
	border-left: 3px dashed var(--wp--preset--color--paper);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 8px;
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.1em;
	writing-mode: vertical-rl;
}

@media (max-width: 480px) {
	.lt-pass-main {
		padding: 20px;
	}

	.lt-pass-stub {
		flex-basis: 52px;
		width: 52px;
		font-size: 12px;
	}

	.lt-pass-value {
		font-size: 18px;
	}
}

.lt-pass-code,
.lt-pass-brand {
	white-space: nowrap;
}

/* ---------- Departures board ---------- */

.lt-board {
	background: var(--wp--preset--color--board);
	border-radius: 16px;
	padding: 12px 20px 20px;
	box-shadow: 0 12px 30px rgba(20, 40, 75, 0.18);
	font-family: var(--wp--preset--font-family--mono);
}

.lt-board-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	padding: 14px 8px;
	border-bottom: 1px solid #2e3a4c;
	color: var(--wp--preset--color--amber);
	font-size: 18px;
}

.lt-board-head {
	color: #8fa0ba;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding-top: 12px;
	padding-bottom: 12px;
}

.lt-board-code {
	flex: 0 0 110px;
	font-weight: 700;
}

.lt-board-dest {
	flex: 1 1 220px;
	color: #ffe7a8;
}

.lt-board-gate {
	flex: 0 0 70px;
	font-weight: 700;
}

.lt-board-status {
	flex: 0 0 110px;
	font-size: 14px;
	letter-spacing: 0.1em;
	color: #7ee0a1;
}

.lt-board-go {
	flex: 0 0 92px;
}

.lt-board a.lt-board-go {
	display: inline-flex;
	justify-content: center;
	background: var(--wp--preset--color--amber);
	color: var(--wp--preset--color--board);
	text-decoration: none;
	font-family: var(--wp--preset--font-family--figtree);
	font-weight: 700;
	font-size: 16px;
	padding: 10px 22px;
	border-radius: 999px;
}

.lt-board a.lt-board-go:hover {
	background: #ffd873;
}

.lt-board-note {
	margin: 16px 8px 0;
	font-family: var(--wp--preset--font-family--figtree);
	font-size: 15px;
	color: #b6c2d4;
}

@media (max-width: 600px) {
	.lt-board-head {
		display: none;
	}

	.lt-board-code,
	.lt-board-gate,
	.lt-board-status {
		flex-basis: auto;
	}
}

/* ---------- Flight plan (stages) ---------- */

.lt-stages {
	list-style: none;
	padding: 0;
	margin-block-start: 36px;
	position: relative;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
	gap: 28px 20px;
	counter-reset: stage;
}

.lt-stages::before {
	content: "";
	position: absolute;
	left: 28px;
	right: 28px;
	top: 27px;
	border-top: 3px dashed var(--wp--preset--color--sky);
}

.lt-stages > li {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 16px;
	color: var(--wp--preset--color--ink-soft);
	counter-increment: stage;
}

.lt-stages > li::before {
	content: "0" counter(stage);
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--wp--preset--color--blue);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 700;
	font-size: 17px;
	box-shadow: 0 0 0 6px #ffffff;
}

.lt-stages > li strong {
	display: block;
	font-size: 20px;
	color: var(--wp--preset--color--navy);
}

@media (max-width: 600px) {
	.lt-stages::before {
		display: none;
	}
}

/* ---------- Cards ---------- */

.lt-card {
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 16px;
	padding: 28px;
}

.lt-card > * + * {
	margin-block-start: 10px;
}

.lt-card p {
	font-size: 16px;
	color: var(--wp--preset--color--ink-soft);
}

.lt-card .lt-eyebrow {
	font-size: 14px;
	color: var(--wp--preset--color--red);
}

.lt-card ul {
	font-size: 17px;
	color: var(--wp--preset--color--ink-soft);
	padding-left: 20px;
}

.lt-card h3 {
	margin-top: 10px;
}

.lt-card-dark {
	background: rgba(255, 255, 255, 0.07);
	border-radius: 16px;
	padding: 24px;
}

.lt-card-dark p {
	font-size: 16px;
	color: var(--wp--preset--color--mist);
}

.lt-icon svg {
	display: block;
	width: 36px;
	height: 36px;
}

/* ---------- Photos ---------- */

.lt-photo img {
	width: 100%;
	height: clamp(260px, 32vw, 400px);
	object-fit: cover;
	border-radius: 18px;
	display: block;
}

.lt-collage {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.lt-collage .wp-block-image {
	margin: 0;
}

.lt-collage img {
	width: 100%;
	height: clamp(180px, 20vw, 260px);
	object-fit: cover;
	border-radius: 16px;
	display: block;
}

.lt-collage .wp-block-image:nth-child(even) {
	margin-top: 36px;
}

/* ---------- Lists ---------- */

.lt-ticks {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lt-ticks > li {
	position: relative;
	padding-left: 32px;
}

.lt-ticks > li::before {
	content: "✈";
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--amber);
	font-weight: 700;
}

.has-blue-background-color .lt-ticks {
	color: #eaf1fb;
}

.has-blue-background-color strong {
	color: #ffffff;
}

/* ---------- Callout ---------- */

.lt-callout {
	display: flex;
	gap: 16px;
	align-items: center;
	background: var(--wp--preset--color--paper);
	border: 2px dashed var(--wp--preset--color--sky);
	border-radius: 16px;
	padding: 18px 20px;
	font-size: 16px;
}

.lt-callout svg {
	flex: 0 0 auto;
}

.lt-callout p {
	margin: 0;
}

/* ---------- Banner ---------- */

.lt-banner {
	border-radius: 20px;
	padding: clamp(28px, 4vw, 40px);
}

.lt-pill-grid {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 14px;
	font-size: 17px;
}

.lt-pill-grid > li {
	background: rgba(255, 255, 255, 0.08);
	border-radius: 12px;
	padding: 16px;
}

/* ---------- FAQ ---------- */

.lt-faq {
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	padding: 18px 22px;
}

.lt-faq summary {
	font-weight: 700;
	font-size: 19px;
	cursor: pointer;
	min-height: 32px;
}

.lt-faq p {
	color: var(--wp--preset--color--ink-soft);
}

/* ---------- Documents list ---------- */

.lt-docs {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lt-docs a {
	display: flex;
	align-items: center;
	gap: 18px;
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	padding: 18px 22px;
	text-decoration: none;
	color: var(--wp--preset--color--navy);
	font-weight: 700;
	font-size: 19px;
}

.lt-docs a::after {
	content: "PDF ↓";
	margin-left: auto;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 14px;
	color: var(--wp--preset--color--blue);
}

.lt-docs a:hover {
	border-color: var(--wp--preset--color--blue);
	background: #f5f9ff;
}

/* ---------- Postcard (contact) ---------- */

.lt-postcard {
	background: #ffffff;
	border-radius: 20px;
	box-shadow: 0 16px 40px rgba(20, 40, 75, 0.12);
	overflow: hidden;
}

.lt-postcard-body {
	padding: 32px;
}

.lt-postcard-body > * + * {
	margin-block-start: 14px;
}

.lt-email {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: clamp(26px, 4vw, 36px);
	word-break: break-word;
}

/* ---------- Footer ---------- */

.lt-footer {
	padding-top: 56px;
	padding-bottom: 28px;
	color: var(--wp--preset--color--mist);
}

.lt-footer a {
	color: var(--wp--preset--color--mist);
	text-decoration: none;
}

.lt-footer a:hover {
	color: #ffffff;
	text-decoration: underline;
}

.lt-footer-head {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--amber);
	margin-bottom: 6px;
}

.lt-footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 16px;
}

.lt-footer-links li a {
	display: inline-block;
	padding: 6px 0;
}

.lt-footer-bottom {
	border-top: 1px solid #2b4170;
	padding-top: 18px;
	font-size: 14px;
	color: #b9cbe6;
}

/* ---------- Posts ---------- */

.lt-post-list .wp-block-post {
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 16px;
	padding: 24px 28px;
}

@media (prefers-reduced-motion: no-preference) {
	.lt-board a.lt-board-go,
	.wp-element-button,
	.wp-block-navigation.lt-nav .wp-block-navigation-item__content {
		transition: background-color 0.15s ease, color 0.15s ease;
	}
}

@media print {
	.lt-airmail,
	.lt-header,
	.lt-footer {
		display: none;
	}
}

/* ---------- Gallery: photos from a real Flight ---------- */

.lt-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 24px;
}

.lt-gallery .wp-block-image {
	margin: 0;
}

.lt-gallery img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 14px;
	display: block;
}

.lt-gallery figcaption {
	margin-top: 8px;
	font-size: 0.9rem;
	color: #5b6577;
	text-align: left;
}

@media (max-width: 781px) {
	.lt-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.lt-gallery {
		grid-template-columns: 1fr;
	}
}

/* ---------- Flight log: every LunchTrip Japan Flight ---------- */

.lt-log {
	margin-top: 28px;
}

.lt-log-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 28px;
}

.lt-log-stats > div {
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	padding: 16px 18px;
}

.lt-log-stats b {
	display: block;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1;
	color: var(--wp--preset--color--navy);
}

.lt-log-stats span {
	display: block;
	margin-top: 6px;
	font-size: 15px;
	color: var(--wp--preset--color--ink-soft);
}

.lt-log-year {
	border-top: 1px solid var(--wp--preset--color--line);
}

.lt-log-year:last-child {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.lt-log-year > summary {
	display: flex;
	align-items: baseline;
	gap: 16px;
	padding: 14px 4px;
	min-height: 44px;
	cursor: pointer;
	list-style: none;
}

.lt-log-year > summary::-webkit-details-marker {
	display: none;
}

.lt-log-year > summary::after {
	content: "+";
	margin-left: auto;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 22px;
	color: var(--wp--preset--color--blue);
}

.lt-log-year[open] > summary::after {
	content: "\2212";
}

.lt-log-y {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: 26px;
	color: var(--wp--preset--color--navy);
}

.lt-log-n {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
}

.lt-log-list {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
}

.lt-log-list li {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1.8fr) auto;
	gap: 4px 18px;
	align-items: baseline;
	padding: 10px 4px;
	border-top: 1px dashed var(--wp--preset--color--line);
	font-size: 16px;
}

.lt-log-list time {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 14px;
	color: var(--wp--preset--color--red);
}

.lt-log-dest {
	font-weight: 700;
	color: var(--wp--preset--color--navy);
}

.lt-log-tag {
	display: inline-block;
	margin-left: 8px;
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	vertical-align: 2px;
}

.lt-log-where {
	color: var(--wp--preset--color--ink-soft);
}

.lt-log-title {
	font-style: italic;
}

.lt-log-link {
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.lt-log-kids {
	margin: 0 0 16px;
	padding: 12px 16px;
	border-radius: 12px;
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--line);
	font-size: 15px;
	line-height: 1.6;
}

@media (max-width: 860px) {
	.lt-log-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lt-log-list li {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.lt-log-list li > :not(time) {
		grid-column: 2;
	}

	.lt-log-title:empty {
		display: none;
	}
}

.lt-log .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 600px) {
	.lt-hero-video h1 {
		font-size: 2.2rem;
	}

	.lt-hero-video .lt-lead {
		font-size: 17px;
	}
}

.lt-eyebrow a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.lt-eyebrow a:hover {
	text-decoration-thickness: 2px;
}
