/* fonts.css */
/* ?v= must match the preloads in views/layout.js — without it serveStatic sends no ETag,
   so these re-download hourly forever. Bump both when a font file is replaced. */
@font-face {
	font-family: 'Southwest Sans';
	src: url('/static/fonts/SouthwestSans-Regular.woff2?v=1') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* Light is the report hero's "The" and "Report"; it is not preloaded because /report is the
   only page that asks for it. */
@font-face {
	font-family: 'Southwest Sans';
	src: url('/static/fonts/SouthwestSans-Light.woff2?v=1') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Southwest Sans';
	src: url('/static/fonts/SouthwestSans-Medium.woff2?v=1') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Southwest Sans';
	src: url('/static/fonts/SouthwestSans-Bold.woff2?v=1') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Southwest Sans';
	src: url('/static/fonts/SouthwestSans-Black.woff2?v=1') format('woff2');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Southwest Sans';
	src: url('/static/fonts/SouthwestSans-Italic.woff2?v=1') format('woff2');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Southwest Sans';
	src: url('/static/fonts/SouthwestSans-BoldItalic.woff2?v=1') format('woff2');
	font-weight: 700;
	font-style: italic;
	font-display: swap;
}

/* tokens.css */
:root {
	--color-bold-blue: #304cb2;
	--color-dark-blue: #1a2c80;
	--color-midnight-blue: #111b40;
	--color-blue-light: #a8c7fe;
	--color-blue-mid: #c2d8fe;
	--color-blue-pale: #dce9ff;
	--color-blue-faint: #f3f7ff;
	--color-deep-silver: #5e7e95;
	--color-summit-silver: #e5e3e3;
	--color-heat-blue: #7baaff;
	--color-sunrise-yellow: #ffbf27;
	--color-cream: #f7e9ce;
	--color-orange: #ff792e;
	--color-warm-red: #d5152e;
	--heat-stop-1: 0;
	--heat-stop-2: 0.2;
	--heat-stop-3: 0.43;
	--heat-stop-4: 0.64;
	--heat-stop-5: 0.85;
	--heat-stops:
		var(--color-heat-blue) calc(var(--heat-stop-1) * 100%),
		var(--color-bold-blue) calc(var(--heat-stop-2) * 100%),
		var(--color-sunrise-yellow) calc(var(--heat-stop-3) * 100%),
		var(--color-orange) calc(var(--heat-stop-4) * 100%),
		var(--color-warm-red) calc(var(--heat-stop-5) * 100%);

	--color-marker-green: #2f8f6b;
	--color-gray: #6b7280; 
	--color-map-line: #8e95b2;
	--color-gray-lighter: #f0f0f0;
	--color-gray-light: #e6e6e6;
	--color-gray-dark: #3d3d3d;
	--color-gray-mid: #656565;
	--color-bg: #fff;
	--color-text: var(--color-dark-blue);
	--color-text-light: #fff;
	--font-sans: 'Southwest Sans', system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	--gap-3xs: 4px;
	--gap-xxs: 6px;
	--gap-xs: 8px;
	--gap-sm: 12px;
	--gap-md: 16px;
	--gap-lg: 24px;
	--gap-xl: 32px;
	--gap-xxl: 40px;
	--gap-3xl: 64px;

	--font-size-80: 80px;
	--font-size-64: 64px;
	--font-size-56: 56px;
	--font-size-48: 48px;
	--font-size-40: 40px;
	--font-size-36: 36px;
	--font-size-30: 30px;
	--font-size-24: 24px;
	--font-size-20: 20px;
	--font-size-16: 16px;
	--font-size-18: 18px;
	--font-size-14: 14px;
	--font-size-13: 13px;
	--font-size-12: 12px;
	--font-size-11: 11px;
	--font-size-10: 10px;

	--radius-xxs: 6px;
	--radius-xs: 8px;
	--radius-sm: 12px;
	--radius-md: 20px;
	--radius-pill: 99px;

	--container-md: 720px;
	--container-lg: 960px;
	--container-xl: 1140px;
	--container-max: var(--container-xl);

	--site-header-height: 88px;
	--vh-visible: min(100svh, 100dvh);
	--focus-ring: var(--color-text);
	--dur-quick: 0.15s;
	--dur-transition: 300ms;
	--ease-in-cubic: cubic-bezier(0.32, 0, 0.67, 0);
	--ease-in-out-cubic: cubic-bezier(0.65, 0, 0.35, 1);
	--ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
	--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
	--ease-out-back: cubic-bezier(0.2, 0.9, 0.3, 1.08);
}

@supports not (height: 1svh) {
	:root {
		--vh-visible: 100vh;
	}
}

@media (max-width: 1199.98px) {
	:root {
		--container-max: var(--container-lg);
	}
}

@media (max-width: 991.98px) {
	:root {
		--container-max: var(--container-md);
	}
}

@media (max-width: 767.98px) {
	:root {
		--container-max: 100%;
		--site-header-height: 56px;
	}
}

/* base.css */
* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	/* the header is sticky, so an anchor target would land underneath it */
	scroll-padding-top: var(--site-header-height);
}

/* Scroll anchoring off document-wide: an htmx swap can change the height of a whole section, and
   Chrome compensates by scrolling the page the same distance. A nested scrolling box picks its own
   anchor and needs its own opt-out. */
body {
	overflow-anchor: none;
	margin: 0;
	background: var(--color-bg);
	color: var(--color-text);
	font-family: var(--font-sans);
	line-height: 1.5;
}

button {
	border: 0;
	font: inherit;
	cursor: pointer;
}

button:disabled {
	opacity: 0.6;
	cursor: default;
}

[hidden] {
	display: none !important;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.skip-link {
	position: absolute;
	top: -100%;
	left: var(--gap-md);
	z-index: 10;
}

/* An anchor with no class of its own would otherwise take the UA's link blue, which currentColor
   then draws the focus ring in. */
:where(a:not([class])) {
	color: inherit;
}

/* tabindex="-1" is a script-only focus target — site.js moves focus to the question or the score
   after a swap so the change is announced. Tab cannot reach them, so a ring marks nothing the user
   can act on; excluding them from the rule below is not enough, because iOS Safari then draws its
   own default ring on the programmatic focus. */
:where([tabindex="-1"]):focus {
	outline: none;
}

:where(a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])):focus-visible {
	outline: 2px solid var(--focus-ring);
	outline-offset: 2px;
}

.skip-link:focus-visible {
	top: var(--gap-md);
}

.tm {
	font-size: 0.62em;
	vertical-align: 0.35em;
}

/* Zero line-height so a mark does not open the line it sits on. vertical-align: super clears the
   cap height by a few px and the mark reads as floating; this sits its top on the cap. */
sup {
	font-size: 0.6em;
	line-height: 0;
	vertical-align: 0.42em;
}

/* The unnamed cross-fade every section falls back to. */
::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: var(--dur-transition);
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	::view-transition-group(*),
	::view-transition-old(*),
	::view-transition-new(*) {
		animation: none !important;
	}
}

/* Each popover needs its own open-state display rules (:popover-open and .\:popover-open). */
[popover] {
	display: none;
}

/* error.css */
.error {
	margin: var(--gap-xs) 0 0;
	padding: var(--gap-xs) var(--gap-md);
	border-radius: var(--radius-xxs);
	background: var(--color-warm-red);
	color: var(--color-text-light);
	font-weight: 700;
	font-size: var(--font-size-14);
}

/* Only when site.js never ran. CSP forbids inline script, so the reveal is a delayed animation
   rather than a timer — which also stops a normal load flashing it. */
.no-js-warning {
	display: none;
}

.no-js .no-js-warning {
	/* Fixed, not in flow: in flow it reserves height on every load. */
	display: block;
	position: fixed;
	inset: 0 0 auto;
	z-index: 100;
	visibility: hidden;
	margin: 0;
	padding: var(--gap-xs) var(--gap-md);
	background: var(--color-warm-red);
	color: var(--color-text-light);
	font-weight: 700;
	font-size: var(--font-size-14);
	text-align: center;
	animation: no-js-warning-reveal 0s linear 4s forwards;
}

@keyframes no-js-warning-reveal {
	to {
		visibility: visible;
	}
}

/* cookie-notice.css */
html {
	scroll-padding-bottom: var(--cookie-notice-space, 0px);
}
.cookie-notice {
	position: fixed;
	right: var(--gap-md);
	bottom: var(--gap-md);
	left: var(--gap-md);
	z-index: 20;
	max-width: 480px;
	margin-inline: auto;
	padding: var(--gap-lg);
	border-radius: var(--radius-sm);
	background: var(--color-bg);
	box-shadow: 0 8px 32px rgb(17 27 64 / 0.3);
	color: var(--color-text);
	font-size: var(--font-size-16);
	line-height: 1.5;
}
.cookie-notice[hidden] {
	display: none;
}
.cookie-notice > p {
	margin: 0 0 var(--gap-md);
}
.cookie-notice__dismiss {
	width: 100%;
}

