:root {
	--tz-bg: #fffdf3;
	--tz-paper: #ffffff;
	--tz-sand: #ffeedd;
	--tz-stone: #f4f1e4;
	--tz-ink: #111111;
	--tz-ink-soft: #4a4640;
	--tz-accent: #ff5c00;
	--tz-accent-deep: #b03600;
	--tz-line: 3px solid #111111;
	--tz-hair: 2px solid #111111;
	--tz-shadow: 4px 4px 0 #111111;
	--tz-shadow-lg: 7px 7px 0 #111111;
	--tz-radius: 4px;
	--tz-wrap: 1160px;
	--tz-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--tz-mono: ui-monospace, Menlo, Consolas, "Liberation Mono", monospace;
}

*,
*::before,
*::after { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--tz-bg);
	color: var(--tz-ink);
	font-family: var(--tz-sans);
	font-size: 17px;
	line-height: 1.62;
	-webkit-text-size-adjust: 100%;
}

h1, h2, h3 {
	margin: 0 0 18px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.08;
}

h1 { font-size: clamp(2.4rem, 8vw, 4rem); }
h2 { font-size: clamp(1.7rem, 4.4vw, 2.5rem); }
h3 { font-size: 1.2rem; letter-spacing: -0.01em; }

p { margin: 0 0 18px; }

a {
	color: var(--tz-accent-deep);
	text-underline-offset: 3px;
}

a:hover { color: var(--tz-ink); }

a:focus-visible,
button:focus-visible,
summary:focus-visible {
	outline: 2px solid var(--tz-accent-deep);
	outline-offset: 2px;
}

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

table {
	border-collapse: collapse;
	width: 100%;
	font-size: 0.95rem;
}

ul, ol { margin: 0 0 18px; padding-left: 22px; }

li { margin-bottom: 9px; }

strong { font-weight: 800; }

.tz-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--tz-accent);
	border: var(--tz-line);
	padding: 12px 20px;
	font-weight: 800;
	z-index: 40;
}

.tz-skip:focus {
	left: 12px;
	top: 12px;
}

.tz-wrap {
	max-width: var(--tz-wrap);
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}

.tz-head {
	border-bottom: var(--tz-line);
	background: var(--tz-bg);
}

.tz-head__in {
	max-width: var(--tz-wrap);
	margin: 0 auto;
	padding: 14px 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 20px;
}

.tz-head__logo {
	font-size: 1.32rem;
	font-weight: 800;
	letter-spacing: -0.04em;
	text-decoration: none;
	color: var(--tz-ink);
	border: var(--tz-line);
	background: var(--tz-accent);
	padding: 7px 13px;
	box-shadow: var(--tz-shadow);
}

.tz-head__logo-dot { color: var(--tz-paper); }

.tz-head__nav { margin-right: auto; }

.tz-head__list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tz-head__list li { margin: 0; }

.tz-head__link {
	display: inline-block;
	padding: 11px 2px;
	min-height: 44px;
	font-weight: 700;
	font-size: 0.97rem;
	color: var(--tz-ink);
	text-decoration: none;
	border-bottom: 3px solid #11111100;
}

.tz-head__link:hover { border-bottom-color: var(--tz-accent); }

.tz-head__link--on { border-bottom-color: var(--tz-ink); }

.tz-btn {
	display: inline-block;
	border: var(--tz-line);
	border-radius: var(--tz-radius);
	background: var(--tz-paper);
	color: var(--tz-ink);
	font: inherit;
	font-weight: 800;
	text-decoration: none;
	padding: 14px 26px;
	min-height: 44px;
	box-shadow: var(--tz-shadow);
	cursor: pointer;
	transition: transform 140ms ease, box-shadow 140ms ease;
}

.tz-btn:hover {
	color: var(--tz-ink);
	transform: translate(3px, 3px);
	box-shadow: 1px 1px 0 var(--tz-ink);
}

.tz-btn--accent { background: var(--tz-accent); }

.tz-btn--sand { background: var(--tz-sand); }

.tz-btn--small { padding: 11px 18px; font-size: 0.94rem; }

