:root {
	--pages-spine-stroke:2px;
	--pages-duotone-blend:multiply;
	--pages-ledger-border:1px solid var(--line);
}


.hero-split {
	position:relative;
	width:100%;
	background-color:var(--ground);
	border-bottom:1px solid var(--line);
	overflow:hidden;
}


.hero-split-grid {
	display:flex;
	flex-direction:column;
	width:100%;
}


@media (min-width: 768px) {
	.hero-split-grid {
		display:grid;
		grid-template-columns:minmax(0, 1.15fr) minmax(0, 0.85fr);
		grid-template-areas:"content media";
		min-height:calc(100vh - 72px);
		min-height:calc(100svh - 72px);
		align-items:stretch;
	}
}


.hero-eyebrow {
	display:inline-block;
	font-family:var(--hopu-c67);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:var(--tracking-wide);
	color:var(--ink-soft);
	margin-bottom:1rem;
}


.hero-text-col {
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:clamp(2.5rem, 6vw, 5rem) var(--gutter);
	min-width:0;
	z-index:2;
	background-color:var(--ground);
}


@media (min-width: 768px) {
	.hero-text-col {
		grid-area:content;

		padding-left:max(var(--gutter), calc((100vw - var(--shell-max)) / 2 + var(--gutter)));
		padding-right:clamp(2rem, 4vw, 4.5rem);
		padding-top:clamp(3rem, 6vw, 6rem);
		padding-bottom:clamp(3rem, 6vw, 6rem);
	}
}


.hero-title {
	font-family:var(--hopu-87a);
	font-size:clamp(2.25rem, 1.8rem + 2.8vw, 4.25rem);
	font-weight:700;
	line-height:1.05;
	letter-spacing:-0.035em;
	color:var(--ink);
	margin:0 0 1.5rem 0;
	word-break:normal;
	overflow-wrap:break-word;
}


.hero-lede {
	font-family:var(--hopu-4fe);
	font-size:clamp(1.0625rem, 0.98rem + 0.3vw, 1.25rem);
	line-height:var(--lh-body);
	letter-spacing:-0.01em;
	color:var(--ink-soft);
	max-width:var(--measure-body);
	margin:0 0 2rem 0;
}


.hero-action-group {
	display:flex;
	align-items:center;
	gap:1.25rem;
	margin:0;
}


.hero-media-col {
	position:relative;
	width:100%;
	min-width:0;
	background-color:var(--surface);
	border-bottom:1px solid var(--line);
}


@media (min-width: 768px) {
	.hero-media-col {
		grid-area:media;
		border-bottom:0;
		border-left:1px solid var(--line);
		margin-left:0;
		z-index:1;
	}
}


.hero-media-wrap {
	position:relative;
	width:100%;
	aspect-ratio:3 / 2;
	overflow:hidden;
}


@media (min-width: 768px) {
	.hero-media-wrap {
		width:100%;
		aspect-ratio:3 / 2;
		max-height:80vh;
	}
}


.hero-split-img {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:52% 41%;
	display:block;
}


.route-section {
	position:relative;

	padding:var(--section-rhythm) 0;
	background-color:var(--ground);
	border-bottom:1px solid var(--line);
}


.route-header {
	margin-bottom:clamp(2.5rem, 5vw, 4rem);
}


.route-headline {
	font-family:var(--hopu-87a);
	font-size:var(--text-2xl);
	font-weight:700;
	margin-bottom:0.85rem;
}


.route-lede {
	color:var(--ink-soft);
	font-size:var(--text-base);
	max-width:var(--measure-body);
}


.route-diagram {
	position:relative;
	margin-top:2rem;
}


.route-spine-container {
	display:none;
}


@media (min-width: 900px) {
	.route-spine-container {
		display:block;
		position:absolute;
		left:28px;
		top:20px;
		bottom:40px;
		width:4px;
		pointer-events:none;
		z-index:1;
	}


	.route-spine-svg {
		width:100%;
		height:100%;
		overflow:visible;
	}


	.route-spine-path-bg {
		stroke:var(--surface-2);
		stroke-width:var(--pages-spine-stroke);
		fill:none;
	}


	.route-spine-path-active {
		stroke:var(--accent);
		stroke-width:var(--pages-spine-stroke);
		fill:none;
		stroke-linecap:square;
	}
}