html.transition-cookie-notice {
	view-transition-name: none;
}
html.transition-cookie-notice .cookie-notice {
	view-transition-name: cookie-notice;
}
::view-transition-new(cookie-notice) {
	animation: var(--dur-transition) var(--ease-out-cubic) both cookie-notice-in;
}
::view-transition-old(cookie-notice) {
	animation: var(--dur-transition) var(--ease-out-cubic) both cookie-notice-out;
}

@keyframes cookie-notice-in {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
}
@keyframes cookie-notice-out {
	to {
		opacity: 0;
		transform: translateY(24px);
	}
}

@media (max-width: 767.98px) {
	.cookie-notice {
		font-size: var(--font-size-14);
	}
}

/* section.css */
.section {
	overflow: hidden;
	overflow: clip;
	display: flex;
	flex-direction: column;
	padding-block: var(--gap-xl);
}
.section--white {
	background: var(--color-bg);
}
.section--white + .section--white {
	border-top: 1px solid #e5e3e3;
}
.section--blue-light {
	background: var(--color-blue-light);
}
.section--gray-lighter {
	background: var(--color-gray-lighter);
}
.section--bold-blue {
	background: var(--color-bold-blue);
	--focus-ring: var(--color-text-light);
	color: var(--color-text-light);
}
.section--dark-blue {
	background: var(--color-dark-blue);
	--focus-ring: var(--color-text-light);
	color: var(--color-text-light);
}
.section--midnight-blue {
	background: var(--color-midnight-blue);
	--focus-ring: var(--color-text-light);
	color: var(--color-text-light);
}
.section--glow {
	background-image: radial-gradient(110% 65% at 0 0, rgb(168 199 254 / 0.9), rgb(168 199 254 / 0));
}

.section-header,
.section-content,
.section-footer {
	width: 100%;
	max-width: calc(var(--container-max) + var(--gap-lg) * 2);
	margin-inline: auto;
	padding-inline: var(--gap-lg);
}

.section-header {
	position: relative;
	margin-bottom: var(--gap-xl);
}
.section-content .section-header {
	max-width: none;
	padding-inline: 0;
}
.section-header--centered-sm {
	text-align: center;
}

.section-header__close {
	position: absolute;
	top: 0;
	right: var(--gap-lg);
}
.section-header__close > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 33px;
	height: 33px;
	border-radius: var(--radius-pill);
	background: var(--color-bg);
	color: var(--color-dark-blue);
}

.section-header__tag {
	display: inline-block;
	margin: 0 0 var(--gap-lg);
	padding: var(--gap-xxs) var(--gap-md);
	border-radius: var(--radius-pill);
	background: var(--color-blue-faint);
	color: var(--color-bold-blue);
	font-weight: 700;
	font-size: var(--font-size-14);
}
.section-header--centered-sm > .section-header__tag {
	display: block;
	width: fit-content;
}

.section-header > h2 {
	text-wrap: balance;
	margin: 0 0 var(--gap-xs);
	font-size: var(--font-size-48);
	line-height: 1.1;
}
.section-header--lg > h2 {
	font-size: var(--font-size-80);
}
.section-header > p {
	margin: 0;
	font-size: var(--font-size-16);
}
.section-header--lg > p {
	font-size: var(--font-size-24);
}

.section-content--split-lg-1-1 {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: var(--gap-xl);
}

.section-footer {
	position: relative;
	margin-top: auto;
	text-align: center;
}


@media (max-width: 991.98px) {
	.section-content--split-lg-1-1 {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767.98px) {
	.section-header > h2 {
		font-size: var(--font-size-30);
	}
	.section-header--lg > h2 {
		font-size: var(--font-size-56);
	}
	.section-header--lg > p {
		font-size: var(--font-size-20);
	}
	.section-footer > .button {
		display: block;
	}
}

/* site-header.css */
.site-header {
	position: sticky;
	top: 0;
	z-index: 5;
	display: flex;
	min-height: var(--site-header-height);
	padding: 0 max(var(--gap-lg), calc((100% - var(--container-max)) / 2));
	border-bottom: 1px solid var(--color-gray-light);
	background: var(--color-bg);
}

.site-header__main {
	flex-grow: 1;
	display: flex;
	align-items: center;
	gap: var(--gap-lg);
}

.site-header__brand {
	display: flex;
	align-items: center;
	gap: var(--gap-lg);
}

.site-header__logo {
	height: 14px;
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: var(--gap-lg);
	margin-left: auto;
}


.site-header__links {
	display: flex;
	align-items: center;
	gap: 24px;
}

.site-header__link {
	color: var(--color-dark-blue);
	font-size: var(--font-size-16);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.site-header__link[aria-current] {
	text-decoration: underline;
}

.site-header__menu {
	display: none;
	align-items: center;
	padding: var(--gap-xs);
	background: none;
	color: var(--color-dark-blue);
}
.site-header__menu > .icon {
	width: 28px;
	height: 28px;
}

@media (hover: hover) {
	.site-header__link:hover {
		text-decoration: underline;
	}
}

@media (max-width: 991.98px) {
	.site-header__links {
		display: none;
	}
	.site-header__actions,
	.site-header__brand {
		gap: var(--gap-sm);
	}
	.site-header__book {
		margin-left: auto;
	}
	.site-header__actions {
		margin-left: 0;
	}
	.site-header__menu {
		display: flex;
	}
}

/* button.css */
.button {
	--_bg: var(--color-sunrise-yellow);
	--_fg: var(--color-dark-blue);
	display: inline-block;
	padding: var(--gap-sm) var(--gap-lg);
	border: 0;
	border-radius: var(--radius-xxs);
	background: var(--_bg);
	color: var(--_fg);
	font-weight: 700;
	text-decoration: none;
	text-decoration-thickness: 2px;
	white-space: nowrap;
	cursor: pointer;
}

.button--pill {
	border-radius: 25px;
}
.button--sm.button--pill {
	border-radius: 20px;
}

.button--sm {
	padding: var(--gap-xs) var(--gap-lg);
	font-size: var(--font-size-14);
}

.button--lg {
	padding: var(--gap-md) var(--gap-lg);
}

.button--white {
	--_bg: var(--color-bg);
	--_fg: var(--color-dark-blue);
	border: 1px solid var(--color-blue-light);
}

.button--bold-blue {
	--_bg: var(--color-bold-blue);
	--_fg: var(--color-text-light);
}

.button--dark-blue {
	--_bg: var(--color-dark-blue);
	--_fg: var(--color-text-light);
}

.button--outline {
	--_bg: transparent;
	--_fg: var(--color-dark-blue);
	border: 1px solid currentColor;
}

/* No background change: darkening the yellow puts it off-palette. */
.button:focus-visible,
.button:active {
	/* The shorthand would reset the thickness an element sets for itself. */
	text-decoration-line: underline;
}

@media (hover: hover) {
	.button:not(:disabled):hover {
		text-decoration-line: underline;
	}
}

/* Inline padding stays 24 at every width; only the block padding gives way. */
@media (max-width: 767.98px) {
	.button--lg {
		padding-block: var(--gap-sm);
	}
}

/* link.css */
.link {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--dur-quick);
}

.link--underline {
	/* The shorthand would reset the thickness an element sets for itself. */
	text-decoration-line: underline;
}

.link--light {
	font-weight: 400;
}

.link:focus-visible,
.link:active {
	background: rgb(0 0 0 / 0.1);
	text-decoration-line: underline;
}

@media (hover: hover) {
	.link:not(:disabled):hover {
		background: rgb(0 0 0 / 0.1);
		text-decoration-line: underline;
	}
}

/* icon.css */
.icon {
	display: inline-block;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--icon) center / contain no-repeat;
	mask: var(--icon) center / contain no-repeat;
}

.icon--x {
	--icon: url('/static/img/icon-x.svg');
}

/* Not icon--x: that is the close cross, and these are brand marks. */
.icon--facebook {
	--icon: url('/static/img/icon-facebook.svg');
}

.icon--social-x {
	--icon: url('/static/img/icon-social-x.svg');
}

.icon--menu {
	--icon: url('/static/img/icon-menu.svg');
}

.icon--crosshair {
	--icon: url('/static/img/icon-crosshair.svg');
}

.icon--pin {
	--icon: url('/static/img/icon-pin.svg');
}

