[hidden] { display: none !important; }
/* SimTech — design tokens (copied 1:1 from the original site) */
:root {
  --radius: 0.5rem;
  --background: oklch(0.155 0.008 240);
  --foreground: oklch(0.97 0.005 240);
  --surface: oklch(0.205 0.01 240);
  --surface-elevated: oklch(0.245 0.011 240);
  --primary: oklch(0.87 0.22 145);
  --primary-foreground: oklch(0.155 0.008 240);
  --secondary: oklch(0.28 0.012 240);
  --muted: oklch(0.24 0.011 240);
  --muted-foreground: oklch(0.66 0.012 240);
  --border: oklch(0.3 0.013 240);
  --grid-line: oklch(0.32 0.013 240 / 0.35);
  --tech-blue: oklch(0.72 0.16 240);
  --font-display: "Manrope", "Inter", system-ui, sans-serif;
  --font-sans: "Inter", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --shadow-glow: 0 0 60px -10px oklch(0.85 0.22 145 / 0.4);
  --gradient-metal: linear-gradient(180deg, oklch(0.28 0.012 240), oklch(0.18 0.012 240));
}
@layer base { *, *::before, *::after { border-color: var(--border); } }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--background); color: var(--foreground); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; font-feature-settings: "ss01", "cv11"; line-height: 1.5; }
h1, h2, h3, h4 { font-family: var(--font-display); letter-spacing: -0.025em; font-weight: 700; }
:focus-visible { outline: 2px solid color-mix(in oklch, var(--primary) 60%, transparent); outline-offset: 2px; border-radius: 2px; }