.route-stages {
	display:flex;
	flex-direction:column;
	gap:2.5rem;
	position:relative;
	z-index:2;
}


@media (min-width: 900px) {
	.route-stages {
		padding-left:72px;
		gap:3.5rem;
	}
}


.route-stage {
	position:relative;
	border-left:2px solid var(--line);
	padding-left:1.5rem;
}


@media (min-width: 900px) {
	.route-stage {
		border-left:0;
		padding-left:0;
	}
}


.route-stage-node {
	display:flex;
	align-items:center;
	justify-content:center;
	width:24px;
	height:24px;
	background-color:var(--ground);
	border:2px solid var(--line);
	position:absolute;
	left:-13px;
	top:0;
	transition:border-color var(--duration-normal) var(--ease-standard),
							background-color var(--duration-normal) var(--ease-standard);
}


@media (min-width: 900px) {
	.route-stage-node {
		left:-56px;
		top:4px;
		width:28px;
		height:28px;
	}
}


.route-stage-node::after {
	content:"";
	width:8px;
	height:8px;
	background-color:transparent;
	transition:background-color var(--duration-normal) var(--ease-standard);
}


.route-stage.is-active .route-stage-node,
.route-stage.is-passed .route-stage-node {
	border-color:var(--accent);
}


.route-stage.is-active .route-stage-node::after,
.route-stage.is-passed .route-stage-node::after {
	background-color:var(--accent);
}


.route-stage-layout {
	display:block;
}


@media (min-width: 768px) {
	.route-stage-layout {
		display:grid;
		grid-template-columns:minmax(0, 1fr) 220px;
		gap:clamp(1.5rem, 3.5vw, 3rem);
		align-items:start;
	}
}


.route-stage-main {
	min-width:0;
}


.route-stage-title {
	font-family:var(--hopu-87a);
	font-size:var(--text-xl);
	font-weight:700;
	margin-bottom:0.75rem;
	color:var(--ink);
}


.route-stage-text {
	font-size:var(--text-base);
	line-height:var(--lh-body);
	color:var(--ink-soft);
	max-width:var(--measure-body);
	margin-bottom:1rem;
}


.route-stage-margin {
	margin-top:1.25rem;
	font-size:var(--text-sm);
	color:var(--ink-soft);
}


@media (min-width: 768px) {
	.route-stage-margin {
		margin-top:0;
	}
}


.route-stage-meta-card {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:1.25rem;
	display:flex;
	flex-direction:column;
	gap:1rem;
}


.route-stage-meta-item {
	border-bottom:1px solid var(--line);
	padding-bottom:0.75rem;
}


.route-stage-meta-item:last-child {
	border-bottom:0;
	padding-bottom:0;
}


.route-stage-margin-label {
	display:block;
	font-family:var(--hopu-c67);
	font-size:var(--text-xs);
	color:var(--ink);
	text-transform:uppercase;

	letter-spacing:var(--tracking-wide);
	margin-bottom:0.35rem;
}


.route-stage-margin-val {
	color:var(--ink-soft);
	font-size:var(--text-sm);
	line-height:1.45;
}


.crossfade-section {
	position:relative;
	background-color:var(--surface);
	border-bottom:1px solid var(--line);
	padding:var(--section-rhythm) 0;
}


.crossfade-controller {
	position:relative;
	width:100%;
}


.crossfade-progress-wrap {
	position:sticky;
	top:var(--strip-height);
	width:100%;
	height:2px;
	background-color:var(--surface-2);
	z-index:30;
	margin-bottom:2rem;
}


.crossfade-progress-bar {
	height:100%;
	width:0%;
	background-color:var(--accent);
	transition:width 100ms linear;
}


