@import url("sections/header.css?v=20261103c");
@import url("sections/hero.css?v=20261103c");
@import url("sections/services.css?v=20261103c");
@import url("sections/how-it-works.css?v=20261103c");
@import url("sections/why-rrco.css?v=20261103c");
@import url("sections/faq.css?v=20261103c");
@import url("sections/quote-form.css?v=20261103c");
@import url("sections/footer.css?v=20261103c");

@font-face {
	font-family: "Literata";
	src: url("../fonts/Literata-Variable.woff2") format("woff2");
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
}

:root {
	--rrco-color-paper: #ffffff;
	--rrco-color-white: #ffffff;
	--rrco-color-surface: #f1f0e9;
	--rrco-color-surface-strong: #e3e5dd;
	--rrco-color-ink: #12372b;
	--rrco-color-muted: #4e655c;
	--rrco-color-coral: #ff765b;
	--rrco-color-coral-strong: #d84428;
	--rrco-color-sage: #b9d2bd;
	--rrco-color-mint: #dcecdf;
	--rrco-color-yellow: #edf549;
	--rrco-color-success: #17643a;
	--rrco-color-danger: #a12622;

	--rrco-bg: var(--rrco-color-paper);
	--rrco-surface: var(--rrco-color-surface);
	--rrco-surface-strong: var(--rrco-color-surface-strong);
	--rrco-ink: var(--rrco-color-ink);
	--rrco-muted: var(--rrco-color-muted);
	--rrco-accent: var(--rrco-color-coral);
	--rrco-accent-strong: var(--rrco-color-coral-strong);
	--rrco-accent-ink: var(--rrco-color-ink);
	--rrco-field-sage: var(--rrco-color-sage);
	--rrco-field-mint: var(--rrco-color-mint);
	--rrco-field-yellow: var(--rrco-color-yellow);
	--rrco-field-coral: var(--rrco-color-coral);
	--rrco-field-forest: var(--rrco-color-ink);
	--rrco-field-forest-ink: var(--rrco-color-paper);
	--rrco-success: var(--rrco-color-success);
	--rrco-danger: var(--rrco-color-danger);

	--rrco-font-display: "Literata", Georgia, serif;
	--rrco-font-text: "Literata", Georgia, serif;
	--rrco-step-small: 1rem;
	--rrco-step-body: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
	--rrco-step-lead: clamp(1.25rem, 1.1rem + 0.5vw, 1.6rem);
	--rrco-step-head: clamp(2.25rem, 1.6rem + 2vw, 3.5rem);
	--rrco-step-display: clamp(3rem, 1.8rem + 3.1vw, 4.5rem);

	--rrco-space-1: 0.25rem;
	--rrco-space-2: 0.5rem;
	--rrco-space-3: 0.75rem;
	--rrco-space-4: 1rem;
	--rrco-space-5: 1.5rem;
	--rrco-space-6: 2rem;
	--rrco-space-7: 3rem;
	--rrco-space-8: 4rem;
	--rrco-space-9: 6rem;
	--rrco-space-10: 8rem;
	--rrco-space-11: 10rem;
	--rrco-section-space: clamp(var(--rrco-space-9), 11vw, var(--rrco-space-11));
	--rrco-page-gutter: clamp(var(--rrco-space-4), 2.2vw, var(--rrco-space-6));
	--rrco-grid-gutter: clamp(var(--rrco-space-3), 1.5vw, var(--rrco-space-5));

	--rrco-radius: 0;
	--rrco-border-width: 0.125rem;
	--rrco-border: var(--rrco-border-width) solid var(--rrco-ink);
	--rrco-container-max: 120rem;
	--rrco-header-height: 5rem;
	--rrco-control-height: 3.5rem;
	--rrco-touch-target: 2.75rem;
	--rrco-outline-size: 0.1875rem;

	--rrco-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--rrco-ease-expo: cubic-bezier(0.16, 1, 0.3, 1);
	--rrco-ease-in-out: cubic-bezier(0.76, 0, 0.24, 1);
	--rrco-ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
	--rrco-transition-press: 140ms;
	--rrco-transition-hover: 180ms;
	--rrco-transition-ui: 240ms;
	--rrco-transition-reveal: 800ms;
	--rrco-transition-open: 1200ms;
}

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

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--rrco-header-height) + var(--rrco-space-4));
}

