.article { position: relative; }
.article__col { max-width: calc(var(--measure) + 2px); }
.article__col--offset { margin-left: 0; }
@media (min-width: 1100px) {
	.article__col--offset { margin-left: calc((100% / 12) * 2); }
}

.hero {
	position:relative;
	padding-block:clamp(3rem, 2rem + 6vw, 8.5rem) clamp(2.5rem, 1.6rem + 4vw, 5.5rem);
	border-bottom:1px solid var(--rule);

}
.hero__inner { position: relative; display: grid; gap: clamp(1.5rem, 1rem + 2vw, 2.75rem); }
.hero__inner > * { min-width: 0; }
.hero__status {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.4rem 1.1rem;
	padding-bottom:.7rem;
	border-bottom:1px solid var(--signal);
	max-width:44rem;
	font-family:var(--tipe-ff5);
	font-size:var(--fs-mono-xs);
	font-weight:500;
	letter-spacing:var(--track-caps);
	text-transform:uppercase;
	color:var(--text-3);
}
.hero__status b { color: var(--text); font-weight: 500; }
.hero__status .sep { color: var(--mist); }
.hero__title {
	font-family:var(--tipe-604);
	font-size:var(--fs-hero);
	font-weight:700;
	line-height:.98;
	letter-spacing:var(--track-hero);
	max-width:14ch;
	text-wrap:balance;
	overflow-wrap:break-word;
	hyphens:manual;
}
.hero__title em { font-style: normal; color: var(--signal-deep); }
.hero__title .line-mask { padding-bottom: .06em; }
.hero__title--page { font-size: var(--fs-h1); max-width: 18ch; line-height: 1.02; }
.hero__lede {
	font-size:var(--fs-lede);
	line-height:1.5;
	max-width:54ch;
	color:var(--text-2);
	letter-spacing:-.006em;
}
.hero__lede strong { color: var(--text); font-weight: 500; }
.hero__links { display: flex; flex-wrap: wrap; gap: .5rem 2rem; align-items: center; }
.hero__links > * { min-width: 0; }
.hero__ticks {
	position:absolute;
	left:0;
	right:0;
	bottom:-1px;
	height:7px;
	pointer-events:none;
	background-image:repeating-linear-gradient(90deg, var(--steel) 0 1px, transparent 1px 32px);
	opacity:.45;
}
@media (min-width: 1100px) {
	.hero__inner { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); }
	.hero__inner > * { grid-column: 1 / -1; }
	.hero__status { grid-column: 1 / 8; }
	.hero__lede { grid-column: 3 / 9; }
	.hero__links { grid-column: 3 / 12; }
	.hero__aside {
		grid-column:10 / -1;
		grid-row:2;
		align-self:end;
		font-family:var(--tipe-ff5);
		font-size:var(--fs-mono-xs);
		letter-spacing:var(--track-mono);
		color:var(--text-3);
		border-left:1px solid var(--rule);
		padding-left:1rem;
	}
}

.hero__aside { font-family: var(--tipe-ff5); font-size: var(--fs-mono-xs); letter-spacing: var(--track-mono); color: var(--text-3); line-height: 1.7; }
.hero__aside dt { color: var(--text); text-transform: uppercase; letter-spacing: var(--track-caps); }
.hero__aside dd { margin: 0 0 .6rem; }

.figures-block { padding-block: var(--section) 0; }
.figures-block .frame { background: var(--ground-raised); }

.essay { padding-block: var(--section); }
.essay p { color: var(--text-2); font-size: clamp(1.05rem, 1rem + .25vw, 1.15rem); line-height: 1.68; }
.essay p + p { margin-top: 1.2em; }
.essay p:first-child::first-line { color: var(--text); font-weight: 500; }
.essay strong { color: var(--text); font-weight: 500; }
.essay .mono, .essay code { font-size: .86em; }

.plate { padding-block: 0 var(--section); }
.plate .media__frame { box-shadow: var(--shadow-3); }
.plate .media__frame::after {
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	box-shadow:inset 0 0 0 1px rgba(11, 11, 13, .25);
}
.plate--bleed { padding-inline: 0; }
.plate--bleed .media__cap { padding-inline: var(--gutter); }
@media (min-width: 1100px) {
	.plate--inset .media { margin-left: calc((100% / 12) * 1); margin-right: calc((100% / 12) * 1); }
	.plate--right .media { margin-left: calc((100% / 12) * 3); }
	.plate--left .media { margin-right: calc((100% / 12) * 3); }
}
.plate__tag {
	position:absolute;
	left:.75rem;
	top:.75rem;
	z-index:2;
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	max-width:calc(100% - 1.5rem);
	padding:.3rem .55rem;
	background:rgba(11, 11, 13, .82);
	color:var(--paper);
	font-family:var(--tipe-ff5);
	font-size:.625rem;
	letter-spacing:var(--track-caps);
	text-transform:uppercase;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}
.plate__tag::before { content: ""; width: 5px; height: 5px; background: var(--signal); flex: none; }

.modules-section { padding-block: var(--section); }
.modules-section .num-list { margin-top: var(--space-5); }