.crossfade-panels {
	display:flex;
	flex-direction:column;
	gap:3.5rem;
}


@media (min-width: 1024px) {
	.crossfade-panels {
		gap:5rem;
	}
}


.crossfade-panel {
	position:relative;
	border-top:1px solid var(--line);
	padding-top:2rem;
	scroll-margin-top:calc(var(--strip-height) + 2rem);
}


.crossfade-panel-grid {
	display:block;
}


@media (min-width: 768px) {
	.crossfade-panel-grid {
		display:grid;
		grid-template-columns:minmax(0, 1fr) 240px;
		gap:clamp(1.5rem, 4vw, 3.5rem);
		align-items:start;
	}
}


.crossfade-panel-main {
	min-width:0;
}


.crossfade-panel-title {
	font-family:var(--hopu-87a);
	font-size:var(--text-xl);
	font-weight:700;
	margin-bottom:1rem;
}


.crossfade-panel-body {
	font-size:var(--text-base);
	color:var(--ink-soft);
	line-height:var(--lh-body);
	max-width:var(--measure-body);
}


.crossfade-panel-aside {
	margin-top:1.5rem;
	border-top:1px solid var(--line);
	padding-top:0.75rem;
}


@media (min-width: 768px) {
	.crossfade-panel-aside {
		margin-top:0;
	}
}


.margin-macro-fig {
	margin:0;
}


.margin-macro-fig img {
	width:100%;
	height:auto;
	border:1px solid var(--line);
	display:block;
	background-color:var(--ground);
}


.editorial-section {
	padding:var(--section-rhythm) 0;
	border-bottom:1px solid var(--line);
}


.editorial-section--surface {
	background-color:var(--surface);
}


.editorial-book-grid {
	display:block;
}


@media (min-width: 768px) {
	.editorial-book-grid {
		display:grid;
		grid-template-columns:minmax(0, 1fr) 220px;
		gap:clamp(1.5rem, 3.5vw, 3.5rem);
		align-items:start;
	}
}


.reading-column {
	min-width:0;
}


.margin-column {
	min-width:0;
	margin-top:1.5rem;
	border-top:1px solid var(--line);
	padding-top:0.75rem;
}


@media (min-width: 768px) {
	.margin-column {
		margin-top:0;
		position:sticky;
		top:calc(var(--strip-height) + 2rem);
	}
}


.margin-note-item {
	margin-bottom:1.75rem;
	font-size:var(--text-sm);
	line-height:1.5;
	color:var(--ink-soft);
}


.margin-note-item:last-child {
	margin-bottom:0;
}


.margin-data-label {
	display:block;
	font-family:var(--hopu-c67);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:var(--tracking-wide);
	color:var(--ink);
	margin-bottom:0.25rem;
}


.margin-data-val {
	color:var(--ink-soft);
}


.wide-photo-break {
	margin:clamp(2.5rem, 5vw, 4.5rem) 0;
	width:100%;
}


.wide-photo-frame {
	position:relative;
	width:100%;
	border:1px solid var(--line);
	background-color:var(--surface);
	overflow:hidden;
}


.wide-photo-frame img {
	width:100%;
	height:auto;
	aspect-ratio:16 / 10;
	object-fit:cover;
	display:block;
}


.wide-photo-caption {
	padding:0.75rem 1rem;
	background-color:var(--surface-2);
	border-top:1px solid var(--line);
	font-family:var(--hopu-c67);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap:0.5rem;
}


.editorial-pull-statement {
	margin:clamp(3rem, 6vw, 5rem) 0;
	padding:clamp(2rem, 4vw, 3.5rem) 0;
	border-top:1px solid var(--line);
	border-bottom:1px solid var(--line);
}


.pull-quote-text {
	font-family:var(--hopu-87a);
	font-size:clamp(1.75rem, 1.4rem + 1.6vw, 3rem);
	font-weight:700;
	line-height:var(--lh-tight);
	letter-spacing:var(--tracking-tight);
	color:var(--ink);
	margin:0 0 1rem 0;
	max-width:26ch;
}