.icon--arrow {
	--icon: url('/static/img/icon-arrow.svg');
}

.icon--search {
	--icon: url('/static/img/icon-search.svg');
}

.icon--morning {
	--icon: url('/static/img/icon-morning.svg');
}

.icon--afternoon {
	--icon: url('/static/img/icon-afternoon.svg');
}

.icon--evening {
	--icon: url('/static/img/icon-evening.svg');
}

/* site-nav.css */
/* Opens below the header, not over it, so the logo and Book Now stay live while it is open.
   .site-header sets position on the popover's containing block, so the inset is viewport-relative
   only because a popover is in the top layer — it is not positioned against the header. */
.site-nav {
	inset: var(--site-header-height) 0 0 0;
	width: 100%;
	max-width: none;
	/* the UA sheet sizes a popover to fit-content, which would ignore the insets above */
	height: auto;
	max-height: none;
	margin: 0;
	padding: var(--gap-sm);
	overflow: hidden;
	border: 0;
	background: var(--color-dark-blue);
	--focus-ring: var(--color-text-light);
	color: var(--color-text);
}

.site-nav__panel {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: var(--gap-lg);
	height: 100%;
	padding: var(--gap-lg);
	border-radius: var(--radius-md);
	background: var(--color-blue-light);
}

.site-nav__close {
	align-self: flex-end;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border-radius: var(--radius-pill);
	background: none;
	color: var(--color-dark-blue);
}
.site-nav__close > .icon {
	width: 24px;
	height: 24px;
}

.site-nav__plane {
	width: 145px;
	height: auto;
	margin-top: calc(var(--gap-xxl) * -1);
	rotate: -12deg;
}

.site-nav__links {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--gap-lg);
	margin-top: var(--gap-xl);
	text-align: center;
}

.site-nav__link {
	font-size: var(--font-size-24);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
/* The shorthand would reset the thickness above. */
.site-nav__link[aria-current] {
	text-decoration-line: underline;
}
/* The comp sits both clouds between the links and the footer block. Anchored to the footer
   rather than to a share of the panel, so a short viewport crowds the empty middle instead of
   pushing the clouds up through the links. */
.site-nav__sky {
	position: absolute;
	inset: auto 0 22%;
	z-index: -1;
}
.site-nav__cloud {
	position: absolute;
	width: var(--cloud-width);
	height: auto;
}
.site-nav__cloud--1 {
	--cloud-width: 150px;
	bottom: calc(var(--gap-lg) * -1);
	left: calc(var(--gap-xl) * -1);
}
.site-nav__cloud--2 {
	--cloud-width: 190px;
	bottom: var(--gap-xl);
	right: calc(var(--gap-xxl) * -1);
}

.site-nav__meta {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--gap-md);
	margin-top: auto;
	color: var(--color-dark-blue);
	text-align: center;
}

.site-nav__site {
	font-size: var(--font-size-20);
}

.site-nav__enroll {
	text-underline-offset: 3px;
}

.site-nav__social {
	display: flex;
	gap: var(--gap-md);
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-nav__social > li {
	width: 28px;
	height: 28px;
	border-radius: var(--radius-pill);
	background: var(--color-dark-blue);
}

@media (max-width: 991.98px) {
	.site-nav:popover-open {
		display: block;
	}
	.site-nav.\:popover-open {
		display: block;
	}
}

/* site-footer.css */
.site-footer {
	padding-block: var(--gap-xl) var(--gap-lg);
	background: linear-gradient(to top right, var(--color-dark-blue), var(--color-bold-blue));
	--focus-ring: var(--color-text-light);
	color: var(--color-gray-light);
	text-align: center;
}

.site-footer__props {
	display: flex;
	justify-content: center;
	margin: var(--gap-xl) 0 0;
	padding: 0;
	font-size: var(--font-size-14);
	font-weight: 700;
	line-height: 1.4;
	list-style: none;
}

.site-footer__props > li {
	padding-inline: var(--gap-md);
}

.site-footer__props > li + li {
	border-left: 1px solid var(--color-text-light);
}

.site-footer__props sup {
	margin-left: 0.15em;
	font-size: 0.5em;
	font-weight: 400;
	line-height: 0;
}

.site-footer__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--gap-lg);
	margin-top: var(--gap-xxl);
}

.site-footer__notes {
	max-width: var(--container-md);
	margin: var(--gap-xl) auto 0;
	padding: 0;
	font-size: var(--font-size-12);
	font-weight: 300;
	line-height: 1.3;
	text-align: left;
	list-style: none;
	counter-reset: note;
}

/* Hanging superscript number: wrapped lines align with the text, not the marker. Not grid:
   that would split the text and links into separate cells. */
.site-footer__notes > li {
	position: relative;
	padding-left: 1.25ch;
	counter-increment: note;
}

.site-footer__notes > li + li {
	margin-top: var(--gap-xs);
}

.site-footer__notes a {
	font-weight: 700;
}


.site-footer__notes > li::before {
	content: counter(note);
	position: absolute;
	top: 0.15em;
	left: 0;
	font-size: 0.7em;
	line-height: 1;
}

.site-footer__meta {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--gap-md);
	margin-top: var(--gap-lg);
	font-size: var(--font-size-14);
	text-align: left;
}

.site-footer__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__links > li + li {
	margin-top: var(--gap-xxs);
}

.site-footer__legal {
	text-align: right;
}

.site-footer__copyright {
	margin: 0 0 var(--gap-xxs);
}

@media (max-width: 767.98px) {
	.site-footer__props > li {
		white-space: pre-line;
	}

	.site-footer__props,
	.site-footer__meta {
		font-size: var(--font-size-12);
	}
	.site-footer__meta {
		flex-direction: column;
		align-items: stretch;
	}
	.site-footer__legal {
		text-align: left;
	}
	.site-footer__notes {
		font-size: var(--font-size-10);
	}

	.site-footer__actions > .button {
		flex: 1 1 auto;
	}
}

/* report-hero.css */
.report-hero {
	z-index: 1;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: end;
	padding-block: 250px 120px;
	background: var(--color-midnight-blue);
	--focus-ring: var(--color-text-light);
	color: var(--color-text-light);
}

.report-hero__title {
	display: flex;
	flex-direction: column;
	margin: 0 0 80px;
	font-size: 250px;
	font-weight: 700;
	line-height: 0.9;
}

.report-hero__line--the,
.report-hero__line--report {
	font-size: 150px;
	font-weight: 400;
	letter-spacing: -0.01em;
}
.report-hero__line--burnout {
	display: flex;
	align-items: baseline;
	font-weight: 900;
	color: var(--color-sunrise-yellow);
}
.report-hero__flame {
	width: auto;
	height: 0.693em;
	margin-inline: 0.02em;
	translate: 0 0.01em;
}
.report-hero__line--report {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0 0.3em;
}
.report-hero__by {
	display: flex;
	align-items: center;
	gap: 0.4em;
	font-size: 56px;
	font-weight: 400;
	white-space: nowrap;
}
.report-hero__by > img {
	width: auto;
	height: 1.05em;
}

.report-hero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.report-hero__chip {
	display: block;
	padding: 0 24px;
	border-radius: 4px;
	background: var(--color-bg);
	color: var(--color-text);
	font-size: var(--font-size-16);
	line-height: 39px;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color var(--dur-quick);
}
.report-hero__chip--current {
	background: var(--color-blue-light);
	text-decoration: underline;
}
.report-hero__number {
	font-variant-numeric: tabular-nums;
}

/* The phone jump-to, "Anchor Links" on the board: a 40px row that straddles the hero's foot, and
   the parts listed beneath it. Absolute, so opening it lays the list over the section below rather
   than pushing it down and breaking the straddle. */