/* Utilities shared with the original */
.glass-panel, .st-header { background: linear-gradient(180deg, oklch(0.25 0.012 240 / 0.55), oklch(0.2 0.01 240 / 0.35)); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.metal-panel { background: var(--gradient-metal); border: 1px solid oklch(0.35 0.013 240 / 0.6); }
.grid-bg { background-image: linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px); background-size: 48px 48px; }
.grid-bg-fine { background-image: linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px); background-size: 24px 24px; }
.grid-bg-fade { mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 30%, transparent 80%); }
.glow-text { text-shadow: 0 0 24px oklch(0.87 0.22 145 / 0.5); }
.text-gradient { background: linear-gradient(135deg, oklch(0.97 0.005 240), oklch(0.87 0.22 145)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.accent-line::before { content: ""; display: inline-block; width: 32px; height: 1px; background: var(--primary); margin-right: 12px; vertical-align: middle; }
.corner-frame { position: relative; }
.corner-frame::before, .corner-frame::after { content: ""; position: absolute; width: 12px; height: 12px; border-color: var(--primary); }
.corner-frame::before { top: 0; left: 0; border-top: 1px solid; border-left: 1px solid; }
.corner-frame::after { bottom: 0; right: 0; border-bottom: 1px solid; border-right: 1px solid; }
.radial-green { background: radial-gradient(circle at 50% 0%, oklch(0.85 0.22 145 / 0.12), transparent 65%); }
.st-green { color: var(--primary); }
.st-muted { color: var(--muted-foreground); }
.st-mono { font-family: var(--font-mono); }
.st-small { font-size: .875rem; }
.st-xs { font-size: .75rem; }
.st-mt6 { margin-top: 1.5rem; }
.st-flex1 { flex: 1; }
.st-container { max-width: 80rem; margin: 0 auto; padding: 0 1.5rem; }
.st-section { padding: 8rem 0 4rem; }
.st-h1 { font-size: clamp(2.25rem, 5vw, 3.75rem); line-height: 1.05; }
.st-prose { color: var(--muted-foreground); margin-top: 1.5rem; max-width: 48rem; }

/* Buttons */
.st-btn { display: inline-flex; align-items: center; justify-content: center; height: 3rem; padding: 0 1.25rem; font-size: 15px; font-weight: 500; white-space: nowrap; border-radius: calc(var(--radius) - 4px); transition: box-shadow .2s; }
.st-btn--primary { background: var(--primary); color: var(--primary-foreground); }
.st-btn--primary:hover { box-shadow: var(--shadow-glow); }

/* Header */
.st-header { position: fixed; inset: 0 0 auto; z-index: 50; border-bottom: 1px solid oklch(0.3 0.013 240 / 0.4); transition: all .3s; }
.st-header.is-scrolled { border-bottom-color: oklch(0.3 0.013 240 / 0.7); box-shadow: 0 8px 30px -12px rgba(0,0,0,.6); }
.st-header__bar { max-width: 1440px; margin: 0 auto; padding: 0 1rem; height: 4rem; display: flex; align-items: center; justify-content: space-between; transition: height .3s; }
.st-header.is-scrolled .st-header__bar { height: 3.5rem; }
.st-logo { flex-shrink: 0; margin: -.5rem; padding: .5rem; }
.st-logo img { width: 120px; }
.st-nav { display: none; align-items: center; gap: 1.5rem; min-width: 0; }
.st-nav__link { position: relative; font-size: .875rem; font-weight: 500; letter-spacing: .025em; color: var(--muted-foreground); padding: 1.25rem 0; transition: color .2s; }
.st-nav__link::before, .st-nav__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; pointer-events: none; }
.st-nav__link::before { background: oklch(0.87 0.22 145 / 0.2); }
.st-nav__link::after { background: var(--primary); transform: scaleX(0); transform-origin: left; transition: transform .3s; box-shadow: var(--shadow-glow); }
.st-nav__link:hover, .st-nav__link.is-active { color: var(--primary); }
.st-nav__link:hover::after, .st-nav__link.is-active::after { transform: scaleX(1); }
.st-header__actions { display: flex; align-items: center; gap: .5rem; flex-shrink: 0; }
.st-support, .st-header__cta { display: none; }
.st-support { font-family: var(--font-mono); font-size: .75rem; color: var(--muted-foreground); align-items: center; gap: .5rem; }
.st-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--primary); animation: st-pulse 2s infinite; }
@keyframes st-pulse { 50% { opacity: .5; } }
.st-cta-long { display: none; }
.st-burger { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; background: none; border: 0; color: var(--foreground); border-radius: 2px; cursor: pointer; }
.st-burger:hover { background: var(--surface); }
.st-burger .i-close, .menu-open .st-burger .i-open { display: none; }
.menu-open .st-burger .i-close { display: inline; }
.st-progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; overflow: hidden; }
.st-progress span { display: block; height: 100%; background: var(--primary); transform-origin: left; transform: scaleX(0); box-shadow: var(--shadow-glow); }

/* Language switcher */
.st-lang { position: relative; }
.st-lang__btn { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0 .75rem; border: 1px solid oklch(0.3 0.013 240 / 0.6); background: oklch(0.205 0.01 240 / 0.4); color: var(--foreground); font-family: var(--font-mono); font-size: .875rem; letter-spacing: .05em; border-radius: 2px; cursor: pointer; transition: border-color .2s; }
.st-lang__btn:hover { border-color: oklch(0.87 0.22 145 / 0.6); }
.st-chev { transition: transform .2s; }
.st-lang.is-open .st-chev { transform: rotate(180deg); }
.st-lang__menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 50; min-width: 230px; border: 1px solid oklch(0.3 0.013 240 / 0.7); background: oklch(0.155 0.008 240 / 0.98); backdrop-filter: blur(24px); box-shadow: 0 18px 40px -16px rgba(0,0,0,.75); border-radius: 2px; overflow: hidden; }
.st-lang__head { padding: .5rem .75rem; font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .18em; color: var(--muted-foreground); border-bottom: 1px solid oklch(0.3 0.013 240 / 0.6); }
.st-lang__opt { display: flex; align-items: center; gap: .75rem; min-height: 48px; padding: 0 .75rem; font-size: .875rem; color: var(--muted-foreground); }
.st-lang__opt .st-mono { font-size: .75rem; letter-spacing: .05em; }
.st-lang__opt:hover { background: oklch(0.205 0.01 240 / 0.7); color: var(--foreground); }
.st-lang__opt.is-active { background: var(--surface); color: var(--primary); }

