/* sections */
.band {
	padding-top:var(--step-500);
	padding-bottom:var(--step-500);

	border-top:1px solid var(--dusk-600);
}

.eyebrow {
	display:flex;
	align-items:center;
	gap:14px;

	margin:0 0 18px;

	text-transform:uppercase;

	color:var(--copper-500);
}

.eyebrow::after {
	content:'';

	flex:0 0 56px;
	height:1px;

	background:var(--copper-500);
}

.section-head {
	max-width:780px;
	margin-bottom:48px;
}

.section-head h2 {
	margin-bottom:20px;
}

.section-head p:last-child {
	margin-bottom:0;

	color:var(--memo-400);
}

/* hero */
.hero {
	padding-top:clamp(32px, 4vw, 52px);
}

.hero-grid {
	display:grid;
	grid-template-columns:repeat(12, minmax(0, 1fr));
	column-gap:24px;
}

.hero-grid > * {
	grid-column:1 / -1;
}

.hero-title {
	margin-bottom:28px;

	font-size:clamp(2.1rem, 6.2vw + 0.1rem, 4.5rem);
	line-height:1.02;
}

.hero-lead {
	color:var(--memo-400);
}

.hero-cta {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:14px 28px;
}

.fact-chips {
	display:flex;
	flex-wrap:wrap;
	gap:10px;

	margin:32px 0 0;
	padding:0;

	list-style:none;
}

.fact-chips li {
	padding:8px 16px;

	color:var(--memo-100);
	border:1px solid var(--dusk-600);
	border-radius:999px;
}

.fact-chips li:last-child {
	color:var(--dusk-900);
	background:var(--copper-500);
	border-color:var(--copper-500);
}

.hero-strip {
	display:grid;
	grid-template-columns:1fr 1fr;

	margin-top:40px;

	border-top:1px solid var(--dusk-600);
}

.strip-photo {
	position:relative;
	grid-column:1 / -1;

	overflow:hidden;
	height:clamp(200px, 34vh, 360px);
	margin:0;

	background:var(--dusk-800);
}

.strip-photo img {
	width:100%;
	height:100%;

	object-fit:cover;
	object-position:50% 88%;
}

.strip-photo::after {
	content:'';

	position:absolute;
	inset:0;

	background:radial-gradient(ellipse at 50% 55%, rgb(21 23 28 / 0) 52%, rgb(21 23 28 / 0.62) 100%);
	pointer-events:none;
}

.strip-cell {
	padding:24px 20px;

	border-top:1px solid var(--dusk-600);
}

.strip-note {
	background:var(--dusk-800);
	border-right:1px solid var(--dusk-600);
}

.strip-note .mono {
	color:var(--copper-500);
}

.strip-quote {
	margin-bottom:10px;

	font-family:var(--serif);
	font-size:1.35rem;
	line-height:1.25;
}

.strip-small {
	margin:0;

	font-size:0.95rem;

	color:var(--memo-400);
}

.strip-count {
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
}

.count-num {
	margin:0;

	font-family:var(--serif);
	font-size:5.5rem;
	line-height:0.9;

	color:var(--copper-500);
	-webkit-text-fill-color:transparent;
	-webkit-text-stroke:1.5px var(--copper-500);
}

.strip-count p:last-child {
	margin:0;

	font-size:0.98rem;

	color:var(--memo-400);
}

@media (min-width: 900px) {
	.hero-title {
		grid-column:2 / 12;
	}

	.hero-side {
		grid-column:7 / 13;
	}

	.hero-grid > .eyebrow {
		grid-column:2 / 10;
	}

	.fact-chips {
		display:grid;
		grid-template-columns:1fr 1fr;
		grid-column:2 / 6;
		grid-row:3;
		align-self:end;
	}

	.fact-chips li {
		text-align:center;
	}

	.hero-strip {
		grid-template-columns:2.1fr 1fr 0.78fr;
	}

	.strip-photo {
		grid-column:auto;
	}

	.strip-cell {
		display:flex;
		flex-direction:column;
		justify-content:flex-end;

		padding:28px;

		border-top:0;
		border-left:1px solid var(--dusk-600);
	}

	.strip-note {
		border-right:0;
	}
}

