:root{
  --bg:#0a0d0f;
  --panel:#12171a;
  --panel-2:#171d21;
  --border:#242c31;
  --border-soft:#1b2226;
  --text:#eef2f3;
  --text-dim:#8b9aa1;
  --text-faint:#576066;
  --accent-a:#4dff8e;
  --accent-a-dim:rgba(77,255,142,0.12);
  --accent-b:#b458ff;
  --accent-b-dim:rgba(180,88,255,0.12);
  --on-accent:#04140a;
  --statusbar-bg:rgba(10,13,15,0.9);
  --nav-bg:rgba(10,13,15,0.86);
  --font-display:'Archivo', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'JetBrains Mono', monospace;
  color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#fafaf7;
  --panel:#ffffff;
  --panel-2:#f2f2ee;
  --border:#e1e1da;
  --border-soft:#ececE4;
  --text:#14171a;
  --text-dim:#5b625f;
  --text-faint:#8d938e;
  --accent-a:#1f9e57;
  --accent-a-dim:rgba(31,158,87,0.10);
  --accent-b:#8a2be0;
  --accent-b-dim:rgba(138,43,224,0.10);
  --on-accent:#ffffff;
  --statusbar-bg:rgba(250,250,247,0.9);
  --nav-bg:rgba(250,250,247,0.86);
  color-scheme:light;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  background-image:
    linear-gradient(var(--border-soft) 1px, transparent 1px),
    linear-gradient(90deg, var(--border-soft) 1px, transparent 1px);
  background-size:64px 64px;
  background-position:-1px -1px;
  transition:background-color 0.2s, color 0.2s;
}
a{color:inherit;text-decoration:none;}
a, button, svg, svg *, .panel, .corner, .signode .ring, .chip .d, .facts, .fieldlist{transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, stroke 0.2s ease, box-shadow 0.2s ease;}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px;}
::selection{background:var(--accent-a);color:var(--on-accent);}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

header.nav{position:sticky;top:0;z-index:50;background:var(--nav-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:60px;}
.logo{font-family:var(--font-display);font-weight:800;font-size:19px;letter-spacing:0.01em;display:flex;align-items:center;gap:10px;}
.logo .mark{width:20px;height:20px;position:relative;flex:none;}
.logo .mark svg{width:100%;height:100%;display:block;}
.navlinks{display:flex;align-items:center;gap:36px;}
.navlinks a{font-family:var(--font-mono);font-size:12.5px;letter-spacing:0.04em;color:var(--text-dim);text-transform:uppercase;position:relative;padding:6px 0;transition:color 0.15s;}
.navlinks a:hover{color:var(--text);}
.navlinks a.active{color:var(--accent-a);}
.navlinks a.active::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent-a);box-shadow:0 0 6px var(--accent-a);}
.navright{display:flex;align-items:center;gap:14px;}
.langsw{display:flex;flex-wrap:wrap;gap:2px;border:1px solid var(--border);border-radius:5px;overflow:hidden;}
.langsw button{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.02em;background:transparent;border:none;color:var(--text-faint);padding:6px 8px;cursor:pointer;transition:all 0.15s;}
.langsw button.on{background:var(--panel-2);color:var(--accent-a);}
.langsw button:hover:not(.on){color:var(--text-dim);}
.cta-btn{font-family:var(--font-mono);font-size:12.5px;letter-spacing:0.03em;color:var(--on-accent);background:var(--accent-a);padding:10px 18px;border-radius:4px;font-weight:600;border:1px solid var(--accent-a);transition:transform 0.15s, box-shadow 0.15s;white-space:nowrap;}
.cta-btn:hover{box-shadow:0 0 18px var(--accent-a-dim);transform:translateY(-1px);}
.navburger{display:none;background:none;border:1px solid var(--border);color:var(--text);width:38px;height:38px;border-radius:5px;align-items:center;justify-content:center;cursor:pointer;}
.themetoggle{background:none;border:1px solid var(--border);color:var(--text-dim);width:34px;height:34px;border-radius:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color 0.15s, color 0.15s;flex:none;}
.themetoggle:hover{border-color:var(--accent-b);color:var(--accent-b);}
.themetoggle svg{width:16px;height:16px;display:block;}
.themetoggle .icon-sun{display:none;}
:root[data-theme="light"] .themetoggle .icon-moon{display:none;}
:root[data-theme="light"] .themetoggle .icon-sun{display:block;}