.report-hero__jump {
	position: relative;
	display: none;
	width: 100%;
	max-width: 400px;
	margin: 0 0 -44px;
	border-radius: 4px;
	background: var(--color-bg);
	color: var(--color-midnight-blue);
	font-size: var(--font-size-16);
}
.report-hero__jump-label {
	position: relative;
	padding: 0 calc(var(--gap-md) * 2 + 26px) 0 var(--gap-md);
	line-height: 40px;
	white-space: nowrap;
	cursor: pointer;
	list-style: none;
}
.report-hero__jump-label::-webkit-details-marker {
	display: none;
}
/* The rule 42px in and the triangle 16px in, both off the right edge, are the board's numbers. */
.report-hero__jump-label::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 42px;
	width: 1px;
	height: 28px;
	translate: 0 -50%;
	background: #e5e3e3;
}
.report-hero__jump-label::after {
	content: '';
	position: absolute;
	top: 50%;
	right: var(--gap-md);
	width: 10px;
	height: 7px;
	translate: 0 -50%;
	background: currentColor;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.report-hero__jump[open] {
	border-radius: 4px 4px 0 0;
}
.report-hero__jump[open] > .report-hero__jump-label::after {
	rotate: 180deg;
}
.report-hero__jump-list {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 1;
	flex-direction: column;
	gap: 0;
	overflow: hidden;
	border-radius: 0 0 4px 4px;
	background: var(--color-bg);
	box-shadow: 0 4px 16px rgb(0 0 0 / 0.15);
}
.report-hero__jump-list > li + li {
	border-top: 1px solid #e5e3e3;
}
.report-hero__jump-list .report-hero__chip {
	padding-inline: var(--gap-md);
	border-radius: 0;
	color: inherit;
}

@media (hover: hover) {
	.report-hero__chip:hover {
		background: var(--color-blue-light);
	}
}

@media (max-width: 991.98px) {
	.report-hero {
		padding-block: 85px var(--gap-lg);
	}
	.report-hero__title {
		margin-bottom: 60px;
		font-size: 80px;
	}
	.report-hero__line--the,
	.report-hero__line--report {
		font-size: 64px;
	}
	.report-hero__by {
		font-size: 18px;
	}

	.report-hero__chips {
		display: none;
	}
	.report-hero__jump {
		display: block;
	}
	.report-hero__jump-list {
		display: flex;
	}
}

/* report-section.css */
.report-section {
	--wow-in: 75% 100%;

	--section-height: max(700px, 100svh);
	--section-height-lg: var(--section-height);
	--section-height-md: var(--section-height-lg);
	--section-height-sm: var(--section-height-md);
	--section-height-xs: var(--section-height-sm);
}
@supports not (height: 1svh) {
	.report-section {
		--section-height: max(700px, 100vh);
	}
}
.report-section {
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: start;
}
.report-section--hidden {
	display: none;
}

.report-section--art {
	min-height: var(--section-height);
}

.report-section > .section-content {
	position: relative;
	flex-grow: 1;
	display: flex;
}

@media (max-width: 1199.98px) {
	.report-section--art {
		min-height: var(--section-height-lg);
	}
}

@media (max-width: 991.98px) {
	.report-section--art {
		min-height: var(--section-height-md);
	}
}

@media (max-width: 767.98px) {
	.report-section--art {
		min-height: var(--section-height-sm);
	}
}

@media (max-width: 575.98px) {
	.report-section--art {
		min-height: var(--section-height-xs);
	}
}

/* report-layout.css */
.report-layout {
	position: relative;
	z-index: 1;
	display: grid;
	grid-auto-columns: 1fr;
	grid-auto-flow: column;
	grid-column-gap: 60px;
	grid-row-gap: 0;
	padding-block: 120px;
}
.report-layout--stack {
	width: 100%;
	grid-auto-flow: row;
	align-content: start;
}
.report-layout--art-gap {
	grid-row-gap: 100px;
}

@media (max-width: 991.98px) {
	.report-layout--stack,
	.report-layout--stack-md {
		grid-auto-flow: row;
		padding-block: 40px;
	}
	.report-layout--art-gap {
		grid-row-gap: var(--gap-lg);
	}
	#ways-to-cope .report-layout {
		padding-bottom: 0;
	}
}

@media (max-width: 767.98px) {
	.report-layout--stack-sm {
		grid-auto-flow: row;
		padding-block: 40px;
	}
}

@media (max-width: 575.98px) {
	.report-layout--stack-xs {
		grid-auto-flow: row;
		padding-block: 40px;
	}
}

/* report-block.css */
.report-block {
	display: flex;
	flex-direction: column;
}
.report-block b,
.report-block em {
	font-weight: 700;
}
.report-block b > em {
	color: var(--color-sunrise-yellow);
	font-style: normal;
}
.report-block > h2 {
	margin: 0 0 var(--gap-xl);
	font-size: var(--font-size-64);
	font-weight: 300;
	line-height: 1.1;
}
.report-block > p {
	margin: 0 0 var(--gap-lg);
	max-width: 22em;
	font-size: var(--font-size-30);
	text-wrap: pretty;
}
/* The solution sections' long copy: the board sets it lighter and a step under the leads. */
.report-block--body > p {
	max-width: 29em;
	font-size: var(--font-size-24);
	font-weight: 300;
}
.report-block__eyebrow {
	margin: 0 0 var(--gap-lg);
	font-size: 32px;
	font-weight: 700;
}
.report-block__note {
	margin-top: auto;
}
.report-block__note > p {
	margin: 0 0 var(--gap-xl);
	font-size: var(--font-size-16);
	font-weight: 300;
	text-wrap: pretty;
}
.report-block__note--sm > p {
	font-size: var(--font-size-12);
}
#remedy-travel .report-block > p {
	max-width: 360px;
}
#remedy-travel .report-block__note {
	position: absolute;
	left: 0;
	bottom: 60px;
	max-width: 210px;
}
#enough-runway .report-block__note {
	position: absolute;
	right: -40px;
	bottom: 205px;
	max-width: 492px;
	text-align: right;
}

/* A chart's lead-in; the board sets it one step under the paragraph, and only on desktop. */
@media (min-width: 1200px) {
	.report-block > .report-block__caption {
		max-width: 54ch;
		font-size: var(--font-size-20);
	}
}

@media (max-width: 1199.98px) {
	.report-block > h2 {
		margin-bottom: var(--gap-lg);
		font-size: var(--font-size-48);
	}
	.report-block > p {
		font-size: var(--font-size-24);
	}
	.report-block--body > p {
		font-size: var(--font-size-18);
	}
	.report-block__eyebrow {
		margin-bottom: var(--gap-sm);
		font-size: var(--font-size-24);
	}
	.report-block__note > p {
		margin-bottom: var(--gap-xxs);
		font-size: var(--font-size-14);
	}
	.report-block__note--sm > p {
		font-size: var(--font-size-12);
	}
	#enough-runway .report-block__note {
		bottom: 231px;
	}
}

@media (max-width: 991.98px) {
	.report-block > h2 {
		margin-bottom: var(--gap-md);
		font-size: var(--font-size-24);
	}
	.report-block > h2 > br {
		display: none;
	}
	.report-block--keep-br > h2 > br {
		display: revert;
	}
	/* For a heading short enough to hold its size on a phone; the drop to 24 above is for the long ones. */
	.report-block--keep-size > h2 {
		font-size: var(--font-size-48);
	}
	.report-block > p {
		max-width: none;
		font-size: var(--font-size-14);
	}
	.report-block__eyebrow {
		margin-bottom: var(--gap-3xs);
		font-size: var(--font-size-16);
	}
	.report-block__note {
		margin-top: 0;
		
	}
	.report-block__note > p {
		margin-bottom: var(--gap-xxs);
		font-size: var(--font-size-14);
	}
	.report-block__note--sm > p {
		font-size: var(--font-size-10);
	}

	#remedy-travel .report-block > p {
		max-width: none;
	}
	/* Sits on the sand beside the umbrella pole; below 390 it shrinks with the beach or the pole runs through it. */
	#remedy-travel .report-block__note {
		bottom: 10px;
		max-width: min(118px, 30.3vw);
	}
	#remedy-travel .report-block__note > p {
		font-size: clamp(8px, 2.56vw, 10px);
	}
	#enough-runway .report-block__note {
		right: 0;
		bottom: 138px;
		max-width: 238px;
	}
}

/* report-art.css */
.report-art {
	--art-top: auto;
	--art-right: auto;
	--art-bottom: auto;
	--art-left: auto;
	--art-height: auto;
	--art-shift: 0px;

	--art-top-lg: var(--art-top);
	--art-right-lg: var(--art-right);
	--art-bottom-lg: var(--art-bottom);
	--art-left-lg: var(--art-left);
	--art-height-lg: var(--art-height);
	--art-shift-lg: var(--art-shift);

	--art-top-md: var(--art-top-lg);
	--art-right-md: var(--art-right-lg);
	--art-bottom-md: var(--art-bottom-lg);
	--art-left-md: var(--art-left-lg);
	--art-height-md: var(--art-height-lg);
	--art-shift-md: var(--art-shift-lg);

	--art-top-sm: var(--art-top-md);
	--art-right-sm: var(--art-right-md);
	--art-bottom-sm: var(--art-bottom-md);
	--art-left-sm: var(--art-left-md);
	--art-height-sm: var(--art-height-md);
	--art-shift-sm: var(--art-shift-md);

	--art-top-xs: var(--art-top-sm);
	--art-right-xs: var(--art-right-sm);
	--art-bottom-xs: var(--art-bottom-sm);
	--art-left-xs: var(--art-left-sm);
	--art-height-xs: var(--art-height-sm);
	--art-shift-xs: var(--art-shift-sm);
}
.report-art {
	width: auto;
	max-width: 100%;
	height: var(--art-height);
}
.report-art--md,
.report-art .art-md {
	display: none;
}
.report-art--center,
.report-art--left {
	margin-right: auto;
}
.report-art--center,
.report-art--right {
	margin-left: auto;
}