/* marquee */
.impulse-band {
	padding:28px 0 32px;

	background:var(--dusk-800);
	border-top:1px solid var(--dusk-600);
}

.impulse-title {
	margin-bottom:18px;

	font-weight:400;
	text-transform:uppercase;

	color:var(--copper-500);
}

.marquee {
	overflow:hidden;
}

.marquee-track {
	display:flex;
	flex-wrap:wrap;
	gap:12px;

	width:min(1240px, calc(100% - 40px));
	margin:0 auto;
	padding:0;

	list-style:none;
}

.marquee-track li {
	padding:10px 20px;

	font-family:var(--serif);
	font-size:1.3rem;
	white-space:nowrap;

	border:1px solid var(--dusk-600);
	border-radius:var(--round-400);
}

.marquee-track li:nth-child(odd) {
	color:var(--copper-500);
}

@media (max-width: 600px) {
	.marquee-track li {
		white-space:normal;
	}
}

@keyframes drift {
	from {
		transform:translateX(0);
	}

	to {
		transform:translateX(-50%);
	}
}

@media (prefers-reduced-motion: no-preference) {
	.enhanced .marquee-track {
		flex-wrap:nowrap;
		gap:0;

		width:max-content;

		animation:drift 70s linear infinite;
	}

	.enhanced .marquee-track li {
		margin-right:12px;

		white-space:nowrap;
	}

	.enhanced .marquee:hover .marquee-track {
		animation-play-state:paused;
	}
}

@media (prefers-reduced-motion: reduce) {
	.marquee-track li[aria-hidden='true'] {
		display:none;
	}
}

/* path */
.path-board {
	position:relative;
}

.path-line {
	position:absolute;
	top:0;
	bottom:0;

	height:100%;

	pointer-events:none;
}

.path-line path {
	fill:none;
	stroke:var(--copper-500);
	stroke-width:2;
	stroke-dasharray:1;
	stroke-dashoffset:0;
	vector-effect:non-scaling-stroke;

	transition:stroke-dashoffset 1.8s ease;
}

.enhanced .path-board:not(.reveal-done) .path-line path {
	stroke-dashoffset:1;
}

.path-wide {
	display:none;
}

.path-narrow {
	left:4px;

	width:40px;
}

.path-list {
	display:grid;
	gap:14px;

	margin:0;
	padding:0 0 0 52px;

	list-style:none;
}

.path-stop {
	position:relative;

	padding:22px 24px;

	background:var(--dusk-800);
	border:1px solid var(--dusk-600);
	border-radius:var(--round-400);
	box-shadow:var(--glow-300);
}

.path-stop::before {
	content:'';

	position:absolute;
	top:50%;
	left:-35px;

	width:14px;
	height:14px;
	margin-top:-7px;

	background:var(--dusk-900);
	border:2px solid var(--copper-500);
	border-radius:50%;
}

.path-stop h3 {
	margin:8px 0 6px;
}

.path-stop p {
	margin:0;

	font-size:1rem;

	color:var(--memo-400);
}

.stop-no {
	color:var(--copper-500);
}

.path-stop:hover {
	border-color:var(--copper-500);
}

