:root {
  --bg:#000;
  --text:#fff;
  --muted:#a6a6a6;
  --soft:#d7d7d7;
  --line:#222;
  --card:#0b0b0b;
  --card-hover:#111;
  --blue:#2563eb;
  --max-width:1120px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; color-scheme:dark; }
body {
  margin:0;
  padding-top:72px;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.modal-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
img { max-width:100%; }

.skip-link {
  position:fixed;
  top:8px;
  left:8px;
  z-index:30000;
  transform:translateY(-150%);
  padding:10px 14px;
  border-radius:10px;
  background:#fff;
  color:#000;
  font-weight:800;
}
.skip-link:focus { transform:translateY(0); }

:focus-visible {
  outline:2px solid #fff;
  outline-offset:4px;
  border-radius:6px;
}

.wrap {
  width:min(var(--max-width),calc(100% - 40px));
  margin:0 auto;
}

.intro {
  position:fixed;
  inset:0;
  z-index:20000;
  display:grid;
  place-items:center;
  background:#000;
  opacity:1;
  visibility:visible;
  transition:opacity .45s ease,visibility .45s ease;
}
.intro.hide { opacity:0; visibility:hidden; }
.intro-inner { text-align:center; transform:translateY(-10px); }
.intro-mark {
  width:96px;
  height:96px;
  display:block;
  margin:0 auto 22px;
  animation:introPulse 1.1s ease-in-out infinite alternate;
}
.intro-name { font-weight:800; font-size:20px; letter-spacing:.22em; margin-left:.22em; }
.intro-tag { margin-top:8px; color:#888; font-size:12px; letter-spacing:.06em; }
@keyframes introPulse { from{transform:scale(.97);opacity:.82} to{transform:scale(1.03);opacity:1} }

.cursor-glow {
  position:fixed;
  left:0;
  top:0;
  width:420px;
  height:420px;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  opacity:0;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(255,255,255,.10) 0%,rgba(255,255,255,.055) 24%,rgba(255,255,255,.022) 46%,rgba(255,255,255,0) 72%);
  filter:blur(8px);
  transition:opacity .2s ease;
}
body.glow-active .cursor-glow { opacity:1; }
main,footer { position:relative; z-index:1; }

header {
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:72px;
  z-index:9999;
  background:rgba(0,0,0,.91);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.nav {
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand { display:flex; align-items:center; justify-content:center; width:46px; height:46px; flex:0 0 auto; }
.brand-logo { width:42px; height:42px; display:block; color:#fff; flex:0 0 auto; }
.brand-mark { width:42px; height:42px; display:block; }
.nav-right { display:flex; align-items:center; gap:22px; }
nav { display:flex; gap:26px; align-items:center; color:var(--soft); font-size:14px; }
nav a { transition:color .18s ease; }
nav a:hover { color:#fff; }
.lang-switch { display:flex; padding:3px; border:1px solid #2d2d2d; background:#080808; border-radius:999px; }
.lang-btn {
  border:0;
  background:transparent;
  color:#8d8d8d;
  min-width:42px;
  height:30px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.lang-btn.active { background:#fff; color:#000; }
.lang-btn img { width:24px; height:16px; display:block; object-fit:cover; border-radius:2px; box-shadow:0 0 0 1px rgba(255,255,255,.14); }
.lang-btn:focus-visible, a:focus-visible, button:focus-visible { outline:2px solid #fff; outline-offset:3px; }

.hero {
  min-height:calc(78vh - 72px);
  display:grid;
  place-items:center;
  text-align:center;
  padding:86px 0 76px;
}
.hero-inner { width:min(920px,100%); }
.hero-wordmark { display:flex; flex-direction:column; align-items:center; justify-content:center; }
.hero-name { font-size:clamp(58px,12vw,136px); line-height:.86; font-weight:900; letter-spacing:-.065em; }
.hero-tagline { margin-top:22px; color:#d0d0d0; font-size:clamp(17px,2.2vw,25px); font-weight:500; letter-spacing:.015em; }
.hero-copy { max-width:680px; margin:32px auto 0; color:var(--muted); font-size:clamp(17px,2vw,21px); }
.hero-actions { margin-top:34px; display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 20px;
  border-radius:999px;
  border:1px solid #fff;
  font-size:14px;
  font-weight:700;
  transition:background .2s ease,color .2s ease,transform .2s ease,border-color .2s ease;
  cursor:pointer;
}
.btn.primary { background:#fff; color:#000; }
.btn.primary:hover { background:#ececec; transform:translateY(-1px); }
.btn.secondary { background:transparent; color:#fff; border-color:#3a3a3a; }
.btn.secondary:hover { border-color:#fff; transform:translateY(-1px); }
.brand-note { margin-top:30px; color:#666; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }

section { padding:88px 0; scroll-margin-top:72px; }
section + section { border-top:1px solid rgba(255,255,255,.06); }
.section-head { display:grid; gap:10px; margin-bottom:30px; }
.eyebrow { color:#858585; text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:800; }
h1,h2,h3,p { margin-top:0; }
h2 { margin-bottom:0; font-size:clamp(34px,5vw,56px); letter-spacing:-.035em; }
.section-head p { color:var(--muted); max-width:700px; margin-bottom:0; font-size:17px; }

.apps { display:grid; gap:16px; }
.app-card {
  display:grid;
  grid-template-columns:96px 1fr auto;
  align-items:center;
  gap:26px;
  padding:clamp(24px,4vw,42px);
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(145deg,#0b0b0b,#090909);
  transition:.2s ease;
  overflow:hidden;
  position:relative;
}
.app-card::after {
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-130px;
  top:-130px;
  background:radial-gradient(circle,rgba(37,99,235,.18),transparent 68%);
  pointer-events:none;
}
.app-card:hover { transform:translateY(-2px); background:var(--card-hover); border-color:#343434; }
.app-icon { width:96px; height:96px; display:grid; place-items:center; border-radius:24px; overflow:hidden; box-shadow:0 16px 50px rgba(37,99,235,.18); }
.app-icon img { width:100%; height:100%; display:block; }
.app-card h3 { margin-bottom:8px; font-size:30px; letter-spacing:-.025em; }
.app-card p { max-width:650px; margin-bottom:0; color:var(--muted); }
.app-meta { margin-top:13px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; color:#7f8ba7; font-size:12px; font-weight:700; letter-spacing:.03em; }
.meta-dot { width:4px; height:4px; border-radius:50%; background:#4d5a75; }
.status {
  position:relative;
  z-index:1;
  padding:9px 13px;
  border:1px solid rgba(37,99,235,.55);
  border-radius:999px;
  color:#bcd0ff;
  background:rgba(37,99,235,.08);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  white-space:nowrap;
}

.about { max-width:820px; font-size:clamp(22px,3vw,34px); line-height:1.35; letter-spacing:-.025em; }
.about .muted { color:var(--muted); }

.contact-box {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:clamp(28px,5vw,54px);
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--card);
}
.contact-box p { margin-bottom:0; color:var(--muted); max-width:650px; }
.contact-title { font-size:clamp(30px,4vw,44px); margin-bottom:10px; }
.contact-actions { display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.contact-note { color:#676767; font-size:11px; max-width:260px; text-align:right; }

footer { padding:30px 0 42px; border-top:1px solid var(--line); color:#777; font-size:13px; }
.footer-row { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.footer-brand { display:flex; align-items:center; gap:9px; color:#fff; font-weight:700; letter-spacing:.12em; }
.footer-brand img { width:20px; height:20px; }
.footer-links { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.footer-links a:hover { color:#fff; }

.cookie-notice {
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:12000;
  width:min(760px,calc(100% - 28px));
  padding:16px 16px 16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid #303030;
  border-radius:18px;
  background:rgba(12,12,12,.96);
  box-shadow:0 20px 70px rgba(0,0,0,.65);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.cookie-notice[hidden] { display:none; }
.cookie-copy { color:#b8b8b8; font-size:13px; }
.cookie-copy strong { display:block; color:#fff; margin-bottom:3px; }
.cookie-copy a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.cookie-actions { display:flex; gap:8px; flex:0 0 auto; }
.cookie-ok { min-height:40px; padding:0 16px; }

.legal-page { min-height:calc(100vh - 72px); padding:64px 0 90px; }
.legal-shell { width:min(850px,100%); }
.legal-shell h1 { font-size:clamp(38px,6vw,62px); margin-bottom:12px; letter-spacing:-.04em; }
.legal-lead { color:var(--muted); font-size:18px; margin-bottom:40px; }
.legal-block { padding:26px 0; border-top:1px solid var(--line); }
.legal-block h2 { font-size:22px; margin-bottom:12px; letter-spacing:-.02em; }
.legal-block p,.legal-block li { color:#b1b1b1; }
.legal-block ul { padding-left:20px; }
.legal-block a { text-decoration:underline; text-underline-offset:3px; color:#fff; }
.legal-effective { margin:32px 0 0; color:#777; font-size:13px; }
.legal-language-panel[hidden] { display:none; }
.legal-nav-right { gap:14px; }
.legal-home-link { color:var(--soft); font-size:14px; transition:color .18s ease; }
.legal-home-link:hover { color:#fff; }

.error-page { min-height:calc(100vh - 72px); display:grid; place-items:center; text-align:center; padding:60px 0; }
.error-page h1 { font-size:clamp(58px,10vw,110px); margin-bottom:0; }
.error-page p { color:var(--muted); }

@media (hover:none),(pointer:coarse) { .cursor-glow { display:none; } }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .cursor-glow { display:none; }
  .intro-mark { animation:none; }
  *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
@media (max-width:760px) {
  .wrap { width:min(100% - 26px,var(--max-width)); }
  nav { display:none; }
  .nav-right { margin-left:auto; }
  .hero { min-height:68vh; padding-top:55px; }
  .hero-name { font-size:clamp(48px,16vw,82px); }
  .hero-tagline { margin-top:16px; }
  section { padding:68px 0; }
  .app-card { grid-template-columns:76px 1fr; gap:18px; }
  .app-icon { width:76px; height:76px; border-radius:19px; }
  .status { grid-column:1 / -1; width:fit-content; }
  .contact-box { flex-direction:column; align-items:flex-start; }
  .contact-actions { align-items:flex-start; }
  .contact-note { text-align:left; }
  .cookie-notice { align-items:flex-start; flex-direction:column; }
  .cookie-actions { width:100%; }
  .cookie-ok { width:100%; }
}
