:root {
	--fd-black: #000000;
	--fd-ink: #111111;
	--fd-muted: #5f6368;
	--fd-soft: #f3f4f5;
	--fd-line: #dedede;
	--fd-green: #06c167;
	--fd-orange: #ff8a00;
	--fd-gold: #c7aa22;
	--fd-forest: #153f35;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	background: #ffffff;
	color: var(--fd-ink);
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	letter-spacing: 0;
	margin: 0;
}

a {
	color: inherit;
	text-decoration: none;
}

.fd-site {
	background: #ffffff;
	overflow: hidden;
}

.fd-header {
	align-items: center;
	background: var(--fd-black);
	color: #fff;
	display: grid;
	gap: 24px;
	grid-template-columns: 1fr auto 1fr;
	min-height: 72px;
	padding: 0 56px;
	position: sticky;
	top: 0;
	z-index: 20;
}

.fd-logo {
	align-items: center;
	display: inline-flex;
	gap: 12px;
	min-width: 0;
	width: fit-content;
}

.fd-logo-mark {
	align-items: center;
	background: transparent;
	border-radius: 999px;
	box-shadow: 0 14px 34px rgba(199, 170, 34, 0.16);
	display: inline-flex;
	flex: 0 0 auto;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.fd-logo-mark svg {
	height: 48px;
	width: 48px;
}

.fd-logo-bg {
	fill: var(--fd-forest);
}

.fd-logo-flame,
.fd-logo-center {
	fill: var(--fd-gold);
}

.fd-logo-speed,
.fd-logo-timer,
.fd-logo-timer-line,
.fd-logo-ticks {
	fill: none;
	stroke: var(--fd-forest);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.8;
}

.fd-logo-speed {
	fill: none;
	stroke: var(--fd-gold);
	stroke-width: 2.4;
}

.fd-logo-ticks {
	stroke-width: 2.1;
}

.fd-logo-word {
	display: grid;
	gap: 3px;
	line-height: 1;
	min-width: 0;
	text-transform: uppercase;
}

.fd-logo-word strong {
	color: var(--fd-gold);
	font-size: 1.05rem;
	font-weight: 900;
	letter-spacing: 0;
	text-shadow: 1.5px 1.5px 0 var(--fd-forest);
	white-space: nowrap;
}

.fd-logo-word span {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.5rem;
	font-weight: 750;
	letter-spacing: 0.14em;
	white-space: nowrap;
}

.fd-nav {
	display: flex;
	gap: 28px;
}

.fd-nav a {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.92rem;
	font-weight: 750;
}

.fd-nav a:hover {
	color: #fff;
}

.fd-header-cta {
	background: var(--fd-green);
	border-radius: 8px;
	color: #000;
	font-size: 0.92rem;
	font-weight: 900;
	justify-self: end;
	padding: 12px 18px;
}

.fd-hero {
	background: var(--fd-black);
	color: #fff;
	display: grid;
	gap: 56px;
	grid-template-columns: minmax(520px, 0.9fr) minmax(440px, 1.1fr);
	min-height: calc(100vh - 72px);
	padding: 48px 56px 72px;
}

.fd-booking {
	align-self: start;
	position: sticky;
	top: 104px;
	z-index: 2;
}

.fd-hero-story {
	align-self: start;
	display: grid;
	gap: 28px;
	min-width: 0;
	padding-top: 18px;
}

.fd-eyebrow {
	color: var(--fd-green);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.fd-hero h1,
.fd-section h2,
.fd-business h2 {
	font-weight: 900;
	letter-spacing: 0;
	line-height: 0.98;
	margin: 0;
	text-wrap: balance;
}

.fd-hero h1 {
	color: #fff;
	font-size: 5.5rem;
	max-width: 760px;
}

.fd-hero p:not(.fd-eyebrow) {
	color: rgba(255, 255, 255, 0.72);
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.62;
	margin: 0;
	max-width: 610px;
}

.fd-hero-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.fd-hero-actions a {
	background: var(--fd-green);
	border-radius: 8px;
	color: #000;
	font-weight: 900;
	padding: 15px 20px;
}

.fd-hero-actions span {
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.94rem;
	font-weight: 750;
	line-height: 1.35;
}

.fd-visual {
	display: grid;
	margin-top: 8px;
	min-height: 410px;
	position: relative;
}

.fd-photo {
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.3)),
		url("https://images.unsplash.com/photo-1774978236819-1cfbb59793c0?auto=format&fit=crop&w=1100&q=82") center / cover;
	border-radius: 8px;
	min-height: 410px;
}

