@font-face {
	font-family: 'Plus Jakarta Sans';
	font-style: normal;
	font-weight: 400 800;
	/*
	 * optional rather than swap. swap repaints the page once the webfont
	 * arrives, and that repaint was measured as the main cause of a 0.124
	 * cumulative layout shift, over the 0.1 threshold. With optional the
	 * browser uses the fallback for that load rather than shifting the text
	 * under the reader, and the font is preloaded so it is normally ready in
	 * time anyway.
	 */
	font-display: optional;
	src: url('../fonts/plus-jakarta-sans-variable.woff2') format('woff2');
}

/*
 * Align the fallback metrics on Plus Jakarta Sans so the two render at the
 * same size. Without this, a fallback paint followed by the real font still
 * moves the text even when nothing else changes.
 */
@font-face {
	font-family: 'Plus Jakarta Fallback';
	src: local('Arial');
	size-adjust: 105%;
	ascent-override: 96%;
	descent-override: 24%;
	line-gap-override: 0%;
}

:root {
	--unpacked-paper: #ffffff;
	--unpacked-surface: #fff;
	--unpacked-ink: #0b1b3d;
	--unpacked-muted: #526079;
	--unpacked-accent: #ff5533;
	--unpacked-hover: #e04424;
	--unpacked-tint: #fff;
	--unpacked-line: #e2e8f0;
	--unpacked-control: #728096;
	--unpacked-focus: #ff5533;
	--unpacked-coral: #ff5533;
	--unpacked-display: 'Plus Jakarta Sans', system-ui, sans-serif;
	--unpacked-sans: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--global-palette1: #ff5533;
	--global-palette2: #e04424;
	--global-palette3: #0b1b3d;
	--global-palette4: #0b1b3d;
	--global-palette5: #526079;
	--global-palette6: #526079;
	--global-palette7: #e2e8f0;
	--global-palette8: #ffffff;
	--global-palette9: #fff;
	--global-palette-highlight: var(--unpacked-accent);
	--global-palette-highlight-alt: var(--unpacked-hover);
	--global-palette-highlight-alt2: #fff;
	--global-palette-btn-bg: var(--unpacked-accent);
	--global-palette-btn-bg-hover: var(--unpacked-hover);
	--global-palette-btn: #fff;
	--global-palette-btn-hover: #fff;
	--global-body-font-family: var(--unpacked-sans);
	--global-heading-font-family: var(--unpacked-display);
	--global-content-width: 75rem;
	--global-content-edge-padding: 1rem;
}

