:root{
  --bg:#0a0a0a; --fg:#f5f5f7; --muted:#a1a1a6; --card:#111113; --line:#1c1c1e; --accent:#ffffff;
}
@media (prefers-color-scheme: light){
  :root{ --bg:#ffffff; --fg:#0a0a0a; --muted:#5f5f64; --card:#ffffff; --line:#e9e9ee; --accent:#000000; }
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; background:var(--bg); color:var(--fg); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
.wrap{ width:min(1080px,92vw); margin:0 auto; }

/* Header */
header{ padding:7rem 0 1.2rem; text-align:center; }
.brand{ display:flex; align-items:center; justify-content:center; gap:.58rem; }
.logo{ display:block; width:40px; height:40px; }
.brand h1{ margin:0; line-height:1; font-weight:700; letter-spacing:-0.02em; font-size:clamp(1.15rem,1.2vw + 1rem,1.6rem); }
.tag{ color:var(--muted); margin:.45rem 0 0; }
.lang{ margin-top:.6rem; display:flex; gap:.5rem; align-items:center; justify-content:center; color:var(--muted); }
.lang a{ color:inherit; text-decoration:none; border:1px solid var(--line); padding:.2rem .5rem; border-radius:10px; }
.lang a:hover{ background:var(--card); }

/* Hero */
.hero{ padding:3rem 0 1.8rem; text-align:center; }
.hero h2{ font-size:clamp(2rem,3.4vw + 1rem,2.9rem); margin:.35rem 0 .9rem; letter-spacing:-0.01em; }
.lede{ color:var(--muted); max-width:60%; margin:0.3rem auto 0; line-height:1.55; }
@media (max-width:768px){ .lede{ max-width:80%; } }

/* Sections */
.section{ padding:3rem 0 0; }
.section:first-of-type{ padding-top:4rem; }
.section-title{ text-align:center; margin:2.2rem 0 .65rem; font-size:1.22rem; letter-spacing:.01em; }
.section-intro{ text-align:center; color:var(--muted); max-width:70ch; margin:0 auto 1.3rem; }

.grid{ margin:1.6rem auto 2.2rem; display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); }
.grid.grid-1{ grid-template-columns:1fr; }
.grid.grid-2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:1024px){ .grid{ grid-template-columns:repeat(2,1fr);} .grid.grid-2{ grid-template-columns:repeat(2,1fr);} .grid.grid-1{ grid-template-columns:1fr;} }
@media (max-width:640px){ .grid{ grid-template-columns:1fr;} }

/* Cards */
.card{ border:1px solid var(--line); background:var(--card); border-radius:16px; padding:1.05rem 1rem; }
.card h3{ margin:.18rem 0 .42rem; font-size:1.05rem; letter-spacing:.005em; }
.card p{ margin:0; color:var(--muted); line-height:1.55; }
@media (hover:hover){ .card:hover{ transform:translateY(-1px); transition:transform .15s ease, box-shadow .2s ease; box-shadow:0 10px 24px rgba(0,0,0,.035);} }
@media (prefers-color-scheme: light){
  .card{ background:#ffffff; border-color:#e9e9ee; box-shadow:0 1px 0 rgba(0,0,0,.03); }
}

/* Contact */
.contact{ padding:2.4rem 0 4.2rem; }
.contact h3{ text-align:center; margin-bottom:1.2rem; }
form{ border:1px solid var(--line); background:var(--card); border-radius:16px; padding:1.1rem;
      display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
label{ display:flex; flex-direction:column; gap:.5rem; }
label.full{ grid-column:1 / -1; }
label span{ font-size:.9rem; color:var(--muted); }
input,textarea{ background:#0000; color:var(--fg); border:1px solid var(--line); border-radius:12px; padding:.85rem .95rem; outline:none; }
input:focus,textarea:focus{ border-color:#7d7dff50; box-shadow:0 0 0 4px #7d7dff10; }
.captcha{ grid-column:1 / -1; display:flex; justify-content:center; }

/* Button: smaller & centered */
.btn{
  grid-column:1 / -1;
  padding:.72rem 1rem;
  border-radius:10px;
  border:1px solid var(--line);
  background:var(--fg); color:var(--bg);
  font-weight:600; cursor:pointer;
  max-width:220px;
  justify-self:center;
}
.btn:hover{ opacity:.97; }
#formMsg{ margin:0; text-align:center; color:var(--muted); }

/* Footer */
.foot{ padding:1rem 0 1.8rem; text-align:center; color:var(--muted); }

/* Background field */
#field{ position:fixed; inset:0; z-index:-1;
  background:radial-gradient(1200px 600px at 20% 10%, #7d7dff08, transparent),
             radial-gradient(900px 500px at 80% 90%, #67e8f908, transparent); }
@media (prefers-reduced-motion: reduce){ #field{ display:none; } }