body {
	margin: 0;
	background: var(--rrco-bg);
	color: var(--rrco-ink);
	font-family: var(--rrco-font-text);
	font-size: var(--rrco-step-body);
	font-weight: 400;
	line-height: 1.55;
	font-kerning: normal;
	text-rendering: optimizeLegibility;
}

img,
svg {
	display: block;
	max-width: 100%;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
summary,
select {
	cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	color: inherit;
	font-family: var(--rrco-font-display);
	font-optical-sizing: auto;
	font-weight: 600;
	line-height: 1.02;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

h1 {
	font-size: var(--rrco-step-display);
}

h2 {
	font-size: var(--rrco-step-head);
}

h3,
h4,
h5,
h6 {
	font-size: var(--rrco-step-lead);
	line-height: 1.12;
	letter-spacing: -0.02em;
}

p {
	max-width: 62ch;
	margin: 0;
	text-wrap: pretty;
}

p + p {
	margin-top: 0.9em;
}

a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.2em;
}

ul,
ol {
	margin: 0;
	padding-inline-start: var(--rrco-space-5);
}

::selection {
	background: var(--rrco-field-yellow);
	color: var(--rrco-ink);
}

:focus-visible {
	outline: var(--rrco-outline-size) solid var(--rrco-accent-strong);
	outline-offset: var(--rrco-space-1);
}

.rrco-main {
	overflow: clip;
}

.rrco-section-frame {
	width: min(100%, var(--rrco-container-max));
	margin-inline: auto;
	padding-inline: var(--rrco-page-gutter);
}

.rrco-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--rrco-control-height);
	padding: var(--rrco-space-3) var(--rrco-space-6);
	border: var(--rrco-border);
	border-radius: var(--rrco-radius);
	background: var(--rrco-field-forest);
	color: var(--rrco-field-forest-ink);
	font-size: var(--rrco-step-body);
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;
	transition: transform var(--rrco-transition-press) var(--rrco-ease-out), background-color var(--rrco-transition-hover) ease, color var(--rrco-transition-hover) ease;
}

.rrco-button:active {
	transform: scale(0.97);
}

.rrco-text-link {
	color: var(--rrco-ink);
	font-weight: 700;
	text-decoration-color: currentColor;
	transition: color var(--rrco-transition-hover) ease, text-decoration-color var(--rrco-transition-hover) ease;
}

.rrco-skip-link {
	position: fixed;
	top: var(--rrco-space-3);
	left: var(--rrco-page-gutter);
	z-index: 9999;
	padding: var(--rrco-space-3) var(--rrco-space-4);
	background: var(--rrco-ink);
	color: var(--rrco-bg);
	transform: translateY(-200%);
	transition: transform var(--rrco-transition-ui) var(--rrco-ease-out);
}

.rrco-skip-link:focus {
	transform: none;
}

.rrco-honeypot {
	position: absolute !important;
	width: var(--rrco-space-1) !important;
	height: var(--rrco-space-1) !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

@media (hover: hover) and (pointer: fine) {
	.rrco-button:hover {
		background: var(--rrco-field-yellow);
		color: var(--rrco-ink);
	}

	.rrco-text-link:hover {
		color: var(--rrco-accent-strong);
		text-decoration-color: transparent;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.js [data-reveal] {
		opacity: 0;
		transform: translateY(var(--rrco-space-5));
		transition: opacity var(--rrco-transition-reveal) var(--rrco-ease-expo), transform var(--rrco-transition-reveal) var(--rrco-ease-expo);
	}

	.js [data-reveal].is-in {
		opacity: 1;
		transform: none;
	}

	.js .rrco-hero__title span {
		display: block;
		animation: rrco-line-rise 900ms var(--rrco-ease-expo) both;
	}

	.js .rrco-hero__title span + span {
		animation-delay: 90ms;
	}

	.js .rrco-hero__media img {
		animation: rrco-hero-settle var(--rrco-transition-open) var(--rrco-ease-expo) both;
	}
}

@keyframes rrco-line-rise {
	from { opacity: 0; transform: translateY(0.35em); }
	to { opacity: 1; transform: none; }
}

@keyframes rrco-hero-settle {
	from { transform: scale(1.06); }
	to { transform: none; }
}

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

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
	}
}