.report-art--over {
	position: absolute;
	max-width: none;
	top: var(--art-top);
	right: var(--art-right);
	bottom: var(--art-bottom);
	left: var(--art-left);
	translate: var(--art-shift) 0;
}

@media (max-width: 1199.98px) {
	.report-art {
		height: var(--art-height-lg);
	}
	.report-art--over {
		top: var(--art-top-lg);
		right: var(--art-right-lg);
		bottom: var(--art-bottom-lg);
		left: var(--art-left-lg);
		translate: var(--art-shift-lg) 0;
	}
}

@media (max-width: 991.98px) {
	.report-art {
		height: var(--art-height-md);
	}
	.report-art .art-lg {
		display: none;
	}
	.report-art--md,
	.report-art .art-md {
		display: revert;
	}
	.report-art--over {
		top: var(--art-top-md);
		right: var(--art-right-md);
		bottom: var(--art-bottom-md);
		left: var(--art-left-md);
		translate: var(--art-shift-md) 0;
	}
	.report-art--lg {
		display: none;
	}
}

@media (max-width: 767.98px) {
	.report-art {
		height: var(--art-height-sm);
	}
	.report-art--over {
		top: var(--art-top-sm);
		right: var(--art-right-sm);
		bottom: var(--art-bottom-sm);
		left: var(--art-left-sm);
		translate: var(--art-shift-sm) 0;
	}
}

@media (max-width: 575.98px) {
	.report-art {
		height: var(--art-height-xs);
	}
	.report-art--over {
		top: var(--art-top-xs);
		right: var(--art-right-xs);
		bottom: var(--art-bottom-xs);
		left: var(--art-left-xs);
		translate: var(--art-shift-xs) 0;
	}
}

/* report-intro.css */
.report-intro {
	padding-block: 120px;
	font-size: var(--font-size-56);
	font-weight: 300;
	line-height: 1.2;
}
.report-intro b {
	font-weight: 700;
}
.report-intro > p {
	margin: 0 0 1.2em;
}
.report-intro > p:last-child {
	margin-bottom: 0;
}

@media (max-width: 991.98px) {
	.report-intro {
		padding-block: 60px 40px;
		font-size: var(--font-size-24);
		line-height: normal;
	}
}

/* report-tldr.css */
.report-tldr > .report-block__eyebrow {
	font-style: italic;
	font-weight: 400;
}
.report-tldr > h2 {
	max-width: 980px;
}

.report-tldr__tip {
	margin-bottom: var(--gap-lg);
	max-width: 701px;
}
.report-tldr__tip > h3 {
	margin: 0 0 var(--gap-xs);
	font-size: var(--font-size-24);
	font-weight: 700;
}
.report-tldr__tip > p {
	margin: 0;
	font-size: 32px;
	font-weight: 300;
	line-height: 1.1;
	text-wrap: pretty;
}

@media (max-width: 1199.98px) {
	.report-tldr > h2 {
		max-width: 700px;
	}
	.report-tldr__tip > h3 {
		font-size: var(--font-size-20);
	}
	.report-tldr__tip > p {
		font-size: var(--font-size-24);
	}
}

@media (max-width: 991.98px) {
	/* From 500 up the luggage stands taller than the three tips, so its handle rises beside the headline. */
	.report-tldr > h2 {
		max-width: calc(100% - 106px);
	}
	.report-tldr > .report-block__eyebrow {
		font-weight: 300;
	}
	.report-tldr__tip {
		max-width: calc(100% - 106px);
	}
	.report-tldr__tip > h3 {
		margin-bottom: var(--gap-sm);
		font-size: var(--font-size-14);
		letter-spacing: 0.02em;
	}
	.report-tldr__tip > p {
		font-size: var(--font-size-16);
		line-height: normal;
	}
	/* Three lines from 320 up, so the luggage's --art-bottom-md holds at every phone and tablet width. */
	.report-tldr > .report-block__note {
		max-width: 272px;
	}
}

@media (max-width: 499.98px) {
	.report-tldr > h2 {
		max-width: none;
	}
}

/* report-statement.css */
.report-statement {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-inline: auto;
	padding-block: 280px;
	line-height: normal;
}
.report-statement--with-note {
	padding-block-end: 60px;
}

.report-statement__title {
	display: flex;
	flex-direction: column;
	margin: 0;
	font-size: 136px;
	font-weight: 300;
	line-height: 1;
}
.report-statement__title--narrow {
	max-width: 6.96em;
	margin-inline: auto;
}
.report-statement__title b {
	font-weight: 700;
}
/* The ® glyph is drawn small and raised, so it is scaled to the comp's mark and lifted to the cap
   line; vertical-align: super would float it above the line. Zero width keeps it inside the word space. */
.report-statement__line > sup {
	display: inline-block;
	width: 0;
	margin: 0 -0.31em 0 0.18em;
	font-size: 0.24em;
	vertical-align: 2.11em;
}
.report-statement__line--center {
	align-self: center;
	text-align: center;
}
.report-statement__line--end {
	align-self: end;
	text-align: end;
}

.report-statement__aside,
.report-statement__body {
	font-size: var(--font-size-30);
	font-weight: 700;
}
.report-statement__note {
	font-size: var(--font-size-20);
	font-weight: 400;
}
.report-statement__aside > sup,
.report-statement__note > sup {
	color: var(--color-sunrise-yellow);
}
.report-statement__aside {
	display: block;
	width: 20.5em;
	margin-top: 0.6em;
	line-height: normal;
	text-align: start;
}
.report-statement__aside--end {
	width: 11em;
	margin: 0 0 0 auto;
}
.report-statement__note {
	max-width: 35em;
	margin: 150px 0 0;
}
.report-statement__aside--center {
	align-self: center;
	width: 15.5em;
	margin: 56px 0 0;
	text-align: center;
}
.report-statement__body {
	max-width: 26em;
	margin: 56px 0 0;
	line-height: normal;
}
.report-statement__eyebrow {
	position: absolute;
	top: 80px;
	left: 0;
	right: 0;
	margin: 0;
	color: var(--color-sunrise-yellow);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
	text-decoration: underline;
	text-underline-position: from-font;
	text-transform: uppercase;
}

.report-statement {
	--line-step: 250ms;
	--line-dur: 500ms;
	--line-offset: 0ms;
	--lines: 2;
}
.report-statement:has(> .report-statement__eyebrow) {
	--line-offset: var(--line-step);
}
.report-statement:has(.report-statement__line:nth-child(3)) {
	--lines: 3;
}
.report-statement:has(.report-statement__line:nth-child(4)) {
	--lines: 4;
}
.report-statement__line:nth-child(2) {
	--line-index: 1;
}
.report-statement__line:nth-child(3) {
	--line-index: 2;
}
.report-statement__line:nth-child(4) {
	--line-index: 3;
}

.report-section.wow-ready .report-statement__line {
	opacity: 0;
}
.report-section.wow-in .report-statement__line {
	opacity: 1;
	transition: opacity var(--line-dur) var(--ease-in-out-cubic) calc(var(--line-offset) + var(--line-index, 0) * var(--line-step));
}

.report-section.wow-ready .report-statement__eyebrow {
	opacity: 0;
}
.report-section.wow-in .report-statement__eyebrow {
	opacity: 1;
	transition: opacity var(--line-dur) var(--ease-in-out-cubic);
}

.report-section.wow-ready :is(.report-statement__aside, .report-statement__note, .report-statement__body) {
	opacity: 0;
}
.report-section.wow-in :is(.report-statement__aside, .report-statement__note, .report-statement__body) {
	opacity: 1;
	transition: opacity var(--line-dur) var(--ease-in-out-cubic) calc(var(--line-offset) + (var(--lines) - 1) * var(--line-step) + var(--line-dur));
}

@media (max-width: 1199.98px) {
	.report-statement {
		padding-block: 233px;
	}
	.report-statement__title {
		font-size: 113px;
	}
	.report-statement__aside,
	.report-statement__body {
		font-size: var(--font-size-24);
	}
	.report-statement__note {
		font-size: var(--font-size-16);
	}
	.report-statement__eyebrow {
		font-size: var(--font-size-24);
	}
}