.quote-section { padding-block: var(--section); }
.quote-section .pullquote { max-width: 62rem; }
@media (min-width: 1100px) {
	.quote-section .pullquote { margin-left: calc((100% / 12) * 1); }
}
.quote-section--dark { background: var(--ink); }
.quote-section--dark .pullquote { border-top-color: var(--mist); border-bottom-color: var(--gunmetal); }

.compat { padding-block: var(--section); }
.compat .frame { background: var(--ground-raised); box-shadow: var(--shadow-2); }
.compat-table { width: 100%; min-width: 36rem; font-size: var(--fs-small); font-variant-numeric: tabular-nums; }
.compat-table th, .compat-table td { padding: .7rem 1rem .7rem 0; text-align: left; border-bottom: 1px solid var(--rule); vertical-align: baseline; }
.compat-table thead th { font-family: var(--tipe-ff5); font-size: var(--fs-mono-xs); font-weight: 500; letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--text-3); border-bottom-color: var(--rule-strong); white-space: nowrap; }
.compat-table tbody th { font-family: var(--tipe-ff5); font-weight: 500; font-size: .8125rem; color: var(--text); white-space: nowrap; }

.compat-table td { color: var(--text-2); }
.compat-table td.io { font-family: var(--tipe-ff5); font-size: .75rem; letter-spacing: .06em; white-space: nowrap; }
.compat-table td.io .on { color: var(--text); }
.compat-table td.io .on::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: .45rem; background: var(--signal); vertical-align: .1em; }
.compat-table td.io .off { color: var(--mist); }
.compat-table tbody tr { transition: background-color var(--dur-1) var(--ease-std); }
.compat-table tbody tr:hover { background: rgba(201, 202, 199, .2); }
.compat__foot { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: space-between; margin-top: 1rem; font-family: var(--tipe-ff5); font-size: var(--fs-mono-xs); letter-spacing: var(--track-mono); color: var(--text-3); }

.pricing-prose { padding-block: var(--section); }
.pricing-prose p { font-size: clamp(1.1rem, 1rem + .5vw, 1.35rem); line-height: 1.55; color: var(--text-2); letter-spacing: -.006em; }
.pricing-prose p + p { margin-top: 1em; }
.pricing-prose .price { color: var(--text); font-size: .92em; padding: 0 .2em; background: linear-gradient(transparent 62%, var(--signal-soft) 62%); }

.fit-section { padding-block: var(--section); }
.fit { background: var(--ground-raised); box-shadow: var(--shadow-2); }
.fit__form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem 2rem; }
.fit__form > * { min-width: 0; }
.fit__q { border: 0; margin: 0; padding: 0 0 1.25rem; min-width: 0; border-bottom: 1px solid var(--rule); }
.fit__q legend, .fit__q > label {
	display:flex;
	align-items:baseline;
	gap:.6rem;
	padding:0;
	margin-bottom:.75rem;
	font-family:var(--tipe-ff5);
	font-size:var(--fs-mono-xs);
	font-weight:500;
	letter-spacing:var(--track-caps);
	text-transform:uppercase;
	color:var(--text);
}
.fit__qn { color: var(--signal-deep); }
.fit__range { display: grid; grid-template-columns: minmax(0, 1fr) 8.5rem; gap: .75rem; align-items: center; }
.fit__range input[type='range'] { width: 100%; min-height: 44px; accent-color: var(--signal); background: transparent; cursor: pointer; }
.fit__range input[type='range']:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.fit__range input[type='number'] { font-family: var(--tipe-ff5); text-align: right; }
.fit__unit { font-family: var(--tipe-ff5); font-size: var(--fs-mono-xs); color: var(--text-3); letter-spacing: var(--track-mono); margin-top: .4rem; }
.fit__seats { padding: 1rem; border: 1px dashed var(--steel); background: var(--paper); }
.fit__seats[hidden] { display: none; }
@media (max-width: 400px) {
	.fit__range { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 900px) {
	.fit__form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fit__form .fit__q--wide, .fit__form .fit__seats, .fit__form .fit__result { grid-column: 1 / -1; }
}
.fit__result {
	--vc:var(--ink);
	position:relative;
	padding:1.25rem 1.25rem 1.4rem 1.5rem;
	border:1px solid var(--rule-strong);
	border-left:4px solid var(--vc);
	background:var(--paper);
	clip-path:inset(0 0 0 0);
}
.fit__result[data-verdict='fit'] { --vc: var(--ok); }
.fit__result[data-verdict='edge'] { --vc: #b07a0a; }
.fit__result[data-verdict='partial'] { --vc: var(--signal); }
.fit__result[data-verdict='no'] { --vc: var(--error); }
.fit__result-status {
	display:flex;
	flex-wrap:wrap;
	gap:.3rem 1rem;
	align-items:center;
	margin-bottom:.8rem;
	font-family:var(--tipe-ff5);
	font-size:var(--fs-mono-xs);
	letter-spacing:var(--track-caps);
	text-transform:uppercase;
	color:var(--text-3);
}
.fit__verdict { font-family: var(--tipe-604); font-size: var(--fs-h3); font-weight: 700; letter-spacing: -.015em; line-height: 1.15; color: var(--text); }
.fit__verdict::before { content: ""; display: inline-block; width: .5em; height: .5em; margin-right: .45em; background: var(--vc); vertical-align: .08em; }
.fit__reason { margin-top: .5rem; color: var(--text-2); max-width: 60ch; }
.fit__cost { margin-top: .75rem; font-family: var(--tipe-ff5); font-size: .875rem; color: var(--text); }
.fit__actions { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; align-items: center; margin-top: 1rem; }
.fit__copy {
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	min-height:44px;
	padding:.5rem .9rem;
	border:1px solid var(--frame);
	font-family:var(--tipe-ff5);
	font-size:.75rem;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--ink);
	background:transparent;
	transition:background-color var(--dur-1) var(--ease-std), color var(--dur-1) var(--ease-std), box-shadow var(--dur-2) var(--ease-std);
}
.fit__copy:hover { background: var(--ink); color: var(--paper); box-shadow: 3px 3px 0 var(--signal); }
.fit__copy:active { background: var(--signal); color: var(--signal-ink); box-shadow: none; }
.fit__copy:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.fit__copy.is-copied { border-color: var(--ok); color: var(--ok); }
.fit__note { margin-top: 1rem; font-size: var(--fs-xs); color: var(--text-3); max-width: 64ch; }

.contact-block { padding-block: var(--section); border-top: 1px solid var(--rule); }
.contact-block__grid { display: grid; gap: var(--space-6); grid-template-columns: minmax(0, 1fr); }
.contact-block__grid > * { min-width: 0; }
@media (min-width: 900px) {
	.contact-block__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: end; }
}

