:root {
	--color-bg: #FFF9F2;
	--color-surface: #FEF3E8;
	--color-surface-tint: #FDEBD6;
	--color-text: #2C1810;
	--color-text-muted: #1a1a1a;
	--color-border: #E8D4C0;
	--color-primary: #FF6B35;
	--color-primary-600: #E75F2F;
	--shadow-base: 0 10px 30px rgba(139, 90, 60, .08);
	--shadow-elevated: 0 12px 34px rgba(0, 0, 0, .14);
	--shadow-floating: 0 28px 60px rgba(0, 0, 0, .28);
	--bg-gradient-1: rgba(255, 200, 140, .32);
	--bg-gradient-2: rgba(255, 180, 120, .28);
	--bg-gradient-3: rgba(255, 220, 180, .25);
	--bg-gradient-4: rgba(255, 160, 120, .22);
	--bg-gradient-linear: linear-gradient(45deg, rgba(255, 230, 200, .15), rgba(255, 180, 140, .18));
	--glass-bg: rgba(255, 245, 235, 0.35);
	--glass-border: rgba(255, 220, 180, 0.7);
	--glass-border-subtle: rgba(255, 200, 150, 0.5);
	--glass-shadow: rgba(139, 90, 60, 0.12);
	--glass-accent: rgba(255, 210, 170, 0.4);
	--glass-highlight: rgba(255, 190, 140, 0.3);
	--dark-bg: #0b1220;
	--dark-surface: #0f1a2b;
	--dark-surface-tint: #121b2e;
	--dark-text: #e6eaf2;
	--dark-text-muted: #cccccc;
	--dark-border: rgba(230, 234, 242, 0.12);
	--dark-shadow: 0 20px 50px rgba(0, 0, 0, .35);
	--dark-bg-gradient-1: rgba(255, 120, 60, .35);
	--dark-bg-gradient-2: rgba(50, 160, 255, .30);
	--dark-bg-gradient-3: rgba(120, 255, 200, .25);
	--dark-bg-gradient-4: rgba(255, 80, 200, .20);
	--dark-bg-gradient-linear: linear-gradient(45deg, rgba(100, 200, 255, .15), rgba(255, 100, 150, .15));
	--dark-glass-bg: rgba(16, 23, 38, 0.25);
	--dark-glass-border: rgba(255, 255, 255, 0.2);
	--dark-glass-border-subtle: rgba(255, 255, 255, 0.15);
	--dark-glass-shadow: rgba(0, 0, 0, 0.4);
	--dark-glass-accent: rgba(255, 255, 255, 0.1);
	--dark-glass-highlight: rgba(255, 255, 255, 0.15);
}
html[data-theme="dark"] {
	--color-bg: var(--dark-bg);
	--color-surface: var(--dark-surface);
	--color-surface-tint: var(--dark-surface-tint);
	--color-text: var(--dark-text);
	--color-text-muted: var(--dark-text-muted);
	--color-border: var(--dark-border);
	--shadow-base: var(--dark-shadow);
	--bg-gradient-1: var(--dark-bg-gradient-1);
	--bg-gradient-2: var(--dark-bg-gradient-2);
	--bg-gradient-3: var(--dark-bg-gradient-3);
	--bg-gradient-4: var(--dark-bg-gradient-4);
	--bg-gradient-linear: var(--dark-bg-gradient-linear);
	--glass-bg: var(--dark-glass-bg);
	--glass-border: var(--dark-glass-border);
	--glass-border-subtle: var(--dark-glass-border-subtle);
	--glass-shadow: var(--dark-glass-shadow);
	--glass-accent: var(--dark-glass-accent);
	--glass-highlight: var(--dark-glass-highlight);
}
* {
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
	scroll-padding-top: 80px;
}
body {
	margin: 0;
	font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Inter, 'Helvetica Neue', Arial, sans-serif;
	color: var(--color-text);
	background: var(--color-bg);
	line-height: 1.7;
	font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body::before {
	content: "";
	position: fixed;
	inset: -30% -15% -15% -15%;
	z-index: -2;
	background: radial-gradient(1400px 900px at 15% 15%, var(--bg-gradient-1), transparent 50%), radial-gradient(1200px 800px at 85% 25%, var(--bg-gradient-2), transparent 50%), radial-gradient(1000px 700px at 50% 85%, var(--bg-gradient-3), transparent 50%), radial-gradient(800px 600px at 25% 50%, var(--bg-gradient-4), transparent 60%), var(--bg-gradient-linear);
	animation: backgroundFloat 30s ease-in-out infinite alternate;
	pointer-events: none;
	filter: saturate(150%) brightness(1.15);
}
html[data-theme="dark"] body::before {
	animation: backgroundFloatDark 25s ease-in-out infinite alternate;
	filter: saturate(200%) brightness(1.2);
}
@keyframes backgroundFloat {
	0% {
		transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
		filter: saturate(140%) brightness(1.1) hue-rotate(0deg);
	}
	50% {
		transform: translate3d(-2%, -1.5%, 0) scale(1.06) rotate(1deg);
		filter: saturate(160%) brightness(1.2) hue-rotate(8deg);
	}
	100% {
		transform: translate3d(-3%, -2%, 0) scale(1.08) rotate(-0.5deg);
		filter: saturate(180%) brightness(1.25) hue-rotate(-3deg);
	}
}
@keyframes backgroundFloatDark {
	0% {
		transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
		filter: saturate(180%) brightness(1.1) hue-rotate(0deg);
	}
	50% {
		transform: translate3d(-3%, -2%, 0) scale(1.08) rotate(2deg);
		filter: saturate(220%) brightness(1.25) hue-rotate(10deg);
	}
	100% {
		transform: translate3d(-4%, -3%, 0) scale(1.12) rotate(-1deg);
		filter: saturate(250%) brightness(1.3) hue-rotate(-5deg);
	}
}
.container {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
}
.hero {
	padding: clamp(24px, 3vw, 32px) 0;
	background: linear-gradient(180deg, var(--color-surface-tint), transparent);
	overflow: visible;
	position: relative;
	will-change: transform;
}
.hero-title {
	width: 100%;
	margin-bottom: 2rem;
}
.hero-eyebrow {
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--color-primary);
	font-weight: 700;
	font-size: .85rem;
	margin-bottom: .5rem;
}
.hero-title h1 {
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.15;
	margin: 0;
	width: 100%;
	letter-spacing: -0.01em;
}
.hero-text-wrap {
	position: relative;
	width: 100%;
	line-height: 1.7;
	text-align: justify;
}
.hero-wrap-image {
	float: right;
	width: clamp(200px, 25vw, 320px);
	height: clamp(200px, 25vw, 320px);
	shape-outside: circle(50%);
	clip-path: circle(50%);
	margin: 2.5rem 0 1rem 2rem;
	will-change: transform;
	transition: transform .2s ease;
}
.hero-text-wrap .lead {
	color: var(--color-text-muted);
	font-size: 1.05rem;
	margin-bottom: 1rem;
	text-align: justify;
}
.hero-text-wrap p {
	margin-bottom: 1rem;
	text-align: justify;
}
.hero-text-wrap .cta-row {
	margin-top: 1.5rem;
	clear: both;
}
.hero-text-wrap::after {
	content: "";
	display: table;
	clear: both;
}
.cta-row {
	display: flex;
	gap: .75rem;
	margin-top: 1.25rem;
	flex-wrap: wrap;
}
.profile-image-enhanced {
	display: block;
	width: clamp(180px, 28vw, 380px);
	height: clamp(180px, 28vw, 380px);
	object-fit: cover;
	border-radius: 50%;
	box-shadow: 0 28px 60px rgba(0, 0, 0, .28);
	position: relative;
	z-index: 10;
	border: 10px solid transparent;
	background: linear-gradient(#0000, #0000) padding-box, radial-gradient(120% 120% at 20% 0%, rgba(255, 255, 255, .85), rgba(255, 255, 255, .35) 30%, rgba(0, 0, 0, .12) 60%, rgba(0, 0, 0, .08) 90%) border-box;
	contain: layout style paint;
}
.profile-image-enhanced::after {
	display: none;
}
.profile-image-enhanced:hover {
	box-shadow: 0 30px 70px rgba(0, 0, 0, .30), 0 0 0 8px color-mix(in oklab, var(--color-primary, #ff6a3d), transparent 90%), 0 0 40px color-mix(in oklab, var(--color-primary, #ff6a3d), white 25%);
	transition: box-shadow .22s ease, filter .22s ease;
}
html[data-theme="dark"] .profile-image-enhanced {
	background: linear-gradient(#0000, #0000) padding-box, radial-gradient(120% 120% at 20% 0%, rgba(255, 255, 255, .45), rgba(255, 255, 255, .18) 30%, rgba(0, 0, 0, .40) 60%, rgba(0, 0, 0, .26) 90%) border-box;
	box-shadow: 0 30px 72px rgba(0, 0, 0, .46);
}
html[data-theme="dark"] .profile-image-enhanced:hover {
	box-shadow: 0 34px 80px rgba(0, 0, 0, .48), 0 0 0 8px color-mix(in oklab, var(--color-primary, #ff6a3d), transparent 88%), 0 0 46px color-mix(in oklab, var(--color-primary, #ff6a3d), white 20%);
}
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.sr-only-focusable:focus {
	position: static;
	width: auto;
	height: auto;
	padding: 0.5rem 1rem;
	margin: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
	background: var(--color-primary);
	color: white;
	text-decoration: none;
	border-radius: 4px;
	z-index: 9999;
}
.site-header {
	position: sticky;
	top: 0;
	z-index: 60;
}
.nav-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 64px;
}
.brand {
	display: flex;
	align-items: center;
	gap: .6rem;
	color: var(--color-text);
	z-index: 1001;
	text-decoration: none;
}
.brand-logo {
	height: 36px;
	width: 127px;
	z-index: 1;
}
.brand-name {
	font-weight: 700;
}
img {
	max-width: 100%;
	height: auto;
	display: block;
}
h2 {
	letter-spacing: -0.005em;
}
a {
	color: var(--color-primary);
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
	border-radius: 8px;
}
@media (max-width: 768px) {
	.hero-wrap-image {
		float: none;
		margin: 0 auto 2rem auto;
		display: block;
		width: clamp(180px, 50vw, 260px);
		height: clamp(180px, 50vw, 260px);
		shape-outside: none;
		shape-margin: 0;
		clip-path: circle(50%);
	}
	.hero-text-wrap {
		text-align: left;
	}
	.hero-text-wrap .lead,
	.hero-text-wrap p {
		text-align: left;
	}
	.profile-image-enhanced {
		width: clamp(160px, 46vw, 260px);
		height: clamp(160px, 46vw, 260px);
		border-width: 8px;
	}
}
.glass-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .85rem 1.2rem;
	background: linear-gradient(135deg, color-mix(in oklab, var(--color-primary), transparent 30%) 0%, color-mix(in oklab, var(--color-primary), transparent 10%) 50%, color-mix(in oklab, var(--color-primary), transparent 20%) 100%);
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 16px;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	overflow: hidden;
	transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
	contain: layout style;
}
.fa-solid, .fa-brands {
	display: inline-block;
	width: 1em;
	height: 1em;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
}
.fa-solid:before, .fa-brands:before {
	content: "●";
	color: var(--color-primary, #FF6B35);
}
@media (prefers-reduced-motion: reduce) {
	html:focus-within {
		scroll-behavior: auto;
	}
	*, *::before, *::after {
		animation-duration: .001s;
		transition-duration: .001s;
	}
	body::before {
		animation: none;
	}
}