/* ==========================================================================
   dagny.sk — единая дизайн-система (v2)
   ========================================================================== */

:root{
  --bg: #12151A;
  --panel: #1B2029;
  --panel-hover: #212833;
  --line: #2A3038;
  --text: #EDEEF0;
  --text-dim: #8B93A1;
  --brass: #B8935B;
  --verdigris: #4E8C82;
  --green: #4C8C6B;
  --amber: #C9A227;
  --red: #B4483A;

  --f-display: 'Space Grotesk', -apple-system, sans-serif;
  --f-mono: 'IBM Plex Mono', monospace;
  --f-body: 'Inter', -apple-system, sans-serif;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0; background: var(--bg); color: var(--text);
  font-family: var(--f-body); line-height: 1.6; -webkit-font-smoothing: antialiased;
}
a{ color: inherit; }
.hidden{ display:none !important; }
.wrap{ max-width: 1080px; margin: 0 auto; padding: 0 24px; }
img{ max-width:100%; }

/* ===== STATUS BAR ===== */
.statusbar{
  background:#0C0E12; border-bottom:1px solid var(--line);
  font-family: var(--f-display); font-weight:500; font-size:11.5px;
  letter-spacing:.07em; text-transform:uppercase; color: var(--text-dim);
  padding: 7px 0; overflow:hidden; white-space:nowrap;
}
.statusbar .wrap{ display:flex; gap:32px; }
.statusbar .dot{ color: var(--green); }

/* ===== HEADER ===== */
header.top{ border-bottom:1px solid var(--line); padding:18px 0; position:sticky; top:0; background:var(--bg); z-index:10;}
header.top .wrap{
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  row-gap:16px;
  column-gap:28px;
}
@media (max-width:760px){
  header.top .wrap{ display:flex; justify-content:space-between; align-items:center; }
}

.brand{ display:flex; align-items:center; gap:16px; text-decoration:none; grid-column:1; grid-row:1 / span 2; }
.logo-halo{ position:relative; display:inline-flex; align-items:center; justify-content:center; }
.logo-halo::before{
  content:''; position:absolute; inset:-16px;
  background: radial-gradient(circle, rgba(255,255,255,.5) 0%, rgba(255,255,255,.16) 50%, transparent 74%);
  filter: blur(9px); border-radius:50%; z-index:0;
}
.brand img{
  position:relative; z-index:1;
  height:64px; width:64px; object-fit:cover;
  border-radius:50%; border:2px solid var(--brass); padding:2px;
  background: var(--bg);
}
.brand-name{ font-family: var(--f-display); font-size:19px; font-weight:600; letter-spacing:.01em; }

nav.mainnav{ grid-column:2; grid-row:1; justify-self:center; display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
nav.mainnav a{ color: var(--text-dim); text-decoration:none; font-size:14px; }
nav.mainnav a:hover{ color: var(--brass); }

.lang-switch{ grid-column:2; grid-row:2; justify-self:center; display:flex; gap:6px; font-family:var(--f-display); font-size:12px; }
.lang-switch button{
  background:none; border:1px solid var(--line); color:var(--text-dim);
  padding:5px 10px; cursor:pointer; font-family:inherit; letter-spacing:.05em;
}
.lang-switch button.active{ color:var(--bg); background:var(--brass); border-color:var(--brass); }

.header-cta{ grid-column:3; grid-row:1; justify-self:end; }

@media (max-width:760px){
  nav.mainnav, .brand-name, .lang-switch{ display:none; }
}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family: var(--f-display); font-weight:600; font-size:14px;
  padding:12px 22px; text-decoration:none; border:1px solid transparent; cursor:pointer;
}
.btn-primary{ background:var(--brass); color:#12151A; }
.btn-primary:hover{ background:#c9a670; }
.btn-outline{ border-color:var(--line); color:var(--text); background:transparent; }
.btn-outline:hover{ border-color:var(--brass); color:var(--brass); }

/* ===== HERO ===== */
.hero{ position:relative; padding:88px 0 72px; border-bottom:1px solid var(--line); overflow:hidden; }
.scanline{
  position:absolute; left:0; right:0; top:0; height:2px;
  background: linear-gradient(90deg, transparent, var(--verdigris), transparent);
  box-shadow: 0 0 14px 1px var(--verdigris);
  animation: sweep 2.6s ease-in-out .3s 1; opacity:0;
}
@keyframes sweep{ 0%{top:0;opacity:0;} 8%{opacity:1;} 92%{opacity:1;} 100%{top:100%;opacity:0;} }
.eyebrow{
  font-family: var(--f-display); font-weight:500; font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color: var(--brass); margin-bottom:20px; display:flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:''; width:6px; height:6px; background:var(--brass); display:inline-block; }
h1{ font-family: var(--f-display); font-weight:600; font-size:clamp(30px,5vw,48px); line-height:1.1; max-width:720px; margin:0 0 20px; letter-spacing:-.01em; }
.hero p.lead{ font-size:17px; color:var(--text-dim); max-width:560px; margin-bottom:32px; }
.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:48px; }
.stats{ display:flex; gap:48px; flex-wrap:wrap; }
.stat b{ font-family: var(--f-display); font-size:32px; display:block; color:var(--text); }
.stat span{ font-family: var(--f-display); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim); }

