
		:root {
			--site-bg: #F3F9FC;
			--site-surface: #F6FCFF;
			--site-text: #131C20;
			--site-muted: #4D575C;
			--site-border: #CBD2D4;
			--site-primary: #E7B454;
			--site-on-primary: #000000;
			--site-secondary: #F2E6D2;
			--site-on-secondary: #000000;
			--site-accent: #C0C477;
			--site-on-accent: #000000;
			--color-bg: #F3F9FC;
			--color-surface: #F6FCFF;
			--color-text: #131C20;
			--color-muted: #4D575C;
			--color-border: #CBD2D4;
			--color-primary: #E7B454;
			--color-on-primary: #000000;
			--color-secondary: #F2E6D2;
			--color-on-secondary: #000000;
			--color-accent: #C0C477;
			--color-on-accent: #000000;
			--color-primary-text: #926908;
			--color-secondary-text: #7B705E;
			--color-accent-text: #717426;
			--color-indicator: #B7861A;
			--color-success: #22C55E;
			--color-warning: #F59E0B;
			--color-error: #EF4444;
			--color-info: #3B82F6;
			--color-tonal-bg: #FCF2E1;
			--color-tonal-surface: #EEDBBC;
			--color-tonal-panel: #D7B16F;
			--color-tonal-text: #131C20;
			--color-tonal-primary-text: #7D5905;
			--color-tonal-indicator: #A1740B;
			--color-category-0: #F2E4CD;
			--color-category-1: #E4CEA9;
			--color-on-tonal-panel: #000000;
			--color-on-category-0: #000000;
			--color-on-category-1: #000000;
			--font-heading: 'Playfair Display', serif;
			--font-body: 'Poppins', sans-serif;
			--radius: 4px;
			--shadow-card: 0 4px 12px rgba(0, 0, 0, 0.15);
			--max-width: 1100px;
			--rail-line: var(--site-border);
		}
		@media (prefers-color-scheme: dark) {
			:root {
				--site-bg: #0E1417;
				--site-surface: #192023;
				--site-text: #DFF2FA;
				--site-muted: #A3B4BC;
				--site-border: #31393C;
				--site-primary: #E1B669;
				--site-on-primary: #000000;
				--site-secondary: #382C15;
				--site-on-secondary: #FFFFFF;
				--site-accent: #C0C477;
				--site-on-accent: #000000;
				--color-bg: #0E1417;
				--color-surface: #192023;
				--color-text: #DFF2FA;
				--color-muted: #A3B4BC;
				--color-border: #31393C;
				--color-primary: #E1B669;
				--color-on-primary: #000000;
				--color-secondary: #382C15;
				--color-on-secondary: #FFFFFF;
				--color-accent: #C0C477;
				--color-on-accent: #000000;
				--color-primary-text: #E1B669;
				--color-secondary-text: #92846B;
				--color-accent-text: #C0C477;
				--color-indicator: #E1B669;
				--color-tonal-bg: #110A02;
				--color-tonal-surface: #2C1E03;
				--color-tonal-panel: #573D01;
				--color-tonal-text: #DFF2FA;
				--color-tonal-primary-text: #E1B669;
				--color-tonal-indicator: #E1B669;
				--color-category-0: #2F2512;
				--color-category-1: #473513;
				--color-on-tonal-panel: #FFFFFF;
				--color-on-category-0: #FFFFFF;
				--color-on-category-1: #FFFFFF;
			}
		}
		*, *::before, *::after { box-sizing: border-box; }
		body {
			margin: 0;
			font-family: var(--font-body);
			font-weight: 400;
			font-size: clamp(1rem, 0.4vw + 0.92rem, 1.075rem);
			line-height: 1.65;
			color: var(--color-text);
			background: var(--color-bg);
		}
		h1, h2, h3, h4 {
			font-family: var(--font-heading);
			font-weight: 600;
			line-height: 1.2;
			color: var(--color-text);
		}
		a { color: var(--color-primary-text); }
		img { max-width: 100%; display: block; }
		.bar {
			position: sticky;
			top: 0;
			height: 72px;
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 0 24px;
			z-index: 10;
			background: var(--color-bg);
			border-bottom: 1px solid var(--site-border);
		}
		.bar .brand {
			display: inline-flex;
			align-items: center;
			gap: 0.5rem;
			font-family: var(--font-heading);
			font-weight: 600;
			font-size: 1.2rem;
			color: var(--color-text);
			text-decoration: none;
		}
		.bar .cta {
			border: 2px solid var(--color-primary-text);
			color: var(--color-primary-text);
			background: transparent;
			text-decoration: none;
			padding: 0.55rem 1.2rem;
			border-radius: var(--radius);
			font-weight: 600;
			font-size: 0.95rem;
			white-space: nowrap;
			transition: transform 0.2s ease, background 0.2s ease;
		}
		.bar .cta:hover {
			background: var(--site-primary);
			color: var(--site-on-primary);
			border-color: var(--site-primary);
			transform: translateY(-2px);
		}
		.intro {
			display: grid;
			grid-template-columns: 1.2fr 1fr;
			gap: 3rem;
			max-width: var(--max-width);
			margin: 0 auto;
			padding: 4rem 24px 3rem;
		}
		.intro img {
			width: 100%;
			height: auto;
			max-height: 420px;
			object-fit: cover;
			border-radius: var(--radius);
			box-shadow: var(--shadow-card);
		}
		.rail {
			list-style: none;
			position: relative;
			max-width: var(--max-width);
			margin: 0 auto;
			padding: 0 24px;
		}
		.rail::before {
			content: "";
			position: absolute;
			left: calc(24px + 3.5rem);
			top: 3.5rem;
			bottom: 3.5rem;
			border-left: 3px solid var(--rail-line);
		}
		.step {
			display: grid;
			grid-template-columns: 7rem 1fr;
			column-gap: 2.5rem;
			padding: 3.5rem 0;
			height: auto;
		}
		.num {
			width: 7rem;
			height: 7rem;
			border-radius: 50%;
			border: 3px solid var(--site-primary);
			display: grid;
			place-items: center;
			font-size: 3rem;
			font-weight: 800;
			line-height: 1;
			position: relative;
			z-index: 1;
			background: var(--color-bg);
			color: var(--color-primary-text);
		}
		.body {
			padding-top: 1.5rem;
			max-width: 640px;
		}
		.final .body {
			padding: 2.5rem;
			border: 3px solid var(--site-border);
			border-radius: var(--radius);
			max-width: none;
		}
		.btn {
			display: inline-flex;
			align-items: center;
			gap: 0.5rem;
			border: 2px solid var(--color-primary-text);
			color: var(--color-primary-text);
			background: transparent;
			padding: 0.8rem 1.5rem;
			border-radius: var(--radius);
			font-weight: 600;
			text-decoration: none;
			transition: transform 0.2s ease, background 0.2s ease;
		}
		.btn:hover {
			background: var(--site-primary);
			color: var(--site-on-primary);
			border-color: var(--site-primary);
			transform: translateY(-4px);
		}
		.btn-solid {
			background: var(--site-primary);
			color: var(--site-on-primary);
			border-color: var(--site-primary);
		}
		.card {
			background: var(--color-surface);
			border: 1px solid var(--site-border);
			border-radius: var(--radius);
			box-shadow: var(--shadow-card);
			padding: 1.5rem;
			transition: transform 0.2s ease;
		}
		.card:hover { transform: translateY(-4px); }
		.icon-circle {
			display: grid;
			place-items: center;
			width: 56px;
			height: 56px;
			border-radius: 50%;
			background: rgba(231, 180, 84, 0.15);
			color: var(--color-primary-text);
			font-size: 1.6rem;
		}
		input, textarea, select, button {
			font-family: inherit;
			font-size: 1rem;
		}
		input, textarea, select {
			width: 100%;
			padding: 0.7rem 0.85rem;
			border: 1px solid var(--site-border);
			border-radius: var(--radius);
			background: var(--color-surface);
			color: var(--color-text);
		}
		:focus-visible {
			outline: 3px solid var(--color-indicator);
			outline-offset: 2px;
		}
		@media (max-width: 700px) {
			.intro { grid-template-columns: 1fr; }
			.bar { height: 64px; }
			.rail::before { left: calc(24px + 2.5rem); }
			.step { grid-template-columns: 5rem 1fr; column-gap: 1.25rem; }
			.num { width: 5rem; height: 5rem; font-size: 2.5rem; }
			.final .body { padding: 1.5rem; }
		}
	

		main {
			overflow: hidden;
			background: var(--color-bg);
			color: var(--color-text);
		}

		main .intro {
			display: grid;
			grid-template-columns: 1.08fr 1fr;
			align-items: center;
			gap: clamp(2rem, 5vw, 4rem);
			max-width: var(--max-width);
			margin: 0 auto;
			padding: clamp(2.5rem, 6vw, 4rem) 24px 3rem;
		}

		main .intro-copy {
			max-width: 550px;
		}

		main .eyebrow {
			display: inline-flex;
			align-items: center;
			gap: 0.55rem;
			margin: 0 0 1rem;
			color: var(--color-primary-text);
			font-size: 0.82rem;
			font-weight: 600;
			letter-spacing: 0.08em;
			text-transform: uppercase;
		}

		main h1 {
			max-width: 11ch;
			margin: 0;
			font-size: clamp(2.5rem, 5vw, 4rem);
			letter-spacing: -0.035em;
		}

		main .intro-copy > p:not(.eyebrow) {
			max-width: 54ch;
			margin: 1.15rem 0 1.6rem;
			color: var(--color-muted);
		}

		main .intro-actions {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			gap: 0.8rem;
		}

		main .btn {
			display: inline-flex;
			min-height: 48px;
			align-items: center;
			justify-content: center;
			gap: 0.55rem;
			padding: 0.7rem 1.1rem;
			border: 2px solid var(--color-primary-text);
			border-radius: var(--radius);
			background: transparent;
			color: var(--color-primary-text);
			font-weight: 600;
			text-decoration: none;
			transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
		}

		main .btn:hover {
			transform: translateY(-4px);
			background: var(--color-primary);
			border-color: var(--color-primary);
			color: var(--color-on-primary);
		}

		main .btn-solid {
			background: var(--color-primary);
			border-color: var(--color-primary);
			color: var(--color-on-primary);
		}

		main .btn-solid:hover {
			background: var(--color-primary);
			border-color: var(--color-primary-text);
			color: var(--color-on-primary);
		}

		main .hero-photo-wrap {
			position: relative;
			isolation: isolate;
		}

		main .hero-photo-wrap::before {
			position: absolute;
			z-index: -1;
			inset: -14px 14px 14px -14px;
			border-radius: var(--radius);
			background: linear-gradient(135deg, var(--color-secondary), var(--color-accent));
			content: "";
		}

		main .hero-photo {
			width: 100%;
			height: min(420px, 42vw);
			min-height: 280px;
			border-radius: var(--radius);
			box-shadow: var(--shadow-card);
			object-fit: cover;
		}

		main .hero-caption {
			position: absolute;
			right: 14px;
			bottom: 14px;
			max-width: 250px;
			margin: 0;
			padding: 0.7rem 0.9rem;
			border: 1px solid var(--color-border);
			border-radius: var(--radius);
			background: var(--color-surface);
			color: var(--color-text);
			font-size: 0.82rem;
			font-weight: 500;
		}

		main .rail {
			position: relative;
			max-width: var(--max-width);
			margin: 0 auto;
			padding: 0 24px;
			list-style: none;
		}

		main .rail::before {
			position: absolute;
			top: 3.5rem;
			bottom: 3.5rem;
			left: calc(24px + 3.5rem);
			border-left: 3px solid var(--color-border);
			content: "";
		}

		main .step {
			position: relative;
			display: grid;
			grid-template-columns: 7rem minmax(0, 1fr);
			column-gap: 2.5rem;
			height: auto;
			padding: clamp(3rem, 6vw, 5rem) 0;
		}

		main .num {
			position: relative;
			z-index: 1;
			display: grid;
			width: 7rem;
			height: 7rem;
			place-items: center;
			border: 3px solid var(--color-primary);
			border-radius: 50%;
			background: var(--color-bg);
			color: var(--color-primary-text);
			font-size: 3rem;
			font-weight: 800;
			line-height: 1;
		}

		main .body {
			max-width: 760px;
			padding-top: 1.15rem;
		}

		main .body h2 {
			margin: 0 0 0.8rem;
			font-size: clamp(1.75rem, 3vw, 2.35rem);
		}

		main .body > p {
			max-width: 68ch;
			margin: 0 0 1rem;
			color: var(--color-muted);
		}

		main .short-line {
			margin: 0.7rem 0 1.2rem;
			color: var(--color-primary-text);
			font-weight: 600;
		}

		main .step-media {
			display: grid;
			grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
			align-items: center;
			gap: clamp(1.2rem, 3vw, 2rem);
			margin-top: 1.6rem;
		}

		main .step-media img {
			width: 100%;
			height: 190px;
			border-radius: var(--radius);
			box-shadow: var(--shadow-card);
			object-fit: cover;
		}

		main .note-panel {
			padding: 1.2rem 1.35rem;
			border: 1px solid var(--color-border);
			border-left: 4px solid var(--color-primary);
			border-radius: var(--radius);
			background: var(--color-surface);
			color: var(--color-text);
		}

		main .note-panel p {
			margin: 0;
			color: var(--color-muted);
		}

		main .note-panel strong {
			display: block;
			margin-bottom: 0.35rem;
			color: var(--color-text);
		}

		main .feature-list {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 0.9rem;
			margin: 1.6rem 0 0;
			padding: 0;
			list-style: none;
		}

		main .feature-list li {
			display: flex;
			align-items: flex-start;
			gap: 0.8rem;
			padding: 1rem;
			border: 1px solid var(--color-border);
			border-radius: var(--radius);
			background: var(--color-surface);
			color: var(--color-text);
			box-shadow: var(--shadow-card);
			transition: transform 0.2s ease;
		}

		main .feature-list li:hover,
		main .service-card:hover {
			transform: translateY(-4px);
		}

		main .icon-circle {
			display: grid;
			width: 46px;
			height: 46px;
			flex: 0 0 46px;
			place-items: center;
			border-radius: 50%;
			background: rgba(192, 196, 119, 0.16);
			color: var(--color-accent-text);
		}

		main .feature-list strong {
			display: block;
			margin-bottom: 0.2rem;
			font-weight: 600;
		}

		main .feature-list span:not(.icon-circle) {
			display: block;
			color: var(--color-muted);
			font-size: 0.92rem;
			line-height: 1.55;
		}

		main .maintenance-list {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 0.7rem 1.4rem;
			margin: 1.4rem 0 1.8rem;
			padding: 0;
			list-style: none;
		}

		main .maintenance-list li {
			display: flex;
			align-items: flex-start;
			gap: 0.6rem;
			color: var(--color-text);
		}

		main .maintenance-list ion-icon {
			margin-top: 0.22rem;
			color: var(--color-primary-text);
			font-size: 1.1rem;
		}

		main details {
			margin-top: 0.7rem;
			border: 1px solid var(--color-border);
			border-radius: var(--radius);
			background: var(--color-surface);
			color: var(--color-text);
		}

		main details summary {
			padding: 0.85rem 1rem;
			cursor: pointer;
			font-weight: 600;
		}

		main details p {
			margin: 0;
			padding: 0 1rem 1rem;
			color: var(--color-muted);
		}

		main .service-grid {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 1rem;
			margin: 1.7rem 0;
		}

		main .service-card {
			padding: 1.25rem;
			border: 1px solid var(--color-border);
			border-radius: var(--radius);
			background: var(--color-surface);
			color: var(--color-text);
			box-shadow: var(--shadow-card);
			transition: transform 0.2s ease;
		}

		main .service-card .icon-circle {
			margin-bottom: 0.9rem;
		}

		main .service-card h3 {
			margin: 0 0 0.4rem;
			font-family: var(--font-body);
			font-size: 1.04rem;
			font-weight: 600;
		}

		main .service-card p {
			margin: 0;
			color: var(--color-muted);
			font-size: 0.93rem;
		}

		main .proof {
			margin-top: 1.8rem;
			padding: 1.3rem 1.4rem;
			border-left: 4px solid var(--color-primary);
			background: var(--color-secondary);
			color: var(--color-on-secondary);
		}

		main .proof blockquote {
			margin: 0;
			font-family: var(--font-heading);
			font-size: 1.2rem;
			line-height: 1.5;
		}

		main .proof figcaption {
			margin-top: 0.7rem;
			color: var(--color-on-secondary);
			font-family: var(--font-body);
			font-size: 0.88rem;
			font-weight: 600;
		}

		main .trust-row {
			display: flex;
			flex-wrap: wrap;
			gap: 0.65rem;
			margin-top: 1.2rem;
		}

		main .trust-row span {
			display: inline-flex;
			align-items: center;
			gap: 0.45rem;
			padding: 0.45rem 0.7rem;
			border: 1px solid var(--color-border);
			border-radius: var(--radius);
			background: var(--color-surface);
			color: var(--color-text);
			font-size: 0.83rem;
			font-weight: 500;
		}

		main .final .body {
			max-width: none;
			padding: clamp(1.4rem, 4vw, 2.5rem);
			border: 2px solid var(--color-border);
			border-radius: var(--radius);
			background: var(--color-surface);
			color: var(--color-text);
			box-shadow: var(--shadow-card);
		}

		main .final .body > p {
			max-width: 64ch;
		}

		main .quote-form {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 1rem;
			margin-top: 1.5rem;
		}

		main .quote-form label {
			display: grid;
			gap: 0.35rem;
			color: var(--color-text);
			font-size: 0.9rem;
			font-weight: 500;
		}

		main .quote-form input,
		main .quote-form select,
		main .quote-form textarea {
			width: 100%;
			padding: 0.72rem 0.8rem;
			border: 1px solid var(--color-border);
			border-radius: var(--radius);
			background: var(--color-bg);
			color: var(--color-text);
			font: inherit;
		}

		main .quote-form textarea {
			min-height: 118px;
			resize: vertical;
		}

		main .quote-form .wide {
			grid-column: 1 / -1;
		}

		main .quote-form button {
			width: fit-content;
			font: inherit;
			cursor: pointer;
		}

		main .form-note {
			margin: 0.8rem 0 0 !important;
			font-size: 0.85rem;
		}

		main :focus-visible {
			outline: 3px solid var(--color-indicator);
			outline-offset: 3px;
		}

		@media (max-width: 700px) {
			main .intro {
				grid-template-columns: 1fr;
				gap: 2rem;
				padding-top: 2.5rem;
			}

			main h1 {
				max-width: 13ch;
			}

			main .hero-photo {
				height: 62vw;
				min-height: 240px;
			}

			main .rail::before {
				left: calc(24px + 2.5rem);
			}

			main .step {
				grid-template-columns: 5rem minmax(0, 1fr);
				column-gap: 1.25rem;
				padding: 3rem 0;
			}

			main .num {
				width: 5rem;
				height: 5rem;
				font-size: 2.5rem;
			}

			main .body {
				padding-top: 0.65rem;
			}

			main .step-media {
				grid-template-columns: 1fr;
			}

			main .step-media img {
				max-width: 280px;
			}

			main .feature-list,
			main .maintenance-list,
			main .service-grid {
				grid-template-columns: 1fr;
			}

			main .final .body {
				padding: 1.25rem;
			}

			main .quote-form {
				grid-template-columns: 1fr;
			}

			main .quote-form .wide {
				grid-column: auto;
			}

			main .quote-form button {
				width: 100%;
			}
		}

		@media (prefers-reduced-motion: reduce) {
			main *,
			main *::before,
			main *::after {
				scroll-behavior: auto !important;
				transition-duration: 0.01ms !important;
			}
		}
	

		.site-footer {
			background: var(--color-tonal-bg);
			color: var(--color-text);
			border-top: 1px solid var(--site-border);
			margin-top: clamp(3rem, 8vw, 5rem);
			padding: clamp(2.5rem, 6vw, 4rem) 24px 1.5rem;
		}
		.site-footer .footer-inner {
			max-width: 1100px;
			margin: 0 auto;
			display: grid;
			grid-template-columns: 1.6fr 1fr 1fr 1fr;
			gap: 2rem;
		}
		.site-footer .brand {
			display: inline-flex;
			align-items: center;
			gap: 0.5rem;
			font-family: var(--font-heading);
			font-weight: 600;
			font-size: 1.25rem;
			color: var(--color-text);
			text-decoration: none;
		}
		.site-footer p {
			color: var(--color-muted);
			font-size: 0.95rem;
			margin: 0.5rem 0;
			display: flex;
			align-items: center;
			gap: 0.5rem;
		}
		.site-footer h3 {
			font-family: var(--font-body);
			font-size: 0.9rem;
			text-transform: uppercase;
			letter-spacing: 0.06em;
			font-weight: 600;
			margin: 0 0 1rem;
			color: var(--color-text);
		}
		.site-footer ul { list-style: none; margin: 0; padding: 0; }
		.site-footer li { margin-bottom: 0.5rem; }
		.site-footer a { color: var(--color-primary-text); text-decoration: none; font-size: 0.95rem; }
		.site-footer a:hover { text-decoration: underline; }
		.site-footer .footer-bottom {
			max-width: 1100px;
			margin: 2.5rem auto 0;
			padding-top: 1.25rem;
			border-top: 1px solid var(--site-border);
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			align-items: center;
			gap: 1rem;
			font-size: 0.85rem;
			color: var(--color-muted);
		}
		.site-footer .footer-legal { display: flex; flex-wrap: wrap; gap: 1rem; list-style: none; margin: 0; padding: 0; }
		.cookie-note {
			position: fixed;
			left: 16px;
			right: 16px;
			bottom: 16px;
			z-index: 50;
			max-width: 640px;
			margin: 0 auto;
			background: var(--color-surface);
			color: var(--color-text);
			border: 1px solid var(--site-border);
			border-radius: var(--radius);
			box-shadow: var(--shadow-card);
			padding: 1rem 1.25rem;
			display: flex;
			flex-wrap: wrap;
			gap: 1rem;
			align-items: center;
			justify-content: space-between;
		}
		.cookie-note p { margin: 0; font-size: 0.9rem; color: var(--color-muted); }
		.cookie-note button {
			border: 2px solid var(--color-primary-text);
			background: transparent;
			color: var(--color-primary-text);
			border-radius: var(--radius);
			padding: 0.6rem 1.2rem;
			font-weight: 600;
			cursor: pointer;
		}
		.cookie-note button:hover {
			background: var(--site-primary);
			color: var(--site-on-primary);
			border-color: var(--site-primary);
		}
		@media (max-width: 860px) { .site-footer .footer-inner { grid-template-columns: 1fr 1fr; } }
		@media (max-width: 520px) { .site-footer .footer-inner { grid-template-columns: 1fr; } }
	