.tz-crumbs {
	border-bottom: var(--tz-hair);
	background: var(--tz-stone);
	font-size: 0.9rem;
}

.tz-crumbs ol {
	max-width: var(--tz-wrap);
	margin: 0 auto;
	padding: 10px 20px;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tz-crumbs li { margin: 0; }

.tz-crumbs a { font-weight: 700; }

.tz-hero {
	padding-top: 46px;
	padding-bottom: 40px;
}

.tz-hero__title { max-width: 18ch; }

.tz-hero__lead {
	font-size: 1.16rem;
	max-width: 62ch;
}

.tz-hero__row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 24px;
}

.tz-hero__meta {
	margin-top: 26px;
	font-size: 0.9rem;
	color: var(--tz-ink-soft);
	border-left: 5px solid var(--tz-accent);
	padding-left: 12px;
}

.tz-sec {
	padding-top: 44px;
	padding-bottom: 34px;
}

.tz-sec--tight { padding-top: 28px; }

.tz-sec--sand { background: var(--tz-sand); border-top: var(--tz-line); border-bottom: var(--tz-line); }

.tz-sec--stone { background: var(--tz-stone); border-top: var(--tz-line); border-bottom: var(--tz-line); }

.tz-sec__title { max-width: 24ch; }

.tz-sec__lead {
	max-width: 68ch;
	font-size: 1.05rem;
}

.tz-prose { max-width: 68ch; }

.tz-prose h3 { margin-top: 26px; }

.tz-panel {
	border: var(--tz-line);
	border-radius: var(--tz-radius);
	background: var(--tz-paper);
	box-shadow: var(--tz-shadow);
	padding: 22px;
}

.tz-panel--sand { background: var(--tz-sand); }

.tz-panel--flat { box-shadow: none; }

.tz-panel__title { font-size: 1.05rem; margin-bottom: 10px; }

.tz-panel__text:last-child { margin-bottom: 0; }

.tz-fig {
	margin: 0;
	border: var(--tz-line);
	background: var(--tz-paper);
	box-shadow: var(--tz-shadow);
	padding: 10px;
}

.tz-fig__cap {
	font-size: 0.86rem;
	color: var(--tz-ink-soft);
	padding: 10px 4px 2px;
	line-height: 1.45;
}

.tz-fig--wide { max-width: 520px; }

.tz-fig--tall { max-width: 330px; }

.tz-table {
	overflow-x: auto;
	border: var(--tz-line);
	background: var(--tz-paper);
	box-shadow: var(--tz-shadow);
	margin-bottom: 12px;
}

.tz-table table { min-width: 560px; }

.tz-table caption {
	text-align: left;
	font-weight: 800;
	padding: 14px 16px;
	border-bottom: var(--tz-hair);
	background: var(--tz-sand);
}

.tz-table th,
.tz-table td {
	border-bottom: 1px solid #1111112e;
	padding: 11px 16px;
	text-align: left;
	vertical-align: top;
}

.tz-table thead th {
	border-bottom: var(--tz-hair);
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.tz-table tbody th { font-weight: 800; }

.tz-table tbody tr:last-child th,
.tz-table tbody tr:last-child td { border-bottom: 0; }

.tz-table__note {
	font-style: italic;
	font-size: 0.86rem;
	color: var(--tz-ink-soft);
	margin-bottom: 24px;
}

.tz-list {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	display: grid;
	gap: 14px;
}

.tz-list__item {
	min-width: 0;
	border-left: 6px solid var(--tz-accent);
	padding-left: 14px;
}

.tz-list__item--flat { border-left-color: var(--tz-ink); }

.tz-list__term {
	display: block;
	font-weight: 800;
}

.tz-steps {
	counter-reset: tzstep;
	list-style: none;
	padding: 0;
	margin: 0 0 22px;
	display: grid;
	gap: 16px;
}

.tz-steps__item {
	min-width: 0;
	counter-increment: tzstep;
	border: var(--tz-line);
	background: var(--tz-paper);
	padding: 18px 18px 18px 62px;
	position: relative;
	margin: 0;
}

.tz-steps__item::before {
	content: counter(tzstep, decimal-leading-zero);
	position: absolute;
	left: 14px;
	top: 16px;
	font-family: var(--tz-mono);
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--tz-accent-deep);
}