@media (min-width: 900px) {
	.path-wide {
		display:block;
		left:calc(50% - 60px);

		width:120px;
	}

	.path-narrow {
		display:none;
	}

	.path-list {
		grid-template-columns:1fr 120px 1fr;
		grid-template-rows:repeat(9, 1fr);
		gap:0;

		padding:0;
	}

	.path-stop:nth-child(odd) {
		grid-column:1;
	}

	.path-stop:nth-child(even) {
		grid-column:3;
	}

	.path-stop:nth-child(1) { grid-row:1 / span 2; }
	.path-stop:nth-child(2) { grid-row:2 / span 2; }
	.path-stop:nth-child(3) { grid-row:3 / span 2; }
	.path-stop:nth-child(4) { grid-row:4 / span 2; }
	.path-stop:nth-child(5) { grid-row:5 / span 2; }
	.path-stop:nth-child(6) { grid-row:6 / span 2; }
	.path-stop:nth-child(7) { grid-row:7 / span 2; }
	.path-stop:nth-child(8) { grid-row:8 / span 2; }

	.path-stop {
		align-self:center;

		margin:6px 0;
	}

	.path-stop:nth-child(odd)::before {
		left:auto;
		right:-8px;
	}

	.path-stop:nth-child(even)::before {
		left:-8px;
	}

	.path-stop:nth-child(odd) {
		text-align:right;
	}
}

.session-bar {
	display:flex;
	flex-direction:column;

	margin-top:56px;

	border:1px solid var(--dusk-600);
}

.session-part {
	padding:16px 18px;

	font-size:1rem;
	line-height:1.4;

	border-bottom:1px solid var(--dusk-600);
}

.session-part:last-child {
	border-bottom:0;
}

.session-part .mono {
	display:block;

	margin-bottom:4px;

	color:var(--copper-500);
}

.part-35 {
	color:var(--dusk-900);
	background:var(--copper-500);
}

.part-35 .mono {
	color:var(--dusk-900);
}

@media (min-width: 760px) {
	.session-bar {
		flex-direction:row;
	}

	.session-part {
		border-bottom:0;
		border-right:1px solid var(--dusk-600);
	}

	.session-part:last-child {
		border-right:0;
	}

	.part-15 { flex:15 1 0; }
	.part-25 { flex:25 1 0; }
	.part-35 { flex:35 1 0; }
}

.between-note {
	max-width:760px;
	margin:28px 0 0;

	color:var(--memo-400);
}

/* gallery */
.snap-wrap {
	min-width:0;
}

.snap-track {
	display:grid;
	grid-auto-flow:column;
	grid-auto-columns:minmax(270px, 360px);

	overflow-x:auto;
	margin:0;
	padding:0 0 18px;

	list-style:none;
	scroll-snap-type:x mandatory;
	scrollbar-color:var(--copper-500) var(--dusk-800);
	scrollbar-width:thin;
}

.excerpt {
	display:flex;
	flex-direction:column;

	padding:8px 28px 8px 24px;

	scroll-snap-align:start;

	border-left:1px solid var(--dusk-600);
}

.excerpt:first-child {
	padding-left:0;

	border-left:0;
}

.excerpt-theme {
	margin-bottom:16px;

	color:var(--copper-500);
}

.excerpt-text {
	flex:1;

	margin:0 0 18px;
}

.excerpt-text p {
	margin:0;

	font-family:var(--serif);
	font-size:1.4rem;
	line-height:1.32;
}

.excerpt-by {
	margin:0;
	padding-top:12px;

	color:var(--memo-400);
	border-top:1px solid var(--dusk-600);
}

.snap-controls {
	display:flex;
	align-items:center;
	gap:16px;

	margin-top:20px;
}

.snap-btn {
	width:52px;
	height:52px;

	font-size:1.2rem;

	color:var(--memo-100);
	background:var(--dusk-800);
	border:1px solid var(--dusk-600);
	border-radius:var(--round-200);
	box-shadow:var(--glow-300);
	cursor:pointer;
}

.snap-btn:hover {
	color:var(--dusk-900);
	background:var(--copper-500);
}

.snap-btn:disabled {
	color:var(--memo-400);
	background:var(--dusk-900);
	cursor:default;
}

.snap-count {
	color:var(--memo-400);
}

html:not(.enhanced) .js-only {
	display:none;
}

/* workshop */
.story-grid {
	display:grid;
	gap:40px;
}

.story-side {
	padding:28px;

	background:var(--dusk-800);
	border:1px solid var(--dusk-600);
	border-radius:var(--round-400);
	box-shadow:var(--glow-300);
}

