@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=JetBrains+Mono:wght@300;400;500&display=swap");:root{--color-primary:#0d4f4f;--color-primary-light:#1a7a7a;--color-primary-dark:#083838;--color-accent:#d4a853;--color-accent-light:#e8c97d;--color-accent-dark:#b8903d;--color-success:#2e8b57;--color-success-light:#4caf7a;--color-bg-deepest:#050a0a;--color-bg-deep:#0a1212;--color-bg-elevated:#0f1a1a;--color-bg-surface:#142020;--color-text-primary:#f5f7f5;--color-text-secondary:#9caba8;--color-text-muted:#5e6e6a;--color-border-subtle:hsla(168,8%,64%,.1);--color-border-medium:hsla(168,8%,64%,.2);--color-border-strong:hsla(168,8%,64%,.3);--font-display:"Playfair Display",Georgia,serif;--font-body:"DM Sans","Helvetica Neue",Arial,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 8px 24px rgba(0,0,0,.5);--shadow-glow:0 0 40px rgba(212,168,83,.15);--shadow-glow-primary:0 0 40px rgba(13,79,79,.3);--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:400ms ease}*,:after,:before{box-sizing:border-box;padding:0;margin:0}html{font-size:16px;scroll-behavior:smooth}body,html{max-width:100vw;overflow-x:hidden}body{font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-bg-deepest);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(13,79,79,.15) 0,transparent 50%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(212,168,83,.08) 0,transparent 50%);pointer-events:none;z-index:0}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-light)}::selection{background:rgba(212,168,83,.3);color:var(--color-text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-deep)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}.gradient-text{background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-border{position:relative}.gradient-border:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--color-primary-light) 0,var(--color-accent) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow{0%,to{box-shadow:0 0 20px rgba(212,168,83,.2)}50%{box-shadow:0 0 40px rgba(212,168,83,.4)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.animate-fade-in{animation:fadeIn .5s ease forwards}.animate-fade-in-up{animation:fadeInUp .5s ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-glow{animation:glow 3s ease-in-out infinite}.animate-float{animation:float 6s ease-in-out infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media print{body:before{display:none}}