:root{--color-bg:#fafaf7;--color-bg-tinted:#f7f5ee;--color-surface:#fff;--color-surface-muted:#f4f2ec;--color-surface-elevated:#fff;--color-border:#e5e2dc;--color-border-strong:#cfcbc1;--color-border-subtle:#ede9e1;--color-text:#0f172a;--color-text-muted:#475569;--color-text-subtle:#64748b;--color-text-invert:#fff;--color-primary-50:#f1f5f8;--color-primary-100:#e8eef3;--color-primary-200:#c9d6e0;--color-primary-300:#94adbf;--color-primary-400:#5b809b;--color-primary-500:#1f5677;--color-primary-600:#0b3d5c;--color-primary-700:#0a2f47;--color-primary-800:#08293d;--color-primary-900:#061d2c;--color-primary:var(--color-primary-600);--color-primary-hover:var(--color-primary-700);--color-primary-soft:var(--color-primary-100);--color-primary-contrast:#fff;--color-accent-50:#fdf8ec;--color-accent-100:#f7efdd;--color-accent-200:#ecdcaf;--color-accent-300:#dbbf7e;--color-accent-400:#c99845;--color-accent-500:#b0822f;--color-accent-600:#946b22;--color-accent-700:#6b4f1f;--color-accent:var(--color-accent-400);--color-accent-hover:var(--color-accent-500);--color-accent-soft:var(--color-accent-100);--color-accent-deep:var(--color-accent-700);--color-teal-soft:#e6f1ef;--color-teal:#2f8a7a;--color-teal-deep:#1f5e54;--color-success:#15803d;--color-success-soft:#e6f4ea;--color-warning:#b45309;--color-warning-soft:#fef3e2;--color-danger:#b91c1c;--color-danger-soft:#fbeaea;--gradient-hero:radial-gradient(900px 500px at 90% -10%, #c998451a, transparent 60%), radial-gradient(700px 500px at -10% 20%, #0b3d5c14, transparent 55%), radial-gradient(500px 400px at 50% 110%, #2f8a7a0d, transparent 60%), var(--color-bg);--gradient-hero-soft:radial-gradient(700px 380px at 90% -10%, #c9984514, transparent 60%), radial-gradient(600px 400px at -10% 20%, #0b3d5c0f, transparent 55%), var(--color-bg);--gradient-cta-dark:radial-gradient(700px 360px at 100% 0%, #dbbf7e38, transparent 60%), radial-gradient(500px 300px at 0% 100%, #1f567773, transparent 60%), linear-gradient(135deg, #0b3d5c 0%, #08293d 50%, #061d2c 100%);--gradient-footer:radial-gradient(800px 400px at 90% 0%, #c998451a, transparent 55%), radial-gradient(600px 400px at -10% 100%, #2f8a7a0f, transparent 60%), linear-gradient(180deg, #08293d 0%, #061d2c 100%);--gradient-accent:linear-gradient(135deg, var(--color-accent-300) 0%, var(--color-accent-500) 100%);--gradient-mesh-light:radial-gradient(600px 300px at 0% 0%, #0b3d5c0a, transparent 60%), radial-gradient(600px 300px at 100% 100%, #c998450d, transparent 60%), var(--color-surface);--gradient-border-accent:linear-gradient(135deg, var(--color-accent-400), var(--color-accent-600));--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-pill:999px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 6px 16px #0f172a14, 0 2px 4px #0f172a0a;--shadow-lg:0 20px 40px #0f172a1a, 0 4px 12px #0f172a0f;--shadow-xl:0 30px 60px -15px #0b3d5c2e, 0 10px 24px #0f172a14;--shadow-primary:0 16px 32px -12px #0b3d5c47, 0 4px 12px #0b3d5c1f;--shadow-accent:0 16px 32px -12px #c9984559, 0 4px 12px #c998452e;--shadow-ring-primary:0 0 0 3px var(--color-primary-100);--shadow-ring-accent:0 0 0 3px var(--color-accent-100);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--font-sans:var(--font-inter), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:var(--font-fraunces), Georgia, "Times New Roman", serif;--fs-12:.75rem;--fs-13:.8125rem;--fs-14:.875rem;--fs-15:.9375rem;--fs-16:1rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-24:1.5rem;--fs-30:1.875rem;--fs-36:2.25rem;--fs-48:3rem;--fs-60:3.75rem;--lh-tight:1.15;--lh-snug:1.3;--lh-normal:1.55;--lh-relaxed:1.7;--container-max:1200px;--container-narrow:760px;--header-h:72px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.15s;--dur-base:.22s;--dur-slow:.32s;--dur-slower:.52s;--z-base:0;--z-sticky:20;--z-header:40;--z-overlay:80;--z-modal:100;--z-toast:1000}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;text-rendering:optimizelegibility;height:100%}html,body{width:100%;overflow-x:clip}@supports not (overflow:clip){html,body{overflow-x:hidden}}body{min-height:100dvh;color:var(--color-text);background:var(--color-bg);font-family:var(--font-sans);font-size:var(--fs-16);line-height:var(--lh-normal);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word;word-wrap:break-word;flex-direction:column;display:flex}h1,h2,h3,h4,h5,h6,p,li,dd,dt,td,th,a,span,strong,em{overflow-wrap:break-word;word-wrap:break-word}img,picture,svg,video,iframe,embed,object{max-width:100%;height:auto;display:block}iframe{border:0}main,footer,section,article{max-width:100%;overflow-x:clip}@supports not (overflow:clip){main,footer,section,article{overflow-x:hidden}}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:var(--color-primary);transition:color var(--dur-fast) var(--ease-out);text-decoration:none}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}h1,h2,h3,h4{color:var(--color-text);line-height:var(--lh-tight);letter-spacing:-.015em;font-weight:700}h1{letter-spacing:-.025em;font-size:clamp(2rem,1.4rem + 2.6vw,3.5rem)}h2{letter-spacing:-.02em;font-size:clamp(1.625rem,1.25rem + 1.4vw,2.25rem)}h3{font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem)}h4{font-size:var(--fs-18);line-height:var(--lh-snug)}p{line-height:var(--lh-relaxed);color:var(--color-text)}p+p{margin-top:var(--space-4)}small{font-size:var(--fs-14);color:var(--color-text-muted)}::selection{background:var(--color-primary);color:var(--color-primary-contrast)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skipLink{left:var(--space-3);top:var(--space-3);z-index:var(--z-toast);background:var(--color-primary);color:var(--color-primary-contrast);border-radius:var(--radius-sm);font-size:var(--fs-14);transition:transform var(--dur-base) var(--ease-out);box-shadow:var(--shadow-md);padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;transform:translateY(-150%)}.skipLink:focus,.skipLink:focus-visible{outline:2px solid var(--color-accent-400);outline-offset:2px;color:var(--color-primary-contrast);transform:translateY(0)}.gradient-text-accent{background:linear-gradient(120deg, var(--color-accent-300) 0%, var(--color-accent-500) 50%, var(--color-accent-300) 100%);-webkit-text-fill-color:transparent;color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:8s ease-in-out infinite gradientShift}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideLeft{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes shimmer{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes blob{0%,to{transform:translate(0)scale(1)}33%{transform:translate(20px,-20px)scale(1.05)}66%{transform:translate(-15px,15px)scale(.97)}}@keyframes pulseSoft{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}@keyframes pulseRing{0%{opacity:.6;transform:scale(.95)}70%{opacity:0;transform:scale(1.4)}to{opacity:0;transform:scale(1.4)}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes drawLine{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