.monogram {
	margin:0 0 20px;

	font-family:var(--serif);
	font-size:clamp(7rem, 16vw, 12.5rem);
	line-height:0.85;

	color:var(--copper-500);
	-webkit-text-fill-color:transparent;
	-webkit-text-stroke:1.5px var(--copper-500);
}

.people-list {
	margin:0;
	padding:0;

	list-style:none;
}

.people-list li {
	padding:14px 0;

	font-size:1rem;

	color:var(--memo-400);
	border-top:1px solid var(--dusk-600);
}

.people-list strong {
	display:block;

	font-family:var(--serif);
	font-size:1.35rem;
	font-weight:400;

	color:var(--memo-100);
}

.story-text h2 {
	margin-bottom:24px;
}

.quote-list {
	display:grid;
	gap:0;

	margin-top:32px;

	border-top:1px solid var(--dusk-600);
}

.quote-card {
	padding:22px 0;

	border-bottom:1px solid var(--dusk-600);
}

.quote-card p:first-child {
	font-family:var(--serif);
	font-size:1.3rem;
	line-height:1.35;
}

.quote-by {
	margin:0;

	color:var(--copper-500);
}

@media (min-width: 900px) {
	.story-grid {
		grid-template-columns:5fr 7fr;
		align-items:start;
		gap:64px;
	}

	.story-side {
		position:sticky;
		top:calc(var(--bar-h) + var(--head-h) + 24px);
	}

	.quote-list {
		grid-template-columns:1fr 1fr;
	}

	.quote-card {
		padding-right:24px;
	}

	.quote-card + .quote-card {
		padding-right:0;
		padding-left:24px;

		border-left:1px solid var(--dusk-600);
	}
}

/* prices */
.price-grid {
	display:grid;

	border:1px solid var(--dusk-600);
}

.price-cell {
	padding:28px;

	border-bottom:1px solid var(--dusk-600);
}

.price-cell:last-child {
	border-bottom:0;
}

.price-cell p:last-child {
	margin:0;

	color:var(--memo-400);
}

.price-sum {
	margin:14px 0 10px;

	font-family:var(--serif);
	font-size:3.2rem;
	line-height:1;

	color:var(--copper-500);
}

.price-soft {
	background:var(--dusk-800);
}

.price-cell:hover {
	background:var(--dusk-700);
}

.price-foot {
	display:grid;
	gap:24px;

	margin-top:32px;
}

.time-table {
	width:100%;

	background:var(--dusk-800);
	border-radius:var(--round-400);
	box-shadow:var(--glow-300);
}

.time-table caption {
	padding-bottom:12px;

	text-align:left;

	color:var(--copper-500);
}

.time-table th, .time-table td {
	padding:14px 12px;

	text-align:left;

	border-bottom:1px solid var(--dusk-600);
}

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

.time-table th {
	font-weight:500;
}

.time-table td {
	font-family:var(--mono);

	color:var(--memo-100);
}

@media (max-width: 480px) {
	.time-table th, .time-table td {
		display:block;
	}

	.time-table th {
		padding-bottom:0;

		border-bottom:0;
	}

	.time-table caption {
		hyphens:auto;
	}
}

.needs-note {
	margin:0;

	color:var(--memo-400);
}

@media (min-width: 760px) {
	.price-grid {
		grid-template-columns:repeat(3, 1fr);
	}

	.price-cell {
		border-bottom:0;
		border-right:1px solid var(--dusk-600);
	}

	.price-cell:last-child {
		border-right:0;
	}

	.price-foot {
		grid-template-columns:1.1fr 1fr;
		align-items:center;
		gap:48px;
	}
}

/* cta */
.cta-band {
	padding-top:var(--step-500);
	padding-bottom:var(--step-500);

	border-top:1px solid var(--dusk-600);
}

.cta-inner {
	padding:clamp(28px, 5vw, 64px);

	background:var(--dusk-800);
	border:1px solid var(--copper-500);
	border-radius:var(--round-400);
	box-shadow:var(--glow-300);
}

