[x-cloak] {
	display: none !important;
}

html {
	scroll-behavior: smooth;
}

body {
	background: #050505;
}

.btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #d98b56;
	color: white;
	padding: 1rem 2rem;
	font-weight: 700;
	transition: 0.3s;
}

.btn-primary:hover {
	background: #c77b49;
}

.page-home .hero-title {
	font-size: clamp(3rem, 8vw, 6rem);
	line-height: 0.9;
	letter-spacing: -0.03em;
}

.page-home .hero-accent {
	font-size: clamp(2rem, 5vw, 4rem);
	line-height: 0.95;
	letter-spacing: -0.03em;
}

.page-home .section-heading {
	font-size: clamp(2rem, 4vw, 4rem);
	line-height: 1;
	letter-spacing: -0.02em;
}

.page-home .card-heading {
	font-size: clamp(1.2rem, 2vw, 1.5rem);
}

.page-home .eyebrow {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
}

.page-home .btn-primary,
.page-services .btn-primary {
	font-weight: 600;
}

.page-home .btn-primary:hover,
.page-services .btn-primary:hover,
.page-about .btn-primary:hover {
	background: #d98b56;
	opacity: 0.9;
}

.btn-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #d98b56;
	color: #d98b56;
	padding: 1rem 2rem;
	transition: 0.3s;
}

.btn-secondary:hover {
	background: #d98b56;
	color: white;
}

.page-about .hero-title {
	font-size: clamp(3rem, 6vw, 5.5rem);
	line-height: 0.95;
	letter-spacing: -0.035em;
}

.page-about .section-heading {
	font-size: clamp(2.1rem, 4.4vw, 4.25rem);
	line-height: 1.05;
	letter-spacing: -0.035em;
}

.page-about .content-heading {
	font-size: clamp(2rem, 3.5vw, 3.1rem);
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.page-about .eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 800;
}

.btn-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #d98b56;
	color: #d98b56;
	padding: 1rem 3rem;
	font-weight: 700;
	transition: 0.3s;
}

.btn-outline:hover {
	background: #d98b56;
	color: white;
}

.about-hero {
	min-height: 72vh;
}

.orange-sweep {
	background:
		radial-gradient(circle at 12% 84%, rgba(217, 139, 86, 0.36), transparent 26%),
		linear-gradient(145deg, transparent 0%, transparent 52%, rgba(217, 139, 86, 0.28) 53%, rgba(217, 139, 86, 0.05) 58%, transparent 64%),
		#050505;
}

.page-services .hero-title {
	font-size: clamp(2.7rem, 6vw, 5.5rem);
	line-height: 0.95;
	letter-spacing: -0.035em;
}

.page-services .section-heading {
	font-size: clamp(2rem, 4vw, 4rem);
	line-height: 1;
	letter-spacing: -0.02em;
}

.page-services .card-heading {
	font-size: clamp(1.55rem, 2.6vw, 2.25rem);
	line-height: 0.98;
	letter-spacing: -0.025em;
}

.page-services .eyebrow,
.page-contact .eyebrow,
.page-terms .eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-weight: 800;
}

.hero-services {
	min-height: 64vh;
}

.service-illustration svg {
	width: 100%;
	height: auto;
}

.world-dot {
	background-image: radial-gradient(rgba(217, 139, 86, 0.38) 1px, transparent 1px);
	background-size: 10px 10px;
	mask-image: radial-gradient(circle at center, black 0%, black 58%, transparent 72%);
	-webkit-mask-image: radial-gradient(circle at center, black 0%, black 58%, transparent 72%);
}

.page-contact .hero-title {
	font-size: clamp(3rem, 7vw, 6rem);
	line-height: 0.92;
	letter-spacing: -0.04em;
}

.page-contact .section-heading {
	font-size: clamp(2.1rem, 4.5vw, 4.3rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.form-field {
	width: 100%;
	border: 1px solid rgba(5, 5, 5, 0.22);
	background: transparent;
	padding: 0.9rem 1rem;
	outline: none;
	transition: 0.2s;
}

.form-field:focus {
	border-color: #d98b56;
	box-shadow: 0 0 0 2px rgba(217, 139, 86, 0.16);
}

.page-terms .hero-title {
	font-size: clamp(2.8rem, 6vw, 5.5rem);
	line-height: 0.95;
	letter-spacing: -0.035em;
}

.terms-hero-glow {
	background: radial-gradient(circle at 75% 20%, #d98b56 0, transparent 27%);
}

.terms-copy h2 {
	margin-top: 4rem;
	border-top: 1px solid rgba(5, 5, 5, 0.16);
	padding-top: 2rem;
	font-size: clamp(1.65rem, 3vw, 2.25rem);
	font-weight: 800;
	letter-spacing: -0.03em;
}

.terms-copy p {
	color: rgba(5, 5, 5, 0.72);
	line-height: 1.85;
}

.terms-copy .clause {
	margin-top: 1.5rem;
}

.terms-copy .subclause {
	margin-top: 0.75rem;
	padding-left: 1.5rem;
}

.terms-copy .definition {
	margin-top: 1rem;
}

.terms-copy .definition strong {
	color: #050505;
}

.terms-copy .intro {
	font-size: 1.05rem;
	color: rgba(5, 5, 5, 0.78);
}

.terms-copy .attention {
	margin-top: 1.5rem;
	border-left: 3px solid #d98b56;
	background: #f6f6f6;
	padding: 1.25rem 1.5rem;
}

.terms-copy .attention strong {
	color: #050505;
}

@media (max-width: 640px) {
	.terms-copy .subclause {
		padding-left: 0.75rem;
	}
}
