:root {
  --bg: #0d0d10;
  --bg-2: #141419;
  --panel: #18181f;
  --panel-soft: #1f2027;
  --text: #f7f7fa;
  --muted: #b6b7c2;
  --line: rgba(255,255,255,.10);
  --purple: #9f4dff;
  --purple-2: #6b32ff;
  --lime: #b8f43c;
  --cyan: #19bfff;
  --shadow: 0 24px 80px rgba(0,0,0,.32);
  --radius: 26px;
  --wrap: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 14% 8%, rgba(159,77,255,.15), transparent 24rem),
    radial-gradient(circle at 90% 28%, rgba(184,244,60,.08), transparent 22rem),
    var(--bg);
  line-height: 1.6;
}

img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.wrap { width: min(calc(100% - 40px), var(--wrap)); margin-inline: auto; }
.skip-link { position: absolute; left: -9999px; top: 10px; }
.skip-link:focus { left: 10px; z-index: 999; background: #fff; color:#000; padding: 10px 14px; border-radius: 8px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(18px);
  background: rgba(13,13,16,.78);
  border-bottom: 1px solid var(--line);
}

.nav { min-height: 78px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand img { width:56px; height:56px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 1px rgba(255,255,255,.12); }
.brand span { display:flex; flex-direction:column; line-height:1; }
.brand strong { font-size:1rem; letter-spacing:.02em; }
.brand small { margin-top:6px; font-size:.68rem; font-weight:900; letter-spacing:.30em; color:var(--lime); }

.main-nav { display:flex; align-items:center; gap:26px; }
.main-nav a { color:var(--muted); text-decoration:none; font-weight:750; font-size:.94rem; }
.main-nav a:hover { color:#fff; }

.hero { padding: 34px 0 74px; }
.hero-art {
  position:relative;
  overflow:hidden;
  border-radius:32px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow: var(--shadow), 0 0 80px rgba(159,77,255,.10);
  background:#111;
}
.hero-art::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:28%;
  background:linear-gradient(transparent, rgba(13,13,16,.38));
  pointer-events:none;
}
.hero-art img { width:100%; height:auto; }

.hero-copy { display:grid; grid-template-columns:1.25fr .75fr; gap:70px; align-items:end; margin-top:44px; }
.eyebrow { margin:0 0 12px; color:var(--lime); text-transform:uppercase; letter-spacing:.17em; font-weight:900; font-size:.76rem; }
h1,h2,h3,blockquote,p { margin-top:0; }
h1 { margin-bottom:0; font-size:clamp(2.75rem, 6vw, 5.5rem); line-height:.96; letter-spacing:-.055em; }
h1 span { color:var(--purple); }
h2 { margin-bottom:22px; font-size:clamp(2.15rem, 4vw, 4rem); line-height:1; letter-spacing:-.045em; }
h3 { font-size:clamp(2rem, 3vw, 3.25rem); line-height:1; letter-spacing:-.04em; margin-bottom:8px; }
.hero-side { font-size:1.07rem; color:var(--muted); }
.hero-side p { margin-bottom:24px; }
.hero-actions, .app-links { display:flex; align-items:center; flex-wrap:wrap; gap:18px; }

.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:50px;
  padding:0 20px;
  border-radius:14px;
  text-decoration:none;
  font-weight:900;
  color:#111;
  background:var(--lime);
  box-shadow:0 10px 30px rgba(184,244,60,.16);
  transition:transform .18s ease, box-shadow .18s ease;
}
.button:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(184,244,60,.22); }
.button-secondary { color:#fff; background:linear-gradient(135deg, var(--purple), var(--purple-2)); box-shadow:0 10px 30px rgba(159,77,255,.18); }
.text-link { text-underline-offset:5px; font-weight:800; color:#fff; }

.mini-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:46px; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:var(--line); }
.mini-strip span { padding:16px 18px; background:rgba(255,255,255,.035); font-size:.88rem; font-weight:800; text-align:center; color:#dfe0e8; }
.asterisk { margin:8px 0 0; color:#777984; font-size:.78rem; text-align:right; }

section { scroll-margin-top:95px; }
.apps-section, .about-section, .coming-soon-section, .contact-section { padding:96px 0; }
.apps-section { border-top:1px solid var(--line); }
.section-heading { margin-bottom:42px; }
.split-heading { display:grid; grid-template-columns:1fr .72fr; gap:60px; align-items:end; }
.section-intro { color:var(--muted); font-size:1.08rem; margin-bottom:8px; }

.app-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.app-card {
  position:relative;
  overflow:hidden;
  min-height:100%;
  border:1px solid var(--line);
  border-radius:30px;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  box-shadow:0 18px 60px rgba(0,0,0,.18);
}
.app-card::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:linear-gradient(90deg,var(--purple),var(--lime));
}
.app-card-threewords::before { background:linear-gradient(90deg,var(--cyan),var(--purple)); }
.app-visual { position:relative; min-height:290px; display:grid; place-items:center; padding:38px 32px 20px; }
.app-visual::after { content:""; position:absolute; inset:20% 18%; filter:blur(40px); opacity:.28; border-radius:50%; background:var(--purple); z-index:0; }
.app-card-threewords .app-visual::after { background:var(--cyan); }
.app-visual img { position:relative; z-index:1; width:220px; height:220px; object-fit:contain; border-radius:30%; }
.app-badge { position:absolute; top:26px; right:26px; z-index:2; border:1px solid rgba(184,244,60,.35); color:var(--lime); background:rgba(184,244,60,.08); padding:7px 11px; border-radius:999px; font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }
.app-card-copy { padding:8px 34px 36px; }
.app-type { margin-bottom:8px; color:var(--muted); text-transform:uppercase; letter-spacing:.12em; font-size:.73rem; font-weight:900; }
.app-tagline { color:#fff; font-size:1.14rem; font-weight:900; }
.app-card-copy > p:not(.app-type):not(.app-tagline) { color:var(--muted); }
.app-links { margin-top:26px; }

.about-section { background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)); border-top:1px solid var(--line); }
.about-grid { display:grid; grid-template-columns:1fr .92fr; gap:70px; align-items:start; }
.about-copy .lead { color:#fff; font-size:1.26rem; line-height:1.5; }
.about-copy p:not(.eyebrow):not(.lead) { color:var(--muted); }
.method-card { border:1px solid var(--line); border-radius:28px; background:var(--panel); padding:28px; box-shadow:var(--shadow); }
.method-title { display:flex; align-items:center; gap:10px; padding-bottom:18px; margin-bottom:4px; border-bottom:1px solid var(--line); }
.method-title p { margin:0; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; font-weight:900; color:#ddd; }
.dot { width:10px; height:10px; border-radius:50%; background:var(--lime); box-shadow:0 0 18px rgba(184,244,60,.55); }
.bodge-list { list-style:none; padding:0; margin:0; }
.bodge-list li { display:grid; grid-template-columns:54px 1fr; gap:12px; align-items:start; padding:18px 0; border-bottom:1px solid var(--line); }
.bodge-list li:last-child { border-bottom:0; }
.bodge-list b { color:var(--purple); font-size:.8rem; letter-spacing:.08em; }
.bodge-list span { display:flex; flex-direction:column; gap:3px; }
.bodge-list strong { font-size:1rem; }
.bodge-list small { color:var(--muted); font-size:.9rem; }

.philosophy-section { padding:80px 0; background:linear-gradient(120deg, #6f2eff 0%, #9e42ff 48%, #b8f43c 160%); }
.philosophy-inner { display:grid; grid-template-columns:150px 1fr; gap:24px; align-items:center; }
.quote-mark { font-family:Georgia,serif; font-size:12rem; line-height:.5; color:rgba(255,255,255,.22); }
.philosophy-section .eyebrow { color:#d9ff8b; }
.philosophy-section blockquote { max-width:900px; margin-bottom:18px; font-size:clamp(2.2rem, 5vw, 4.6rem); font-weight:950; line-height:1; letter-spacing:-.045em; }
.philosophy-section p:last-child { max-width:760px; margin-bottom:0; font-size:1.06rem; color:rgba(255,255,255,.86); }

.coming-soon { display:grid; grid-template-columns:1fr 220px; gap:50px; align-items:center; }
.coming-soon p:not(.eyebrow) { max-width:720px; color:var(--muted); }
.coming-soon-mark { width:190px; height:190px; display:grid; place-items:center; justify-self:end; border-radius:44px; transform:rotate(6deg); border:1px solid rgba(255,255,255,.14); background:linear-gradient(145deg,var(--panel-soft),#121216); box-shadow:var(--shadow); }
.coming-soon-mark span { color:var(--lime); font-size:7rem; font-weight:950; line-height:1; transform:rotate(-6deg); }

.contact-section { border-top:1px solid var(--line); background:radial-gradient(circle at 20% 20%, rgba(159,77,255,.16), transparent 28rem); }
.contact-inner { display:grid; grid-template-columns:130px 1fr; align-items:center; gap:34px; max-width:850px; }
.contact-inner img { border-radius:50%; }
.contact-inner p:not(.eyebrow) { color:var(--muted); max-width:620px; }

.site-footer { padding:58px 0 28px; border-top:1px solid var(--line); background:#09090b; }
.footer-inner { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.footer-brand .small { max-width:440px; margin-top:20px; color:var(--muted); }
.footer-links { display:grid; grid-template-columns:1fr 1.25fr; gap:40px; }
.footer-links > div { display:flex; flex-direction:column; gap:10px; }
.footer-links strong { color:#fff; margin-bottom:4px; }
.footer-links a { color:var(--muted); text-decoration:none; }
.footer-links a:hover { color:#fff; }
.footer-bottom { margin-top:42px; padding-top:22px; border-top:1px solid var(--line); }
.small { font-size:.86rem; color:#7f818c; }

.legal-page, .app-page { min-height:70vh; padding:74px 0 100px; }
.legal-shell, .app-page-shell { max-width:900px; }
.legal-hero { padding-bottom:36px; border-bottom:1px solid var(--line); margin-bottom:38px; }
.legal-hero h1 { font-size:clamp(2.5rem, 6vw, 4.8rem); }
.legal-hero p { color:var(--muted); max-width:720px; }
.legal-content h2 { font-size:1.5rem; letter-spacing:-.02em; margin-top:34px; margin-bottom:10px; }
.legal-content p, .legal-content li { color:var(--muted); }
.legal-content ul { padding-left:1.2rem; }
.legal-note { margin:28px 0; padding:18px 20px; border:1px solid rgba(184,244,60,.22); border-radius:16px; background:rgba(184,244,60,.05); }
.legal-note p { margin:0; color:#dce8c5; }

.app-page-hero { display:grid; grid-template-columns:240px 1fr; gap:46px; align-items:center; }
.app-page-hero img { width:240px; border-radius:30%; }
.app-page-hero p { color:var(--muted); }
.app-page-copy { margin-top:56px; display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.info-card { border:1px solid var(--line); border-radius:22px; padding:26px; background:var(--panel); }
.info-card h2 { font-size:1.55rem; margin-bottom:12px; }
.info-card p { color:var(--muted); margin-bottom:0; }

@media (max-width: 900px) {
  .hero-copy, .split-heading, .about-grid, .footer-inner { grid-template-columns:1fr; gap:32px; }
  .app-grid { grid-template-columns:1fr; }
  .mini-strip { grid-template-columns:1fr 1fr; }
  .philosophy-inner { grid-template-columns:75px 1fr; }
  .quote-mark { font-size:8rem; }
}

@media (max-width: 680px) {
  .wrap { width:min(calc(100% - 28px), var(--wrap)); }
  .site-header { position:relative; }
  .nav { min-height:72px; }
  .brand img { width:48px; height:48px; }
  .main-nav { gap:14px; }
  .main-nav a { font-size:.82rem; }
  .hero { padding-top:18px; }
  .hero-art { border-radius:18px; }
  .hero-copy { margin-top:30px; gap:24px; }
  h1 { font-size:clamp(2.6rem, 13vw, 4.4rem); }
  .mini-strip { grid-template-columns:1fr; border-radius:14px; }
  .asterisk { text-align:left; }
  .apps-section, .about-section, .coming-soon-section, .contact-section { padding:72px 0; }
  .app-visual { min-height:245px; }
  .app-visual img { width:180px; height:180px; }
  .app-card-copy { padding:4px 24px 28px; }
  .philosophy-section { padding:64px 0; }
  .philosophy-inner { grid-template-columns:1fr; }
  .quote-mark { display:none; }
  .coming-soon { grid-template-columns:1fr; }
  .coming-soon-mark { width:140px; height:140px; justify-self:start; }
  .coming-soon-mark span { font-size:5rem; }
  .contact-inner { grid-template-columns:80px 1fr; align-items:start; gap:20px; }
  .footer-links { grid-template-columns:1fr; }
  .app-page-hero, .app-page-copy { grid-template-columns:1fr; }
  .app-page-hero img { width:180px; }
}

@media (max-width: 500px) {
  .brand span { display:none; }
  .main-nav { width:100%; justify-content:flex-end; }
  .main-nav a { font-size:.78rem; }
  .hero-actions, .app-links { align-items:stretch; flex-direction:column; }
  .button { width:100%; }
  .text-link { text-align:center; }
  .contact-inner { grid-template-columns:1fr; }
  .contact-inner img { width:88px; }
}