@media (max-width: 991.98px) {
	.report-statement {
		max-width: 25em;
		min-height: 340px;
		padding-block: 40px;
	}
	.report-statement__title {
		font-size: 48px;
	}
	.report-statement__title--narrow {
		max-width: none;
		margin-inline: 0;
	}
	.report-statement__aside--end {
		margin-top: 5px;
	}
	.report-statement__note {
		margin-top: 54px;
	}
	.report-statement__line > sup {
		margin: 0 -0.06em 0 0.15em;
		font-size: 0.32em;
		vertical-align: 1.33em;
	}
	.report-statement__line--start-md {
		align-self: start;
		text-align: start;
	}
	.report-statement__line--end-md {
		align-self: end;
		text-align: end;
	}
	.report-statement__line--center-md {
		align-self: center;
		text-align: center;
	}
	.report-statement__line--stretch-md {
		align-self: stretch;
	}
	.report-statement__aside--center-md {
		width: 19.5em;
		margin: 1.6em auto 0;
		text-align: center;
	}
	.report-statement__aside--end-md {
		align-self: end;
		width: 15.5em;
		margin: 1.6em 0 0;
		text-align: end;
	}
	.report-statement__aside,
	.report-statement__body {
		font-size: var(--font-size-14);
	}
	.report-statement__note {
		font-size: var(--font-size-12);
	}
	.report-statement__body {
		margin-top: 54px;
	}
	.report-statement__eyebrow {
		top: 40px;
		font-size: var(--font-size-16);
	}
	.report-statement:has(> .report-statement__eyebrow) {
		justify-content: start;
		padding-top: 106px;
	}
}

/* report-dots.css */
.report-dots {
	--dot-step: 8ms;
}

.report-section.wow-ready .report-dots__on > ellipse {
	opacity: 0;
}
.report-section.wow-in .report-dots__on > ellipse {
	opacity: 1;
	transition: opacity 250ms var(--ease-in-out-cubic) calc(var(--i, 0) * var(--dot-step));
}

/* report-clippings.css */
.report-clippings {
	position: relative;
	width: 100%;
	aspect-ratio: 1200 / 578;
}

.report-clipping {
	position: absolute;
	left: var(--x);
	top: var(--y);
	width: var(--w);
	rotate: var(--r);
	transform-origin: top left;
}
.report-clipping > img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 2.3px 5.7px rgb(0 0 0 / 0.1));
}

.report-clipping--yahoo {
	--i: 2;
	--x: 29.654%;
	--y: 55.481%;
	--w: 53.130%;
	--r: 4.82deg;
}
.report-clipping--guardian {
	--i: 1;
	--x: 47.175%;
	--y: 0.000%;
	--w: 53.817%;
	--r: 3.86deg;
}
.report-clipping--reddit {
	--i: 0;
	--x: -2.427%;
	--y: 22.820%;
	--w: 47.825%;
	--r: -4.71deg;
}

.report-section.wow-ready .report-clipping > img {
	opacity: 0;
	scale: 0.25;
}
.report-section.wow-in .report-clipping > img {
	opacity: 1;
	scale: 1;
	transition:
		opacity 400ms var(--ease-in-out-cubic) calc(var(--i) * 120ms),
		scale 400ms var(--ease-out-back) calc(var(--i) * 120ms);
}

@media (max-width: 991.98px) {
	.report-clippings {
		aspect-ratio: 342 / 364;
	}
	.report-clipping--yahoo {
		--x: 20.533%;
		--y: 68.663%;
		--w: 82.747%;
		--r: 4.82deg;
	}
	.report-clipping--guardian {
		--i: 0;
		--x: 19.093%;
		--y: 0.000%;
		--w: 83.816%;
		--r: 3.86deg;
	}
	.report-clipping--reddit {
		--i: 1;
		--x: 0.023%;
		--y: 39.235%;
		--w: 74.484%;
		--r: -4.71deg;
	}
}

/* report-bubbles.css */
.report-bubbles {
	position: relative;
	width: 100%;
	aspect-ratio: 1191 / 476;
}

.report-bubble {
	position: absolute;
	left: var(--x);
	top: var(--y);
	width: var(--w);
	z-index: var(--z);
}
.report-bubble > svg {
	display: block;
	width: 100%;
	height: auto;
}
.report-bubble__text {
	font-weight: 700;
}
.report-bubble__tail--right {
	display: none;
}

.report-bubble--often,
.report-bubble--barriers {
	--fill: var(--color-blue-light);
	--ink: var(--color-midnight-blue);
}
.report-bubble--causing,
.report-bubble--vacations {
	--fill: var(--color-bold-blue);
	--ink: var(--color-text-light);
}
.report-bubble--recover,
.report-bubble--pto {
	--fill: var(--color-sunrise-yellow);
	--ink: var(--color-midnight-blue);
}
.report-bubble__body,
.report-bubble__tail {
	fill: var(--fill);
}
.report-bubble__text {
	fill: var(--ink);
}

.report-bubble--often {
	--i: 0;
	--x: 22.359%;
	--y: 18.277%;
	--w: 26.064%;
	--z: 5;
}
.report-bubble--causing {
	--i: 1;
	--x: -0.251%;
	--y: 41.176%;
	--w: 41.002%;
	--z: 3;
}
.report-bubble--recover {
	--i: 2;
	--x: 15.474%;
	--y: 73.739%;
	--w: 26.064%;
	--z: 6;
}
.report-bubble--vacations {
	--i: 3;
	--x: 49.647%;
	--y: 42.857%;
	--w: 26.064%;
	--z: 4;
}
.report-bubble--pto {
	--i: 4;
	--x: 51.974%;
	--y: 0%;
	--w: 41.002%;
	--z: 2;
}
.report-bubble--barriers {
	--i: 5;
	--x: 59.194%;
	--y: 60.504%;
	--w: 41.002%;
	--z: 1;
}

.report-bubble--causing .report-bubble__text,
.report-bubble--pto .report-bubble__text,
.report-bubble--barriers .report-bubble__text {
	font-weight: 300;
}
.report-bubble--pto .report-bubble__tail--left,
.report-bubble--vacations .report-bubble__tail--left,
.report-bubble--barriers .report-bubble__tail--left {
	display: none;
}
.report-bubble--pto .report-bubble__tail--right,
.report-bubble--vacations .report-bubble__tail--right,
.report-bubble--barriers .report-bubble__tail--right {
	display: block;
}

.report-section.wow-ready .report-bubble {
	opacity: 0;
	scale: 0.25;
}
.report-section.wow-in .report-bubble {
	opacity: 1;
	scale: 1;
	transition:
		opacity 400ms var(--ease-in-out-cubic) calc(var(--i) * 120ms),
		scale 400ms var(--ease-out-back) calc(var(--i) * 120ms);
}

@media (max-width: 575.98px) {
	.report-bubbles {
		aspect-ratio: 485 / 850;
		max-width: 300px;
		margin-inline: auto;
	}
	.report-bubble {
		--w: 90.309%;
	}
	.report-bubble--causing .report-bubble__text,
	.report-bubble--pto .report-bubble__text,
	.report-bubble--barriers .report-bubble__text {
		font-weight: 700;
	}
	.report-bubble--often {
		--x: 1.443%;
		--y: 0%;
		--z: 1;
	}
	.report-bubble--causing {
		--x: 8.454%;
		--y: 16.824%;
		--z: 2;
	}
	.report-bubble--recover {
		--x: 1.237%;
		--y: 33.647%;
		--z: 3;
	}
	.report-bubble--vacations {
		--x: 8.454%;
		--y: 48.353%;
		--z: 4;
	}
	.report-bubble--pto {
		--x: 0.206%;
		--y: 63.176%;
		--z: 5;
	}
	.report-bubble--barriers {
		--x: 13.608%;
		--y: 80.118%;
		--z: 6;
	}
	.report-bubble--pto .report-bubble__tail--left,
	.report-bubble--barriers .report-bubble__tail--left {
		display: block;
	}
	.report-bubble--causing .report-bubble__tail--left,
	.report-bubble--pto .report-bubble__tail--right,
	.report-bubble--barriers .report-bubble__tail--right {
		display: none;
	}
	.report-bubble--causing .report-bubble__tail--right {
		display: block;
	}
}