.cta-inner h2 {
	max-width:18ch;
	margin-bottom:20px;
}

.cta-inner > p {
	max-width:56ch;

	color:var(--memo-400);
}

/* inner pages */
.page-head {
	padding-top:clamp(36px, 5vw, 64px);
	padding-bottom:36px;

	border-bottom:1px solid var(--dusk-600);
}

.page-head-grid {
	display:grid;
	gap:24px;
}

.page-head h1 {
	margin-bottom:18px;

	font-size:clamp(2.1rem, 4.6vw, 3.6rem);
}

.page-lead {
	max-width:62ch;
	margin:0;

	color:var(--memo-400);
}

.page-meta {
	align-self:end;

	margin:0;
	padding:18px 20px;

	color:var(--memo-400);
	border:1px solid var(--dusk-600);
	border-radius:var(--round-200);
}

.page-meta strong {
	display:block;

	font-weight:400;

	color:var(--copper-500);
}

@media (min-width: 900px) {
	.page-head-grid {
		grid-template-columns:1fr 300px;
		gap:56px;
	}
}

.page-body {
	padding-top:56px;
	padding-bottom:var(--step-500);
}

.legal-layout {
	display:grid;
	grid-template-columns:minmax(0, 1fr);
	gap:32px;
}

.toc {
	padding:22px 24px;

	background:var(--dusk-800);
	border:1px solid var(--dusk-600);
	border-radius:var(--round-400);
}

.toc ol {
	margin:12px 0 0;
	padding:0;

	list-style:none;
	counter-reset:toc;
}

.toc li {
	counter-increment:toc;
}

.toc a {
	display:flex;
	align-items:center;
	gap:10px;

	min-height:44px;

	font-size:1rem;
	text-decoration:none;

	color:var(--memo-100);
	border-bottom:1px solid var(--dusk-600);
}

.toc a::before {
	content:counter(toc, decimal-leading-zero);

	font-family:var(--mono);
	font-size:0.8rem;

	color:var(--copper-500);
}

.toc a:hover {
	color:var(--copper-500);
}

.toc-title {
	margin:0;

	text-transform:uppercase;

	color:var(--copper-500);
}

.legal-stack {
	display:grid;
	grid-template-columns:minmax(0, 1fr);
	gap:20px;

	min-width:0;
}

.legal-card {
	padding:clamp(22px, 3vw, 34px);

	background:var(--dusk-800);
	border:1px solid var(--dusk-600);
	border-radius:var(--round-400);
	box-shadow:var(--glow-300);
}

.legal-card {
	overflow-wrap:break-word;
	hyphens:auto;
}

.faq-grid {
	margin-top:24px;
}

.legal-card > h3:first-child, .faq-grid .legal-card h3 {
	margin-top:0;
}

.legal-card h2 {
	margin-bottom:16px;

	font-size:clamp(1.6rem, 2.6vw, 2.1rem);
}

.legal-card h3 {
	margin:22px 0 8px;

	font-size:1.25rem;
}

.legal-card a[href^="tel:"] {
	white-space:nowrap;
}

.legal-card p, .legal-card li {
	font-size:1.02rem;
}

.legal-card p:last-child, .legal-card ul:last-child {
	margin-bottom:0;
}

.legal-card ul {
	margin:0 0 1em;
	padding-left:1.2em;
}

.legal-card li {
	margin-bottom:6px;
}

.legal-card li::marker {
	color:var(--copper-500);
}

.card-accent {
	border-left:3px solid var(--copper-500);
}

.card-grid {
	display:grid;
	grid-template-columns:minmax(0, 1fr);
	gap:20px;
}

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

@media (min-width: 1000px) {
	.legal-layout {
		grid-template-columns:280px minmax(0, 1fr);
		align-items:start;
		gap:48px;
	}

	.toc {
		position:sticky;
		top:calc(var(--bar-h) + var(--head-h) + 24px);
	}
}