.page-head {
	position:relative;
	padding-block:clamp(2rem, 1.4rem + 3vw, 4.5rem) clamp(2rem, 1.4rem + 2.5vw, 3.75rem);
	border-bottom:1px solid var(--rule);
}
.page-head__inner { display: grid; gap: 1.25rem; }
.page-head__inner > * { min-width: 0; }
.page-head__title { font-size: var(--fs-h1); max-width: 20ch; line-height: 1.02; letter-spacing: -.03em; }
.page-head__lede { font-size: var(--fs-lede); line-height: 1.5; color: var(--text-2); max-width: 56ch; }
.page-head__meta { display: flex; flex-wrap: wrap; gap: .4rem; }
.page-head--dark { background: var(--ink); color: var(--paper); border-bottom-color: var(--gunmetal); }
.page-head--dark .page-head__lede { color: #c7c8c4; }
@media (min-width: 1100px) {
	.page-head__inner { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); column-gap: var(--space-7); }
	.page-head__inner > * { grid-column: 1; }
	.page-head__side { grid-column: 2; grid-row: 1 / span 4; align-self: end; }
}
.page-head__side .frame { background: var(--ground-raised); }
.keyfacts { display: grid; gap: 0; margin: 0; }
.keyfacts > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; padding: .6rem 0; border-bottom: 1px solid var(--rule); align-items: baseline; }
.keyfacts > div:last-child { border-bottom: 0; }
.keyfacts dt { font-size: var(--fs-small); color: var(--text-2); }
.keyfacts dd { margin: 0; font-family: var(--tipe-ff5); font-size: .875rem; font-weight: 500; color: var(--text); text-align: right; overflow-wrap: anywhere; }

.band { padding-block: var(--section); }
.band + .band { border-top: 1px solid var(--rule); }
.band--dark { background: var(--ink); color: var(--paper); }
.band--raised { background: var(--paper-2); }
.band__grid { display: grid; gap: var(--space-6); grid-template-columns: minmax(0, 1fr); }
.band__grid > * { min-width: 0; }
@media (min-width: 900px) {
	.band__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-7); }
	.band__grid--even { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.band__aside { position: sticky; top: 6rem; align-self: start; }
}
.band__aside .h2, .band__aside h2 { max-width: 16ch; }
.band__aside p { margin-top: 1rem; color: var(--text-2); max-width: 40ch; }

.spec-block { margin-top: var(--space-6); }
.spec-block:first-child { margin-top: 0; }
.spec-block .frame { background: var(--ground-raised); }
.dark .spec-block .frame { background: var(--carbon-2); }

.feature-rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule-strong); }
.feature-rows li {
	display:grid;
	grid-template-columns:minmax(0, 1fr);
	gap:.3rem;
	padding:1rem 0;
	border-bottom:1px solid var(--rule);
}
.feature-rows__name { font-family: var(--tipe-604); font-weight: 500; font-size: 1.05rem; color: var(--text); }
.feature-rows__desc { color: var(--text-2); font-size: var(--fs-small); }
.feature-rows__key { font-family: var(--tipe-ff5); font-size: var(--fs-mono-xs); color: var(--text-3); }
@media (min-width: 720px) {
	.feature-rows li { grid-template-columns: minmax(0, 13rem) minmax(0, 1fr) auto; gap: 1.5rem; align-items: baseline; }
}

