@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Inter:wght@400;450;500;550;600;650;700&display=swap');

:root {
  --bg: #090e18; --bg-deep: #090e18;
  --surface: #111722; --surface-2: #151d29; --surface-3: #1b2531; --surface-hud: #111722;
  --text: #f2eee5; --text-2: #c2c4c8; --text-3: #b3b8c1; --muted: #969eab; --muted-2: #79838f;
  --cyan: #c4a777; --cyan-bright: #dbc397; --cyan-dim: #c4a77712; --cyan-glow: #c4a77720;
  --sun-gold: #c4a777; --sun-core: #f2e4c5; --sun-glow: #c4a77720;
  --green: #a3c8b4; --green-dim: #a3c8b412; --rose: #e3a2a1; --rose-dim: #e3a2a112;
  --violet: #a5afc4; --violet-dim: #a5afc412;
  --line: #b9bfcc22; --line-2: #b9bfcc16; --line-cyan: #c4a77755; --line-orbit: #c4a77725;
  --r-sm: 8px; --r-md: 12px; --r-lg: 20px;
  --shadow-sm: 0 8px 28px #00000018; --shadow-md: 0 16px 48px #00000028; --shadow-lg: 0 24px 90px #00000055;
  --display-font: 'Cormorant Garamond', Georgia, serif;
}
html { font-size: 16px; scroll-padding-top: 100px; color-scheme: dark; }
body { background: var(--bg); font-family: Inter, system-ui, sans-serif; color: var(--text); font-size: 17px; line-height: 1.7; }
.dialog-open { overflow: hidden !important; }
body::selection { background: #c4a77744; color: #fff; }
* { scrollbar-width: thin; scrollbar-color: #535867 #101722; }
h1, h2 { font-family: var(--display-font); font-weight: 400; letter-spacing: -.035em; line-height: 1.04; }
h3, h4 { font-family: Inter, system-ui, sans-serif; font-weight: 550; }
p { color: var(--text-2); }
button, input, select, textarea { font-family: Inter, system-ui, sans-serif; }
input, select, textarea { font-size: 16px; line-height: 1.5; }
button, a { -webkit-tap-highlight-color: transparent; }
button:not(:disabled), summary { cursor: pointer; }
button:disabled { cursor: wait; opacity: .55; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 2px solid var(--sun-gold); outline-offset: 5px; }
input:focus, select:focus, textarea:focus { box-shadow: 0 0 0 3px #c4a77718; border-color: #c4a777 !important; }
input, select, textarea { color: var(--text); background: #0d141f; border: 1px solid #b9bfcc30; border-radius: 8px; min-height: 48px; padding: 12px 14px; }
input::placeholder { color: #84909e; opacity: 1; }
input:-webkit-autofill { -webkit-text-fill-color: var(--text); box-shadow: 0 0 0 1000px #111722 inset; }
.btn { font-family: Inter, sans-serif; border-radius: 8px; font-size: 16px; font-weight: 550; letter-spacing: 0; min-height: 44px; height: auto; padding: 12px 19px; gap: 8px; box-shadow: none; transition: background .2s, border-color .2s, transform .2s; }
.btn:hover { transform: translateY(-1px); box-shadow: none; }
.btn-primary, .btn-gold { background: #c4a777; border: 1px solid #c4a777; color: #111722; text-shadow: none; }
.btn-primary:hover, .btn-gold:hover { background: #dcc197; border-color: #dcc197; box-shadow: none; color: #111722; }
.btn-secondary, .btn-ghost { background: #ffffff03; border: 1px solid #b9bfcc32; color: var(--text); }
.btn-secondary:hover, .btn-ghost:hover { background: #ffffff08; border-color: #c4a77777; color: var(--text); }
.btn-sm { padding: 9px 13px; min-height: 38px; }
.btn-lg { font-size: 16px; min-height: 50px; padding: 15px 22px; }
.eyebrow { font-family: Inter, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .19em; color: var(--sun-gold); }
.gradient-text { background: none; -webkit-text-fill-color: var(--sun-gold); color: var(--sun-gold); }
.tag, .p-badge, .s-badge { border-radius: 5px; font-family: Inter, sans-serif; letter-spacing: .07em; font-size: 12px; box-shadow: none; }
.site-header { height: 82px; padding: 0 clamp(24px,5vw,80px); background: #090e18ec; backdrop-filter: blur(20px); border-bottom: 1px solid var(--line); box-shadow: none; }
.brand { font-family: var(--display-font); font-weight: 500; letter-spacing: -.025em; font-size: 28px; gap: 11px; color: var(--text); }
.brand-icon { width: 34px; height: 34px; }
.desktop-nav { gap: 28px; }
.desktop-nav a { color: var(--text-2); font-size: 15px; font-weight: 450; }
.desktop-nav a:hover, .desktop-nav a[aria-current='page'] { color: var(--text); }
.header-actions { gap: 12px; }
.nav-toggle { border: 1px solid var(--line); width: 44px; height: 44px; border-radius: 8px; }
.nav-toggle span { background: var(--text); }
.mobile-menu { top: 82px; background: #0d141ff7; backdrop-filter: blur(18px); border-color: var(--line); }
.mobile-menu a { padding: 14px 22px; font-size: 17px; }
.site-footer { border-color: var(--line); background: #080c13; }
.footer-link, .site-footer a { color: var(--muted); }
.site-footer a:hover { color: var(--sun-gold); }
#starfield { opacity: .3; background: transparent; }
.aurora { opacity: .3; animation: none; background: radial-gradient(ellipse at 70% 15%,#c4a77715,transparent 55%); }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 9999; padding: 12px 18px; background: var(--sun-gold); color: var(--bg); border-radius: 6px; transform: translateY(-200%); }
.skip-link:focus { transform: none; }
.profile-modal-overlay, .modal-backdrop { backdrop-filter: blur(12px); background: #03060bc9; padding: 24px; justify-content: center; align-items: center; }
.profile-modal-card, .modal-card { background: #111722; border: 1px solid #c4a77733; border-radius: 18px; box-shadow: 0 35px 130px #0008; }
.modal-header h3 { font-family: var(--display-font); font-size: 32px; font-weight: 500; }
.btn-close-modal { border: 1px solid var(--line); background: transparent; border-radius: 50%; color: var(--muted); width: 36px; height: 36px; }
.btn-close-modal:hover { background: #ffffff0a; color: var(--text); }
@media(max-width:1050px) { .site-header { padding-inline: 24px; } .desktop-nav { gap: 18px; } }
@media(max-width:800px) { .site-header { height: 72px; padding-inline: 20px; } .brand { font-size: 25px; } .mobile-menu { top: 72px; } .profile-modal-overlay, .modal-backdrop { padding: 12px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