/* report-circles.css */
.report-circles {
	--stat-lg: 6.193cqw;
	--stat-sm: 4.644cqw;
	--label: 1.548cqw;
	--gap: 0.968cqw;
	container-type: inline-size;
	aspect-ratio: 1033.5 / 658.004;
	margin: 0;
	padding: 0;
	list-style: none;
}
.report-circle {
	position: absolute;
	left: var(--x);
	top: var(--y);
	width: var(--w);
	aspect-ratio: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--gap);
	border-radius: 50%;
	background: var(--color-blue-light);
	color: var(--color-dark-blue);
	font-size: var(--label);
	font-weight: 300;
	text-align: center;
}
.report-circle--vacation {
	background: var(--color-sunrise-yellow);
}
.report-circle__stat {
	font-size: var(--stat);
	font-weight: 700;
	line-height: 1;
}
.report-circle__stat > span {
	font-weight: 300;
}
.report-circle__label {
	max-width: 7.2em;
}

.report-circle--exercise {
	--x: 63.764%;
	--y: 0.000%;
	--w: 36.236%;
	--stat: var(--stat-lg);
	--i: 6;
}
.report-circle--nap {
	--x: 54.185%;
	--y: 52.887%;
	--w: 29.996%;
	--stat: var(--stat-lg);
	--i: 0;
}
.report-circle--tv {
	--x: 39.187%;
	--y: 21.580%;
	--w: 25.809%;
	--stat: var(--stat-lg);
	--i: 5;
}
.report-circle--family {
	--x: 31.156%;
	--y: 59.118%;
	--w: 23.051%;
	--stat: var(--stat-lg);
	--i: 2;
}
.report-circle--vacation {
	--x: 20.803%;
	--y: 35.562%;
	--w: 19.110%;
	--stat: var(--stat-sm);
	--i: 4;
}
.report-circle--games {
	--x: 13.933%;
	--y: 62.614%;
	--w: 17.256%;
	--stat: var(--stat-sm);
	--i: 3;
}
.report-circle--crying {
	--x: 0.000%;
	--y: 72.948%;
	--w: 14.901%;
	--stat: var(--stat-sm);
	--i: 1;
}

/* Drops one diameter into place; the lowest-landing circle goes first. */
.report-section.wow-ready .report-circle {
	opacity: 0;
	translate: 0 -100%;
}
.report-section.wow-in .report-circle {
	opacity: 1;
	translate: none;
	transition:
		opacity 400ms var(--ease-in-out-cubic) calc(var(--i) * 100ms),
		translate 800ms var(--ease-out-back) calc(var(--i) * 100ms);
}

@media (max-width: 991.98px) {
	/* The comp stacks the chart under the copy here; in flow it follows the headline however many lines it wraps to. */
	#ways-to-cope > .section-content {
		flex-direction: column;
	}
	.report-circles {
		position: static;
		width: min(100%, 347px);
		height: auto;
		margin: 0 auto 40px;
		aspect-ratio: 347 / 572;
		--stat-lg: 13.833cqw;
		--stat-sm: 8.646cqw;
		--label: 4.035cqw;
		--gap: 1.153cqw;
	}
	.report-circle {
		font-weight: 400;
	}
	.report-circle--exercise {
		--x: 43.228%;
		--y: 69.406%;
		--w: 50.432%;
		--stat: var(--stat-lg);
		--i: 0;
	}
	.report-circle--nap {
		--x: 0.000%;
		--y: 62.413%;
		--w: 45.245%;
		--stat: var(--stat-lg);
		--i: 1;
	}
	.report-circle--tv {
		--x: 55.331%;
		--y: 42.832%;
		--w: 44.669%;
		--stat: var(--stat-sm);
		--i: 2;
	}
	.report-circle--family {
		--x: 13.256%;
		--y: 37.238%;
		--w: 43.228%;
		--stat: var(--stat-sm);
		--i: 3;
	}
	.report-circle--vacation {
		--x: 42.939%;
		--y: 18.881%;
		--w: 41.787%;
		--stat: var(--stat-sm);
		--i: 4;
	}
	.report-circle--games {
		--x: 3.746%;
		--y: 13.636%;
		--w: 40.346%;
		--stat: var(--stat-sm);
		--i: 5;
	}
	.report-circle--crying {
		--x: 33.718%;
		--y: 0.000%;
		--w: 33.429%;
		--stat: var(--stat-sm);
		--i: 6;
	}
}

/* report-stats.css */
.report-stats {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 180px;
}
.report-stats__rule {
	margin: 0.03em 0 0.08em;
	border-top: 1px solid var(--color-deep-silver);
}
.report-stat {
	display: grid;
	grid-template-columns: 1.5em 1fr;
	grid-template-areas: "num text";
	column-gap: var(--gap-lg);
	align-items: last baseline;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.02em;
}
.report-stat + .report-stat {
	margin-top: 0.13em;
}
.report-stat--flagged .report-stat__value {
	color: var(--color-warm-red);
}
.report-stat__value {
	grid-area: num;
	font-weight: 700;
	white-space: nowrap;
}
.report-stat__value > span {
	font-size: 0.6em;
	font-weight: 300;
}
.report-stat__flame {
	grid-area: num;
	justify-self: start;
	width: auto;
	height: 0.5em;
	translate: calc(-100% - 0.035em) -0.03em;
}
.report-stat__text {
	grid-area: text;
	max-width: 12em;
	font-size: var(--font-size-20);
	font-weight: 400;
	line-height: 1.17;
	letter-spacing: 0;
}

.report-stats > :nth-child(2) {
	--i: 1;
}
.report-stats > :nth-child(3) {
	--i: 2;
}
.report-stats > :nth-child(4) {
	--i: 3;
}
.report-section.wow-ready .report-stats > * {
	opacity: 0;
	translate: 0 var(--gap-lg);
}
.report-section.wow-in .report-stats > * {
	opacity: 1;
	translate: none;
	transition:
		opacity 400ms var(--ease-in-out-cubic) calc(var(--i, 0) * 200ms),
		translate 800ms var(--ease-out-cubic) calc(var(--i, 0) * 200ms);
}

@media (max-width: 1199.98px) {
	.report-stats {
		font-size: 140px;
	}
	.report-stat__text {
		font-size: var(--font-size-16);
	}
}

@media (max-width: 991.98px) {
	.report-stats {
		font-size: 100px;
	}
}

@media (max-width: 767.98px) {
	.report-stats__rule {
		margin: var(--gap-lg) 0;
	}
	.report-stat {
		grid-template-rows: 1fr auto;
		grid-template-areas: "num flame" "num text";
		column-gap: var(--gap-xs);
	}
	.report-stat + .report-stat {
		margin-top: 0.16em;
	}
	.report-stat__flame {
		grid-area: flame;
		align-self: end;
		height: 0.33em;
		margin-bottom: 2px;
		translate: none;
	}
	.report-stat__text {
		font-size: var(--font-size-14);
		line-height: normal;
	}
}

/* report-chart.css */
.toy-axis {
	stroke-dasharray: 1;
}
.toy-point,
.toy-flame {
	transform-box: fill-box;
	transform-origin: center;
}

.report-section.wow-ready .toy-month {
	opacity: 0;
}
.report-section.wow-in .toy-month {
	opacity: 1;
	transition: opacity 250ms var(--ease-in-out-cubic) calc(var(--i) * 40ms);
}

.report-section.wow-ready .toy-axis {
	stroke-dashoffset: 1;
}
.report-section.wow-in .toy-axis {
	stroke-dashoffset: 0;
	transition: stroke-dashoffset 700ms var(--ease-in-out-cubic);
}

.report-section.wow-ready .toy-lines {
	clip-path: polygon(0% 0%, -35% 0%, 0% 100%, 0% 100%);
}
.report-section.wow-in .toy-lines {
	clip-path: polygon(0% 0%, 100% 0%, 135% 100%, 0% 100%);
	transition: clip-path 1050ms var(--ease-in-out-cubic) 500ms;
}

.report-section.wow-ready .toy-area {
	clip-path: polygon(0% 100%, 100% 100%, 100% 135%, 0% 100%);
}
.report-section.wow-in .toy-area {
	clip-path: polygon(0% 100%, 100% 100%, 100% 0%, 0% -35%);
	transition: clip-path 950ms var(--ease-in-out-cubic) 650ms;
}

.report-section.wow-ready :is(.toy-point, .toy-flame) {
	opacity: 0;
	scale: 0.25;
}
.report-section.wow-in :is(.toy-point, .toy-flame) {
	opacity: 1;
	scale: 1;
	transition:
		opacity 300ms var(--ease-in-out-cubic) calc(1650ms + var(--i) * 45ms),
		scale 300ms var(--ease-out-back) calc(1650ms + var(--i) * 45ms);
}

.report-section.wow-ready .toy-note {
	opacity: 0;
}
.report-section.wow-in .toy-note {
	opacity: 1;
	transition: opacity 300ms var(--ease-in-out-cubic) calc(1650ms + var(--i) * 45ms);
}