.pull-quote-subtext {
	font-family:var(--hopu-4fe);
	font-size:var(--text-base);
	color:var(--ink-soft);
	max-width:var(--measure-body);
	margin:0;
}


.duotone-break {
	position:relative;
	width:100vw;
	margin-left:max(calc(-50vw + 50%), calc(50% - 50vw));
	margin-right:max(calc(-50vw + 50%), calc(50% - 50vw));
	background-color:var(--ink);
	border-top:1px solid var(--line);
	border-bottom:1px solid var(--line);
	overflow:hidden;
	color:var(--accent-ink);
}


.duotone-media-wrap {
	position:relative;
	width:100%;
	min-height:440px;
	max-height:640px;
}


@media (min-width: 1024px) {
	.duotone-media-wrap {
		min-height:560px;
	}
}


.duotone-media-wrap img {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 35%;
	filter:grayscale(100%) contrast(115%) brightness(90%);
}


.duotone-media-wrap::after {
	content:"";
	position:absolute;
	inset:0;
	background-color:var(--accent);
	mix-blend-mode:multiply;
	opacity:0.85;
}


.duotone-overlay-content {
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	z-index:5;
	padding:var(--gutter);
}


.duotone-caption-panel {
	background-color:rgba(39, 41, 43, 0.9);
	border:1px solid rgba(255, 255, 255, 0.2);
	padding:clamp(1.5rem, 3.5vw, 2.75rem);
	max-width:580px;
	color:#FFF;
}


.duotone-title {
	font-family:var(--hopu-87a);
	font-size:var(--text-2xl);
	font-weight:700;
	line-height:var(--lh-tight);
	color:#FFF;
	margin-bottom:0.85rem;
}


.duotone-text {
	font-size:var(--text-base);
	line-height:var(--lh-body);
	color:#DADEE3;
	margin:0;
}


.page-hero {
	padding:clamp(2.5rem, 5vw, 4.5rem) 0;
	background-color:var(--ground);
	border-bottom:1px solid var(--line);
}


.page-hero-title {
	font-family:var(--hopu-87a);
	font-size:clamp(2rem, 1.6rem + 2vw, 3.5rem);
	font-weight:700;
	line-height:var(--lh-tight);
	margin-bottom:1rem;
}


.page-hero-lede {
	font-size:var(--text-md);
	line-height:var(--lh-snug);
	color:var(--ink-soft);
	max-width:var(--measure-body);
	margin:0;
}


.catalogue-entry {
	padding:var(--section-rhythm) 0;
	border-bottom:1px solid var(--line);
	scroll-margin-top:calc(var(--strip-height) + 1.5rem);
}


.catalogue-entry:nth-child(even) {
	background-color:var(--surface);
}


.catalogue-entry-grid {
	display:flex;
	flex-direction:column;
	gap:2rem;
}


@media (min-width: 900px) {
	.catalogue-entry-grid {
		display:grid;
		grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
		gap:clamp(2rem, 4vw, 4rem);
		align-items:start;
	}
}


.catalogue-media-box {
	position:relative;
	border:1px solid var(--line);
	background-color:var(--ground);
}


.catalogue-media-box img {
	width:100%;
	height:auto;
	aspect-ratio:4 / 3;
	object-fit:cover;
	display:block;
}


.catalogue-info-box {
	display:flex;
	flex-direction:column;
	min-width:0;
}


.catalogue-headline {
	font-family:var(--hopu-87a);
	font-size:var(--text-2xl);
	font-weight:700;
	margin-bottom:0.5rem;
}


.catalogue-price-badge {
	display:inline-flex;
	align-items:baseline;
	gap:0.35rem;
	font-family:var(--hopu-c67);
	font-size:var(--text-lg);
	font-weight:500;
	color:var(--ink);
	background-color:var(--surface-2);
	border:1px solid var(--line);
	padding:0.4rem 0.85rem;
	margin-bottom:1.25rem;
	width:fit-content;
}