.offer-rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule-strong); }
.offer-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: clamp(1.5rem, 1.1rem + 2vw, 2.5rem) 0; border-bottom: 1px solid var(--rule); }
.offer-row > * { min-width: 0; }
.offer-row__media .media__frame { aspect-ratio: 3 / 2; }
.offer-row__name { font-family: var(--tipe-604); font-size: var(--fs-h3); font-weight: 700; letter-spacing: -.015em; }
.offer-row__price { margin-top: .4rem; font-family: var(--tipe-ff5); font-size: clamp(1.15rem, 1rem + .7vw, 1.5rem); font-weight: 500; color: var(--text); font-variant-numeric: tabular-nums; }
.offer-row__price small { font-size: .55em; letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--text-3); margin-left: .4em; }
.offer-row__body { color: var(--text-2); margin-top: .75rem; max-width: 56ch; }
.offer-row__actions { margin-top: 1rem; }
@media (min-width: 900px) {
	.offer-row { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: start; }
	.offer-row:nth-child(even) .offer-row__media { order: 2; }
}
.price-note { margin-top: 1.5rem; padding: .9rem 1rem; border-left: 2px solid var(--signal); background: var(--paper-2); font-size: var(--fs-small); color: var(--text-2); max-width: 64ch; }

.doc-index { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--rule-strong); }
.doc-index li { min-width: 0; border-bottom: 1px solid var(--rule); }
.doc-index a {
	display:grid;
	grid-template-columns:minmax(0, 1fr) auto;
	gap:.3rem 1rem;
	align-items:center;
	min-height:64px;
	padding:1.1rem .25rem;
	text-decoration:none;
	transition:background-color var(--dur-1) var(--ease-std), padding var(--dur-2) var(--ease-std);
}
.doc-index a:hover { background: var(--paper-2); padding-left: .75rem; }
.doc-index a:active { background: var(--paper-3); }
.doc-index a:focus-visible { outline: 2px solid var(--signal); outline-offset: -2px; }
.doc-index__title { font-family: var(--tipe-604); font-size: var(--fs-h4); font-weight: 500; color: var(--text); }
.doc-index__meta { grid-column: 1; font-family: var(--tipe-ff5); font-size: var(--fs-mono-xs); letter-spacing: var(--track-mono); color: var(--text-3); overflow-wrap: anywhere; }
.doc-index .icon { grid-column: 2; grid-row: 1 / span 2; color: var(--signal-deep); }
@media (min-width: 900px) {
	.doc-index { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-6); }
}
.url-pattern { display: block; padding: 1rem; border: 1px solid var(--rule-strong); background: var(--ink); color: var(--paper); font-family: var(--tipe-ff5); font-size: .8125rem; overflow-x: auto; white-space: pre; max-width: 100%; }

.timeline { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--rule-strong); }
.timeline li { position: relative; padding: 0 0 1.75rem 1.5rem; }
.timeline li::before { content: ""; position: absolute; left: -4px; top: .45rem; width: 7px; height: 7px; background: var(--ground); border: 1px solid var(--ink); }
.timeline li:last-child::before { background: var(--signal); border-color: var(--signal); }
.timeline__year { font-family: var(--tipe-ff5); font-size: var(--fs-mono-xs); letter-spacing: var(--track-caps); color: var(--signal-deep); }
.timeline__text { margin-top: .3rem; color: var(--text-2); max-width: 56ch; }