.fd-floating {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
	color: #000;
	display: grid;
	gap: 3px;
	padding: 16px 18px;
	position: absolute;
}

.fd-floating strong {
	font-size: 1.38rem;
	font-weight: 900;
	line-height: 1;
}

.fd-floating span {
	color: var(--fd-muted);
	font-size: 0.84rem;
	font-weight: 800;
}

.fd-floating-top {
	right: 22px;
	top: 22px;
}

.fd-floating-bottom {
	bottom: 22px;
	left: 22px;
}

.fd-strip {
	background: #fff;
	border-bottom: 1px solid var(--fd-line);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fd-strip div {
	border-left: 1px solid var(--fd-line);
	display: grid;
	gap: 5px;
	min-height: 132px;
	padding: 28px;
}

.fd-strip div:first-child {
	border-left: 0;
}

.fd-strip strong {
	font-size: 1.42rem;
	font-weight: 900;
	line-height: 1.1;
}

.fd-strip span {
	color: var(--fd-muted);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.35;
}

.fd-section {
	display: grid;
	gap: 48px;
	grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
	padding: 96px 56px;
}

.fd-section h2,
.fd-business h2 {
	color: var(--fd-black);
	font-size: 4.2rem;
	max-width: 780px;
}

.fd-steps {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fd-steps article,
.fd-faq-list details {
	background: var(--fd-soft);
	border-radius: 8px;
	min-height: 260px;
	padding: 28px;
}

.fd-steps span {
	align-items: center;
	background: var(--fd-black);
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 0.86rem;
	font-weight: 900;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.fd-steps h3 {
	font-size: 1.35rem;
	font-weight: 900;
	line-height: 1.18;
	margin: 64px 0 10px;
}

.fd-steps p,
.fd-faq-list p,
.fd-business li,
.fd-footer span {
	color: var(--fd-muted);
	font-size: 0.98rem;
	font-weight: 650;
	line-height: 1.65;
}

.fd-business {
	background: var(--fd-black);
	color: #fff;
	display: grid;
	gap: 48px;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.78fr);
	padding: 96px 56px;
}

.fd-business h2 {
	color: #fff;
}

.fd-business ul {
	background: #fff;
	border-radius: 8px;
	color: #000;
	list-style: none;
	margin: 0;
	padding: 20px;
}

.fd-business li {
	border-top: 1px solid var(--fd-line);
	color: var(--fd-ink);
	font-weight: 800;
	padding: 18px 4px;
}

.fd-business a {
	color: var(--fd-forest);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fd-business li:first-child {
	border-top: 0;
}

.fd-faq-list {
	display: grid;
	gap: 12px;
}

.fd-faq-list details {
	min-height: 0;
}

.fd-faq-list summary {
	cursor: pointer;
	font-size: 1.06rem;
	font-weight: 900;
	line-height: 1.35;
}

.fd-faq-list p {
	margin: 12px 0 0;
}

.fd-footer {
	align-items: center;
	background: #fff;
	border-top: 1px solid var(--fd-line);
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr auto;
	padding: 32px 56px;
}

.fd-footer-brand {
	display: grid;
	gap: 10px;
}

.fd-footer .fd-logo {
	color: #000;
	width: fit-content;
}

.fd-footer .fd-logo-word span {
	color: var(--fd-muted);
}

.fd-footer a {
	font-weight: 850;
}

.fd-footer-hours {
	color: var(--fd-muted);
	font-size: 0.95rem;
	font-weight: 600;
}

.fd-footer-links {
	align-items: end;
	display: grid;
	gap: 8px;
	text-align: right;
}

.fd-footer-links a:first-child {
	color: var(--fd-muted);
}

.fd-terms-site {
	background: #f5f5f7;
	min-height: 100vh;
}

.fd-terms-hero {
	background: #000;
	color: #fff;
	display: grid;
	gap: 16px;
	padding: 80px 56px 64px;
}

.fd-terms-hero h1 {
	color: #fff;
	font-size: clamp(3rem, 7vw, 6.5rem);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 0.98;
	margin: 0;
}

.fd-terms-hero p {
	color: rgba(255, 255, 255, 0.74);
	font-size: 1.12rem;
	font-weight: 650;
	line-height: 1.55;
	margin: 0;
	max-width: 720px;
}

.fd-terms-hero span {
	color: var(--fd-gold);
	font-size: 0.9rem;
	font-weight: 800;
}

.fd-terms-content {
	padding: 56px;
}

.fd-terms-content article {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 18px;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.07);
	margin: 0 auto;
	max-width: 980px;
	padding: 44px;
}

.fd-terms-content h2 {
	color: #000;
	font-size: 1.35rem;
	font-weight: 900;
	line-height: 1.2;
	margin: 34px 0 12px;
}

.fd-terms-content h2:first-child {
	margin-top: 0;
}

.fd-terms-content p,
.fd-terms-content li {
	color: #3f4246;
	font-size: 1rem;
	font-weight: 560;
	line-height: 1.75;
}

.fd-terms-content p {
	margin: 0 0 12px;
}

.fd-terms-content ul {
	display: grid;
	gap: 9px;
	margin: 0 0 18px;
	padding-left: 22px;
}

@media (max-width: 1180px) {
	.fd-hero,
	.fd-section,
	.fd-business {
		grid-template-columns: 1fr;
	}

	.fd-booking {
		position: static;
	}

	.fd-hero h1 {
		font-size: 4.35rem;
	}

	.fd-section h2,
	.fd-business h2 {
		font-size: 3.35rem;
	}

	.fd-steps,
	.fd-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	body,
	.fd-site {
		background: #f5f5f7;
	}

	.fd-header {
		box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
		grid-template-columns: 1fr auto;
		min-height: 58px;
		padding: 0 12px;
	}

	.fd-logo {
		gap: 9px;
	}

	.fd-logo-mark {
		border-radius: 11px;
		height: 38px;
		width: 38px;
	}

	.fd-logo-mark svg {
		height: 38px;
		width: 38px;
	}

	.fd-logo-word strong {
		font-size: 0.78rem;
	}

	.fd-logo-word span {
		display: none;
	}

	.fd-nav {
		display: none;
	}

	.fd-header-cta {
		border-radius: 999px;
		font-size: 0.78rem;
		padding: 10px 12px;
	}

	.fd-hero {
		background: #f5f5f7;
		color: #111;
		display: block;
		min-height: 0;
		padding: 10px 8px 30px;
	}

	.fd-booking {
		margin: 0 auto;
		max-width: 500px;
		width: 100%;
	}

	.fd-hero-story {
		display: none;
	}

	.fd-hero h1 {
		font-size: 3.15rem;
	}

	.fd-hero p:not(.fd-eyebrow) {
		font-size: 1rem;
	}

	.fd-visual,
	.fd-photo {
		min-height: 300px;
	}

	.fd-strip,
	.fd-steps {
		grid-template-columns: 1fr;
	}

	.fd-strip div {
		border-left: 0;
		border-top: 1px solid var(--fd-line);
		min-height: 110px;
		padding: 24px 18px;
	}

	.fd-strip div:first-child {
		border-top: 0;
	}

	.fd-section,
	.fd-business {
		padding: 66px 18px;
	}

	.fd-section h2,
	.fd-business h2 {
		font-size: 2.45rem;
	}

	.fd-steps article {
		min-height: 220px;
	}

	.fd-footer {
		grid-template-columns: 1fr;
		padding: 28px 18px;
	}

	.fd-footer-links {
		align-items: start;
		text-align: left;
	}

	.fd-terms-hero {
		padding: 56px 18px 42px;
	}

	.fd-terms-content {
		padding: 18px;
	}

	.fd-terms-content article {
		border-radius: 16px;
		padding: 24px 18px;
	}

	.fd-terms-content h2 {
		font-size: 1.12rem;
	}

	.fd-terms-content p,
	.fd-terms-content li {
		font-size: 0.94rem;
	}
}