.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:0.12em;color:var(--accent-b);text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.eyebrow::before{content:'';width:16px;height:1px;background:var(--accent-b);}

h1{font-family:var(--font-display);font-weight:800;letter-spacing:-0.01em;}
h2{font-family:var(--font-display);font-weight:700;letter-spacing:-0.01em;}

.hero{padding:44px 0 32px;position:relative;}
.hero h1{font-size:clamp(26px,3.6vw,40px);line-height:1.1;max-width:760px;}
.hero p.sub{max-width:560px;margin:16px 0 22px;color:var(--text-dim);font-size:14.5px;line-height:1.6;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.btn-outline{font-family:var(--font-mono);font-size:12.5px;letter-spacing:0.03em;color:var(--text);background:transparent;padding:10px 18px;border-radius:4px;border:1px solid var(--border);transition:border-color 0.15s, color 0.15s;}
.btn-outline:hover{border-color:var(--accent-b);color:var(--accent-b);}

.chipbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.chip{font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.04em;color:var(--text-dim);border:1px solid var(--border);padding:8px 14px;border-radius:20px;display:flex;align-items:center;gap:8px;}
.chip .d{width:5px;height:5px;border-radius:50%;background:var(--accent-a);flex:none;}
.chip:nth-child(2) .d{background:var(--accent-b);}
.chip:nth-child(3) .d{background:var(--accent-a);}

.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:16px;}
.panel{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:20px 22px;}
.panel .tag{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);letter-spacing:0.06em;margin-bottom:10px;display:block;}
.panel h3{font-family:var(--font-display);font-size:17px;font-weight:700;margin-bottom:8px;}
.panel p{color:var(--text-dim);font-size:13.5px;}
.mini-list{margin-top:12px;list-style:none;}
.mini-list li{font-size:13px;color:var(--text-dim);margin-bottom:8px;padding-left:14px;position:relative;}
.mini-list li::before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--accent-a);}
.mini-list b{color:var(--text);font-weight:600;}
.tease{margin-top:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:0.04em;color:var(--accent-a);}
.corner{position:absolute;width:10px;height:10px;pointer-events:none;}
.corner.tl{top:-1px;left:-1px;border-top:1px solid var(--accent-a);border-left:1px solid var(--accent-a);}
.corner.br{bottom:-1px;right:-1px;border-bottom:1px solid var(--accent-b);border-right:1px solid var(--accent-b);}

section{padding:36px 0;border-top:1px solid var(--border-soft);}
section.no-border{border-top:none;}
.page-head{padding-top:40px;padding-bottom:8px;}

.signalpath{margin:32px 0 8px;display:flex;align-items:flex-start;justify-content:space-between;position:relative;gap:0;}
.signalpath::before{content:'';position:absolute;top:19px;left:5%;right:5%;height:1px;background:linear-gradient(90deg, var(--accent-a), var(--accent-b));opacity:0.5;}
.signode{position:relative;flex:1;text-align:center;padding:0 12px;}
.signode .ring{width:38px;height:38px;border-radius:50%;margin:0 auto 14px;border:1px solid var(--border);background:var(--panel);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11.5px;color:var(--text-dim);position:relative;z-index:2;}
.signode:nth-child(1) .ring{border-color:var(--accent-a);color:var(--accent-a);box-shadow:0 0 16px var(--accent-a-dim);}
.signode:nth-child(2) .ring{border-color:var(--text-dim);color:var(--text-dim);}
.signode:nth-child(3) .ring{border-color:var(--accent-b);color:var(--accent-b);box-shadow:0 0 16px var(--accent-b-dim);}
.signode .num{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);letter-spacing:0.08em;margin-bottom:8px;}
.signode h3{font-family:var(--font-display);font-size:15.5px;margin-bottom:6px;}
.signode p{color:var(--text-dim);font-size:13px;max-width:260px;margin:0 auto;}

