:root { --ink:#e9edf4; --muted:#a3afc1; --surface:#111826; --line:#263247; --accent:#82f4b3; --deep:#080d16; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--deep); color:var(--ink); font:16px/1.6 Manrope,system-ui,sans-serif; }
main, footer { max-width:1120px; margin:auto; padding-inline:24px; }
.section { padding-block:96px; border-bottom:1px solid var(--line); }
.hero { min-height:88vh; display:flex; flex-direction:column; justify-content:center; max-width:910px; }
.eyebrow { margin:0 0 18px; color:var(--accent); font:500 12px/1.2 "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.status-dot { display:inline-block; width:8px; height:8px; margin-right:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 14px var(--accent); }
.hero-icon { width:56px; height:56px; display:grid; place-items:center; margin-bottom:24px; border:1px solid #38506a; border-radius:14px; color:var(--accent); font-size:26px; background:var(--surface); }
h1,h2,h3 { margin:0; letter-spacing:-.045em; line-height:1.1; }
h1 { max-width:850px; font-size:clamp(2.7rem,7vw,5.7rem); font-weight:800; }
h1 span { color:var(--accent); }
h2 { font-size:clamp(2rem,4vw,3.5rem); font-weight:700; }
h3 { font-size:1.22rem; font-weight:700; }
.lede { max-width:650px; margin:28px 0 34px; color:var(--muted); font-size:1.15rem; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; border:1px solid transparent; border-radius:8px; padding:0 20px; font:700 14px Manrope,sans-serif; text-decoration:none; cursor:pointer; transition:transform .15s,background .15s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--accent); color:#07140e; }
.section-heading > p:not(.eyebrow) { max-width:570px; margin:20px 0 0; color:var(--muted); }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding:0; margin:42px 0 0; list-style:none; }
.step-card { min-height:235px; padding:26px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.step-number { display:block; margin-bottom:54px; color:var(--accent); font:500 13px "DM Mono",monospace; }
.step-card p { margin:14px 0 0; color:var(--muted); }
code, .records { font-family:"DM Mono",monospace; }
code { color:#c8d6ea; font-size:.88em; }
.contact-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:72px; }
form { display:flex; flex-direction:column; gap:20px; padding:28px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
label { display:grid; gap:8px; color:#dbe4f0; font-size:.88rem; font-weight:600; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
input,textarea { width:100%; border:1px solid #34435c; border-radius:7px; padding:11px 12px; background:#0b111c; color:var(--ink); font:16px Manrope,sans-serif; outline:none; }
textarea { resize:vertical; }
input:focus,textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px #82f4b322; }
.form-status { min-height:1.6em; margin:0; color:var(--muted); font-size:.9rem; }
.form-status.success { color:var(--accent); }.form-status.error { color:#ff9b9b; }
.button:disabled { opacity:.65; cursor:wait; transform:none; }
.technical-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; margin-top:36px; color:var(--muted); }
.technical-grid p { margin:0; max-width:490px; }
.records { margin:0; border-top:1px solid var(--line); }
.records div { display:grid; grid-template-columns:90px 1fr; padding:13px 0; border-bottom:1px solid var(--line); }
dt { color:var(--accent); } dd { margin:0; }
footer { display:flex; justify-content:space-between; gap:30px; padding-block:30px 45px; color:var(--muted); font-size:.82rem; }
footer p { margin:0; } a { color:var(--accent); }
@media (max-width: 768px) { .section { padding-block:64px; }.hero { min-height:78vh; }.steps,.contact-section,.technical-grid { grid-template-columns:1fr; gap:18px; }.contact-section { gap:36px; }.step-card { min-height:auto; }.step-number { margin-bottom:36px; }footer { display:block; }footer p + p { margin-top:12px; } }
@media (max-width: 480px) { main,footer { padding-inline:18px; }.field-row { grid-template-columns:1fr; }.section { padding-block:52px; } form { padding:20px; } }