.tz-steps__title { font-size: 1.02rem; margin-bottom: 6px; }

.tz-steps__text { margin-bottom: 0; font-size: 0.97rem; }

.tz-mono {
	font-family: var(--tz-mono);
	font-size: 0.86rem;
	line-height: 1.7;
	border: var(--tz-line);
	background: var(--tz-stone);
	box-shadow: var(--tz-shadow);
	padding: 18px;
	overflow-x: auto;
	white-space: pre;
	margin: 0 0 14px;
}

.tz-diagram {
	border: var(--tz-line);
	background: var(--tz-paper);
	box-shadow: var(--tz-shadow);
	padding: 16px;
	margin-bottom: 14px;
}

.tz-diagram svg {
	display: block;
	width: 100%;
	height: auto;
}

.tz-dl {
	margin: 0 0 20px;
	display: grid;
	gap: 6px 26px;
}

.tz-dl dt {
	font-weight: 800;
	border-bottom: 3px solid var(--tz-accent);
	display: inline-block;
	padding-bottom: 2px;
}

.tz-dl dd {
	min-width: 0;
	margin: 0 0 14px;
	font-size: 0.97rem;
}

.tz-myth {
	display: grid;
	gap: 14px;
	margin-bottom: 20px;
}

.tz-myth__item {
	min-width: 0;
	border: var(--tz-line);
	background: var(--tz-paper);
	padding: 16px 18px;
}

.tz-myth__wrong {
	font-weight: 800;
	margin-bottom: 8px;
}

.tz-myth__right { margin-bottom: 0; font-size: 0.97rem; }

.tz-time {
	list-style: none;
	margin: 0 0 22px;
	padding: 0 0 0 22px;
	border-left: var(--tz-line);
}

.tz-time__item {
	position: relative;
	padding-bottom: 18px;
	margin: 0;
}

.tz-time__item::before {
	content: "";
	position: absolute;
	left: -31px;
	top: 6px;
	width: 15px;
	height: 15px;
	background: var(--tz-accent);
	border: var(--tz-hair);
}

.tz-time__date {
	font-family: var(--tz-mono);
	font-weight: 700;
	font-size: 0.9rem;
	display: block;
}

.tz-time__text { margin-bottom: 0; font-size: 0.97rem; }

.tz-gal {
	display: grid;
	gap: 18px;
	margin-bottom: 22px;
}

.tz-play {
	border: var(--tz-line);
	background: var(--tz-stone);
	padding: 16px 18px;
	margin-bottom: 22px;
}

.tz-play__link { font-weight: 800; }

.tz-play__note {
	margin-bottom: 0;
	font-size: 0.86rem;
	color: var(--tz-ink-soft);
}

.tz-note {
	font-size: 0.88rem;
	color: var(--tz-ink-soft);
	font-style: italic;
}

.tz-faq {
	display: grid;
	gap: 10px;
	margin-bottom: 22px;
}

.tz-faq__item {
	min-width: 0;
	border: var(--tz-line);
	background: var(--tz-paper);
	box-shadow: var(--tz-shadow);
}

.tz-faq__q {
	cursor: pointer;
	font-weight: 800;
	padding: 15px 18px;
	min-height: 44px;
	list-style: none;
}

.tz-faq__q::-webkit-details-marker { display: none; }

.tz-faq__q::after {
	content: "+";
	float: right;
	font-family: var(--tz-mono);
	color: var(--tz-accent-deep);
}

.tz-faq__item[open] .tz-faq__q::after { content: "\2212"; }

.tz-faq__a {
	padding: 0 18px 16px;
	margin: 0;
	font-size: 0.97rem;
}

.tz-cta {
	border: var(--tz-line);
	background: var(--tz-accent);
	box-shadow: var(--tz-shadow-lg);
	padding: 30px 24px;
	margin-bottom: 46px;
}

.tz-cta__title { max-width: 20ch; }

.tz-cta__text { max-width: 56ch; }

.tz-cta__small {
	margin-bottom: 0;
	margin-top: 20px;
	font-size: 0.88rem;
}