/* Mobile menu */
.st-mobile { position: absolute; top: 100%; left: 0; right: 0; height: calc(100dvh - 4rem); background: var(--background); overflow-y: auto; border-top: 1px solid var(--border); padding: 1rem 1.5rem 2rem; }
.st-mobile__item { border-bottom: 1px solid oklch(0.3 0.013 240 / 0.5); }
.st-mobile__row { display: flex; align-items: center; justify-content: space-between; min-height: 56px; }
.st-mobile__row a { font-size: 1.125rem; font-weight: 500; flex: 1; padding: .75rem 0; }
.st-mobile__row a.is-active { color: var(--primary); }
.st-mobile__row button { width: 48px; height: 48px; background: none; border: 0; color: var(--muted-foreground); cursor: pointer; }
.st-mobile__row button[aria-expanded="true"] svg { transform: rotate(180deg); color: var(--primary); }
.st-mobile__sub { padding: 0 0 1rem 1rem; display: grid; gap: .25rem; }
.st-mobile__sub a { color: var(--muted-foreground); padding: .5rem 0; font-size: .95rem; }
.st-mobile__sub a:hover { color: var(--primary); }
.st-mobile__cta { width: 100%; margin-top: 1.5rem; }

@media (min-width: 640px) {
  .st-header__bar { padding: 0 1.5rem; height: 5rem; }
  .st-header.is-scrolled .st-header__bar { height: 4rem; }
  .st-logo img { width: 145px; }
  .st-mobile { height: calc(100dvh - 5rem); }
}
@media (min-width: 1280px) {
  .st-header__bar { height: 6rem; }
  .st-header.is-scrolled .st-header__bar { height: 76px; }
  .st-mobile { height: calc(100dvh - 6rem); }
}
@media (min-width: 1536px) {
  .st-nav { display: flex; }
  .st-burger, .st-mobile { display: none !important; }
  .st-header__actions { gap: .75rem; }
  .st-header__cta { display: inline-flex; }
}
@media (min-width: 1760px) {
  .st-support { display: flex; }
  .st-cta-short { display: none; }
  .st-cta-long { display: inline; }
  .st-header__cta { padding: 0 1.75rem; }
}

/* Footer */
.st-footer { border-top: 1px solid oklch(0.3 0.013 240 / 0.6); background: oklch(0.205 0.01 240 / 0.3); margin-top: 8rem; }
.st-footer__inner { padding-top: 4rem; padding-bottom: 4rem; }
.st-footer__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; }
.st-footer__brand { grid-column: span 2; }
.st-footer__brand p { max-width: 24rem; margin: 0; }
.st-footer__brand p + p { margin-top: 1.5rem; }
.st-footer__logo { width: 160px; margin-bottom: 1.25rem; }
.st-footer__title { font-family: var(--font-sans); font-weight: 400; font-size: .75rem; text-transform: uppercase; letter-spacing: .2em; margin-bottom: 1rem; letter-spacing: .2em; }
.st-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.st-footer__list a { font-size: .875rem; color: var(--muted-foreground); transition: color .2s; }
.st-footer__list a:hover, .st-footer__bottom a:hover { color: var(--primary); }
.st-footer__bottom { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid oklch(0.3 0.013 240 / 0.6); display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; }
@media (min-width: 768px) {
  .st-footer__grid { grid-template-columns: repeat(5, 1fr); }
  .st-footer__logo { width: 190px; }
  .st-footer__bottom { flex-direction: row; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
.st-header a, .st-footer a, .st-mobile a { color: inherit; text-decoration: none; }
.container-x { max-width: 80rem; margin-inline: auto; padding-inline: 1.5rem; }
#st-dialog { position: fixed; inset: 0; z-index: 100; }
.st-dialog__backdrop { position: fixed; inset: 0; background: oklch(0 0 0 / 0.75); backdrop-filter: blur(4px); }
#st-dialog [role=dialog] { z-index: 101; }