.contact-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-7); padding-block: var(--section); }
.contact-layout > * { min-width: 0; }
@media (min-width: 1000px) {
	.contact-layout { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-8); }
	.contact-layout__aside { position: sticky; top: 6rem; align-self: start; }
}
.contact-layout__form .frame { background: var(--ground-raised); box-shadow: var(--shadow-2); }
.contact-layout__aside > * + * { margin-top: var(--space-6); }
.hours-table { width: 100%; font-size: var(--fs-small); font-variant-numeric: tabular-nums; }
.hours-table th, .hours-table td { padding: .6rem 0; border-bottom: 1px solid var(--rule); text-align: left; }
.hours-table td { font-family: var(--tipe-ff5); font-size: .8125rem; text-align: right; }
.hours-table tr.is-closed td { color: var(--text-3); }
.sla { display: flex; align-items: baseline; gap: .75rem; flex-wrap: wrap; padding: 1rem 0; border-top: 1px solid var(--signal); }
.sla__n { font-family: var(--tipe-ff5); font-size: clamp(1.8rem, 1.4rem + 2vw, 2.6rem); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.sla__t { font-size: var(--fs-small); color: var(--text-2); max-width: 30ch; }

.faq { border-top: 1px solid var(--rule-strong); }
.faq__item { border-bottom: 1px solid var(--rule); }
.faq__q {
	position:relative;
	display:grid;
	grid-template-columns:minmax(0, 1fr) 44px;
	align-items:center;
	gap:1rem;
	width:100%;
	min-height:60px;
	padding:.9rem 0;
	list-style:none;
	cursor:pointer;
	text-align:left;
	font-family:var(--tipe-604);
	font-size:var(--fs-h4);
	font-weight:500;
	color:var(--text);
	transition:color var(--dur-1) var(--ease-std), background-color var(--dur-1) var(--ease-std);
}
.faq__q::-webkit-details-marker { display: none; }
.faq__q::marker { content: ""; }
.faq__q::after {
	content:"";
	justify-self:end;
	width:14px;
	height:14px;
	background:
		linear-gradient(currentColor, currentColor) center / 14px 1px no-repeat,
		linear-gradient(currentColor, currentColor) center / 1px 14px no-repeat;
	transition:transform var(--dur-2) var(--ease-std);
}
.faq__item[open] > .faq__q::after, .faq__q[aria-expanded='true']::after { transform: rotate(45deg); color: var(--signal-deep); }
.faq__q:hover { color: var(--signal-deep); background: linear-gradient(90deg, var(--paper-2), transparent); }
.faq__q:active { color: var(--text); background: var(--paper-3); }
.faq__q:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.faq__a { padding: 0 3.5rem 1.25rem 0; color: var(--text-2); max-width: 66ch; }
.faq__a > * + * { margin-top: .8em; }

.legal-ground { background: var(--paper-2); padding-block: var(--section); }
.legal-ground__band { position: relative; height: clamp(5rem, 3rem + 8vw, 11rem); overflow: hidden; background: var(--carbon-3); }
.legal-ground__band img { width: 100%; height: 100%; object-fit: cover; }

.doc-card {
	position:relative;
	max-width:54rem;
	margin-inline:auto;
	margin-top:calc(clamp(2.5rem, 1.5rem + 4vw, 5rem) * -1);
	background:var(--white);
	border:1px solid var(--mist);
	box-shadow:0 1px 0 rgba(11, 11, 13, .05), 0 24px 48px -26px rgba(11, 11, 13, .38), 0 2px 8px -4px rgba(11, 11, 13, .12);
	padding:clamp(1.25rem, .6rem + 4vw, 4.5rem) clamp(1.1rem, .5rem + 4vw, 4.75rem);
}
.doc-card::before {
	content:"";
	position:absolute;
	inset:10px;
	pointer-events:none;
	background:
		linear-gradient(var(--frame), var(--frame)) top left / var(--bracket) 1px no-repeat,
		linear-gradient(var(--frame), var(--frame)) top left / 1px var(--bracket) no-repeat,
		linear-gradient(var(--frame), var(--frame)) top right / var(--bracket) 1px no-repeat,
		linear-gradient(var(--frame), var(--frame)) top right / 1px var(--bracket) no-repeat,
		linear-gradient(var(--frame), var(--frame)) bottom left / var(--bracket) 1px no-repeat,
		linear-gradient(var(--frame), var(--frame)) bottom left / 1px var(--bracket) no-repeat,
		linear-gradient(var(--frame), var(--frame)) bottom right / var(--bracket) 1px no-repeat,
		linear-gradient(var(--frame), var(--frame)) bottom right / 1px var(--bracket) no-repeat;
}
.doc-card__mast {
	display:grid;
	gap:1.25rem;
	padding-bottom:clamp(1.5rem, 1rem + 2vw, 2.5rem);
	margin-bottom:clamp(1.5rem, 1rem + 2vw, 2.75rem);
	border-bottom:2px solid var(--ink);
}
.doc-card__docno { display: flex; flex-wrap: wrap; gap: .3rem 1rem; justify-content: space-between; font-family: var(--tipe-ff5); font-size: var(--fs-mono-xs); letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--text-3); padding-bottom: .6rem; border-bottom: 1px solid var(--signal); }
.doc-card__title { font-size: clamp(1.9rem, 1.3rem + 3vw, 3.5rem); line-height: 1.02; letter-spacing: -.03em; max-width: 16ch; }
.doc-card__meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 0; margin: 0; border-top: 1px solid var(--mist); }
.doc-card__meta > div { padding: .7rem 1rem .7rem 0; border-bottom: 1px solid var(--mist); min-width: 0; }
.doc-card__meta dt { font-family: var(--tipe-ff5); font-size: .625rem; letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--text-3); }
.doc-card__meta dd { margin: .2rem 0 0; font-family: var(--tipe-ff5); font-size: .875rem; font-weight: 500; color: var(--text); overflow-wrap: anywhere; }
.doc-card__toc { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.doc-card__toc a {
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	min-height:44px;
	padding:.35rem .7rem;
	border:1px solid var(--mist);
	font-family:var(--tipe-ff5);
	font-size:var(--fs-mono-xs);
	letter-spacing:.06em;
	text-decoration:none;
	color:var(--text-2);
	transition:border-color var(--dur-1) var(--ease-std), color var(--dur-1) var(--ease-std), background-color var(--dur-1) var(--ease-std);
}
.doc-card__toc a b { color: var(--signal-deep); font-weight: 500; }
.doc-card__toc a:hover { border-color: var(--ink); color: var(--ink); background: var(--paper); }
.doc-card__toc a:active { background: var(--paper-3); }
.doc-card__toc a:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.clause { position: relative; padding-top: clamp(1.5rem, 1rem + 1.5vw, 2.25rem); scroll-margin-top: 6rem; }
.clause + .clause { margin-top: clamp(1.5rem, 1rem + 1.5vw, 2.25rem); border-top: 1px solid var(--mist); }
.clause__head { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: .25rem .75rem; align-items: baseline; margin-bottom: 1rem; }
.clause__n { font-family: var(--tipe-ff5); font-size: .875rem; font-weight: 500; color: var(--signal-deep); font-variant-numeric: tabular-nums; }
.clause__title { font-size: clamp(1.2rem, 1.05rem + .8vw, 1.6rem); font-weight: 700; letter-spacing: -.018em; }
.clause__body { padding-left: 0; }
@media (min-width: 720px) {
	.clause__body { padding-left: 4rem; }
}
.clause__body > * + * { margin-top: .9em; }
.clause__body p, .clause__body li { color: var(--text-2); }
.clause__body ul { list-style: none; padding: 0; }
.clause__body ul > li { position: relative; padding-left: 1.3em; }
.clause__body ul > li::before { content: ""; position: absolute; left: 0; top: .78em; width: .65em; height: 1px; background: var(--signal); }
.clause__body li + li { margin-top: .4em; }
.clause__body a { color: var(--text); text-decoration-color: var(--signal); transition: color var(--dur-1) var(--ease-std); }
.clause__body a:hover { color: var(--signal-deep); }
.clause__body a:active { color: var(--ink); }
.clause__sub { margin-top: 1.25rem; padding: 1rem 1.1rem; background: var(--paper); border-left: 2px solid var(--ink); }
.clause__sub h3 { font-size: 1.05rem; margin-bottom: .4rem; }
.clause--named { background: linear-gradient(var(--paper), var(--paper)) 0 0 / 100% 100% no-repeat; margin-inline: calc(clamp(1.1rem, .5rem + 4vw, 4.75rem) * -1); padding-inline: clamp(1.1rem, .5rem + 4vw, 4.75rem); padding-bottom: 1.75rem; border-top: 1px solid var(--ink) !important; }
.doc-card__sign { margin-top: clamp(2rem, 1.5rem + 2vw, 3rem); padding-top: 1rem; border-top: 2px solid var(--ink); display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; font-family: var(--tipe-ff5); font-size: var(--fs-mono-xs); letter-spacing: var(--track-mono); color: var(--text-3); }
.basis-table { width: 100%; min-width: 30rem; font-size: var(--fs-small); }
.basis-table th, .basis-table td { padding: .65rem .9rem .65rem 0; border-bottom: 1px solid var(--mist); text-align: left; vertical-align: top; }
.basis-table thead th { font-family: var(--tipe-ff5); font-size: var(--fs-mono-xs); font-weight: 500; letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--text-3); border-bottom-color: var(--ink); }
.basis-table td.num { font-family: var(--tipe-ff5); white-space: nowrap; }

