:root {
  --bg: #0b0f0d;
  --bg-soft: #111611;
  --panel: #171c17;
  --panel-light: #20261f;
  --line: rgba(190, 171, 132, .24);
  --line-strong: rgba(190, 171, 132, .42);
  --text: #e4dfd2;
  --muted: #aaa99c;
  --gold: #bca67b;
  --gold-bright: #ddcda9;
  --gold-dark: #86744f;
  --green: #9caf91;
  --shadow: none;
}

body { background: var(--bg); color: var(--text); }
body::before { opacity: .018; }
.site-header { background: rgba(8, 12, 10, .76); border-bottom-color: rgba(190, 171, 132, .14); backdrop-filter: blur(10px); }
.site-header.is-scrolled, .site-header.menu-open { background: rgba(12, 16, 13, .95); border-color: var(--line); box-shadow: none; backdrop-filter: blur(12px); }
.brand-text strong { color: #e0d2b4; letter-spacing: 2.4px; text-shadow: 0 1px 4px #000; }
.brand-text small { color: #aaa28e; letter-spacing: 2.7px; text-shadow: 0 1px 4px #000; }
.brand-mark { color: var(--gold); }
.main-nav a { color: #d2d0c4; font-size: 11px; letter-spacing: .8px; text-transform: uppercase; text-shadow: 0 1px 4px #000; }
.main-nav a:hover { color: var(--gold-bright); }
.main-nav a::after { background: #a38c60; }

.button, .button-small {
  min-height: 48px;
  color: #e2d7bd;
  border: 1px solid #75694f;
  border-radius: 0;
  background: #262c24;
  box-shadow: none;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .35px;
}
.button { transition: background-color .16s ease, border-color .16s ease, color .16s ease; }
.button-primary, .button-small { color: #f0e4c8; background: #625539; }
.button-primary:hover, .button-small:hover { color: #fff1d0; background: #766446; box-shadow: none; }
.button-ghost { background: rgba(24, 29, 24, .86); }
.button-ghost:hover { background: #30372c; border-color: #9a865d; }
.button-small { min-height: 40px; font-size: 11px; }

.hero-art { filter: saturate(.82) brightness(.9); }
.hero-video { opacity: 1; filter: saturate(.82); }
.hero-shade { background: linear-gradient(90deg, rgba(8, 12, 10, .78) 0%, rgba(8, 12, 10, .5) 40%, rgba(8, 12, 10, .1) 78%), linear-gradient(0deg, #0b0f0d 0%, transparent 45%); }
.hero-copy {
  width: min(620px, 60%);
  padding: 34px 36px 30px;
  border: 1px solid var(--line-strong);
  border-left: 1px solid #8d7954;
  background: rgba(15, 20, 16, .56);
  backdrop-filter: blur(7px);
}
.hero-eyebrow { margin-bottom: 18px; }
.eyebrow, .section-kicker { color: #a99267; font-size: 10px; font-weight: 600; letter-spacing: 1.5px; }
.rune-dot { width: 5px; height: 5px; background: #a99267; }
.hero h1 { margin-bottom: 20px; color: #e2d3b2; font-size: clamp(54px, 5vw, 72px); line-height: .98; letter-spacing: .2px; }
.hero h1 span { color: #c5af83; font-weight: 600; }
.hero-lead { margin-bottom: 25px; color: #b8b8aa; font-size: 15px; line-height: 1.75; }
.hero-actions { gap: 10px; }
.hero-notes { margin-top: 22px; padding-top: 17px; color: #979b8d; border-top: 1px solid var(--line); font-size: 10px; }
.hero-notes svg { color: #b49e71; }
.hero-stats { margin-top: 20px; padding: 20px 22px; border: 1px solid var(--line); background: rgba(13, 18, 14, .5); backdrop-filter: blur(6px); }
.hero-stats > div { border-color: var(--line); }
.hero-stats strong { color: #d9c9a7; font-size: 36px; }
.hero-stats div > span { color: #969b8e; font-size: 9px; letter-spacing: .5px; }
.hero-stats .stat-star { color: #bca67b; }

.connection-card { margin-top: 24px; padding: 24px 28px; border-color: var(--line-strong); background: rgba(21, 27, 22, .72); box-shadow: none; }
.connection-heading .section-kicker { font-size: 9px; }
.connection-heading h2 { color: #d8c8a6; font-size: 27px; }
.connection-item { border-color: var(--line); }
.connection-label { color: #979b8c; font-size: 9px; letter-spacing: .9px; }
.connection-item code, .connection-world strong { color: #ded4bb; font-weight: 600; }
.copy-button { border-radius: 0; }
.copy-button:hover, .copy-button.copied { color: #d8c69f; background: #2b3228; }

.section { padding-block: 92px; }
.section-heading { margin-bottom: 40px; }
.section-heading h2, .world-copy h2, .start-copy h2, .faq-heading h2, .final-cta h2 { color: #ded0b2; font-size: clamp(38px, 3.5vw, 48px); line-height: 1.05; letter-spacing: 0; }
.section-heading > p, .world-copy > p, .start-copy > p { color: #a7aa9c; font-size: 14px; }
.features-section { background: #0b0f0d; }
.feature-grid { gap: 8px; border: 0; }
.feature-card { min-height: 320px; padding: 28px 28px 26px; border: 1px solid #363e33; background: rgba(20, 26, 21, .64); }
.feature-card:hover { background: rgba(28, 36, 28, .82); border-color: #817352; }
.feature-number { display: none; }
.feature-icon { width: 42px; height: 42px; margin-bottom: 24px; color: #bba578; border: 1px solid #4c513f; border-radius: 0; background: rgba(35, 42, 33, .7); }
.feature-card h3 { color: #d9c9a8; font-size: 25px; }
.feature-card p { color: #a6aa9c; font-size: 13px; }
.feature-tag { color: #b0b2a2; }
.attribute-list span { color: #b4b6a5; border-color: #444b3d; }
.star-row { color: #bba578; }

.world-section { background: #111711; border-color: var(--line); }
.world-copy { position: static; }
.world-copy h2 { margin-bottom: 20px; }
.world-item { border-color: var(--line); }
.world-item-number { color: #917e57; }
.world-item h3 { color: #d6c7a6; font-size: 24px; }
.world-item p { color: #a4a99a; font-size: 13px; }
.text-link { color: #c4ad7e; border-color: #776847; }

.start-section { background: #0b0f0d; }
.start-panel { padding: 34px; border: 1px solid var(--line); background: rgba(18, 24, 18, .64); }
.start-copy > p { color: #a6aa9c; }
.install-steps li:not(:last-child)::after { background: #4a4e3d; }
.install-steps li > span { color: #c0a978; border: 1px solid #77674a; border-radius: 0; background: rgba(36, 43, 33, .72); }
.install-steps strong { color: #d9d3c0; }
.install-steps p { color: #9fa597; }
.launcher-window { border: 1px solid #4d5545; border-radius: 0; background: rgba(25, 32, 25, .78); box-shadow: none; }
.launcher-window:hover { border-color: #817352; }
.launcher-topbar { justify-content: center; border-color: #3b4437; background: rgba(18, 24, 18, .72); }
.launcher-topbar > span { display: none; }
.launcher-topbar small { margin: 0; color: #9c9f8e; font-size: 8px; letter-spacing: 1.6px; }
.launcher-emblem, .launcher-status { color: #b8a172; }
.launcher-body h3 { color: #ddcda9; }
.launcher-body > p, .launcher-file { color: #929b8c; }
.launcher-checks { border-color: #3a4336; }
.launcher-checks li { color: #b0b5a6; }
.launcher-checks li span { color: #a5b393; }
.start-footer { border-color: var(--line); }
.requirement span, .manual-install summary { color: #a9ad9e; }
.manual-content a { color: #c2aa79; }

.faq-list, .faq-list details { border-color: var(--line); }
.faq-list summary { color: #d8caaa; font-size: 22px; }
.faq-list details[open] summary { background: rgba(20, 27, 21, .58); }
.faq-list details p { color: #a4aa9b; font-size: 13px; }
.faq-list summary span::before, .faq-list summary span::after { background: #b39d70; }

.final-cta { border-color: var(--line); background: #111711; }
.final-cta::before, .final-cta::after, .final-cta-inner::before { display: none; }
.final-cta p { color: #a4aa9b; }
.site-footer { border-top: 1px solid var(--line); background: #090d0a; }
.footer-connect button, .footer-nav { color: #adb1a2; }
.footer-connect button span { color: #bba476; }
.footer-bottom { color: #747e70; }
.toast { color: #20251e; border: 1px solid #b7ab8d; border-radius: 0; background: #ddd2b7; box-shadow: none; }
.js .reveal { transform: translateY(5px); transition-duration: .3s; }

@media (min-width: 1600px) {
  .hero-copy { width: 680px; padding: 40px 42px 34px; }
  .hero h1 { font-size: 76px; }
  .hero-lead { font-size: 17px; }
  .feature-card { min-height: 345px; }
}

@media (max-width: 1080px) {
  .hero-copy { width: 66%; padding: 28px; }
  .start-panel { padding: 26px; }
}

@media (max-width: 720px) {
  .hero-copy { width: 100%; padding: 26px; background: rgba(15, 20, 16, .64); }
  .hero-shade { background: linear-gradient(0deg, #0b0f0d 0%, rgba(11, 15, 13, .68) 45%, rgba(11, 15, 13, .18) 100%); }
  .hero h1 { font-size: 50px; }
  .hero-stats { padding: 18px; }
  .section { padding-block: 70px; }
  .start-panel { padding: 22px; }
}

@media (max-width: 520px) {
  .hero-copy { padding: 22px 20px; }
  .hero h1 { font-size: 43px; }
  .hero-lead { font-size: 14px; }
  .hero-stats strong { font-size: 31px; }
  .hero-stats div > span { font-size: 9px; }
  .section-heading h2, .world-copy h2, .start-copy h2, .faq-heading h2, .final-cta h2 { font-size: 34px; }
  .feature-card { min-height: 0; padding: 24px 22px; }
  .feature-card p, .world-item p, .faq-list details p { font-size: 13px; }
  .start-panel { padding: 18px; }
  .connection-card { padding: 20px; }
}