.data-table {
	width:100%;
}

.data-table caption {
	padding-bottom:12px;

	text-align:left;

	color:var(--copper-500);
}

.data-table th, .data-table td {
	padding:14px 12px 14px 0;

	font-size:1rem;
	text-align:left;
	vertical-align:top;

	border-bottom:1px solid var(--dusk-600);
}

.data-table th {
	font-weight:500;

	color:var(--memo-400);
}

.data-table thead th {
	font-family:var(--mono);
	font-size:0.84rem;

	color:var(--copper-500);
}

.req-table th {
	width:38%;
}

.req-table td {
	overflow-wrap:anywhere;
}

@media (max-width: 620px) {
	.stack-table thead {
		display:none;
	}

	.stack-table tr, .stack-table td {
		display:block;
	}

	.stack-table tr {
		padding:10px 0;

		border-bottom:1px solid var(--dusk-600);
	}

	.stack-table td {
		padding:4px 0;

		border:0;
	}

	.stack-table td::before {
		content:attr(data-label);

		display:block;

		font-family:var(--mono);
		font-size:0.8rem;

		color:var(--copper-500);
	}
}

.form-sheet {
	padding:22px;

	font-family:var(--mono);
	font-size:0.92rem;
	line-height:1.7;
	white-space:pre-line;

	border:1px dashed var(--dusk-600);
	border-radius:var(--round-200);
}

.reset-row {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:16px;

	margin-top:18px;
}

.reset-btn {
	min-height:48px;
	padding:0 22px;

	font-family:var(--sans);
	font-size:1rem;
	font-weight:600;

	color:var(--dusk-900);
	background:var(--copper-500);
	border:0;
	border-radius:var(--round-200);
	cursor:pointer;
}

.reset-btn:hover {
	background:var(--memo-100);
}

.reset-state {
	margin:0;

	color:var(--memo-400);
}

/* contact */
.contact-grid {
	display:grid;
	gap:28px;
}

.form-card {
	padding:clamp(22px, 3.4vw, 40px);

	background:var(--dusk-800);
	border:1px solid var(--dusk-600);
	border-radius:var(--round-400);
	box-shadow:var(--glow-300);
}

.form-card h2, .facts-card h2 {
	margin-bottom:20px;

	font-size:clamp(1.7rem, 2.6vw, 2.2rem);
}

.field {
	margin-bottom:20px;
}

.field label {
	display:block;

	margin-bottom:8px;

	font-weight:500;
}

.field input, .field textarea {
	width:100%;
	min-height:52px;
	padding:12px 16px;

	font-family:var(--sans);
	font-size:1.05rem;

	color:var(--memo-100);
	background:var(--dusk-900);
	border:1px solid var(--dusk-600);
	border-radius:var(--round-200);
}

.field textarea {
	min-height:150px;

	resize:vertical;
}

.field input:focus, .field textarea:focus {
	border-color:var(--copper-500);
}

.field-error {
	min-height:1.4em;
	margin:6px 0 0;

	font-size:0.95rem;

	color:var(--copper-500);
}

.field .consent-row {
	display:flex;
	align-items:flex-start;
	gap:12px;

	font-size:1rem;
}

.consent-row input {
	flex:none;

	width:24px;
	height:24px;
	margin:2px 0 0;

	accent-color:var(--copper-500);
}

.submit-btn {
	display:inline-flex;
	align-items:center;
	gap:12px;

	min-height:54px;
	margin-top:8px;
	padding:0 28px;

	font-family:var(--sans);
	font-size:1.05rem;
	font-weight:600;

	color:var(--dusk-900);
	background:var(--copper-500);
	border:0;
	border-radius:var(--round-200);
	cursor:pointer;
}

.submit-btn:hover {
	background:var(--memo-100);
}

.submit-btn:disabled {
	background:var(--memo-400);
	cursor:wait;
}

.form-status {
	min-height:1.4em;
	margin:14px 0 0;

	color:var(--memo-400);
}