.tz-foot {
	border-top: var(--tz-line);
	background: var(--tz-stone);
	padding-top: 34px;
	padding-bottom: 34px;
}

.tz-foot__in {
	min-width: 0;
	max-width: var(--tz-wrap);
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	display: grid;
	gap: 26px;
}

.tz-foot__owner { font-weight: 800; margin-bottom: 6px; }

.tz-foot__line { margin-bottom: 4px; font-size: 0.95rem; }

.tz-foot__note {
	font-size: 0.88rem;
	color: var(--tz-ink-soft);
	margin-bottom: 0;
	margin-top: 10px;
}

.tz-foot__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tz-foot__link {
	display: inline-block;
	padding: 12px 0;
	min-height: 44px;
	font-weight: 700;
}

.tz-foot__copy {
	font-size: 0.86rem;
	color: var(--tz-ink-soft);
	margin: 0;
	border-top: var(--tz-hair);
	padding-top: 18px;
}

.tz-cookie {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 30;
	background: var(--tz-paper);
	border-top: var(--tz-line);
}

.tz-cookie__in {
	max-width: var(--tz-wrap);
	margin: 0 auto;
	padding: 16px 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

.tz-cookie__text {
	margin: 0;
	flex: 1 1 260px;
	font-size: 0.92rem;
}

.tz-cookie__row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.tz-cookie__row .tz-btn { flex: 1 1 auto; }

.tz-flow__band { padding-top: 40px; padding-bottom: 30px; }

.tz-flow__band--edge { border-top: var(--tz-line); }

.tz-bento { display: grid; gap: 16px; margin-bottom: 26px; }

.tz-bento__cell {
	min-width: 0;
	border: var(--tz-line);
	background: var(--tz-paper);
	box-shadow: var(--tz-shadow);
	padding: 20px;
}

.tz-bento__cell--accent { background: var(--tz-accent); }

.tz-bento__cell--sand { background: var(--tz-sand); }

.tz-bento__num {
	font-family: var(--tz-mono);
	font-size: 2.1rem;
	font-weight: 700;
	display: block;
	line-height: 1.1;
}

.tz-bento__label { margin-bottom: 0; font-size: 0.94rem; }

.tz-zig__row {
	display: grid;
	gap: 22px;
	padding-top: 34px;
	padding-bottom: 20px;
}

.tz-zig__text { min-width: 0; }

.tz-zig__media { min-width: 0; }

.tz-cards {
	display: grid;
	gap: 18px;
	align-items: start;
	margin-bottom: 26px;
}

.tz-cards__card {
	min-width: 0;
	border: var(--tz-line);
	background: var(--tz-paper);
	box-shadow: var(--tz-shadow);
	padding: 20px;
}

.tz-cards__card--tall { padding-bottom: 30px; }

.tz-cards__head {
	font-family: var(--tz-mono);
	font-size: 0.82rem;
	color: var(--tz-accent-deep);
	margin-bottom: 8px;
}

.tz-bands__band {
	padding-top: 42px;
	padding-bottom: 34px;
	border-bottom: var(--tz-line);
}

.tz-bands__band--sand { background: var(--tz-sand); }

.tz-bands__band--paper { background: var(--tz-paper); }

.tz-split { display: grid; gap: 26px; }

.tz-split__aside {
	min-width: 0;
	align-self: start;
}

.tz-split__box {
	border: var(--tz-line);
	background: var(--tz-accent);
	box-shadow: var(--tz-shadow);
	padding: 22px;
}

.tz-split__main { min-width: 0; }

.tz-ladder {
	list-style: none;
	counter-reset: tzrung;
	margin: 0;
	padding: 0;
}

.tz-ladder__item {
	counter-increment: tzrung;
	position: relative;
	padding-left: 0;
	padding-bottom: 32px;
	margin: 0;
}

.tz-ladder__num {
	display: inline-block;
	font-family: var(--tz-mono);
	font-weight: 700;
	border: var(--tz-line);
	background: var(--tz-accent);
	padding: 6px 12px;
	margin-bottom: 14px;
}

.tz-ladder__body { max-width: 70ch; }

.tz-comp__intro { max-width: 66ch; margin-bottom: 26px; }

.tz-comp__grid { display: grid; gap: 18px; margin-bottom: 26px; }

.tz-comp__note {
	min-width: 0;
	border: var(--tz-line);
	background: var(--tz-sand);
	padding: 18px;
}

.tz-cover {
	border-bottom: var(--tz-line);
	background: var(--tz-accent);
	padding-top: 64px;
	padding-bottom: 56px;
}

.tz-cover__title { max-width: 16ch; }

.tz-cover__line {
	font-size: 1.1rem;
	max-width: 52ch;
	margin-bottom: 26px;
}

.tz-column {
	max-width: 720px;
	margin: 0 auto;
	padding-top: 38px;
}

.tz-column h2 { margin-top: 34px; }

.tz-offset { display: grid; gap: 8px; }

.tz-offset__block {
	min-width: 0;
	padding-top: 34px;
	padding-bottom: 26px;
}

.tz-offset__block--edge { border-top: var(--tz-line); }

.tz-anim .tz-reveal {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 220ms ease, transform 220ms ease;
}

.tz-anim .tz-reveal.is-in {
	opacity: 1;
	transform: none;
}

@media (min-width: 620px) {
	.tz-gal { grid-template-columns: repeat(2, 1fr); }
	.tz-cookie__row .tz-btn { flex: 0 0 auto; }
	.tz-dl { grid-template-columns: 1fr; }
}

@media (min-width: 760px) {
	body { font-size: 17.5px; }
	.tz-dl {
		grid-template-columns: 1fr 1fr;
	}
	.tz-myth { grid-template-columns: 1fr 1fr; }
	.tz-foot__in { grid-template-columns: 1.4fr 1fr; }
	.tz-foot__copy { grid-column: 1 / -1; }
	.tz-fig--wide { max-width: 100%; }
}

@media (min-width: 900px) {
	.tz-bento {
		grid-template-columns: repeat(4, 1fr);
	}
	.tz-bento__cell--wide { grid-column: span 2; }
	.tz-bento__cell--big { grid-column: span 2; grid-row: span 2; }
	.tz-zig__row {
		grid-template-columns: 1fr 400px;
		align-items: center;
		gap: 40px;
	}
	.tz-zig__row--flip .tz-zig__text { order: 2; }
	.tz-zig__row--flip .tz-zig__media { order: 1; }
	.tz-cards { grid-template-columns: repeat(3, 1fr); }
	.tz-cards__card--tall { grid-row: span 2; }
	.tz-split {
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}
	.tz-split__aside { position: sticky; top: 22px; }
	.tz-comp__grid { grid-template-columns: repeat(2, 1fr); }
	.tz-ladder { padding-left: 34px; border-left: var(--tz-line); }
	.tz-ladder__item::before {
		content: "";
		position: absolute;
		left: -43px;
		top: 16px;
		width: 34px;
		border-top: var(--tz-line);
	}
	.tz-offset {
		grid-template-columns: repeat(12, 1fr);
	}
	.tz-offset__block--a { grid-column: 2 / 10; }
	.tz-offset__block--b { grid-column: 1 / 8; }
	.tz-offset__block--c { grid-column: 5 / 13; }
	.tz-offset__block--d { grid-column: 3 / 12; }
	.tz-offset__block--e { grid-column: 1 / 11; }
	.tz-offset__block--f { grid-column: 4 / 13; }
	.tz-steps { grid-template-columns: 1fr 1fr; }
	.tz-steps__item--long { grid-column: 1 / -1; }
	.tz-gal--three { grid-template-columns: repeat(3, 1fr); }
	.tz-hero__title { font-size: clamp(2.6rem, 5.4vw, 4rem); }
}

@media (max-width: 619px) {
	.tz-fig--wide,
	.tz-fig--tall { max-width: 100%; }
	.tz-cta { padding: 24px 18px; }
	.tz-mono { font-size: 0.78rem; }
}

@media (prefers-reduced-motion: reduce) {
	.tz-btn { transition: none; }
	.tz-btn:hover { transform: none; }
	.tz-anim .tz-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