.catalogue-desc {
	font-size:var(--text-base);
	line-height:var(--lh-body);
	color:var(--ink-soft);
	margin-bottom:1.5rem;
}


.catalogue-factors {
	background-color:var(--ground);
	border:1px solid var(--line);
	padding:1.25rem;
	margin-bottom:1.5rem;
}


.catalogue-entry:nth-child(even) .catalogue-factors {
	background-color:var(--surface-2);
}


.catalogue-factors-title {
	font-family:var(--hopu-c67);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:var(--tracking-wide);
	color:var(--ink);
	margin-bottom:0.5rem;
	font-weight:500;
}


.catalogue-factors-list {
	list-style:none;
	margin:0;
	padding:0;
	font-size:var(--text-sm);
	color:var(--ink-soft);
	display:flex;
	flex-direction:column;
	gap:0.35rem;
}


.catalogue-action-link {
	font-family:var(--hopu-c67);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:var(--tracking-wide);
	color:var(--ink);
	text-decoration:underline;
	margin-top:auto;
	align-self:flex-start;
	padding:0.35rem 0;
}


.catalogue-action-link:hover {
	color:var(--accent);
}


.estimator-section {
	padding:var(--section-rhythm) 0;
	background-color:var(--surface);
	border-bottom:1px solid var(--line);
}


.estimator-container {
	background-color:var(--ground);
	border:1px solid var(--line);
	padding:clamp(1.5rem, 4vw, 3rem);
}


.estimator-header {
	border-bottom:1px solid var(--line);
	padding-bottom:1.5rem;
	margin-bottom:2rem;
}


.estimator-title {
	font-family:var(--hopu-87a);
	font-size:var(--text-2xl);
	font-weight:700;
	margin-bottom:0.5rem;
}


.estimator-lede {
	color:var(--ink-soft);
	font-size:var(--text-sm);
	max-width:var(--measure-body);
	margin:0;
}


.estimator-form-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:1.5rem;
}


