@font-face{font-family:League Spartan;src:url(/fonts/LeagueSpartan-VF.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--color-bg-white:#ffffff;--color-bg-soft:#f8fafc;--color-bg-dark:#1b4965;--color-bg-deep:#0e2a3d;--color-text-heading:#1b4965;--color-text-body:#334155;--color-text-muted:#64748b;--color-text-light:#94a3b8;--color-text-on-dark:#fffbf0;--color-text-on-dark-muted:rgba(255,255,255,0.7);--color-accent:#62b6cb;--color-accent-soft:rgba(98,182,203,0.1);--color-cta:#d4c4a8;--color-cta-hover:#8bcfc7;--color-cta-text:#1b4965;--color-border:rgba(0,0,0,0.06);--color-border-light:rgba(0,0,0,0.03);--color-border-on-dark:rgba(255,255,255,0.1);--font-heading:"League Spartan",system-ui,sans-serif;--font-body:"Montserrat",system-ui,sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3.25rem;--text-6xl:4rem;--text-hero:clamp(2.5rem,6vw,4.5rem);--leading-none:1;--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.75;--leading-loose:2;--tracking-tighter:-0.03em;--tracking-tight:-0.015em;--tracking-normal:0;--tracking-wide:0.025em;--tracking-wider:0.05em;--weight-light:300;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--space-40:10rem;--space-48:12rem;--section-py:clamp(4rem,10vw,8rem);--section-py-lg:clamp(6rem,12vw,10rem);--shadow-none:none;--shadow-xs:0 1px 2px rgba(0,0,0,0.02);--shadow-sm:0 2px 8px rgba(0,0,0,0.03);--shadow-md:0 4px 20px rgba(0,0,0,0.04);--shadow-lg:0 8px 40px rgba(0,0,0,0.05);--shadow-xl:0 16px 60px rgba(0,0,0,0.06);--shadow-glow:0 0 30px rgba(157,217,210,0.3);--shadow-hover:0 12px 50px rgba(0,0,0,0.08);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--border-thin:1px solid var(--color-border);--border-light:1px solid var(--color-border-light);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--duration-fast:200ms;--duration-base:350ms;--duration-slow:500ms;--transition-fast:all var(--duration-fast) var(--ease-out);--transition-base:all var(--duration-base) var(--ease-out);--transition-slow:all var(--duration-slow) var(--ease-out);--container-max:1200px;--container-narrow:800px;--container-wide:1400px;--container-pad:clamp(1.5rem,5vw,3rem)}*,:after,:before{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-relaxed);color:var(--color-text-body);background:var(--color-bg-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-heading);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-heading)}p{margin:0}a{color:inherit;text-decoration:none;transition:var(--transition-fast)}button{font:inherit;cursor:pointer;border:none;background:none}img,svg{display:block;max-width:100%}::selection{background:var(--color-accent-soft);color:var(--color-text-heading)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}