/* Coral on white is 3.18:1: coral links and white CTA labels use large bold text. */
html { font-size: 100%; scroll-padding-top: 1.5rem; }
*, *::before, *::after { box-sizing: border-box; }
body.unpacked-site { margin: 0; background: var(--unpacked-paper); color: var(--unpacked-ink); font-family: var(--unpacked-sans); font-size: 1.0625rem; line-height: 1.75; }
.unpacked-site h1, .unpacked-site h2 { margin: 0; color: var(--unpacked-ink); font-family: var(--unpacked-display); font-weight: 800; letter-spacing: -.04em; }
.unpacked-site h1 { font-size: 2.25rem; line-height: 1.12; }
.unpacked-site h2 { font-size: 1.75rem; line-height: 1.2; }
.unpacked-site h3, .unpacked-site h4 { color: var(--unpacked-ink); font-family: var(--unpacked-display); font-weight: 700; line-height: 1.3; }
.unpacked-site h3 { font-size: 1.25rem; }
.unpacked-site p { margin: 0 0 1rem; }
.unpacked-site a { color: var(--unpacked-accent); font-size: max(1em, 1.1875rem); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.unpacked-site a:hover { color: var(--unpacked-hover); text-decoration-thickness: 2px; }
.unpacked-site :where(a, button, summary, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--unpacked-focus); outline-offset: 3px; box-shadow: 0 0 0 3px #fff; }
.unpacked-site :where(img, video, iframe) { max-width: 100%; }
.unpacked-site img { display: block; height: auto; }
.unpacked-site [hidden] { display: none !important; }
.unpacked-site ::selection { color: var(--unpacked-ink); background: var(--unpacked-tint); }
.unpacked-container { width: min(100% - 2rem, 75rem); margin-inline: auto; }
.unpacked-main { min-height: 45vh; }
.unpacked-main:focus { outline: none; }
.unpacked-skip-link { position: fixed; z-index: 999999; left: 1rem; top: 1rem; padding: .75rem 1rem; background: #fff; transform: translateY(-200%); }
.unpacked-skip-link:focus { transform: none; }
.unpacked-header { border-bottom: 1px solid var(--unpacked-line); background: #fff; }
.unpacked-header-inner { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 2rem; min-height: 4.5rem; padding-block: 1rem; }
.unpacked-site .unpacked-brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--unpacked-ink); font-family: var(--unpacked-display); font-size: 1.3rem; font-weight: 800; letter-spacing: -.045em; line-height: 1.2; text-decoration: none; }
.unpacked-navigation { border: 0; width: 100%; margin: 0; padding: 0; }
.unpacked-navigation summary { cursor: pointer; list-style: none; }
.unpacked-navigation summary::-webkit-details-marker { display: none; }
.unpacked-menu-toggle { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 2.75rem; font-size: 1.1875rem; font-weight: 700; }
.unpacked-menu-toggle span { font-size: 1.5rem; line-height: 1; }
.unpacked-navigation[open] .unpacked-menu-toggle span { transform: rotate(45deg); }
.unpacked-site .unpacked-menu { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; list-style: none; margin: 0; padding: 0; }
.unpacked-site .unpacked-menu li { margin: 0; padding: 0; }
.unpacked-site .unpacked-menu a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .4rem 0; color: var(--unpacked-ink); font-size: 1.1875rem; font-weight: 700; letter-spacing: .025em; text-transform: uppercase; text-decoration: none; }
.unpacked-site .unpacked-menu a:hover, .unpacked-site .unpacked-menu a[aria-current], .unpacked-site .unpacked-menu .current-menu-item > a { color: var(--unpacked-accent); text-decoration: underline; }
/* Eight languages: a closed control, not a row. Rendered closed, like the menu. */
.unpacked-languages { position: relative; margin-left: auto; border: 0; padding: 0; }
.unpacked-languages summary { cursor: pointer; list-style: none; }
.unpacked-languages summary::-webkit-details-marker { display: none; }
.unpacked-languages-toggle { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding: 0 .25rem; font-size: .9375rem; font-weight: 700; color: var(--unpacked-ink); }
.unpacked-languages-toggle img { display: block; border: 1px solid var(--unpacked-line); }
.unpacked-languages[open] .unpacked-languages-toggle span:last-child { transform: rotate(45deg); }
.unpacked-languages > nav { position: absolute; right: 0; z-index: 50; min-width: 11rem; margin-top: .25rem; padding: .5rem 0; background: var(--unpacked-surface); border: 1px solid var(--unpacked-line); border-radius: .5rem; box-shadow: 0 10px 30px rgb(11 27 61 / 12%); }
.unpacked-languages ul { display: block; margin: 0; padding: 0; list-style: none; }
.unpacked-languages li { margin: 0; }
.unpacked-site .unpacked-languages a { display: flex; align-items: center; gap: .625rem; min-height: 2.75rem; padding: .25rem 1rem; font-size: .9375rem; font-weight: 700; color: var(--unpacked-ink); text-decoration: none; }
.unpacked-site .unpacked-languages a:hover, .unpacked-site .unpacked-languages a:focus-visible { color: var(--unpacked-accent); text-decoration: underline; }
.unpacked-site .unpacked-languages a[aria-current] { color: var(--unpacked-accent); }
.unpacked-languages a img { display: block; flex: 0 0 auto; border: 1px solid var(--unpacked-line); }
.unpacked-eyebrow { color: var(--unpacked-ink); font-family: var(--unpacked-sans); font-size: .75rem; font-weight: 700; letter-spacing: .08em; line-height: 1.5; text-transform: uppercase; }
.unpacked-hero { display: grid; align-items: center; gap: 2.5rem; padding-block: 2.75rem; }
.unpacked-site .unpacked-hero h1 { font-size: clamp(2.25rem, 4.4vw, 3.75rem); line-height: 1.08; margin: 1.25rem 0 1.5rem; text-wrap: balance; }
.unpacked-hero h1 em { color: var(--unpacked-accent); font-style: normal; }
.unpacked-lede { max-width: 38rem; font-size: 1.0625rem; line-height: 1.75; color: var(--unpacked-muted); }
.unpacked-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 2rem; }
.unpacked-site .unpacked-button, .unpacked-content .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; max-width: 100%; padding: .75rem 1.25rem; border: 1px solid var(--unpacked-accent); border-radius: .75rem; color: #fff; background: var(--unpacked-accent); font: 700 1.1875rem/1.5 var(--unpacked-sans); overflow-wrap: anywhere; text-decoration: none; text-align: center; transition: background-color 120ms, color 120ms; }
.unpacked-site .unpacked-button:hover, .unpacked-content .wp-block-button__link:hover { color: #fff; background: var(--unpacked-hover); border-color: var(--unpacked-hover); }
.unpacked-site .unpacked-button-secondary, .unpacked-content .is-style-outline .wp-block-button__link { background: #fff; color: var(--unpacked-ink); border-color: var(--unpacked-line); }
.unpacked-site .unpacked-button-secondary:hover, .unpacked-content .is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--unpacked-accent); border-color: var(--unpacked-accent); }
.unpacked-site .unpacked-text-link { display: inline-flex; align-items: center; min-height: 2.75rem; font-size: 1.1875rem; font-weight: 700; }
.unpacked-featured { margin: 0 0 2rem; }
.unpacked-featured-image { width: 100%; border-radius: 1.25rem; }
.unpacked-hero-photo .unpacked-featured { margin: 0; }
.unpacked-site figcaption { margin-top: .75rem; color: var(--unpacked-muted); font-size: .875rem; line-height: 1.5; text-align: left; }
.unpacked-launch-note { display: flex; align-items: flex-start; gap: 1.5rem; max-width: 54rem; padding-block: 2rem 3rem; border-top: 1px solid var(--unpacked-line); }
.unpacked-launch-note h2 { margin-bottom: .75rem; }
.unpacked-launch-note p { color: var(--unpacked-muted); }
.unpacked-section-number { color: var(--unpacked-accent); font: 600 1.75rem/1.2 var(--unpacked-display); }
.unpacked-section, .unpacked-home-content { margin-bottom: 4rem; }
.unpacked-home-content { max-width: 45rem; }
.unpacked-section-heading { margin-bottom: 2rem; }
.unpacked-card-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.unpacked-card { min-width: 0; border: 1px solid var(--unpacked-line); border-radius: 1rem; background: var(--unpacked-surface); box-shadow: 0 4px 16px rgb(11 27 61 / 4%); }
.unpacked-card-image img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: 1rem 1rem 0 0; }
.unpacked-card-image { margin: 0; }
.unpacked-card-image figcaption { padding-inline: 1.5rem; }
.unpacked-card-body { padding: 1.5rem; }
.unpacked-site .unpacked-card-body h3 { margin: 0 0 .75rem; font-size: 1.25rem; }
.unpacked-card-body h3 a { color: var(--unpacked-ink); text-decoration: none; }
.unpacked-card-body h3 a:hover { color: var(--unpacked-accent); text-decoration: underline; }
.unpacked-card-body > p:last-child { margin-bottom: 0; color: var(--unpacked-muted); font-size: 1rem; }
.unpacked-card-text { border-top: 3px solid var(--unpacked-coral); }
.unpacked-reading { max-width: 45rem; }
.unpacked-article { padding-block: 2.5rem 4rem; }
.unpacked-article-header { margin-bottom: 2rem; }
.unpacked-article-header h1 { margin-bottom: 1.5rem; }
.unpacked-breadcrumbs { margin-bottom: 1.5rem; color: var(--unpacked-muted); font-size: .875rem; overflow-wrap: anywhere; }
.unpacked-byline { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; margin-top: 1.5rem; color: var(--unpacked-muted); font-size: .875rem; }
.unpacked-verified-date { color: var(--unpacked-muted); font-size: .875rem; }
.unpacked-content { overflow-wrap: anywhere; }
.unpacked-content > * { max-width: 100%; }
.unpacked-content h2 { margin: 3rem 0 1rem; scroll-margin-top: 1.5rem; }
.unpacked-content h3 { margin: 2rem 0 .75rem; scroll-margin-top: 1.5rem; }
.unpacked-content ul, .unpacked-content ol { margin: 0 0 1.5rem; padding-left: 1.5rem; }
.unpacked-content li + li { margin-top: .5rem; }
.unpacked-content blockquote { margin: 2rem 0; padding: 1.5rem; border-left: 3px solid var(--unpacked-accent); background: var(--unpacked-tint); }
.unpacked-content .wp-block-image { margin-block: 2rem; }
.unpacked-content .wp-block-image img { border-radius: .75rem; }
.unpacked-content table { width: 100%; border-collapse: collapse; font-size: 1rem; font-variant-numeric: tabular-nums; }
.unpacked-content th, .unpacked-content td { padding: .75rem; border: 1px solid var(--unpacked-control); text-align: left; vertical-align: top; }
.unpacked-content th { background: var(--unpacked-tint); font-weight: 650; }
.unpacked-content .wp-block-table { max-width: 100%; overflow-x: auto; margin-block: 2rem; }
.unpacked-content details { margin-block: 1rem; padding: 1rem 0; border-block: 1px solid var(--unpacked-line); }
.unpacked-content summary { min-height: 2.75rem; cursor: pointer; font-weight: 650; }
.unpacked-content details[open] summary { margin-bottom: 1rem; }
.unpacked-content pre { overflow-x: auto; padding: 1rem; background: #fff; }
.unpacked-content :where(input:not([type=submit]):not([type=checkbox]):not([type=radio]), textarea, select) { max-width: 100%; min-height: 2.75rem; padding: .75rem; border: 1px solid var(--unpacked-control); border-radius: .75rem; background: #fff; color: var(--unpacked-ink); font: inherit; }
.unpacked-content input[type=submit], .unpacked-content button { min-height: 2.75rem; padding: .75rem 1.25rem; border: 1px solid var(--unpacked-accent); border-radius: .75rem; background: var(--unpacked-accent); color: #fff; font: 700 1.1875rem/1.5 var(--unpacked-sans); overflow-wrap: anywhere; cursor: pointer; }
.unpacked-content input[type=submit]:hover, .unpacked-content button:hover { color: #fff; background: var(--unpacked-hover); border-color: var(--unpacked-hover); }
.unpacked-answer, .unpacked-content .unpacked-answer { margin-block: 2rem; padding: 1.5rem; border-radius: .75rem; background: var(--unpacked-tint); }
.unpacked-answer > :first-child, .unpacked-notice > :first-child { margin-top: 0; }
.unpacked-answer > :last-child, .unpacked-notice > :last-child { margin-bottom: 0; }
.unpacked-notice { padding: 1.25rem; margin-block: 1.5rem; border-left: 3px solid currentColor; border-radius: 0 .25rem .25rem 0; }
.unpacked-warning, .unpacked-error, .unpacked-success { color: var(--unpacked-ink); background: #fff; border-color: var(--unpacked-accent); }
.unpacked-notice a { color: inherit; }
.unpacked-facts { display: grid; grid-template-columns: minmax(6rem, 1fr) minmax(0, 2fr); gap: .75rem 1rem; font-size: 1rem; }
.unpacked-facts dt { font-weight: 650; }
.unpacked-facts dd { margin: 0; }
.unpacked-sources { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--unpacked-line); font-size: 1rem; }
.unpacked-sources h2 { margin-top: 0; }
.unpacked-sources ul { padding-left: 1.25rem; }
.unpacked-sources li { margin-bottom: .5rem; overflow-wrap: anywhere; }
.unpacked-affiliate-disclosure { color: var(--unpacked-muted); font-size: .875rem; }
.unpacked-affiliate-card { display: grid; gap: 1.25rem; margin-block: 1.5rem; padding: 1.25rem; border: 1px solid var(--unpacked-line); border-radius: .75rem; background: #fff; }
.unpacked-affiliate-card img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: .75rem; }
.unpacked-affiliate-card h3 { margin-top: 0; }
.unpacked-listing { padding-block: 2.5rem 4rem; }
.unpacked-listing-header { max-width: 45rem; margin-bottom: 2rem; }
.unpacked-listing-header h1 { margin-bottom: 1.5rem; }
.unpacked-empty { padding: 2rem 0; max-width: 38rem; }
.unpacked-empty h2 { margin-bottom: 1rem; }
.unpacked-site .pagination, .unpacked-page-links { margin-block: 3rem 1rem; }
.unpacked-site .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding: .5rem; }
.unpacked-site .page-numbers.current { background: var(--unpacked-tint); color: var(--unpacked-ink); }
.unpacked-not-found { padding-block: 5rem; }
.unpacked-not-found h1 { margin-bottom: 1.5rem; }
.unpacked-muted { color: var(--unpacked-muted); }
.unpacked-footer { border-top: 1px solid var(--unpacked-ink); background: var(--unpacked-ink); color: #fff; }
.unpacked-footer-inner { display: grid; gap: 2rem; padding-block: 2.5rem; }
.unpacked-footer .unpacked-muted { margin-top: .75rem; font-size: 1rem; }
.unpacked-footer .unpacked-menu { gap: .25rem 1.5rem; }
.unpacked-footer .unpacked-menu a { font-size: .875rem; }
.unpacked-footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-block: 1.25rem; border-top: 1px solid var(--unpacked-line); color: var(--unpacked-muted); font-size: .875rem; }
.unpacked-footer-mark { letter-spacing: .15em; font-size: .75rem; }

@media (min-width: 40rem) {
	.unpacked-container { width: min(100% - 3rem, 75rem); }
	.unpacked-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.unpacked-footer-inner { grid-template-columns: 1fr 1fr; gap: 3rem; }
}
@media (min-width: 48rem) {
	.unpacked-site h1 { font-size: 3rem; }
	.unpacked-site h2 { font-size: 2rem; }
	.unpacked-site h3 { font-size: 1.375rem; }
	.unpacked-site .unpacked-hero h1 { font-size: clamp(2.75rem, 4.4vw, 3.75rem); }
	.unpacked-lede { font-size: 1.125rem; }
	.unpacked-affiliate-card:has(> img) { grid-template-columns: 12.5rem minmax(0, 1fr); }
}
@media (min-width: 64rem) {
	.unpacked-container { width: min(100% - 4rem, 75rem); }
	.unpacked-header-inner { min-height: 5rem; }
	.unpacked-navigation { width: auto; margin-left: auto; }
	.unpacked-menu-toggle { display: none; }
	.unpacked-navigation:not([open]) > nav { display: block; }
	.unpacked-languages { margin-left: .75rem; }
	.unpacked-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3.5rem; padding-block: 4rem; }
	.unpacked-hero:not(:has(.unpacked-hero-photo)) { grid-template-columns: minmax(0, 1fr); max-width: 60rem; }
	.unpacked-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.unpacked-reading { max-width: 45rem; }
	.unpacked-article { padding-block: 3.5rem 5rem; }
	.unpacked-launch-note { padding-bottom: 4rem; }
	.unpacked-section, .unpacked-home-content { margin-bottom: 5rem; }
}

/* Concept 03: a bright travel interface backed by real WordPress content. */
.unpacked-topbar { background: var(--unpacked-ink); color: #fff; font-size: .8125rem; line-height: 1.5; padding-block: .6rem; }
.unpacked-brand-icon { flex: 0 0 2.25rem; display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: .75rem; background: var(--unpacked-coral); color: var(--unpacked-ink); }
.unpacked-brand-icon svg { width: 1.4rem; height: 1.4rem; }
.unpacked-brand-text { min-width: 0; }
.unpacked-hero-copy, .unpacked-hero-photo { min-width: 0; }
.unpacked-hero .unpacked-eyebrow { display: inline-flex; padding: .4rem .75rem; border: 1px solid var(--unpacked-line); background: var(--unpacked-tint); border-radius: 2rem; letter-spacing: .02em; text-transform: none; font-size: .8125rem; }
.unpacked-hero-title-accent { color: var(--unpacked-coral); }
.unpacked-site .unpacked-button, .unpacked-content .wp-block-button__link { font-weight: 700; box-shadow: 0 3px 8px rgb(11 27 61 / 8%); }
.unpacked-site .unpacked-button-secondary { box-shadow: none; }
.unpacked-navigation-cards { margin-block: 0 3rem; }
.unpacked-navigation-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.unpacked-navigation-card { position: relative; min-width: 0; padding: 1.5rem; background: #fff; border: 1px solid var(--unpacked-line); border-radius: 1rem; box-shadow: 0 6px 20px rgb(11 27 61 / 5%); }
.unpacked-navigation-card-label { font-size: .75rem; font-weight: 700; color: var(--unpacked-ink); text-transform: uppercase; letter-spacing: .06em; }
.unpacked-navigation-card h3 { margin: 0 0 .75rem; font-size: 1.375rem; }
.unpacked-navigation-card p:last-child { margin-bottom: 0; font-size: .9375rem; color: var(--unpacked-muted); }
.unpacked-site .unpacked-navigation-card-link { display: inline-flex; align-items: center; gap: 1rem; min-height: 2.75rem; color: var(--unpacked-ink); text-decoration: none; }
.unpacked-site .unpacked-navigation-card-link:hover { color: var(--unpacked-accent); text-decoration: underline; }
.unpacked-navigation-card-arrow { color: var(--unpacked-accent); }
.unpacked-launch-note { max-width: none; padding: 2rem; margin-bottom: 3rem; border: 0; border-radius: 1.25rem; background: #f5f7fb; }
.unpacked-launch-note h2 { font-size: 1.5rem; }
.unpacked-launch-note p { margin-bottom: 0; font-size: 1rem; }
.unpacked-section-number { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; border-radius: .875rem; color: var(--unpacked-accent); background: var(--unpacked-tint); font-size: 1.1875rem; font-weight: 800; }
.unpacked-card { transition: border-color 150ms, box-shadow 150ms; }
.unpacked-card:hover, .unpacked-card:focus-within { border-color: var(--unpacked-control); box-shadow: 0 8px 24px rgb(11 27 61 / 9%); }
.unpacked-card-link { display: inline-flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 2.75rem; }
.unpacked-card-arrow { color: var(--unpacked-accent); }
.unpacked-article-header, .unpacked-listing-header { padding-bottom: 1.5rem; border-bottom: 1px solid var(--unpacked-line); }
.unpacked-empty { padding: 2rem; background: #fff; border-radius: 1rem; }
.unpacked-footer .unpacked-brand, .unpacked-footer .unpacked-menu a { color: #fff; }
.unpacked-footer .unpacked-muted, .unpacked-footer-bottom { color: #c6d0e0; }
.unpacked-footer .unpacked-menu a:hover, .unpacked-footer .unpacked-menu a[aria-current], .unpacked-footer .unpacked-menu .current-menu-item > a { color: var(--unpacked-accent); }
.unpacked-footer-bottom { border-color: #33415c; }
.unpacked-footer .unpacked-menu a { text-transform: none; letter-spacing: 0; }
.unpacked-footer :where(a, button):focus-visible { outline-color: var(--unpacked-accent); box-shadow: 0 0 0 3px var(--unpacked-ink); }
@media (min-width: 40rem) {
	.unpacked-navigation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 24rem) {
	.unpacked-launch-note { padding: 1.25rem; gap: .75rem; }
	.unpacked-site .unpacked-brand { font-size: 1.1rem; gap: .5rem; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media (forced-colors: active) {
	.unpacked-site :focus-visible { outline: 3px solid Highlight; box-shadow: none; }
	.unpacked-site .unpacked-button { border: 1px solid ButtonText; }
}

/* Table of contents, built from the H2 headings of long articles. */
/* Selectors carry .unpacked-content so they outrank the generic details rule above. */
.unpacked-content .unpacked-toc { margin: 2rem 0 2.5rem; padding: 1.25rem 1.5rem; background: #fff; border: 1px solid var(--unpacked-line); border-radius: 1rem; }
.unpacked-content .unpacked-toc > summary { cursor: pointer; list-style: none; margin-bottom: 0; font-size: .75rem; font-weight: 700; color: var(--unpacked-muted); text-transform: uppercase; letter-spacing: .06em; }
.unpacked-content .unpacked-toc > summary::-webkit-details-marker { display: none; }
.unpacked-content .unpacked-toc > summary::after { content: "+"; float: right; font-size: 1.125rem; line-height: 1; color: var(--unpacked-accent); }
.unpacked-content .unpacked-toc[open] > summary::after { content: "\2212"; }
.unpacked-content .unpacked-toc nav { margin-top: 1rem; }
/* 2.25rem so a two digit marker is not clipped by the box padding. */
.unpacked-content .unpacked-toc ol { margin: 0; padding-left: 2.25rem; }
.unpacked-content .unpacked-toc li { margin: 0 0 .375rem; padding: 0; }
.unpacked-site .unpacked-content .unpacked-toc a { color: var(--unpacked-ink); text-decoration: none; }
.unpacked-site .unpacked-content .unpacked-toc a:hover, .unpacked-site .unpacked-content .unpacked-toc a:focus-visible { color: var(--unpacked-accent); text-decoration: underline; }
.unpacked-content h2[id] { scroll-margin-top: 1.5rem; }

/* Activity cards. One card is one bookable thing, not one marketplace. */
.unpacked-content .unpacked-tours { margin-block: 1.5rem 2rem; }
.unpacked-content .unpacked-tours-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.unpacked-content .unpacked-tour { display: flex; flex-direction: column; gap: .5rem; height: 100%; padding: 1.125rem; background: #fff; border: 1px solid var(--unpacked-line); border-radius: .75rem; }
.unpacked-site .unpacked-content .unpacked-tour { color: var(--unpacked-ink); text-decoration: none; }
.unpacked-content a.unpacked-tour:hover, .unpacked-content a.unpacked-tour:focus-visible { border-color: var(--unpacked-accent); box-shadow: 0 6px 20px rgb(11 27 61 / 8%); }
.unpacked-content .unpacked-tour-provider { align-self: flex-start; padding: .125rem .5rem; font-size: .6875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--unpacked-muted); background: #f1f5f9; border-radius: 999px; }
.unpacked-content .unpacked-tour-name { margin: 0; font-size: 1rem; font-weight: 700; line-height: 1.35; }
.unpacked-content .unpacked-tour-meta { display: flex; flex-wrap: wrap; gap: .25rem .875rem; font-size: .875rem; color: var(--unpacked-muted); }
.unpacked-content .unpacked-tour-rating { font-weight: 700; color: var(--unpacked-ink); }
.unpacked-content .unpacked-tour-price { font-size: .875rem; font-weight: 700; }
.unpacked-content .unpacked-tour-cta { margin-top: auto; padding-top: .25rem; font-size: .875rem; font-weight: 700; color: var(--unpacked-accent); }
.unpacked-content .unpacked-tours-note { margin-top: .875rem; font-size: .8125rem; color: var(--unpacked-muted); }
@media (min-width: 34rem) {
	.unpacked-content .unpacked-tours-grid { grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
}

/* Analytics consent. Fixed, so revealing it shifts nothing on the page. */
.unpacked-consent { position: fixed; inset-inline: 0; bottom: 0; z-index: 60; padding: 1rem; background: var(--unpacked-surface); border-top: 2px solid var(--unpacked-ink); box-shadow: 0 -8px 30px rgb(11 27 61 / 12%); }
.unpacked-consent-inner { display: flex; flex-direction: column; gap: .75rem; max-width: 60rem; margin: 0 auto; }
.unpacked-consent-title { margin: 0; font-family: var(--unpacked-display); font-size: 1rem; font-weight: 800; color: var(--unpacked-ink); }
.unpacked-consent-text { margin: 0; font-size: .9375rem; line-height: 1.6; color: var(--unpacked-muted); }
.unpacked-consent-actions { display: flex; flex-wrap: wrap; gap: .625rem; }
/* Both buttons carry the same weight: refusing must cost no more than agreeing. */
.unpacked-consent-button { flex: 1 1 10rem; padding: .625rem 1.25rem; font-family: var(--unpacked-sans); font-size: .9375rem; font-weight: 700; color: var(--unpacked-ink); background: #fff; border: 2px solid var(--unpacked-ink); border-radius: .5rem; cursor: pointer; }
.unpacked-consent-button:hover { color: #fff; background: var(--unpacked-ink); }
.unpacked-consent-button:focus-visible { outline: 3px solid var(--unpacked-focus); outline-offset: 2px; }
.unpacked-consent-settings { padding: 0; font: inherit; font-size: max(1em, 1.1875rem); font-weight: 700; color: var(--unpacked-accent); background: none; border: 0; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.unpacked-consent-settings:hover { color: var(--unpacked-hover); }
@media (min-width: 40rem) {
	.unpacked-consent-inner { flex-direction: row; align-items: center; }
	.unpacked-consent-actions { flex: 0 0 auto; }
	.unpacked-consent-button { flex: 0 0 auto; }
}