@media (min-width: 768px) {
	.estimator-form-grid {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}


.estimator-field {
	display:flex;
	flex-direction:column;
}


.estimator-result-card {
	margin-top:2rem;
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:clamp(1.25rem, 3vw, 2rem);
}


.estimator-result-label {
	font-family:var(--hopu-c67);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:var(--tracking-wide);
	color:var(--ink-soft);
	margin-bottom:0.5rem;
}


.estimator-result-display {
	font-family:var(--hopu-c67);
	font-size:clamp(1.75rem, 1.4rem + 1.5vw, 2.75rem);
	font-weight:700;
	color:var(--ink);
	letter-spacing:var(--tracking-tight);
	margin-bottom:0.75rem;
}


.estimator-result-note {
	font-size:var(--text-sm);
	color:var(--ink-soft);
	line-height:1.5;
	margin-bottom:1rem;
}


.estimator-disclaimer {
	font-size:var(--text-xs);
	color:var(--ink-soft);
	line-height:1.5;
	border-top:1px solid var(--line);
	padding-top:0.75rem;
	margin-top:1rem;
}


.about-credentials-bar {
	display:grid;
	grid-template-columns:1fr;
	gap:1rem;
	margin:2.5rem 0;
}


@media (min-width: 640px) {
	.about-credentials-bar {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}


.credential-block {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:1.25rem;
}


.credential-label {
	font-family:var(--hopu-c67);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:var(--tracking-wide);
	color:var(--ink-soft);
	margin-bottom:0.35rem;
}


.credential-val {
	font-family:var(--hopu-87a);
	font-size:var(--text-lg);
	font-weight:700;
	color:var(--ink);
}


.contact-layout-grid {
	display:flex;
	flex-direction:column;
	gap:2.5rem;
	margin-top:2rem;
}


@media (min-width: 900px) {
	.contact-layout-grid {
		display:grid;
		grid-template-columns:320px minmax(0, 1fr);
		gap:clamp(2rem, 4vw, 4rem);
		align-items:start;
	}
}


.contact-facts-card {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:1.5rem;
}


.contact-fact-item {
	margin-bottom:1.5rem;
}


.contact-fact-item:last-child {
	margin-bottom:0;
}


.contact-fact-title {
	font-family:var(--hopu-c67);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:var(--tracking-wide);
	color:var(--ink);
	margin-bottom:0.25rem;
}


.contact-fact-content {
	font-size:var(--text-sm);
	color:var(--ink-soft);
	line-height:1.5;
}


.contact-fact-content a {
	color:var(--ink);
	font-weight:500;
}


.contact-fact-content a:hover {
	color:var(--accent);
}


.contact-form-card {
	background-color:var(--ground);
	border:1px solid var(--line);
	padding:clamp(1.5rem, 3.5vw, 2.5rem);
}


.privacy-page-layout {
	padding:var(--section-rhythm) 0;
}


.privacy-grid {
	display:block;
}


@media (min-width: 860px) {
	.privacy-grid {
		display:grid;
		grid-template-columns:240px minmax(0, 1fr);
		gap:clamp(2rem, 4vw, 4rem);
		align-items:start;
	}
}


.privacy-mobile-select-wrap {
	display:block;
	margin-bottom:2rem;
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:1rem;
}


@media (min-width: 860px) {
	.privacy-mobile-select-wrap {
		display:none;
	}
}


.privacy-index-col {
	display:none;
}


@media (min-width: 860px) {
	.privacy-index-col {
		display:block;
		position:sticky;
		top:calc(var(--strip-height) + 1.5rem);
		max-height:calc(100vh - var(--strip-height) - 3rem);
		max-height:calc(100svh - var(--strip-height) - 3rem);
		overflow-y:auto;
		border-right:1px solid var(--line);
		padding-right:1.5rem;
	}
}


.privacy-index-list {
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:0.65rem;
}


.privacy-index-link {
	display:block;
	font-family:var(--hopu-c67);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	text-decoration:none;
	padding:0.35rem 0.5rem;
	border-left:2px solid transparent;
	transition:color var(--duration-fast) var(--ease-standard),
							border-color var(--duration-fast) var(--ease-standard);
}


.privacy-index-link:hover {
	color:var(--ink);
	border-color:var(--line);
}


.privacy-index-link[aria-current="true"],
.privacy-index-link.is-active {
	color:var(--accent);
	border-color:var(--accent);
	font-weight:700;
}


.privacy-content-col {
	min-width:0;
}


.legal-section-block {
	margin-bottom:3.5rem;
	scroll-margin-top:calc(var(--strip-height) + 2rem);
}


.legal-section-block:last-child {
	margin-bottom:0;
}


.legal-section-label {
	display:block;
	font-family:var(--hopu-c67);
	font-size:var(--text-xs);
	color:var(--accent);
	text-transform:uppercase;
	letter-spacing:var(--tracking-wide);
	margin-bottom:0.35rem;
	font-weight:500;
}


.legal-section-title {
	font-family:var(--hopu-87a);
	font-size:var(--text-xl);
	font-weight:700;
	margin-bottom:1rem;
}


.cookies-page-layout {
	padding:var(--section-rhythm) 0;
}


.cookies-wide-container {
	max-width:860px;
	margin-left:auto;
	margin-right:auto;
}


.clause-row {
	display:grid;
	grid-template-columns:50px minmax(0, 1fr);
	gap:clamp(1rem, 3vw, 2.5rem);
	padding:2.25rem 0;
	border-bottom:1px solid var(--line);
	align-items:baseline;
}


@media (max-width: 480px) {
	.clause-row {
		grid-template-columns:1fr;
		gap:0.5rem;
	}
}


.clause-row:first-of-type {
	border-top:1px solid var(--line);
}


.clause-marker {
	font-family:var(--hopu-c67);
	font-size:var(--text-base);
	color:var(--ink-soft);
	font-weight:500;
}


.difu6d0 {
	min-width:0;
}


.clause-headline {
	font-family:var(--hopu-87a);
	font-size:var(--text-lg);
	font-weight:700;
	margin-bottom:0.75rem;
}


.terms-page-layout {
	padding:var(--section-rhythm) 0;
}


.terms-ledger-wrap {
	width:100%;
	margin:2.5rem 0;
	border-top:1px solid var(--line);
}


.ledger-table {
	width:100%;
	border-collapse:collapse;
}


.ledger-thead {
	display:none;
}


@media (min-width: 768px) {
	.ledger-thead {
		display:table-header-group;
		background-color:var(--surface-2);
		border-bottom:2px solid var(--line);
	}


	.ledger-thead th {
		padding:0.85rem 1rem;
		font-family:var(--hopu-c67);
		font-size:var(--text-xs);
		text-transform:uppercase;
		letter-spacing:var(--tracking-wide);
		color:var(--ink);
		text-align:left;
	}
}


.ledger-row {
	display:flex;
	flex-direction:column;
	padding:1.25rem;
	border-bottom:1px solid var(--line);
	background-color:var(--surface);
	margin-bottom:1rem;
}


@media (min-width: 768px) {
	.ledger-row {
		display:table-row;
		background-color:transparent;
		margin-bottom:0;
		padding:0;
	}


	.ledger-row:hover {
		background-color:var(--surface);
	}
}


.ledger-cell {
	padding:0.5rem 0;
	font-size:var(--text-sm);
	color:var(--ink-soft);
	line-height:1.5;
}


@media (min-width: 768px) {
	.ledger-cell {
		display:table-cell;
		padding:1.15rem 1rem;
		border-bottom:1px solid var(--line);
		vertical-align:top;
	}
}


.ledger-cell-clause {
	font-family:var(--hopu-87a);
	font-size:var(--text-base);
	font-weight:700;
	color:var(--ink);
}


@media (max-width: 767px) {
	.ledger-cell-plain::before {
		content:'Plain Meaning: ';
		font-family:var(--hopu-c67);
		font-size:var(--text-xs);
		text-transform:uppercase;
		color:var(--ink);
		display:block;
		margin-bottom:0.25rem;
	}


	.ledger-cell-why::before {
		content:'Why It Applies: ';
		font-family:var(--hopu-c67);
		font-size:var(--text-xs);
		text-transform:uppercase;
		color:var(--ink);
		display:block;
		margin-bottom:0.25rem;
	}
}


.faq-group {
	margin:3rem 0;
	border-top:1px solid var(--line);
}


.faq-item {
	border-bottom:1px solid var(--line);
}


.faq-trigger {
	width:100%;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	padding:1.25rem 0;
	background:none;
	border:0;
	text-align:left;
	cursor:pointer;
	font-family:var(--hopu-87a);
	font-size:var(--text-lg);
	font-weight:700;
	color:var(--ink);
	transition:color var(--duration-fast) var(--ease-standard);
}


.faq-trigger:hover {
	color:var(--accent);
}


.faq-trigger:focus-visible {
	outline:2px solid var(--accent);
	outline-offset:2px;
}


.faq-trigger .icon {
	width:1.25rem;
	height:1.25rem;
	color:var(--ink-soft);
	transition:transform var(--duration-normal) var(--ease-standard),
							color var(--duration-fast) var(--ease-standard);
}


.faq-trigger[aria-expanded="true"] .icon {
	transform:rotate(180deg);
	color:var(--accent);
}


.faq-content {
	display:none;
	padding-bottom:1.5rem;
	font-size:var(--text-base);
	line-height:var(--lh-body);
	color:var(--ink-soft);
}


.faq-content.is-open {
	display:block;
}


@media print {
	body {
		background:#FFF !important;
		color:#000 !important;
	}


	.site-header,
	.section-strip,
	.phone-dock,
	.consent-bar,
	#support-chat-root,
	.skip-link {
		display:none !important;
	}


	.duotone-break {
		background:transparent !important;
		color:#000 !important;
	}


	.duotone-media-wrap img {
		filter:none !important;
	}
}