.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:start;margin-top:8px;}
.about-grid p{color:var(--text-dim);font-size:14.5px;margin-bottom:12px;max-width:520px;}
.facts{border:1px solid var(--border);border-radius:6px;background:var(--panel);}
.facts .row{display:flex;justify-content:space-between;padding:11px 16px;border-bottom:1px solid var(--border-soft);font-family:var(--font-mono);font-size:12px;}
.facts .row:last-child{border-bottom:none;}
.facts .row span:first-child{color:var(--text-faint);letter-spacing:0.04em;}
.facts .row span:last-child{color:var(--text);}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:8px;}
.contact-grid p{color:var(--text-dim);font-size:14.5px;max-width:440px;margin-bottom:16px;}
.fieldlist{border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--panel);}
.fieldlist a.field,.fieldlist div.field{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-soft);transition:background 0.15s;}
.fieldlist a.field:last-child,.fieldlist div.field:last-child{border-bottom:none;}
.fieldlist a.field:hover{background:var(--panel-2);}
.fieldlist .flabel{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);letter-spacing:0.06em;display:block;margin-bottom:4px;}
.fieldlist .fval{font-size:14px;color:var(--text);}
.fieldlist .farrow{color:var(--accent-a);font-family:var(--font-mono);font-size:14px;}
.note{margin-top:16px;font-family:var(--font-mono);font-size:11px;color:var(--text-faint);border-left:2px solid var(--accent-b);padding-left:12px;}

.contact-form{display:flex;flex-direction:column;gap:16px;}
.contact-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.contact-form label{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);letter-spacing:0.06em;margin-bottom:6px;display:block;}
.contact-form input,.contact-form textarea{width:100%;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:12px 14px;color:var(--text);font-family:var(--font-body);font-size:14px;outline:none;transition:border-color 0.15s ease, box-shadow 0.15s ease;}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent-a);box-shadow:0 0 0 3px var(--accent-a-dim);}
.contact-form textarea{min-height:120px;resize:vertical;font-family:var(--font-body);}
.contact-form button[type="submit"]{align-self:flex-start;border:1px solid var(--accent-a);cursor:pointer;}
.contact-form button[type="submit"]:disabled{opacity:0.6;cursor:default;}
.form-status{font-family:var(--font-mono);font-size:12px;min-height:14px;}
.form-status.success{color:var(--accent-a);}
.form-status.error{color:#ff4d5e;}
.contact-alt{margin-top:26px;padding-top:20px;border-top:1px solid var(--border-soft);}
.contact-alt .flabel{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);letter-spacing:0.06em;display:block;margin-bottom:4px;}
.contact-alt a{color:var(--text);font-size:14px;}
.contact-alt a:hover{color:var(--accent-a);}
.contact-alt .altrow{margin-bottom:10px;}

h2.section-title{font-size:clamp(20px,2.4vw,28px);max-width:640px;margin-bottom:10px;}
p.section-lead{color:var(--text-dim);font-size:14.5px;max-width:560px;}

footer{border-top:1px solid var(--border-soft);padding:22px 0;}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
footer .fnote{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);letter-spacing:0.03em;}
footer .flogo{font-family:var(--font-display);font-weight:800;font-size:14px;color:var(--text-dim);}

@media (max-width:860px){
  .panel-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:28px;}
  .contact-form .field-row{grid-template-columns:1fr;}
  .signalpath{flex-direction:column;gap:32px;}
  .signalpath::before{display:none;}
  .signode{text-align:left;padding:0;}
  .signode .ring{margin:0 0 14px;}
  .signode p{margin:0;}
}
@media (max-width:760px){
  .navlinks{position:fixed;top:60px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;padding:18px 32px;gap:20px;transform:translateY(-8px);opacity:0;pointer-events:none;transition:all 0.2s;}
  .navlinks.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .navburger{display:flex;}
  .navright .cta-btn{display:none;}
  .wrap{padding:0 20px;}
  .hero{padding:32px 0 28px;}
}
