/*
Theme Name: CNC Carving Hub
Description: A focused premium gateway for the CNC Carving Hub group.
Author: CNC Carving Hub
Template: astra
Version: 1.0.1
Text Domain: cnc-carving-hub
*/

:root {
	--cch-ink: #17201f;
	--cch-ink-soft: #24302e;
	--cch-forest: #102f2d;
	--cch-teal: #155a54;
	--cch-teal-light: #7fb8aa;
	--cch-gold: #e6b65e;
	--cch-gold-light: #f3d99f;
	--cch-shell: #f3efe6;
	--cch-paper: #fcfaf5;
	--cch-line: #d6d0c3;
	--cch-rust: #a64c31;
	--cch-white: #fffefa;
	--cch-display: "Barlow Condensed", "Arial Narrow", sans-serif;
	--cch-body: "Manrope", Arial, sans-serif;
	--cch-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	--cch-max: 1240px;
	--cch-pad: clamp(20px, 4vw, 64px);
	--cch-radius: 3px;
	--cch-shadow: 0 28px 70px rgba(9, 31, 29, .16);
}

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

html {
	scroll-behavior: smooth;
	scroll-padding-top: 92px;
}

body.cch-site {
	margin: 0;
	background: var(--cch-paper);
	color: var(--cch-ink);
	font-family: var(--cch-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

body.cch-menu-open {
	overflow: hidden;
}

body.cch-site h1,
body.cch-site h2,
body.cch-site h3,
body.cch-site p,
body.cch-site ul,
body.cch-site ol {
	margin-top: 0;
}

body.cch-site h1,
body.cch-site h2,
body.cch-site h3 {
	color: inherit;
	font-family: var(--cch-display);
	font-weight: 600;
	letter-spacing: -.025em;
	line-height: .98;
}

body.cch-site a {
	color: inherit;
	text-decoration: none;
}

body.cch-site button,
body.cch-site input,
body.cch-site textarea,
body.cch-site select {
	font: inherit;
}

body.cch-site img,
body.cch-site svg {
	display: block;
	max-width: 100%;
}

::selection {
	background: var(--cch-gold);
	color: var(--cch-ink);
}

:focus-visible {
	outline: 3px solid var(--cch-gold);
	outline-offset: 4px;
}

.cch-grid {
	margin-inline: auto;
	max-width: var(--cch-max);
	padding-inline: var(--cch-pad);
	width: 100%;
}

.cch-skip-link {
	background: var(--cch-gold);
	color: var(--cch-ink) !important;
	font-size: 14px;
	font-weight: 700;
	left: 16px;
	padding: 10px 16px;
	position: fixed;
	top: -80px;
	z-index: 10000;
}

.cch-skip-link:focus {
	top: 16px;
}

.cch-header {
	background: rgba(18, 35, 33, .96);
	border-bottom: 1px solid rgba(255, 255, 255, .11);
	color: var(--cch-white);
	left: 0;
	position: sticky;
	right: 0;
	top: 0;
	transition: background-color .2s ease, box-shadow .2s ease;
	z-index: 1000;
}

.cch-header.is-scrolled {
	background: rgba(15, 33, 31, .985);
	box-shadow: 0 10px 35px rgba(4, 18, 17, .22);
}

body.admin-bar .cch-header {
	top: 32px;
}

.cch-header__inner {
	display: flex;
	gap: clamp(18px, 2.6vw, 38px);
	height: 82px;
	margin-inline: auto;
	max-width: var(--cch-max);
	padding-inline: var(--cch-pad);
	width: 100%;
	align-items: center;
}

.cch-brand {
	display: inline-flex;
	flex: 0 0 auto;
	gap: 11px;
	align-items: center;
}

.cch-brand__mark {
	color: var(--cch-gold);
	height: 38px;
	width: 38px;
}

.cch-brand__copy {
	display: flex;
	line-height: 1;
	flex-direction: column;
}

.cch-brand__copy strong {
	font-family: var(--cch-display);
	font-size: 19px;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.cch-brand__copy span {
	color: var(--cch-teal-light);
	font-family: var(--cch-mono);
	font-size: 9px;
	letter-spacing: .18em;
	margin-top: 5px;
	text-transform: uppercase;
}

.cch-nav {
	display: flex;
	gap: clamp(17px, 2vw, 29px);
	margin-left: auto;
	align-items: center;
}

.cch-nav a {
	color: rgba(255, 255, 255, .77);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .035em;
	position: relative;
}

.cch-nav a::after {
	background: var(--cch-gold);
	bottom: -8px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .2s ease;
	width: 100%;
}

.cch-nav a:hover,
.cch-nav a:focus-visible {
	color: var(--cch-white);
}

.cch-nav a:hover::after,
.cch-nav a:focus-visible::after {
	transform: scaleX(1);
}

.cch-button {
	background: var(--cch-teal);
	border: 1px solid var(--cch-teal);
	border-radius: var(--cch-radius);
	color: var(--cch-white) !important;
	display: inline-flex;
	font-size: 13px;
	font-weight: 700;
	gap: 22px;
	justify-content: space-between;
	letter-spacing: .02em;
	min-height: 52px;
	padding: 14px 21px;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
	align-items: center;
}

.cch-button:hover {
	background: #1a6961;
	border-color: #1a6961;
	transform: translateY(-2px);
}

.cch-button--small {
	background: transparent;
	border-color: rgba(230, 182, 94, .65);
	color: var(--cch-gold-light) !important;
	flex: 0 0 auto;
	font-size: 11px;
	min-height: 40px;
	padding: 8px 15px;
}

.cch-button--small:hover {
	background: var(--cch-gold);
	border-color: var(--cch-gold);
	color: var(--cch-ink) !important;
}

.cch-button--gold {
	background: var(--cch-gold);
	border-color: var(--cch-gold);
	color: var(--cch-ink) !important;
}

.cch-button--gold:hover {
	background: var(--cch-gold-light);
	border-color: var(--cch-gold-light);
}

.cch-menu-toggle {
	background: transparent;
	border: 0;
	color: var(--cch-white);
	cursor: pointer;
	display: none;
	gap: 12px;
	padding: 10px 0 10px 10px;
	align-items: center;
}

.cch-menu-toggle__label {
	font-family: var(--cch-mono);
	font-size: 10px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.cch-menu-toggle__lines {
	display: grid;
	gap: 6px;
	width: 24px;
}

.cch-menu-toggle__lines i {
	background: currentColor;
	height: 1px;
	transition: transform .2s ease;
	width: 100%;
}

.cch-menu-toggle[aria-expanded="true"] .cch-menu-toggle__lines i:first-child {
	transform: translateY(3.5px) rotate(45deg);
}

.cch-menu-toggle[aria-expanded="true"] .cch-menu-toggle__lines i:last-child {
	transform: translateY(-3.5px) rotate(-45deg);
}

.cch-mobile-menu {
	background: var(--cch-ink);
	border-top: 1px solid rgba(255, 255, 255, .1);
	inset: 82px 0 0;
	min-height: calc(100vh - 82px);
	padding: 26px var(--cch-pad) 40px;
	position: fixed;
	z-index: 999;
}

.cch-mobile-menu[hidden] {
	display: none;
}

.cch-mobile-menu a:not(.cch-button) {
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	display: block;
	font-family: var(--cch-display);
	font-size: clamp(26px, 7vw, 42px);
	line-height: 1;
	padding: 15px 0;
}

.cch-mobile-menu .cch-button {
	margin-top: 26px;
	width: 100%;
}

.cch-kicker {
	color: var(--cch-teal);
	display: flex;
	font-family: var(--cch-mono);
	font-size: 10px;
	font-weight: 700;
	gap: 10px;
	letter-spacing: .13em;
	line-height: 1.4;
	margin-bottom: 25px;
	text-transform: uppercase;
	align-items: center;
}

.cch-kicker span {
	background: var(--cch-rust);
	display: inline-block;
	height: 2px;
	width: 26px;
}

.cch-kicker--light {
	color: var(--cch-teal-light);
}

.cch-kicker--light span {
	background: var(--cch-gold);
}

.cch-hero {
	background:
		linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
		var(--cch-ink);
	background-size: 48px 48px;
	color: var(--cch-white);
	min-height: calc(100svh - 82px);
	overflow: hidden;
	position: relative;
}

.cch-hero::before {
	background: var(--cch-teal);
	content: "";
	filter: blur(1px);
	height: 540px;
	top: -310px;
	left: 46%;
	opacity: .24;
	position: absolute;
	transform: rotate(18deg);
	width: 640px;
}

.cch-hero__grid {
	display: grid;
	gap: clamp(50px, 7vw, 105px);
	grid-template-columns: minmax(0, .98fr) minmax(390px, .78fr);
	min-height: calc(100svh - 190px);
	padding-bottom: clamp(64px, 8vh, 106px);
	padding-top: clamp(72px, 10vh, 124px);
	position: relative;
	align-items: center;
}

.cch-hero__copy {
	max-width: 680px;
}

.cch-hero h1 {
	font-size: clamp(62px, 7.1vw, 112px);
	letter-spacing: -.035em;
	margin-bottom: 30px;
	text-transform: uppercase;
}

.cch-hero h1 em {
	color: var(--cch-gold);
	font-style: normal;
}

.cch-hero__lede {
	color: rgba(255, 255, 255, .73);
	font-size: clamp(16px, 1.45vw, 20px);
	line-height: 1.7;
	margin-bottom: 35px;
	max-width: 640px;
}

.cch-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	align-items: center;
}

.cch-text-link {
	display: inline-flex;
	font-size: 13px;
	font-weight: 700;
	gap: 9px;
	padding-bottom: 5px;
	position: relative;
	align-items: center;
}

.cch-text-link::after {
	background: currentColor;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: width .2s ease;
	width: 30%;
}

.cch-text-link:hover::after {
	width: 100%;
}

.cch-text-link--light {
	color: var(--cch-white) !important;
}

.cch-text-link--dark {
	color: var(--cch-ink) !important;
}

.cch-blueprint {
	background: rgba(17, 62, 58, .52);
	border: 1px solid rgba(127, 184, 170, .38);
	box-shadow: 26px 28px 0 rgba(4, 15, 14, .2);
	color: var(--cch-teal-light);
	position: relative;
}

.cch-blueprint::before,
.cch-blueprint::after {
	border-color: var(--cch-gold);
	border-style: solid;
	content: "";
	height: 22px;
	position: absolute;
	width: 22px;
}

.cch-blueprint::before {
	border-width: 2px 0 0 2px;
	left: -1px;
	top: -1px;
}

.cch-blueprint::after {
	border-width: 0 2px 2px 0;
	bottom: -1px;
	right: -1px;
}

.cch-blueprint__top,
.cch-blueprint__status {
	display: flex;
	font-family: var(--cch-mono);
	font-size: 9px;
	justify-content: space-between;
	letter-spacing: .13em;
	padding: 14px 17px;
	text-transform: uppercase;
	align-items: center;
}

.cch-blueprint__top {
	border-bottom: 1px solid rgba(127, 184, 170, .25);
}

.cch-blueprint__drawing {
	aspect-ratio: 560 / 430;
	color: var(--cch-teal-light);
	width: 100%;
}

.cch-blueprint__guides {
	opacity: .4;
	stroke-width: 1;
}

.cch-blueprint__toolpath {
	stroke: var(--cch-gold);
	stroke-linecap: square;
	stroke-linejoin: round;
	stroke-width: 3;
}

.cch-blueprint__nodes {
	fill: var(--cch-ink);
	stroke: var(--cch-gold);
	stroke-width: 3;
}

.cch-blueprint__labels {
	fill: var(--cch-white);
	font-family: var(--cch-mono);
	font-size: 11px;
	letter-spacing: .06em;
}

.cch-blueprint__status {
	border-top: 1px solid rgba(127, 184, 170, .25);
	justify-content: flex-start;
	gap: 9px;
}

.cch-blueprint__status i {
	background: var(--cch-gold);
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(230, 182, 94, .12);
	height: 6px;
	width: 6px;
}

.cch-proof-strip {
	border-top: 1px solid rgba(255, 255, 255, .12);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	padding-bottom: 24px;
	padding-top: 24px;
	position: relative;
}

.cch-proof-strip > div {
	display: flex;
	gap: 13px;
	padding-inline: 25px;
	align-items: baseline;
}

.cch-proof-strip > div:first-child {
	padding-left: 0;
}

.cch-proof-strip > div + div {
	border-left: 1px solid rgba(255, 255, 255, .12);
}

.cch-proof-strip strong {
	color: var(--cch-gold-light);
	font-family: var(--cch-display);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: .015em;
	text-transform: uppercase;
}

.cch-proof-strip span {
	color: rgba(255, 255, 255, .5);
	font-size: 11px;
}

.cch-section {
	padding-block: clamp(86px, 10vw, 150px);
}

.cch-section-intro {
	display: grid;
	gap: clamp(50px, 10vw, 165px);
	grid-template-columns: 1.2fr .8fr;
	margin-bottom: clamp(48px, 6vw, 80px);
	align-items: end;
}

.cch-section-intro h2,
.cch-about h2,
.cch-contact h2,
.cch-method h2 {
	font-size: clamp(48px, 5.7vw, 82px);
	margin-bottom: 0;
	text-transform: uppercase;
}

.cch-section-intro > p {
	color: #53605d;
	font-size: 16px;
	line-height: 1.75;
	margin-bottom: 5px;
	max-width: 490px;
}

.cch-route-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border: 1px solid var(--cch-line);
}

.cch-route-card {
	background: var(--cch-white);
	display: flex;
	min-height: 620px;
	padding: clamp(27px, 3.2vw, 46px);
	position: relative;
	transition: background-color .25s ease, transform .25s ease;
	flex-direction: column;
}

.cch-route-card + .cch-route-card {
	border-left: 1px solid var(--cch-line);
}

.cch-route-card::before {
	content: "";
	height: 5px;
	left: -1px;
	position: absolute;
	right: -1px;
	top: -1px;
}

.cch-route-card--custom::before {
	background: var(--cch-teal);
}

.cch-route-card--art::before {
	background: var(--cch-rust);
}

.cch-route-card--files::before {
	background: var(--cch-gold);
}

.cch-route-card:hover {
	background: #fff;
	box-shadow: var(--cch-shadow);
	transform: translateY(-7px);
	z-index: 2;
}

.cch-route-card__top {
	display: flex;
	font-family: var(--cch-mono);
	font-size: 9px;
	justify-content: space-between;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.cch-route-card__top span:first-child {
	color: var(--cch-rust);
	font-weight: 700;
}

.cch-route-card__icon {
	color: var(--cch-teal);
	height: 90px;
	margin: 60px 0 46px;
	width: 90px;
}

.cch-route-card__icon svg {
	fill: none;
	stroke: currentColor;
	stroke-linecap: square;
	stroke-linejoin: miter;
	stroke-width: 1.7;
}

.cch-route-card__eyebrow {
	color: var(--cch-teal);
	font-family: var(--cch-mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.cch-route-card h3 {
	font-size: clamp(33px, 3vw, 44px);
	margin-bottom: 22px;
	text-transform: uppercase;
}

.cch-route-card > p:not(.cch-route-card__eyebrow) {
	color: #57615f;
	font-size: 13px;
	line-height: 1.75;
	margin-bottom: 24px;
}

.cch-route-card ul {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	list-style: none;
	margin-bottom: 35px;
	padding: 0;
}

.cch-route-card li {
	background: var(--cch-shell);
	border-radius: 100px;
	font-family: var(--cch-mono);
	font-size: 8px;
	letter-spacing: .09em;
	padding: 6px 9px;
	text-transform: uppercase;
}

.cch-card-link {
	border-top: 1px solid var(--cch-line);
	display: flex;
	font-size: 12px;
	font-weight: 700;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 20px;
	align-items: center;
}

.cch-card-link i {
	font-size: 18px;
	font-style: normal;
	transition: transform .2s ease;
}

.cch-card-link:hover i {
	transform: translate(3px, -3px);
}

.cch-route-note {
	background: var(--cch-shell);
	display: grid;
	gap: 22px;
	grid-template-columns: auto 1fr auto;
	margin-top: 22px;
	padding: 25px 30px;
	align-items: center;
}

.cch-route-note__label {
	color: var(--cch-rust);
	font-family: var(--cch-mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.cch-route-note p {
	font-size: 12px;
	line-height: 1.65;
	margin-bottom: 0;
}

.cch-route-note a {
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
}

.cch-method {
	background: var(--cch-forest);
	color: var(--cch-white);
	padding-bottom: 0;
}

.cch-method__grid {
	display: grid;
	gap: clamp(60px, 9vw, 145px);
	grid-template-columns: .95fr 1.05fr;
}

.cch-method__heading > p:last-child {
	color: rgba(255, 255, 255, .57);
	font-size: 14px;
	margin-top: 30px;
	max-width: 475px;
}

.cch-steps {
	list-style: none;
	margin-bottom: 0;
	padding: 0;
}

.cch-steps li {
	border-top: 1px solid rgba(255, 255, 255, .15);
	display: grid;
	gap: 27px;
	grid-template-columns: 42px 1fr;
	padding: 29px 0;
}

.cch-steps li:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.cch-steps > li > span {
	color: var(--cch-gold);
	font-family: var(--cch-mono);
	font-size: 10px;
}

.cch-steps h3 {
	font-size: 27px;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.cch-steps p {
	color: rgba(255, 255, 255, .55);
	font-size: 12px;
	margin-bottom: 0;
}

.cch-audience {
	border-top: 1px solid rgba(255, 255, 255, .14);
	display: grid;
	grid-template-columns: 1.15fr repeat(5, 1fr);
	margin-top: clamp(80px, 9vw, 130px);
	padding-bottom: 30px;
	padding-top: 30px;
}

.cch-audience > span {
	color: var(--cch-teal-light);
	font-family: var(--cch-mono);
	font-size: 9px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.cch-audience > div {
	font-family: var(--cch-display);
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
}

.cch-audience i {
	color: var(--cch-gold);
	font-family: var(--cch-mono);
	font-size: 8px;
	font-style: normal;
	margin-right: 7px;
}

.cch-guides {
	background: var(--cch-shell);
}

.cch-section-intro--guides {
	align-items: center;
}

.cch-guide-grid {
	border-bottom: 1px solid var(--cch-line);
	border-right: 1px solid var(--cch-line);
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.cch-guide-card {
	background: var(--cch-paper);
	border-left: 1px solid var(--cch-line);
	border-top: 1px solid var(--cch-line);
	display: grid;
	gap: 25px;
	grid-template-columns: 72px 1fr auto;
	min-height: 275px;
	padding: clamp(27px, 3.5vw, 48px);
	transition: background-color .2s ease, color .2s ease;
	align-items: start;
}

.cch-guide-card:hover {
	background: var(--cch-ink);
	color: var(--cch-white);
}

.cch-guide-card__number,
.cch-guide-card__type {
	font-family: var(--cch-mono);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.cch-guide-card__number {
	color: var(--cch-rust);
}

.cch-guide-card__type {
	color: var(--cch-teal);
	display: block;
	margin-bottom: 18px;
}

.cch-guide-card:hover .cch-guide-card__type {
	color: var(--cch-teal-light);
}

.cch-guide-card h3 {
	font-size: clamp(27px, 2.5vw, 38px);
	margin-bottom: 15px;
	text-transform: uppercase;
}

.cch-guide-card p {
	color: #66706e;
	font-size: 12px;
	line-height: 1.7;
	margin-bottom: 0;
}

.cch-guide-card:hover p {
	color: rgba(255, 255, 255, .6);
}

.cch-guide-card > i {
	font-size: 20px;
	font-style: normal;
}

.cch-guides__all {
	margin-top: 35px;
}

.cch-about {
	background:
		linear-gradient(90deg, transparent 49.92%, rgba(21, 90, 84, .09) 50%, transparent 50.08%),
		var(--cch-paper);
}

.cch-about__grid {
	display: grid;
	gap: clamp(60px, 11vw, 170px);
	grid-template-columns: 1fr 1fr;
}

.cch-about h2 em {
	color: var(--cch-teal);
	font-style: normal;
}

.cch-about__lead {
	font-size: clamp(20px, 2vw, 27px);
	font-weight: 600;
	letter-spacing: -.02em;
	line-height: 1.45;
	margin-bottom: 26px;
}

.cch-about__copy > p:not(.cch-about__lead) {
	color: #586360;
	font-size: 14px;
}

.cch-workshop-card {
	background: var(--cch-shell);
	border-left: 4px solid var(--cch-rust);
	display: grid;
	gap: 26px;
	grid-template-columns: auto 1fr auto;
	margin-top: 42px;
	padding: 24px 25px;
	align-items: start;
}

.cch-workshop-card > span,
.cch-workshop-card div span {
	color: var(--cch-teal);
	font-family: var(--cch-mono);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.cch-workshop-card address {
	font-size: 11px;
	font-style: normal;
	line-height: 1.7;
}

.cch-workshop-card div {
	display: flex;
	flex-direction: column;
}

.cch-workshop-card strong {
	font-family: var(--cch-display);
	font-size: 19px;
	font-weight: 600;
	white-space: nowrap;
}

.cch-contact {
	background: var(--cch-teal);
	color: var(--cch-white);
}

.cch-contact__inner {
	display: grid;
	gap: clamp(55px, 11vw, 175px);
	grid-template-columns: 1.13fr .87fr;
	align-items: end;
}

.cch-contact__action > p {
	color: rgba(255, 255, 255, .72);
	font-size: 14px;
	margin-bottom: 30px;
}

.cch-contact .cch-button--gold:hover {
	background: var(--cch-white);
	border-color: var(--cch-white);
}

.cch-footer {
	background: var(--cch-ink);
	color: var(--cch-white);
	padding: 70px 0 24px;
}

.cch-footer__grid {
	display: grid;
	gap: 55px;
	grid-template-columns: 1.7fr repeat(3, 1fr);
}

.cch-footer__brand p {
	color: rgba(255, 255, 255, .5);
	font-size: 11px;
	line-height: 1.7;
	margin: 24px 0 0;
	max-width: 310px;
}

.cch-footer__column {
	display: flex;
	flex-direction: column;
}

.cch-footer__column > span {
	color: var(--cch-teal-light);
	font-family: var(--cch-mono);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .12em;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.cch-footer__column a,
.cch-footer__column p {
	color: rgba(255, 255, 255, .62);
	font-size: 11px;
	line-height: 1.9;
	margin-bottom: 1px;
}

.cch-footer__column a:hover {
	color: var(--cch-white);
}

.cch-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, .1);
	display: flex;
	font-family: var(--cch-mono);
	font-size: 8px;
	justify-content: space-between;
	letter-spacing: .1em;
	margin-top: 55px;
	padding-top: 21px;
	text-transform: uppercase;
}

/* Interior pages and evergreen guides. */
.cch-interior {
	background: var(--cch-paper);
	min-height: 65vh;
}

.cch-page-hero {
	background:
		linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
		var(--cch-ink);
	background-size: 48px 48px;
	color: var(--cch-white);
}

.cch-page-hero__inner {
	max-width: 1040px;
	padding-bottom: clamp(70px, 9vw, 125px);
	padding-top: clamp(75px, 9vw, 130px);
}

.cch-page-hero h1 {
	font-size: clamp(58px, 7vw, 100px);
	margin-bottom: 25px;
	max-width: 950px;
	text-transform: uppercase;
}

.cch-page-hero__inner > p:last-child {
	color: rgba(255, 255, 255, .66);
	font-size: clamp(15px, 1.7vw, 19px);
	margin-bottom: 0;
	max-width: 720px;
}

.cch-article-layout {
	display: grid;
	gap: clamp(55px, 9vw, 125px);
	grid-template-columns: minmax(0, 740px) minmax(220px, 1fr);
	padding-bottom: clamp(85px, 10vw, 145px);
	padding-top: clamp(65px, 8vw, 110px);
}

.cch-article {
	font-size: 16px;
	line-height: 1.85;
}

.cch-article > *:first-child {
	margin-top: 0;
}

.cch-article h2 {
	font-size: clamp(35px, 4vw, 48px);
	margin: 60px 0 22px;
	text-transform: uppercase;
}

.cch-article h3 {
	font-size: 28px;
	margin: 40px 0 16px;
	text-transform: uppercase;
}

.cch-article p,
.cch-article li {
	color: #44504e;
}

.cch-article a {
	color: var(--cch-teal);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--cch-gold);
	text-underline-offset: 4px;
}

.cch-article ul,
.cch-article ol {
	padding-left: 24px;
}

.cch-article blockquote {
	background: var(--cch-shell);
	border-left: 4px solid var(--cch-rust);
	font-family: var(--cch-display);
	font-size: 27px;
	line-height: 1.25;
	margin: 38px 0;
	padding: 26px 30px;
}

.cch-article table {
	border-collapse: collapse;
	font-size: 13px;
	margin: 34px 0;
	width: 100%;
}

.cch-article th,
.cch-article td {
	border: 1px solid var(--cch-line);
	padding: 13px;
	text-align: left;
	vertical-align: top;
}

.cch-article th {
	background: var(--cch-ink);
	color: var(--cch-white);
}

.cch-article-aside {
	border-top: 4px solid var(--cch-gold);
	height: fit-content;
	position: sticky;
	top: 115px;
}

.cch-article-aside > span {
	color: var(--cch-teal);
	display: block;
	font-family: var(--cch-mono);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .1em;
	padding: 20px 0 13px;
	text-transform: uppercase;
}

.cch-article-aside a {
	border-top: 1px solid var(--cch-line);
	display: flex;
	font-size: 11px;
	font-weight: 700;
	justify-content: space-between;
	padding: 15px 0;
}

.cch-article-aside i {
	font-style: normal;
}

.cch-interior__inner,
.cch-error__inner {
	padding-bottom: 120px;
	padding-top: 120px;
}

.cch-entry h1,
.cch-error h1 {
	font-size: clamp(52px, 7vw, 92px);
	max-width: 850px;
	text-transform: uppercase;
}

.cch-error p {
	color: #5e6866;
	max-width: 630px;
}

@media (max-width: 1120px) {
	.cch-header__cta {
		display: none;
	}

	.cch-hero__grid {
		gap: 55px;
		grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr);
	}

	.cch-route-card {
		padding: 31px;
	}

	.cch-route-card__icon {
		margin: 47px 0 38px;
	}

	.cch-route-note {
		grid-template-columns: auto 1fr;
	}

	.cch-route-note a {
		grid-column: 2;
	}

	.cch-audience {
		grid-template-columns: repeat(3, 1fr);
		row-gap: 20px;
	}
}

@media (max-width: 900px) {
	:root {
		--cch-pad: clamp(20px, 5vw, 44px);
	}

	body.admin-bar .cch-header {
		top: 46px;
	}

	.cch-nav--desktop,
	.cch-header__cta {
		display: none;
	}

	.cch-menu-toggle {
		display: inline-flex;
		margin-left: auto;
	}

	.cch-hero {
		min-height: auto;
	}

	.cch-hero__grid {
		grid-template-columns: 1fr;
		padding-bottom: 70px;
		padding-top: 80px;
	}

	.cch-hero__copy {
		max-width: 760px;
	}

	.cch-hero h1 {
		font-size: clamp(65px, 12vw, 104px);
	}

	.cch-blueprint {
		margin-left: 12vw;
		max-width: 600px;
	}

	.cch-proof-strip {
		grid-template-columns: 1fr;
	}

	.cch-proof-strip > div,
	.cch-proof-strip > div:first-child {
		padding: 11px 0;
	}

	.cch-proof-strip > div + div {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, .1);
	}

	.cch-section-intro,
	.cch-method__grid,
	.cch-about__grid,
	.cch-contact__inner {
		gap: 42px;
		grid-template-columns: 1fr;
	}

	.cch-section-intro > p {
		max-width: 650px;
	}

	.cch-route-grid {
		grid-template-columns: 1fr;
	}

	.cch-route-card {
		min-height: 0;
		padding: 38px;
	}

	.cch-route-card + .cch-route-card {
		border-left: 0;
		border-top: 1px solid var(--cch-line);
	}

	.cch-route-card__icon {
		height: 74px;
		margin: 35px 0 27px;
		width: 74px;
	}

	.cch-route-card .cch-card-link {
		margin-top: 12px;
	}

	.cch-audience {
		grid-template-columns: repeat(3, 1fr);
	}

	.cch-guide-grid {
		grid-template-columns: 1fr;
	}

	.cch-guide-card {
		min-height: 230px;
	}

	.cch-about {
		background: var(--cch-paper);
	}

	.cch-workshop-card {
		max-width: 620px;
	}

	.cch-footer__grid {
		grid-template-columns: 1.6fr repeat(2, 1fr);
	}

	.cch-footer__column:last-child {
		grid-column: 2;
	}

	.cch-article-layout {
		grid-template-columns: 1fr;
	}

	.cch-article-aside {
		position: static;
	}
}

@media (max-width: 680px) {
	.cch-header__inner {
		height: 70px;
	}

	.cch-brand__mark {
		height: 34px;
		width: 34px;
	}

	.cch-brand__copy strong {
		font-size: 17px;
	}

	.cch-mobile-menu {
		inset: 70px 0 0;
		min-height: calc(100vh - 70px);
	}

	.cch-hero h1 {
		font-size: clamp(55px, 17vw, 83px);
	}

	.cch-hero__grid {
		padding-top: 64px;
	}

	.cch-blueprint {
		margin-left: 0;
	}

	.cch-blueprint__labels {
		font-size: 10px;
	}

	.cch-proof-strip > div {
		flex-direction: column;
		gap: 0;
	}

	.cch-section {
		padding-block: 78px;
	}

	.cch-section-intro h2,
	.cch-about h2,
	.cch-contact h2,
	.cch-method h2 {
		font-size: clamp(44px, 14vw, 65px);
	}

	.cch-route-card {
		padding: 30px 25px;
	}

	.cch-route-note {
		grid-template-columns: 1fr;
		padding: 24px;
	}

	.cch-route-note a {
		grid-column: auto;
		white-space: normal;
	}

	.cch-audience {
		grid-template-columns: 1fr 1fr;
	}

	.cch-audience > span {
		grid-column: 1 / -1;
	}

	.cch-guide-card {
		gap: 18px;
		grid-template-columns: 1fr auto;
		min-height: 0;
	}

	.cch-guide-card__number {
		grid-column: 1 / -1;
	}

	.cch-workshop-card {
		grid-template-columns: 1fr;
	}

	.cch-contact .cch-actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.cch-footer__grid {
		grid-template-columns: 1fr 1fr;
	}

	.cch-footer__brand {
		grid-column: 1 / -1;
	}

	.cch-footer__column:last-child {
		grid-column: auto;
	}

	.cch-footer__bottom {
		gap: 8px;
		flex-direction: column;
	}

	.cch-page-hero h1 {
		font-size: clamp(50px, 14vw, 74px);
	}

	.cch-article {
		font-size: 15px;
	}

	.cch-article table {
		display: block;
		overflow-x: auto;
	}
}

@media (max-width: 420px) {
	:root {
		--cch-pad: 18px;
	}

	.cch-brand__copy span {
		display: none;
	}

	.cch-menu-toggle__label {
		display: none;
	}

	.cch-hero h1 {
		font-size: clamp(50px, 16.3vw, 67px);
	}

	.cch-hero__lede {
		font-size: 15px;
	}

	.cch-actions,
	.cch-actions .cch-button {
		align-items: stretch;
		width: 100%;
	}

	.cch-blueprint__top {
		padding: 11px;
	}

	.cch-blueprint__top span:last-child {
		display: none;
	}

	.cch-blueprint__status span {
		font-size: 8px;
	}

	.cch-route-card h3 {
		font-size: 34px;
	}

	.cch-audience {
		grid-template-columns: 1fr;
	}

	.cch-guide-card {
		padding: 25px 22px;
	}

	.cch-footer__grid {
		grid-template-columns: 1fr;
	}

	.cch-footer__brand,
	.cch-footer__column:last-child {
		grid-column: auto;
	}
}

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

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