/* ===== GENERIC SECTION ===== */
section{ padding:72px 0; border-bottom:1px solid var(--line); }
.section-head{ margin-bottom:36px; max-width:640px; }
.section-head h2{ font-family: var(--f-display); font-size:28px; font-weight:600; }
.about p{ font-size:16px; color:var(--text-dim); max-width:720px; }

/* ===== CARD GRIDS (services / directions) ===== */
.grid4{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:760px){ .grid4{ grid-template-columns:1fr; } }
.card{ background:var(--panel); padding:30px 26px; transition:background .15s ease; }
.card:hover{ background:var(--panel-hover); }
.card h3{ font-family: var(--f-display); font-size:19px; font-weight:600; margin-bottom:10px; }
.card p{ font-size:14px; color:var(--text-dim); margin:0; }
.card.linked{ text-decoration:none; color:var(--text); display:block; }
.card .go{ margin-top:14px; font-family:var(--f-display); font-size:13px; color:var(--brass); }

/* ===== WORKFLOW ===== */
.workflow{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
@media (max-width:760px){ .workflow{ grid-template-columns:1fr; } }
.step-num{ font-family: var(--f-display); font-size:13px; color:var(--brass); letter-spacing:.1em; margin-bottom:12px; }
.workflow h3{ font-family: var(--f-display); font-size:18px; margin-bottom:8px; }
.workflow p{ font-size:14px; color:var(--text-dim); }

/* ===== GUIDE TIPS ===== */
.tips{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); }
.tip{ background:var(--panel); padding:20px 24px; display:flex; gap:14px; align-items:flex-start; font-size:14.5px; color:var(--text-dim); }
.tip .i{ color:var(--amber); font-family:var(--f-display); font-weight:600; }

/* ===== CONTACT / FORM ===== */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
@media (max-width:760px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-info h2{ font-family:var(--f-display); font-size:26px; margin-bottom:14px; }
.contact-info p{ color:var(--text-dim); font-size:15px; }
form#lead-form{ background:var(--panel); border:1px solid var(--line); padding:32px; }
form#lead-form h3{ font-family:var(--f-display); font-size:19px; margin-bottom:6px; }
form#lead-form .sub{ font-size:13.5px; color:var(--text-dim); margin-bottom:24px; }
.field{ margin-bottom:16px; }
.field label{ display:block; font-family:var(--f-display); font-size:12px; letter-spacing:.05em; color:var(--text-dim); margin-bottom:6px; }
.field input, .field textarea{
  width:100%; background:#0C0E12; border:1px solid var(--line); color:var(--text);
  padding:11px 13px; font-family:var(--f-body); font-size:14px;
}
.field textarea{ min-height:96px; resize:vertical; }
.field input:focus, .field textarea:focus{ outline:none; border-color:var(--brass); }
.alert{ padding:16px 18px; border:1px solid var(--green); background:rgba(76,140,107,.08); color:var(--green); font-size:14px; }
.alert.error{ border-color:var(--red); background:rgba(180,72,58,.08); color:#E2A392; }

footer{ padding:30px 0 50px; font-family:var(--f-display); font-weight:500; letter-spacing:.04em; font-size:12px; color:var(--text-dim); }
