[id] {
	scroll-margin-top:92px;
}
.content-frame {
	margin-left:auto;
	margin-right:auto;
	max-width:1120px;
	padding-left:var(--space-gutter);
	padding-right:var(--space-gutter);
}
.page-band {
	padding-bottom:var(--space-section);
	padding-top:var(--space-section);
}
.page-band-dark {
	background:var(--color-stripe-dark);
	color:var(--color-text-inverse);
}
.page-band-blend {
	background-color:var(--color-stripe-dark);
	background-image:linear-gradient(180deg, var(--color-stripe-light) 0, var(--color-stripe-blend) calc(var(--space-blend) * 0.5), var(--color-stripe-dark) var(--space-blend), var(--color-stripe-dark) calc(100% - var(--space-blend)), var(--color-stripe-blend) calc(100% - var(--space-blend) * 0.5), var(--color-stripe-light) 100%);
}
.page-band-blend-top {
	background-color:var(--color-stripe-dark);
	background-image:linear-gradient(180deg, var(--color-stripe-light) 0, var(--color-stripe-blend) calc(var(--space-blend) * 0.5), var(--color-stripe-dark) var(--space-blend), var(--color-stripe-dark) 100%);
}
.page-band-blend-footer {
	background-color:var(--color-stripe-dark);
	background-image:linear-gradient(180deg, var(--color-stripe-dark) 0, var(--color-stripe-dark) calc(100% - var(--space-blend)), var(--color-stripe-blend) calc(100% - var(--space-blend) * 0.5), var(--color-tint) 100%);
}
.band-heading-group {
	margin-bottom:var(--space-stack);
	max-width:42rem;
}
.band-heading-group p {
	color:var(--color-muted);
	margin-top:14px;
}
.page-band-dark .band-heading-group p {
	color:var(--color-muted-inverse);
}
.page-heading-band {
	background:linear-gradient(180deg, var(--color-stripe-light) 0, var(--color-tint) 100%);
	padding-bottom:clamp(36px, 5vw, 60px);
	padding-top:clamp(40px, 6vw, 76px);
}
.page-heading-band h1 {
	max-width:22ch;
}
.page-heading-lead {
	color:var(--color-muted);
	font-size:1.1rem;
	margin-top:16px;
	max-width:40rem;
}
.fact-chip-list {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	list-style:none;
	margin-top:24px;
	padding:0;
}
.fact-chip {
	align-items:center;
	background:var(--color-stripe-light);
	border-radius:8px;
	display:inline-flex;
	font-size:0.95rem;
	gap:10px;
	padding:8px 14px;
}
.fact-chip::before {
	background:var(--color-accent-quiet);
	content:"";
	height:10px;
	transform:skewX(-22deg);
	width:8px;
}
.flat-card {
	background:var(--color-tint);
	border-radius:10px;
	color:var(--color-text);
	padding:var(--space-card);
}
.flat-card h2,
.flat-card h3 {
	margin-bottom:10px;
}
.flat-card p + p {
	margin-top:12px;
}
.repair-rail-track {
	display:grid;
	gap:16px;
	grid-auto-columns:minmax(250px, 80%);
	grid-auto-flow:column;
	list-style:none;
	overflow-x:auto;
	overscroll-behavior-x:contain;
	padding:0 0 18px;
	scroll-snap-type:x mandatory;
	scrollbar-color:var(--color-accent-quiet) transparent;
	scrollbar-width:thin;
}
.repair-rail-panel {
	background:var(--color-tint-dark);
	border-radius:10px;
	display:flex;
	flex-direction:column;
	gap:12px;
	isolation:isolate;
	min-height:250px;
	padding:26px 24px;
	scroll-snap-align:start;
}
.repair-rail-number {
	align-self:flex-start;
	color:var(--color-text-inverse);
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-size:0.9rem;
	font-weight:700;
	padding:2px 12px;
	position:relative;
}
.repair-rail-number::before {
	background:var(--color-accent-quiet);
	content:"";
	inset:0;
	position:absolute;
	transform:skewX(-18deg);
	z-index:-1;
}
.repair-rail-panel p {
	color:var(--color-muted-inverse);
}
.repair-rail-price {
	border-top:1px solid var(--color-stripe-blend);
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-size:1.15rem;
	font-weight:700;
	margin-top:auto;
	padding-top:14px;
}
.page-band-dark .repair-rail-panel .repair-rail-price {
	color:var(--color-text-inverse);
}
.repair-rail-footer {
	align-items:center;
	display:flex;
	flex-wrap:wrap;
	gap:16px;
	justify-content:space-between;
	margin-top:22px;
}
.repair-rail-controls {
	display:flex;
	gap:10px;
}
.repair-rail-button {
	align-items:center;
	background:transparent;
	border:2px solid var(--color-text-inverse);
	border-radius:8px;
	color:var(--color-text-inverse);
	cursor:pointer;
	display:inline-flex;
	font-size:1.2rem;
	height:50px;
	justify-content:center;
	width:50px;
}
.repair-rail-button:hover {
	background:var(--color-text-inverse);
	color:var(--color-stripe-dark);
}
.workflow-step-grid {
	display:grid;
	gap:16px;
	list-style:none;
	padding:0;
}
.workflow-step-card {
	background:var(--color-tint);
	border-radius:10px;
	padding:var(--space-card);
}
.workflow-step-index {
	color:var(--color-accent-quiet);
	display:inline-block;
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-size:2.6rem;
	font-weight:800;
	line-height:1;
	margin-bottom:14px;
	transform:skewX(-10deg);
}
.workflow-step-card h3 {
	margin-bottom:8px;
}
.detail-gallery-track {
	display:flex;
	gap:14px;
	list-style:none;
	overflow-x:auto;
	overscroll-behavior-x:contain;
	padding:0 0 18px;
	scroll-snap-type:x mandatory;
	scrollbar-color:var(--color-accent-quiet) transparent;
	scrollbar-width:thin;
}
.detail-gallery-item {
	flex:0 0 auto;
	scroll-snap-align:center;
}
.detail-gallery-item img {
	height:clamp(230px, 44vh, 440px);
	max-width:84vw;
	object-fit:cover;
	width:auto;
}
.detail-gallery-caption {
	color:var(--color-muted-inverse);
	font-size:0.95rem;
	margin-top:10px;
	max-width:34ch;
}
.photo-frame {
	overflow:hidden;
	position:relative;
}
.photo-frame::after {
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"), radial-gradient(ellipse at center, transparent 58%, hsl(214 22% 15% / 0.34) 100%);
	content:"";
	inset:0;
	pointer-events:none;
	position:absolute;
}
.case-wall {
	display:grid;
	gap:16px;
}
.case-card {
	background:var(--color-tint);
	border-radius:10px;
	color:var(--color-text);
	display:flex;
	flex-direction:column;
	gap:12px;
	padding:var(--space-card);
}
.case-card-marker {
	display:flex;
	gap:5px;
}
.case-card-marker::before,
.case-card-marker::after {
	background:var(--color-accent-quiet);
	content:"";
	height:18px;
	transform:skewX(-22deg);
	width:8px;
}
.case-card-situation {
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-size:1.12rem;
	font-weight:600;
	line-height:1.4;
}
.case-card-term {
	align-self:flex-start;
	background:var(--color-stripe-light);
	border-radius:8px;
	font-size:0.95rem;
	font-weight:500;
	margin-top:auto;
	padding:6px 12px;
}
.case-card-lead .case-card-situation {
	font-size:clamp(1.2rem, 1rem + 0.7vw, 1.55rem);
}
.question-list {
	display:grid;
	gap:10px;
	max-width:48rem;
}
.question-item {
	background:var(--color-tint);
	border-radius:10px;
}
.question-item h3 {
	font-size:1.05rem;
}
.question-toggle {
	align-items:center;
	background:transparent;
	border:0;
	color:inherit;
	cursor:pointer;
	display:flex;
	font:inherit;
	gap:16px;
	justify-content:space-between;
	min-height:56px;
	padding:14px 22px;
	text-align:left;
	width:100%;
}
.question-toggle::after {
	background:var(--color-accent-quiet);
	content:"";
	flex:0 0 auto;
	height:12px;
	transform:skewX(-22deg);
	transition:transform 0.2s ease;
	width:12px;
}
.question-toggle[aria-expanded="true"]::after {
	transform:skewX(-22deg) scaleY(0.4);
}
.question-answer {
	padding:0 22px 18px;
}
.estimate-layout {
	display:grid;
	gap:24px;
}
.estimate-form-intro {
	border-top:1px solid var(--color-border);
	color:var(--color-muted);
	margin-top:22px;
	padding-top:18px;
}
.estimate-form {
	display:grid;
	gap:16px;
}
.form-field-label {
	display:block;
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-size:0.98rem;
	font-weight:600;
	margin-bottom:6px;
}
.form-text-input,
.form-textarea {
	background:var(--color-field);
	border:1px solid var(--color-border);
	border-radius:8px;
	color:var(--color-text);
	font:inherit;
	min-height:52px;
	padding:12px 14px;
	width:100%;
}
.form-textarea {
	min-height:110px;
	resize:vertical;
}
.form-consent-row {
	align-items:flex-start;
	display:flex;
	font-size:0.98rem;
	gap:12px;
	line-height:1.45;
}
.form-consent-row input {
	flex:0 0 auto;
	height:22px;
	margin:2px 0 0;
	width:22px;
}
.form-trap-field {
	height:1px;
	left:-9999px;
	overflow:hidden;
	position:absolute;
	top:auto;
	width:1px;
}
.form-status-note {
	color:var(--color-accent-cta-hover);
	font-weight:500;
}
.estimate-form .action-button {
	justify-self:start;
}
.company-facts-list {
	display:grid;
	gap:4px 20px;
}
.company-facts-list dt {
	color:var(--color-muted);
	font-size:0.92rem;
	padding-top:10px;
}
.company-facts-list dd {
	border-bottom:1px solid var(--color-border);
	padding-bottom:10px;
}
.legal-card-grid {
	display:grid;
	gap:16px;
}
.legal-card-grid > * {
	min-width:0;
}
.legal-card-grid h2 {
	font-size:clamp(1.2rem, 1.05rem + 0.4vw, 1.4rem);
}
.legal-card-grid .flat-card {
	border-left:6px solid var(--color-accent-quiet);
}
.legal-table-wrap {
	overflow-x:auto;
	scrollbar-color:var(--color-accent-quiet) transparent;
	scrollbar-width:thin;
}
.legal-data-table {
	border-collapse:collapse;
	font-size:0.97rem;
	min-width:520px;
	width:100%;
}
.legal-data-table caption {
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-weight:700;
	margin-bottom:10px;
	text-align:left;
}
.legal-data-table th,
.legal-data-table td {
	border-bottom:1px solid var(--color-border);
	padding:10px 12px 10px 0;
	text-align:left;
	vertical-align:top;
}
.legal-data-table thead th {
	color:var(--color-muted);
	font-size:0.9rem;
	font-weight:600;
}
.page-closing-strip {
	align-items:center;
	display:flex;
	flex-wrap:wrap;
	gap:16px 28px;
	justify-content:space-between;
}
.page-closing-strip p {
	max-width:36rem;
}
@media (min-width:720px) {
	.repair-rail-track {
		grid-auto-columns:minmax(250px, 42%);
	}
	.workflow-step-grid {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
	.case-wall {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
	.case-card-lead {
		grid-column:1 / -1;
	}
	.company-facts-list {
		grid-template-columns:max-content minmax(0, 1fr);
	}
	.company-facts-list dd {
		padding-top:10px;
	}
	.company-facts-list dt {
		border-bottom:1px solid var(--color-border);
		padding-bottom:10px;
	}
	.legal-card-grid {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
	.legal-card-wide {
		grid-column:1 / -1;
	}
}
@media (min-width:1000px) {
	.estimate-layout {
		align-items:start;
		grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr);
	}
}
@media (min-width:1200px) {
	body {
		background:linear-gradient(90deg, var(--color-stripe-dark) 0 38%, var(--color-stripe-light) 38% 100%);
		display:grid;
		grid-template-columns:38% minmax(0, 1fr);
		grid-template-rows:auto 1fr auto;
	}
	main {
		grid-column:2;
		grid-row:2;
		min-width:0;
	}
	[id] {
		scroll-margin-top:100px;
	}
	.repair-rail-track {
		grid-auto-columns:minmax(250px, 31%);
	}
	.workflow-step-grid {
		padding-bottom:40px;
	}
	.workflow-step-card:nth-child(even) {
		translate:0 40px;
	}
}
@media (min-width:1680px) {
	.workflow-step-grid {
		grid-template-columns:repeat(4, minmax(0, 1fr));
		padding-bottom:54px;
	}
	.workflow-step-card:nth-child(2) {
		translate:0 18px;
	}
	.workflow-step-card:nth-child(3) {
		translate:0 36px;
	}
	.workflow-step-card:nth-child(4) {
		translate:0 54px;
	}
}
@media (prefers-reduced-motion:reduce) {
	.question-toggle::after {
		transition:none;
	}
}