.ledger-page { padding-block: var(--section); }
.ledger-intro { display: grid; gap: var(--space-5); grid-template-columns: minmax(0, 1fr); margin-bottom: var(--space-7); }
.ledger-intro > * { min-width: 0; }
@media (min-width: 900px) { .ledger-intro { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; } }
.ledger-group { margin-top: var(--space-7); }
.ledger-group:first-of-type { margin-top: 0; }
.ledger-group__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; padding-bottom: .75rem; border-bottom: 2px solid var(--ink); }
.ledger-group__head h2 { font-size: clamp(1.3rem, 1.1rem + 1vw, 1.9rem); }
.ledger-group__count { font-family: var(--tipe-ff5); font-size: var(--fs-mono-xs); letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--text-3); }
.ledger { width: 100%; font-size: var(--fs-small); line-height: 1.5; }
.ledger caption { caption-side: top; text-align: left; padding: .75rem 0; font-family: var(--tipe-ff5); font-size: var(--fs-mono-xs); letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--text-3); }
.ledger thead th { font-family: var(--tipe-ff5); font-size: var(--fs-mono-xs); font-weight: 500; letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--text-3); text-align: left; padding: .8rem 1.25rem .8rem 0; border-bottom: 1px solid var(--rule-strong); }
.ledger tbody th, .ledger td { padding: 1.1rem 1.25rem 1.1rem 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
.ledger tbody th { width: 24%; font-weight: 500; }
.ledger__ref { display: block; font-family: var(--tipe-ff5); font-size: .6875rem; letter-spacing: var(--track-caps); color: var(--signal-deep); margin-bottom: .25rem; }
.ledger__name { display: block; font-family: var(--tipe-604); font-size: 1.02rem; font-weight: 500; color: var(--text); overflow-wrap: anywhere; }
.ledger__key { display: inline-block; margin-top: .35rem; font-family: var(--tipe-ff5); font-size: .75rem; padding: .1em .35em; background: var(--paper-2); border: 1px solid var(--paper-3); overflow-wrap: anywhere; }
.ledger td { color: var(--text-2); }
.ledger td.ledger__why { color: var(--text); }
.ledger td.ledger__life { font-family: var(--tipe-ff5); font-size: .8125rem; white-space: nowrap; }
.ledger tbody tr { transition: background-color var(--dur-1) var(--ease-std); }
.ledger tbody tr:hover { background: rgba(201, 202, 199, .18); }
.ledger .state { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--tipe-ff5); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.ledger .state::before { content: ""; width: 7px; height: 7px; flex: none; border: 1px solid var(--ink); }
.ledger .state--denied::before { background: transparent; }
.ledger .state--granted::before { background: var(--signal); border-color: var(--signal); }
@media (max-width: 760px) {
	.ledger, .ledger tbody, .ledger tr, .ledger th, .ledger td { display: block; width: 100%; }
	.ledger thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ledger tbody tr { position: relative; padding: 1rem 0 1rem 1rem; border-bottom: 1px solid var(--rule-strong); border-left: 1px solid var(--rule); margin-bottom: 1rem; }
	.ledger tbody tr::before { content: ""; position: absolute; left: -1px; top: 0; width: 1px; height: 2.5rem; background: var(--signal); }
	.ledger tbody th { width: 100%; padding: 0 0 .6rem; border-bottom: 0; }
	.ledger td { padding: .55rem 0; border-bottom: 1px dashed var(--rule); }
	.ledger td:last-child { border-bottom: 0; }
	.ledger td::before {
		content:attr(data-label);
		display:block;
		margin-bottom:.2rem;
		font-family:var(--tipe-ff5);
		font-size:.625rem;
		font-weight:500;
		letter-spacing:var(--track-caps);
		text-transform:uppercase;
		color:var(--text-3);
	}
	.ledger td.ledger__life { white-space: normal; }
}
.ledger-note { margin-top: var(--space-6); max-width: var(--measure); color: var(--text-2); }
.ledger-note > * + * { margin-top: .9em; }
.ledger-note a { color: var(--text); text-decoration-color: var(--signal); }
.ledger-note a:hover { color: var(--signal-deep); }
.ledger-actions { margin-top: var(--space-6); padding: 1.25rem; border: 1px solid var(--rule-strong); background: var(--ground-raised); display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; justify-content: space-between; }
.ledger-actions p { flex: 1 1 18rem; min-width: 0; color: var(--text-2); font-size: var(--fs-small); }

.rail-page { padding-block: var(--section); }
.rail-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.rail-layout > * { min-width: 0; }
.rail {
	position:relative;
	margin:0;
	padding:0;
	list-style:none;
	display:flex;
	gap:0;
	overflow-x:auto;
	overscroll-behavior-x:contain;
	-webkit-overflow-scrolling:touch;
	scroll-snap-type:x proximity;
	border-top:1px solid var(--ink);
	border-bottom:1px solid var(--rule);
	background:var(--ground-raised);
}
.rail__item { flex: 0 0 auto; min-width: 9.5rem; max-width: 14rem; scroll-snap-align: start; border-right: 1px solid var(--rule); }
.rail__item:last-child { border-right: 0; }
.rail__link {
	position:relative;
	display:grid;
	gap:.2rem;
	min-height:44px;
	height:100%;
	padding:.85rem .9rem .9rem;
	text-decoration:none;
	transition:background-color var(--dur-1) var(--ease-std), color var(--dur-1) var(--ease-std);
}
.rail__link::before { content: ""; position: absolute; left: .9rem; top: -4px; width: 7px; height: 7px; background: var(--ground); border: 1px solid var(--ink); transition: background-color var(--dur-1) var(--ease-std); }
.rail__link:hover { background: var(--paper-2); }
.rail__link:hover::before { background: var(--ink); }
.rail__link:active { background: var(--paper-3); }
.rail__link:focus-visible { outline: 2px solid var(--signal); outline-offset: -2px; }
.rail__link[aria-current='true']::before, .rail__item--signal .rail__link::before { background: var(--signal); border-color: var(--signal); }
.rail__date { font-family: var(--tipe-ff5); font-size: .875rem; font-weight: 500; color: var(--text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.rail__label { font-size: var(--fs-xs); color: var(--text-3); line-height: 1.35; }
.rail__kind { font-family: var(--tipe-ff5); font-size: .625rem; letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--signal-deep); }
@media (min-width: 1000px) {
	.rail-layout { grid-template-columns: 15rem minmax(0, 1fr); gap: var(--space-8); }
	.rail-layout__rail { position: sticky; top: 7rem; align-self: start; max-height: calc(100vh - 8rem); overflow-y: auto; }
	.rail {
		flex-direction:column;
		overflow:visible;
		border:0;
		background:transparent;
		padding-left:1.25rem;
	}
	.rail::before { content: ""; position: absolute; left: 3px; top: .5rem; bottom: .5rem; width: 1px; background: var(--ink); }
	.rail__item { min-width: 0; max-width: none; border-right: 0; border-bottom: 1px solid var(--rule); }
	.rail__link { padding: .8rem 0 .9rem .25rem; }
	.rail__link::before { left: -1.25rem; top: 1.05rem; }
	.rail__link:hover { background: transparent; padding-left: .5rem; }
}
.rail-body { max-width: calc(var(--measure) + 4rem); }
.rail-section { position: relative; padding: 0 0 clamp(2rem, 1.5rem + 2vw, 3rem); scroll-margin-top: 7rem; }
.rail-section + .rail-section { padding-top: clamp(2rem, 1.5rem + 2vw, 3rem); border-top: 1px solid var(--rule); }
.rail-section__marker {
	display:inline-flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.35rem .9rem;
	margin-bottom:.9rem;
	padding:.3rem .6rem .3rem 0;
	font-family:var(--tipe-ff5);
	font-size:var(--fs-mono-xs);
	letter-spacing:var(--track-caps);
	text-transform:uppercase;
	color:var(--text-3);
}
.rail-section__marker::before { content: ""; width: 7px; height: 7px; background: var(--ink); flex: none; }
.rail-section__marker time, .rail-section__marker b { font-weight: 500; color: var(--text); }
.rail-section--signal .rail-section__marker::before { background: var(--signal); }
.rail-section--signal { }
.rail-section h2 { font-size: clamp(1.35rem, 1.1rem + 1.2vw, 2rem); max-width: 26ch; }
.rail-section__body { margin-top: 1rem; }
.rail-section__body > * + * { margin-top: .95em; }
.rail-section__body p, .rail-section__body li { color: var(--text-2); }
.rail-section__body ol { padding-left: 1.4em; }
.rail-section__body ol > li::marker { font-family: var(--tipe-ff5); font-size: .85em; color: var(--steel); }
.rail-section__body li + li { margin-top: .45em; }
.rail-section__body a:not(.btn):not(.link-arrow) { color: var(--text); text-decoration-color: var(--signal); transition: color var(--dur-1) var(--ease-std); }
.rail-section__body a:not(.btn):not(.link-arrow):hover { color: var(--signal-deep); }
.rail-section__body a:not(.btn):not(.link-arrow):active { color: var(--ink); }
.contact-block .btn-row .btn--signal:hover { background: #f05a2f; border-color: var(--ink); box-shadow: 4px 4px 0 var(--ink); transform: translate(-2px, -2px); }
.contact-block .btn-row .btn--signal:active { background: var(--signal-deep); border-color: var(--signal-deep); color: var(--white); box-shadow: none; transform: translate(1px, 1px); }
.contact-block .btn-row .link-arrow:hover { color: var(--signal-deep); background: var(--paper-2); }
.contact-block .btn-row .link-arrow:active { color: var(--ink); background: var(--paper-3); }
.warranty-box { margin-top: 1.25rem; padding: 1.1rem 1.25rem; border: 1px solid var(--signal); background: var(--white); box-shadow: 4px 4px 0 var(--signal-soft); }
.warranty-box__n { display: block; font-family: var(--tipe-ff5); font-size: clamp(1.6rem, 1.3rem + 1.4vw, 2.2rem); font-weight: 500; letter-spacing: -.04em; line-height: 1; color: var(--signal-deep); }
.warranty-box p { margin-top: .5rem; }
.caps-text { font-size: .875rem; letter-spacing: .01em; text-transform: none; color: var(--text); border-left: 2px solid var(--ink); padding-left: 1rem; }

.error-page { padding-block: clamp(4rem, 3rem + 6vw, 9rem); }
.error-page__code { font-family: var(--tipe-ff5); font-size: clamp(4.5rem, 3rem + 10vw, 11rem); font-weight: 500; letter-spacing: -.06em; line-height: .9; color: var(--text); font-variant-numeric: tabular-nums slashed-zero; }
.error-page__code span { color: var(--signal); }
.error-page__title { margin-top: 1.25rem; max-width: 20ch; }
.error-page__text { margin-top: 1rem; color: var(--text-2); max-width: 48ch; }
.error-page__links { margin-top: 2rem; list-style: none; padding: 0; border-top: 1px solid var(--rule-strong); max-width: 36rem; }
.error-page__links li { border-bottom: 1px solid var(--rule); }
.error-page__links a { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 52px; padding: .7rem 0; text-decoration: none; font-family: var(--tipe-604); font-weight: 500; transition: color var(--dur-1) var(--ease-std), padding var(--dur-2) var(--ease-std); }
.error-page__links a:hover { color: var(--signal-deep); padding-left: .4rem; }
.error-page__links a:active { color: var(--ink); }
.error-page__links a:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.error-page__links .icon { color: var(--signal-deep); }

.thanks-receipt { display: inline-flex; align-items: center; gap: .75rem; padding: .6rem 1rem; border: 1px solid var(--rule-strong); font-family: var(--tipe-ff5); font-size: .875rem; background: var(--ground-raised); }

@media (max-width: 360px) {
	.hero__links { gap: .25rem 1.25rem; }
	.doc-card { padding-inline: 1rem; }
	.clause__head { grid-template-columns: 2.6rem minmax(0, 1fr); }
	.clause--named { margin-inline: -1rem; padding-inline: 1rem; }
	.faq__a { padding-right: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.fit__result { clip-path: none; }
	.rail-layout__rail, .band__aside, .contact-layout__aside { position: static; }
}

@media print {
	.doc-card { box-shadow: none; border: 0; margin-top: 0; padding: 0; }
	.doc-card::before { display: none; }
	.rail-layout { grid-template-columns: 1fr; }
	.rail-layout__rail { display: none; }
}

.faq__item { display: block; position: relative; }
.faq__item:not([open]) > .faq__a { display: none; }
.faq__a { position: static; transform: none; }
@media (max-width: 760px) {
	.mopi0c1 > .ledger thead { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
	.mopi0c1 > .ledger th, .mopi0c1 > .ledger td { width: auto; }
	.mopi0c1 > .ledger td::before { content: none; }
	.mopi0c1 > .ledger thead th { min-width: 9rem; }
}
.consent .btn--line { background: transparent; color: var(--paper); border-color: var(--steel-on-dark); }
.consent .btn--line:hover { background: var(--carbon-3); color: var(--paper); border-color: var(--paper); }
.consent .btn--line:active { background: var(--carbon-4); }