.form-note {
	margin:18px 0 0;
	padding-top:16px;

	font-size:0.98rem;

	color:var(--memo-400);
	border-top:1px solid var(--dusk-600);
}

.facts-card {
	padding:clamp(22px, 3vw, 34px);

	border:1px solid var(--dusk-600);
	border-radius:var(--round-400);
}

.facts-list {
	margin:0;
}

.facts-list div {
	padding:12px 0;

	border-top:1px solid var(--dusk-600);
}

.facts-list dt {
	font-family:var(--mono);
	font-size:0.84rem;

	color:var(--copper-500);
}

.facts-list dd {
	margin:4px 0 0;
}

.facts-list a {
	display:inline-flex;
	align-items:center;

	min-height:44px;
}

@media (min-width: 960px) {
	.contact-grid {
		grid-template-columns:7fr 5fr;
		align-items:start;
		gap:40px;
	}
}

.steps {
	display:grid;
	gap:0;

	margin:48px 0 0;
	padding:0;

	list-style:none;
	counter-reset:step;

	border:1px solid var(--dusk-600);
}

.steps li {
	padding:26px 24px;

	counter-increment:step;

	border-bottom:1px solid var(--dusk-600);
}

.steps li:last-child {
	border-bottom:0;
}

.steps li::before {
	content:counter(step, decimal-leading-zero);

	display:block;

	margin-bottom:10px;

	font-family:var(--serif);
	font-size:3rem;
	line-height:1;

	color:var(--copper-500);
	-webkit-text-fill-color:transparent;
	-webkit-text-stroke:1.2px var(--copper-500);
}

.steps h3 {
	margin-bottom:8px;
}

.steps p {
	margin:0;

	font-size:1rem;

	color:var(--memo-400);
}

@media (min-width: 760px) {
	.steps {
		grid-template-columns:repeat(3, 1fr);
	}

	.steps li {
		border-bottom:0;
		border-right:1px solid var(--dusk-600);
	}

	.steps li:last-child {
		border-right:0;
	}
}

.block-title {
	margin:56px 0 0;
}

.legal-stack .block-title {
	margin:16px 0 0;

	font-size:clamp(1.6rem, 2.6vw, 2.1rem);
}

.visually-first {
	margin:0;

	font-size:clamp(1.7rem, 2.6vw, 2.2rem);
}

.req-card {
	margin-top:48px;
}

/* service pages */
.prompt-card {
	padding:clamp(24px, 4vw, 44px);

	background:var(--dusk-800);
	border:1px solid var(--copper-500);
	border-radius:var(--round-400);
	box-shadow:var(--glow-300);
}

.prompt-card p:last-child {
	margin:0;
}

.prompt-q {
	font-family:var(--serif);
	font-size:clamp(1.6rem, 3vw, 2.3rem);
	line-height:1.2;
}

.link-tiles {
	display:grid;
	gap:0;

	margin:28px 0 0;
	padding:0;

	list-style:none;

	border:1px solid var(--dusk-600);
}

.link-tiles a {
	display:flex;
	align-items:center;
	justify-content:space-between;

	min-height:64px;
	padding:0 22px;

	font-family:var(--serif);
	font-size:1.35rem;
	text-decoration:none;

	color:var(--memo-100);
	border-bottom:1px solid var(--dusk-600);
}

.link-tiles li:last-child a {
	border-bottom:0;
}

.link-tiles a::after {
	content:'\2192';

	color:var(--copper-500);
}

.link-tiles a:hover {
	color:var(--dusk-900);
	background:var(--copper-500);
}

.link-tiles a:hover::after {
	color:var(--dusk-900);
}

@media (min-width: 760px) {
	.link-tiles {
		grid-template-columns:1fr 1fr;
	}

	.link-tiles li:nth-child(odd) a {
		border-right:1px solid var(--dusk-600);
	}

	.link-tiles li:nth-last-child(-n+2) a {
		border-bottom:0;
	}
}