@media (max-width: 991.98px) {
	.report-section.wow-ready .toy-lines {
		clip-path: polygon(0% 0%, 100% 0%, 100% -35%, 0% 0%);
	}
	.report-section.wow-in .toy-lines {
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 135%);
	}
	.report-section.wow-ready .toy-area {
		clip-path: polygon(0% 0%, 0% 0%, -35% 100%, 0% 100%);
	}
	.report-section.wow-in .toy-area {
		clip-path: polygon(0% 0%, 135% 0%, 100% 100%, 0% 100%);
	}
}

/* report-calendar.css */
.report-section.wow-ready .vd-cal--left {
	translate: var(--vd-slide, 134px) 0;
}
.report-section.wow-ready .vd-cal--right {
	translate: calc(var(--vd-slide, 134px) * -1) 0;
}
.report-section.wow-in .vd-cal {
	translate: none;
	transition: translate 900ms var(--ease-in-out-cubic);
}
.report-section.wow-ready .vd-mid {
	opacity: 0;
}
.report-section.wow-in .vd-mid {
	opacity: 1;
	transition: opacity 500ms var(--ease-in-out-cubic) 350ms;
}

@media (max-width: 991.98px) {
	#vacation-deficit {
		--vd-slide: 129px;
	}
	#vacation-deficit .report-art {
		width: min(100%, 570px);
		height: auto;
		margin-inline: auto;
	}
	/* The phone chart's cards rest past the viewport edges; the svg must not clip them, the section does. */
	#vacation-deficit .report-art--md {
		overflow: visible;
	}
}

/* report-lounge.css */
.report-section.wow-ready .report-lounge {
	opacity: 0;
}
.report-section.wow-ready .lounge-windows {
	translate: -20px 0;
}
.report-section.wow-ready .lounge-seats {
	translate: -120px 0;
}
.report-section.wow-in .report-lounge {
	opacity: 1;
	transition: opacity 800ms var(--ease-out-cubic);
}
.report-section.wow-in :is(.lounge-windows, .lounge-seats) {
	translate: none;
	transition: translate 1500ms var(--ease-out-cubic);
}

/* report-ticket.css */
.report-ticket {
	position: relative;
	width: 100%;
	margin-block: 50px;
	aspect-ratio: 1157 / 472;
}
.report-ticket__card {
	/*--i: 1;*/
	position: absolute;
	inset: 0;
	width: 100%;
	height: auto;
	filter: drop-shadow(-3.86px 1.65px 16.8px rgb(0 0 0 / 0.15));
}
.report-ticket__card--back {
	/*--i: 0;*/
	rotate: -6deg;
	filter: drop-shadow(-3.86px 1.65px 16.8px rgb(0 0 0 / 0.15)) brightness(0.9);
}

/*
.report-section.wow-ready .report-ticket__card {
	opacity: 0;
	scale: 0.25;
}
.report-section.wow-in .report-ticket__card {
	opacity: 1;
	scale: 1;
	transition:
		opacity 400ms var(--ease-in-out-cubic) calc(var(--i) * 300ms),
		scale 400ms var(--ease-out-back) calc(var(--i) * 300ms);
}
*/
/* report-conveyor.css */
#pto-on-the-table {
	container-type: inline-size;
}
#pto-on-the-table .report-art {
	--scale: min(100% / 1140, (50cqw + 50%) / 1290);
	max-width: none;
	width: calc(var(--scale) * 1561);
	margin-left: calc(100% - var(--scale) * 1530);
}

.report-section.wow-ready .conveyor-luggage {
	opacity: 0;
	translate: -300px 0;
}
.report-section.wow-in .conveyor-luggage {
	opacity: 1;
	translate: none;
	transition:
		opacity 400ms var(--ease-out-cubic),
		translate 5000ms linear;
}

/* report-runway.css */
.report-runway {
	overflow: visible;
}

.runway-plane,
.runway-bubble {
	transition: opacity 600ms var(--ease-out-cubic);
}

.report-section.wow-out .runway-bubble {
	opacity: 0;
	transition: opacity 400ms var(--ease-out-cubic);
}

.report-section.wow-out .runway-plane {
	translate: 1220px -687px;
	opacity: 0;
	transition: translate 1200ms var(--ease-in-cubic), opacity 400ms var(--ease-out-cubic) 800ms;
}

/* report-phone.css */
.report-section.wow-ready .pv-feed {
	translate: 0 2100px;
}

.report-section.wow-in .pv-feed {
	translate: none;
	transition: translate 3000ms var(--ease-out-expo);
}

/* faq.css */
.faq {
	width: 100%;
	padding-block: 120px;
	color: var(--color-dark-blue);
}
.faq__title {
	margin: 0 0 var(--gap-xl);
	font-size: var(--font-size-64);
	font-weight: 300;
	line-height: 1.1;
}
.faq__title b {
	font-weight: 700;
}
.faq__columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 16px;
	align-items: start;
	padding-top: 50px;
	font-weight: 300;
	font-size: var(--font-size-24);
	line-height: 1.1;
}
.faq__item {
	border-bottom: 1px solid var(--color-bold-blue);
}
.faq__question {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--gap-md);
	min-height: calc(2lh + 2 * var(--gap-lg));
	padding-block: var(--gap-lg);
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}
.faq__question::-webkit-details-marker {
	display: none;
}
.faq__question::after {
	content: '';
	flex: none;
	width: 13px;
	height: 8px;
	background: currentColor;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.faq__item[open] > .faq__question::after {
	rotate: 180deg;
}
.faq__answer {
	padding-bottom: var(--gap-lg);
	font-size: var(--font-size-20);
	font-weight: 400;
}
.faq__answer > p {
	margin: 0 0 1em;
}
.faq__answer > ol {
	margin: 0;
	padding-left: 1.4em;
}

@media (max-width: 1199.98px) {
	.faq__title {
		margin-bottom: var(--gap-lg);
		font-size: var(--font-size-48);
	}
}

@media (max-width: 991.98px) {
	.faq__title {
		margin-bottom: var(--gap-md);
	}
	.faq {
		padding-block: 60px;
	}
	.faq__columns {
		grid-template-columns: 1fr;
		padding-top: var(--gap-lg);
		font-size: var(--font-size-16);
		/* The comp's line-height: normal, which for Southwest Sans at 16px is exactly 20. */
		line-height: 1.25;
	}
	.faq__question {
		min-height: 0;
	}
	.faq__answer {
		font-size: inherit;
	}
}

/* report-postcard.css */
.report-postcard {
	display: grid;
	justify-items: center;
	row-gap: 76px;
	width: 100%;
	padding-block: 80px;
}
.report-postcard__cards {
	position: relative;
	width: 100%;
	aspect-ratio: 2400 / 1293;
}
.report-postcard__card {
	position: absolute;
	height: auto;
}
.report-postcard__card--photo {
	top: 0;
	left: 2.77%;
	width: 72.33%;
	rotate: 3.32deg;
	transform-origin: 0 0;
}
.report-postcard__card--note {
	top: 11.49%;
	left: 25.29%;
	width: 72.4%;
	rotate: -3deg;
	transform-origin: 0 0;
	filter: drop-shadow(-2px 0 4.5px rgb(0 0 0 / 0.15));
}
.report-postcard__lockup {
	width: 32.7%;
	max-width: 373px;
	height: auto;
}

.report-postcard__card--photo {
	--i: 0;
}
.report-postcard__card--note {
	--i: 1;
}
.report-postcard__lockup {
	--i: 2;
}
.report-section.wow-ready :is(.report-postcard__card) {
	opacity: 0;
	scale: 0.25;
}
.report-section.wow-in :is(.report-postcard__card) {
	opacity: 1;
	scale: 1;
	transition:
		opacity 400ms var(--ease-in-out-cubic) calc(var(--i) * 300ms),
		scale 400ms var(--ease-out-back) calc(var(--i) * 300ms);
}

.report-section.wow-ready :is(.report-postcard__lockup) {
	opacity: 0;
}
.report-section.wow-in :is(.report-postcard__lockup) {
	opacity: 1;
	transition: opacity 400ms var(--ease-in-out-cubic) calc(var(--i) * 300ms);
}

@media (max-width: 991.98px) {
	.report-postcard {
		row-gap: 56px;
		padding-block: 80px 40px;
	}
	.report-postcard__cards {
		aspect-ratio: 342 / 376;
	}
	.report-postcard__card--photo {
		left: 5.29%;
		width: 109.65%;
	}
	.report-postcard__card--note {
		top: 34.42%;
		left: -8.76%;
		width: 109.9%;
	}
	.report-postcard__lockup {
		width: 57.3%;
	}
}
