:root {
  --bg: #080d18;
  --surface: #101a2c;
  --surface-2: #131f33;
  --border: rgba(148,163,184,.14);
  --text: #f1f5ff;
  --muted: #94a3b8;
  --blue: #3b82f6;
  --cyan: #67e8f9;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: min(1160px, calc(100% - 40px)); margin: auto; }
.ambient { position: absolute; z-index: -1; pointer-events: none; filter: blur(75px); opacity: .22; border-radius: 50%; }
.ambient-one { width: 430px; height: 430px; top: 20px; right: -120px; background: #2563eb; }
.ambient-two { width: 330px; height: 330px; top: 520px; left: -180px; background: #0e7490; }

.header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(8,13,24,.84);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--border);
}
.header-inner { min-height: 76px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.logo { font-size: 20px; font-weight: 900; letter-spacing: 1px; white-space: nowrap; }
.logo span { color: #60a5fa; font-size: 11px; letter-spacing: 1.6px; }
.nav { display: flex; gap: 26px; }
.nav a { font-size: 13px; color: #b4c0d3; transition: color .2s; }
.nav a:hover, .footer a:hover { color: #60a5fa; }
.menu-toggle { display: none; color: white; background: transparent; border: 0; font-size: 26px; }

.hero { min-height: 690px; display: grid; grid-template-columns: 1.12fr 1fr; align-items: center; gap: 45px; padding-top: 70px; padding-bottom: 95px; }
.eyebrow, .section-kicker {
  display: inline-flex; align-items: center; gap: 9px;
  color: #93c5fd; font-size: 12px; font-weight: 700; letter-spacing: 1.3px;
  text-transform: uppercase;
}
.online-dot { width: 8px; height: 8px; background: #34d399; border-radius: 50%; box-shadow: 0 0 15px #34d399; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(43px, 5.5vw, 76px); line-height: 1.12; letter-spacing: -3px; margin: 25px 0; }
.gradient-text { background: linear-gradient(100deg, #60a5fa, #67e8f9); background-clip: text; -webkit-background-clip: text; color: transparent; }
.hero-description { max-width: 550px; color: var(--muted); font-size: 17px; line-height: 1.9; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 40px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  padding: 14px 22px; border-radius: 12px; font-weight: 700;
  border: 1px solid transparent; transition: transform .2s, background .2s;
}
.btn:hover { transform: translateY(-2px); }
.btn.primary { background: linear-gradient(120deg, #2563eb, #3b82f6); color: white; box-shadow: 0 10px 35px rgba(37,99,235,.23); }
.btn.secondary { background: rgba(255,255,255,.035); color: white; border-color: var(--border); }
.hero-stats { display: flex; flex-wrap: wrap; gap: 40px; }
.hero-stats div { display: flex; flex-direction: column; }
.hero-stats strong { font-size: 22px; }
.hero-stats span { color: var(--muted); font-size: 12px; }

.hero-visual { position: relative; min-width: 0; }
.terminal {
  overflow: hidden; border-radius: 19px; background: #0a1220;
  border: 1px solid #293954; box-shadow: 0 35px 100px rgba(0,0,0,.4), 0 0 65px rgba(37,99,235,.1);
  transform: rotate(1deg);
}
.terminal-top { height: 49px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; background: #142137; color: #72849f; font-size: 12px; }
.terminal-dots { display: flex; gap: 6px; }
.terminal-dots i { width: 10px; height: 10px; border-radius: 50%; background: #fb7185; }
.terminal-dots i:nth-child(2) { background: #fbbf24; }
.terminal-dots i:nth-child(3) { background: #34d399; }
.terminal-body { padding: 25px; font: 13px/1.65 "Consolas", "Courier New", monospace; }
.terminal-body p { margin: 0 0 5px; overflow-wrap: anywhere; }
.prompt { color: #60a5fa; margin-right: 9px; }
.terminal-output { color: #94a3b8; }
.terminal-output.indent { padding-left: 22px; }
.terminal-success { color: #34d399; }
.cursor { color: #60a5fa; }
.floating-label { position: absolute; right: -13px; bottom: -24px; padding: 12px 16px; background: #1d3150; border: 1px solid #37547d; border-radius: 10px; font-size: 12px; font-weight: 700; box-shadow: 0 15px 40px rgba(0,0,0,.3); }

.section { padding-top: 90px; padding-bottom: 35px; }
.section-heading { margin-bottom: 36px; }
.section-heading h2 { font-size: clamp(32px, 4.5vw, 50px); line-height: 1.2; letter-spacing: -1.6px; margin: 14px 0; }
.section-heading p { color: var(--muted); max-width: 580px; }
.muted { color: #8291a9; }
.glass-card {
  border: 1px solid var(--border);
  background: linear-gradient(145deg, rgba(23,36,57,.85), rgba(12,20,34,.9));
  border-radius: 20px; padding: 28px;
  transition: transform .25s, border-color .25s;
}
.glass-card:hover { transform: translateY(-4px); border-color: rgba(96,165,250,.36); }
.glass-card h3 { font-size: 21px; line-height: 1.4; }
.glass-card p { color: var(--muted); font-size: 14px; line-height: 1.85; }
.about-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 18px; }
.about-main { padding: 35px; }
.about-main h3 { font-size: 27px; max-width: 530px; }
.about-side { display: grid; gap: 18px; }
.card-icon { display: inline-block; color: #60a5fa; font-size: 30px; margin-bottom: 12px; }

.projects-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.project-card { display: flex; flex-direction: column; min-width: 0; }
.project-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.project-category { font-size: 11px; color: #93c5fd; text-transform: uppercase; letter-spacing: 1px; }
.project-arrow { color: #7da8e9; font-size: 21px; }
.project-art {
  height: 180px; display: flex; align-items: center; justify-content: center; flex-direction: column;
  background: radial-gradient(circle at center, #183a78, #0a1427 70%);
  border: 1px solid #29416b; border-radius: 14px; margin: 22px 0;
}
.project-art-logo { font-size: 85px; font-weight: 900; line-height: 1; letter-spacing: -8px; }
.project-art-logo span { color: #60a5fa; font-size: 28px; vertical-align: middle; }
.project-art-caption { color: #93c5fd; font-size: 10px; letter-spacing: 3px; }
.project-symbol { display: grid; place-items: center; height: 180px; margin: 22px 0; border-radius: 14px; background: radial-gradient(circle, #193458, #0a1427); font-size: 65px; }
.project-card h3 { margin-bottom: 8px; }
.project-card p { flex: 1; }
.tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.tags span { padding: 5px 9px; background: rgba(59,130,246,.09); color: #93c5fd; border: 1px solid rgba(59,130,246,.16); border-radius: 7px; font-size: 11px; }
.text-link { display: inline-block; color: #93c5fd; font-size: 13px; margin-top: 20px; font-weight: 700; }

.services-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.service-card { min-height: 250px; display: flex; flex-direction: column; }
.service-icon { font-size: 34px; margin-bottom: 12px; }
.service-card p { flex: 1; }
.service-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; border-top: 1px solid var(--border); padding-top: 20px; }
.service-bottom strong { font-size: 18px; }
.service-bottom a { color: #93c5fd; font-size: 13px; }

.stack-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.stack-item { display: flex; align-items: center; gap: 12px; padding: 18px; background: #101a2c; border: 1px solid var(--border); border-radius: 13px; font-weight: 700; font-size: 14px; }
.stack-item span { font-size: 25px; }

.contact-shell { padding: 48px; border: 1px solid rgba(96,165,250,.22); border-radius: 24px; background: radial-gradient(circle at 90% 10%, rgba(37,99,235,.16), transparent 55%), #101a2c; }
.contact-form { display: grid; gap: 13px; max-width: 650px; }
.field { width: 100%; padding: 16px 18px; background: #0b1423; border: 1px solid #293a54; border-radius: 11px; color: white; outline: none; resize: vertical; }
.field:focus { border-color: #60a5fa; box-shadow: 0 0 0 3px rgba(59,130,246,.1); }
.field::placeholder { color: #7c8ba3; }
.contact-form .btn { justify-self: start; }
.form-status { min-height: 22px; color: #a5f3c6; font-size: 13px; }

.footer { border-top: 1px solid var(--border); margin-top: 90px; }
.footer-inner { min-height: 110px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.footer-inner > span { color: var(--muted); font-size: 12px; }
.footer-inner > a:last-child { color: #93c5fd; font-size: 13px; }

@media (max-width: 960px) {
  .hero { grid-template-columns: 1fr; gap: 55px; min-height: auto; }
  .hero-visual { max-width: 600px; width: 100%; margin: auto; }
  .projects-grid { grid-template-columns: repeat(2, 1fr); }
  .project-card.featured { grid-column: span 2; }
  .stack-grid { grid-template-columns: repeat(2, 1fr); }
  .nav { gap: 14px; }
}
@media (max-width: 700px) {
  .container { width: min(100% - 30px, 1160px); }
  .header-inner { min-height: 66px; }
  .logo { font-size: 18px; }
  .logo span { font-size: 9px; }
  .menu-toggle { display: block; }
  .nav { display: none; position: absolute; top: 66px; left: 0; right: 0; background: #0d1626; padding: 22px; border-bottom: 1px solid var(--border); flex-direction: column; gap: 18px; }
  .nav.open { display: flex; }
  .nav a { font-size: 15px; }
  .hero { padding-top: 60px; padding-bottom: 45px; }
  h1 { font-size: clamp(40px, 10vw, 58px); letter-spacing: -2px; }
  .hero-description { font-size: 15px; }
  .hero-stats { gap: 25px; }
  .terminal-body { font-size: 11px; padding: 18px; }
  .floating-label { right: 0; }
  .section { padding-top: 65px; }
  .about-grid, .services-grid, .projects-grid { grid-template-columns: 1fr; }
  .project-card.featured { grid-column: auto; }
  .about-main { padding: 25px; }
  .about-main h3 { font-size: 22px; }
  .glass-card { padding: 22px; }
  .stack-grid { grid-template-columns: repeat(2, 1fr); }
  .stack-item { padding: 13px; font-size: 12px; gap: 7px; }
  .stack-item span { font-size: 20px; }
  .contact-shell { padding: 25px 18px; }
  .footer-inner { padding: 25px 0; min-height: auto; flex-direction: column; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* VAFIN — контакты */
.contacts-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.contact-card {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
  padding: 24px;
  border: 1px solid rgba(148,163,184,.16);
  border-radius: 16px;
  background: rgba(18,32,54,.9);
  transition: transform .2s, border-color .2s, background .2s;
}

.contact-card:hover {
  transform: translateY(-4px);
  border-color: rgba(96,165,250,.5);
  background: #1b3050;
}

.contact-icon {
  display: grid;
  place-items: center;
  flex: 0 0 50px;
  height: 50px;
  border-radius: 13px;
  background: rgba(59,130,246,.12);
  color: #93c5fd;
  font-size: 23px;
  font-weight: 800;
}

.contact-info {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.contact-info strong {
  font-size: 17px;
  color: #f1f5ff;
}

.contact-info small {
  color: #94a3b8;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.contact-arrow {
  color: #60a5fa;
  font-size: 22px;
}

@media (max-width: 700px) {
  .contacts-grid {
    grid-template-columns: 1fr;
  }

  .contact-card {
    padding: 18px;
  }
}

/* VAFIN calculator popup */
.calculator-banner{margin-top:70px;padding:30px;border:1px solid rgba(96,165,250,.3);border-radius:20px;background:linear-gradient(115deg,#122543,#0d1727);display:flex;align-items:center;justify-content:space-between;gap:22px}
.calculator-banner h2{font-size:clamp(22px,3vw,32px);margin:9px 0}
.calculator-banner p{color:#94a3b8;margin:0}
.calculator-eyebrow{color:#86efac;font-size:11px;font-weight:800;letter-spacing:1.2px}
.calc-overlay[hidden]{display:none!important}
.calc-overlay{position:fixed;inset:0;z-index:1000;background:rgba(2,6,16,.83);display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(8px)}
body.calc-open{overflow:hidden}
.calc-dialog{width:min(540px,100%);max-height:min(90dvh,850px);overflow:auto;background:#101a2c;color:#f1f5ff;border:1px solid #345078;border-radius:20px;padding:26px;box-shadow:0 30px 90px #0009}
.calc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.calc-head h2{font-size:26px;margin:7px 0 0}
.calc-close{background:#1e304c;color:white;border:1px solid #344663;border-radius:10px;width:38px;height:38px;font-size:25px;flex-shrink:0}
.calc-fields{display:grid;gap:9px}
.calc-fields>label,.calc-extras legend{font-size:13px;font-weight:700;color:#bfdbfe}
.calc-input{width:100%;background:#0a1423;color:white;border:1px solid #344663;border-radius:10px;padding:12px;margin-bottom:8px}
.calc-extras{border:1px solid #344663;border-radius:12px;padding:13px;display:grid;gap:10px;margin:4px 0 0}
.calc-extras label{font-size:13px;color:#d6e1f2;display:flex;gap:9px;align-items:center}
.calc-extras input{accent-color:#3b82f6;width:16px;height:16px}
.calc-summary{background:#0a1423;border:1px solid #2c405e;border-radius:12px;padding:17px;margin:20px 0 14px}
.calc-line{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:14px}
.calc-line span{color:#a5b4cc}
.calc-line strong{color:#86efac}
.calc-total{border-top:1px solid #2c405e;padding-top:13px;align-items:center;font-weight:800}
.calc-total strong{font-size:25px}
.calc-summary small{color:#94a3b8;font-size:11px;line-height:1.6;display:block}
.calc-submit{display:flex;width:100%;text-align:center}
.calc-copy{display:block;margin:10px auto 0;border:0;background:transparent;color:#93c5fd;padding:8px;font-size:12px}
@media(max-width:700px){.calculator-banner{flex-direction:column;align-items:stretch;padding:22px}.calc-dialog{padding:18px}.calc-head h2{font-size:22px}}

/* Карточки услуг без кнопок */
.service-card .service-bottom {
  justify-content: flex-start;
}

.service-card .service-bottom strong {
  color: #f1f5ff;
  font-size: 20px;
}

/* VAFIN — простой калькулятор для клиентов */

.calc-overlay[hidden] {
  display: none !important;
}

.calc-modal-open {
  overflow: hidden;
}

.calc-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(2, 6, 15, .82);
  backdrop-filter: blur(8px);
}

.calc-dialog {
  width: min(650px, 100%);
  max-height: min(90vh, 900px);
  overflow-y: auto;
  background: #101a2c;
  color: #f1f5ff;
  border: 1px solid #304565;
  border-radius: 22px;
  box-shadow: 0 30px 100px rgba(0,0,0,.55);
}

.calc-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 25px;
  border-bottom: 1px solid rgba(148,163,184,.14);
}

.calc-head h2 {
  margin: 8px 0;
  font-size: 26px;
}

.calc-subtitle,
.calc-hint {
  color: #94a3b8;
  font-size: 13px;
  line-height: 1.7;
}

.calc-close {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: #1b2b44;
  color: white;
  border: 0;
  border-radius: 9px;
  font-size: 25px;
  cursor: pointer;
}

.calc-content {
  display: grid;
  gap: 25px;
  padding: 25px;
}

.calc-field h3 {
  font-size: 16px;
  margin-bottom: 13px;
}

.calc-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.calc-choice {
  padding: 15px;
  border: 1px solid #30415b;
  border-radius: 11px;
  background: #142137;
  color: #cbd5e1;
  text-align: left;
  cursor: pointer;
  transition: .2s;
}

.calc-choice:hover {
  border-color: #60a5fa;
}

.calc-choice.selected {
  background: rgba(37,99,235,.18);
  border-color: #60a5fa;
  color: white;
}

.calc-price-box {
  padding: 20px;
  border-radius: 14px;
  background: #0b1423;
  border: 1px solid #30415b;
}

.calc-price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-bottom: 12px;
}

.calc-price-row span,
.calc-price-row del {
  color: #94a3b8;
  font-size: 14px;
}

.calc-final-price {
  color: #34d399;
  font-size: 25px;
}

.calc-price-box p {
  margin: 10px 0 0;
  color: #94a3b8;
  font-size: 12px;
}

.calc-send {
  width: 100%;
}

@media (max-width: 600px) {
  .calc-overlay {
    padding: 8px;
  }

  .calc-dialog {
    max-height: 95dvh;
  }

  .calc-head,
  .calc-content {
    padding: 18px;
  }

  .calc-options {
    grid-template-columns: 1fr;
  }

  .calc-head h2 {
    font-size: 21px;
  }
}


/* VAFIN Project Builder v3 */
.calc-overlay[hidden]{display:none!important}
.calc-modal-open{overflow:hidden}
.calc-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(3,8,20,.84);backdrop-filter:blur(10px)}
.vafin-wizard{box-sizing:border-box;width:min(620px,100%);max-height:min(92dvh,850px);overflow-y:auto;background:#0b1425;color:#f8fafc;border:1px solid #2b4261;border-radius:24px;box-shadow:0 32px 100px rgba(0,0,0,.6);padding:26px;font-family:inherit}
.vafin-wizard *{box-sizing:border-box}
.vw-top,.vw-brand,.vw-progress-label,.vw-footer,.vw-choice,.vw-choice-main,.vw-summary-row,.vw-discount,.vw-price{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vw-brand{justify-content:flex-start}.vw-brand strong{display:block;font-size:14px;letter-spacing:.03em}.vw-brand small{display:block;color:#9fb0ca;font-size:11px;margin-top:4px}
.vw-brand-icon{display:grid;place-items:center;background:#1a3558;color:#93c5fd;border-radius:12px;width:42px;height:42px;font-size:25px}
.vw-close{width:38px;height:38px;border:1px solid #344860;background:#15243b;color:#e2e8f0;border-radius:11px;font-size:25px;cursor:pointer}
.vw-progress-label{margin-top:24px;font-size:12px;color:#a3b5cd}.vw-offer{color:#6ee7b7;font-weight:700}
.vw-progress{height:5px;border-radius:20px;background:#29364c;overflow:hidden;margin-top:10px}.vw-progress span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#60a5fa);transition:width .2s ease}
.vw-main{min-height:320px;padding:28px 0 18px}.vw-title{font-size:clamp(23px,4vw,30px);line-height:1.2;margin:0 0 10px;color:#fff}.vw-subtitle{color:#a3b5cd;font-size:14px;line-height:1.65;margin:0 0 24px}
.vw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.vw-list{display:grid;gap:10px}
.vw-choice{width:100%;min-height:74px;text-align:left;padding:15px;border:1px solid #33465f;border-radius:13px;background:#15243b;color:#f8fafc;cursor:pointer;transition:border-color .18s,background .18s;font:inherit}
.vw-grid .vw-choice{min-height:95px;align-items:flex-start}.vw-choice:hover{border-color:#60a5fa}.vw-choice.is-selected{background:#193a63;border-color:#60a5fa}.vw-choice-main{justify-content:flex-start;align-items:center}.vw-grid .vw-choice-main{flex-direction:column;align-items:flex-start;gap:10px}.vw-choice-icon{font-size:21px;color:#93c5fd}.vw-choice-label{font-size:14px;font-weight:600}.vw-tick{color:#93c5fd;font-size:19px}.vw-wide{grid-column:1/-1}.vw-wide .vw-choice-main{flex-direction:row;align-items:center}
.vw-textarea{display:block;width:100%;resize:vertical;min-height:155px;padding:16px;border:1px solid #33465f;border-radius:13px;background:#15243b;color:#f8fafc;font:inherit;line-height:1.6}.vw-textarea:focus{outline:2px solid #60a5fa;outline-offset:1px}.vw-textarea::placeholder{color:#8598b3}
.vw-hint{color:#9fb0ca;font-size:12px;line-height:1.6;margin:12px 0}.vw-summary{background:#14243b;border:1px solid #33465f;border-radius:15px;padding:18px}.vw-summary-row{padding:10px 0;font-size:13px}.vw-summary-row span,.vw-summary-description span{color:#9fb0ca}.vw-summary-row strong{text-align:right}.vw-summary-description{border-top:1px solid #2b3c55;padding:14px 0;font-size:13px}.vw-summary-description p{overflow-wrap:anywhere;white-space:pre-wrap}.vw-discount{border-top:1px solid #2b3c55;padding:16px 0;color:#f8fafc;font-size:14px}.vw-discount strong{color:#6ee7b7;font-size:22px}.vw-price{border-top:1px solid #2b3c55;padding-top:15px}.vw-price small{display:block;color:#9fb0ca;font-size:12px}.vw-price del{display:block;color:#9fb0ca;font-size:13px;margin-top:4px}.vw-price>strong{font-size:25px;color:#fff}.vw-status{color:#6ee7b7;font-size:13px;line-height:1.6}.vw-telegram{display:inline-block;color:#93c5fd;text-decoration:underline;text-underline-offset:4px;font-size:14px;margin-top:5px}
.vw-footer{border-top:1px solid #29364c;padding-top:18px}.vw-back,.vw-next{font:inherit;border-radius:11px;min-height:44px;padding:11px 17px;cursor:pointer}.vw-back{background:transparent;color:#d0d9e7;border:1px solid #33465f}.vw-back:disabled{opacity:.35;cursor:default}.vw-next{background:#2563eb;color:white;border:1px solid #3b82f6;font-weight:700}.vw-next:hover{background:#1d4ed8}
@media(max-width:540px){.calc-overlay{padding:8px}.vafin-wizard{padding:18px;border-radius:18px;max-height:96dvh}.vw-main{min-height:280px;padding-top:24px}.vw-choice{padding:12px}.vw-grid .vw-choice{min-height:100px}.vw-choice-label{font-size:12px}.vw-brand strong{font-size:12px}.vw-price>strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.vw-progress span,.vw-choice{transition:none}}


/* VAFIN Project Builder v3 */
.calc-overlay[hidden]{display:none!important}
.calc-modal-open{overflow:hidden}
.calc-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(3,8,20,.84);backdrop-filter:blur(10px)}
.vafin-wizard{box-sizing:border-box;width:min(620px,100%);max-height:min(92dvh,850px);overflow-y:auto;background:#0b1425;color:#f8fafc;border:1px solid #2b4261;border-radius:24px;box-shadow:0 32px 100px rgba(0,0,0,.6);padding:26px;font-family:inherit}
.vafin-wizard *{box-sizing:border-box}
.vw-top,.vw-brand,.vw-progress-label,.vw-footer,.vw-choice,.vw-choice-main,.vw-summary-row,.vw-discount,.vw-price{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vw-brand{justify-content:flex-start}.vw-brand strong{display:block;font-size:14px;letter-spacing:.03em}.vw-brand small{display:block;color:#9fb0ca;font-size:11px;margin-top:4px}
.vw-brand-icon{display:grid;place-items:center;background:#1a3558;color:#93c5fd;border-radius:12px;width:42px;height:42px;font-size:25px}
.vw-close{width:38px;height:38px;border:1px solid #344860;background:#15243b;color:#e2e8f0;border-radius:11px;font-size:25px;cursor:pointer}
.vw-progress-label{margin-top:24px;font-size:12px;color:#a3b5cd}.vw-offer{color:#6ee7b7;font-weight:700}
.vw-progress{height:5px;border-radius:20px;background:#29364c;overflow:hidden;margin-top:10px}.vw-progress span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#60a5fa);transition:width .2s ease}
.vw-main{min-height:320px;padding:28px 0 18px}.vw-title{font-size:clamp(23px,4vw,30px);line-height:1.2;margin:0 0 10px;color:#fff}.vw-subtitle{color:#a3b5cd;font-size:14px;line-height:1.65;margin:0 0 24px}
.vw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.vw-list{display:grid;gap:10px}
.vw-choice{width:100%;min-height:74px;text-align:left;padding:15px;border:1px solid #33465f;border-radius:13px;background:#15243b;color:#f8fafc;cursor:pointer;transition:border-color .18s,background .18s;font:inherit}
.vw-grid .vw-choice{min-height:95px;align-items:flex-start}.vw-choice:hover{border-color:#60a5fa}.vw-choice.is-selected{background:#193a63;border-color:#60a5fa}.vw-choice-main{justify-content:flex-start;align-items:center}.vw-grid .vw-choice-main{flex-direction:column;align-items:flex-start;gap:10px}.vw-choice-icon{font-size:21px;color:#93c5fd}.vw-choice-label{font-size:14px;font-weight:600}.vw-tick{color:#93c5fd;font-size:19px}.vw-wide{grid-column:1/-1}.vw-wide .vw-choice-main{flex-direction:row;align-items:center}
.vw-textarea{display:block;width:100%;resize:vertical;min-height:155px;padding:16px;border:1px solid #33465f;border-radius:13px;background:#15243b;color:#f8fafc;font:inherit;line-height:1.6}.vw-textarea:focus{outline:2px solid #60a5fa;outline-offset:1px}.vw-textarea::placeholder{color:#8598b3}
.vw-hint{color:#9fb0ca;font-size:12px;line-height:1.6;margin:12px 0}.vw-summary{background:#14243b;border:1px solid #33465f;border-radius:15px;padding:18px}.vw-summary-row{padding:10px 0;font-size:13px}.vw-summary-row span,.vw-summary-description span{color:#9fb0ca}.vw-summary-row strong{text-align:right}.vw-summary-description{border-top:1px solid #2b3c55;padding:14px 0;font-size:13px}.vw-summary-description p{overflow-wrap:anywhere;white-space:pre-wrap}.vw-discount{border-top:1px solid #2b3c55;padding:16px 0;color:#f8fafc;font-size:14px}.vw-discount strong{color:#6ee7b7;font-size:22px}.vw-price{border-top:1px solid #2b3c55;padding-top:15px}.vw-price small{display:block;color:#9fb0ca;font-size:12px}.vw-price del{display:block;color:#9fb0ca;font-size:13px;margin-top:4px}.vw-price>strong{font-size:25px;color:#fff}.vw-status{color:#6ee7b7;font-size:13px;line-height:1.6}.vw-telegram{display:inline-block;color:#93c5fd;text-decoration:underline;text-underline-offset:4px;font-size:14px;margin-top:5px}
.vw-footer{border-top:1px solid #29364c;padding-top:18px}.vw-back,.vw-next{font:inherit;border-radius:11px;min-height:44px;padding:11px 17px;cursor:pointer}.vw-back{background:transparent;color:#d0d9e7;border:1px solid #33465f}.vw-back:disabled{opacity:.35;cursor:default}.vw-next{background:#2563eb;color:white;border:1px solid #3b82f6;font-weight:700}.vw-next:hover{background:#1d4ed8}
@media(max-width:540px){.calc-overlay{padding:8px}.vafin-wizard{padding:18px;border-radius:18px;max-height:96dvh}.vw-main{min-height:280px;padding-top:24px}.vw-choice{padding:12px}.vw-grid .vw-choice{min-height:100px}.vw-choice-label{font-size:12px}.vw-brand strong{font-size:12px}.vw-price>strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.vw-progress span,.vw-choice{transition:none}}
/* VAFIN wizard contact step */
.vw-contact-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 12px}
.vw-contact-channels .vw-choice{justify-content:center;text-align:center;padding:12px 5px;font-size:13px}
.vw-main input.vw-textarea{display:block;width:100%;box-sizing:border-box;min-height:48px;height:auto}
@media(max-width:420px){.vw-contact-channels{grid-template-columns:1fr}}

/* VAFIN Animations v1 — isolated visual enhancements */
@media (prefers-reduced-motion: no-preference) {
  .hero-content > * { animation: vafin-hero-enter .75s cubic-bezier(.2,.7,.2,1) both; }
  .hero-content > :nth-child(2) { animation-delay: .09s; }
  .hero-content > :nth-child(3) { animation-delay: .17s; }
  .hero-content > :nth-child(4) { animation-delay: .25s; }
  .hero-content > :nth-child(n+5) { animation-delay: .32s; }
  .hero-visual { animation: vafin-hero-enter .9s .18s both; }
  @keyframes vafin-hero-enter { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
  .vafin-motion-ready .vafin-reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1); transition-delay: var(--vafin-delay, 0ms); }
  .vafin-motion-ready .vafin-reveal.vafin-visible { opacity: 1; transform: translateY(0); }
  .glass-card, .contact-card, .stack-item { transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease; }
  .glass-card:hover, .contact-card:hover { box-shadow: 0 14px 36px rgba(0,0,0,.16), 0 0 22px rgba(59,130,246,.09); }
  .btn { transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease; }
  .btn:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(37,99,235,.2); }
  .btn:active { transform: translateY(0); }
  .btn span { display: inline-block; transition: transform .22s ease; }
  .btn:hover span { transform: translate(2px,-2px); }
  .stack-item:hover { transform: translateY(-3px); border-color: rgba(96,165,250,.4); }
  .vafin-glow-card { position: relative; isolation: isolate; }
  .vafin-glow-card::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .3s ease; background: radial-gradient(260px circle at var(--pointer-x,50%) var(--pointer-y,50%), rgba(59,130,246,.12), transparent 70%); z-index: -1; }
  .vafin-glow-card:hover::after { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .vafin-reveal { opacity: 1 !important; transform: none !important; }
  .hero-content > *, .hero-visual { animation: none !important; }
}

/* VAFIN Responsive Fix v1 — safe layout constraints */
html { max-width: 100%; }
body { width: 100%; max-width: 100%; }
main, header, footer, section, .container { min-width: 0; }
img, video, svg, iframe { max-width: 100%; }
img, video { height: auto; }
.hero, .hero-content, .hero-visual, .about-grid, .projects-grid,
.services-grid, .stack-grid, .contacts-grid, .contact-shell,
.glass-card, .project-card, .service-card, .stack-item,
.contact-card, .contact-info, .terminal { min-width: 0; }
.hero { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); }
.about-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.projects-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stack-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hero h1, .section-heading h2, .glass-card h3,
.contact-info, .stack-item, .calculator-banner,
.vw-summary-row, .vw-price { overflow-wrap: anywhere; }
.hero h1 { hyphens: auto; }
.terminal-body { overflow-wrap: anywhere; }
.floating-label { right: 0; max-width: 95%; }
.contact-card .contact-arrow { flex-shrink: 0; }
.contact-info strong, .contact-info small { overflow-wrap: anywhere; }
.calculator-banner > * { min-width: 0; }
.calculator-banner .btn { max-width: 100%; text-align: center; white-space: normal; }
.vafin-wizard { max-width: 100%; overscroll-behavior: contain; }
.vw-top, .vw-brand, .vw-choice-main, .vw-summary-row, .vw-price { min-width: 0; }
.vw-brand > div, .vw-choice-main, .vw-summary-row strong, .vw-price > * { min-width: 0; }
.vw-footer { gap: 8px; }
.vw-back, .vw-next { min-width: 0; white-space: normal; }
.vw-contact-channels { min-width: 0; }
.vw-contact-channels .vw-choice { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 960px) {
  .hero { grid-template-columns: minmax(0, 1fr); }
  .projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stack-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .container { width: min(1160px, calc(100% - 30px)); }
  .hero, .about-grid, .services-grid, .projects-grid { grid-template-columns: minmax(0, 1fr); }
  .hero h1 { font-size: clamp(31px, 9.3vw, 58px); line-height: 1.15; letter-spacing: -1.4px; }
  .hero-visual { width: 100%; }
  .terminal { transform: none; }
  .hero-actions .btn { max-width: 100%; white-space: normal; text-align: center; }
  .stack-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calculator-banner { flex-direction: column; align-items: stretch; }
  .calculator-banner .btn { width: 100%; }
  .calc-overlay { padding: 8px; align-items: center; }
  .vafin-wizard { width: 100%; max-height: calc(100dvh - 16px); overflow-y: auto; padding: 16px; }
  .vw-main { min-height: 0; }
  .vw-summary-row { align-items: flex-start; }
  .vw-summary-row strong { text-align: right; }
  .contact-shell { padding: 22px 16px; }
  .contacts-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  .container { width: calc(100% - 24px); }
  .header-inner { gap: 8px; }
  .logo { font-size: 16px; letter-spacing: .2px; }
  .logo span { font-size: 8px; letter-spacing: .5px; }
  .hero { padding-top: 42px; }
  .hero h1 { font-size: clamp(29px, 9.1vw, 38px); letter-spacing: -1px; }
  .hero-stats { gap: 14px 20px; }
  .terminal-body { font-size: 10px; padding: 13px; }
  .terminal-output.indent { padding-left: 12px; }
  .floating-label { position: static; display: inline-block; margin-top: 12px; }
  .stack-item { padding: 10px; gap: 6px; font-size: 11px; overflow-wrap: anywhere; }
  .stack-item span { flex-shrink: 0; font-size: 18px; }
  .vw-top { align-items: flex-start; }
  .vw-brand { gap: 8px; }
  .vw-brand-icon { flex: 0 0 36px; height: 36px; }
  .vw-progress-label { gap: 8px; flex-wrap: wrap; }
  .vw-footer { align-items: stretch; }
  .vw-back { flex: 0 1 38%; padding: 10px 8px; }
  .vw-next { flex: 1; padding: 10px 8px; }
  .vw-price { align-items: flex-start; gap: 8px; }
  .vw-price > strong { font-size: 20px; text-align: right; }
}
@media (max-width: 360px) {
  .vw-grid { grid-template-columns: minmax(0, 1fr); }
  .vw-grid .vw-choice { min-height: 58px; }
  .vw-grid .vw-choice-main { flex-direction: row; align-items: center; }
  .vw-choice-label { font-size: 13px; }
  .vw-contact-channels { grid-template-columns: minmax(0, 1fr); }
}
@media (max-height: 560px) {
  .calc-overlay { align-items: flex-start; }
  .vafin-wizard { max-height: calc(100dvh - 16px); }
}


/* VAFIN HERO ENHANCEMENT V2 */
.hero { position: relative; isolation: isolate; }
.hero::before {
  content: ""; position: absolute; inset: 2% -3% 3%; z-index: -1;
  pointer-events: none; opacity: .42;
  background-image: linear-gradient(rgba(91,154,255,.075) 1px, transparent 1px), linear-gradient(90deg,rgba(91,154,255,.075) 1px, transparent 1px);
  background-size: 46px 46px;
  -webkit-mask-image: radial-gradient(ellipse at 67% 43%, #000 5%, transparent 72%);
  mask-image: radial-gradient(ellipse at 67% 43%, #000 5%, transparent 72%);
}
.hero-visual::before {
  content: ""; position: absolute; inset: -42px; z-index: -1;
  border-radius: 50%; pointer-events: none;
  background: radial-gradient(ellipse at center,rgba(35,112,255,.20),rgba(53,195,245,.075) 36%,transparent 70%);
  filter: blur(12px);
}
.terminal { position: relative; transition: box-shadow .3s ease, border-color .3s ease; }
.terminal::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: linear-gradient(115deg,transparent 28%,rgba(120,191,255,.055) 48%,transparent 68%);
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .terminal:hover { border-color: rgba(99,177,255,.65); box-shadow: 0 22px 70px rgba(0,0,0,.4),0 0 38px rgba(44,124,255,.16); }
}
@media (prefers-reduced-motion:no-preference) {
  .hero-visual::before { animation: vafin-glow-breathe 7s ease-in-out infinite alternate; }
  @keyframes vafin-glow-breathe { from {opacity:.55;transform:scale(.95)} to {opacity:1;transform:scale(1.06)} }
}
@media (max-width:960px) { .hero::before { inset: 0; opacity: .26; } .hero-visual::before { inset: -12px; } }
@media (max-width:700px) { .hero::before { background-size: 34px 34px; opacity:.20; } .hero-visual::before { inset: 0; filter: blur(8px); } }


/* VAFIN CARDS UPGRADE V1 START */
/* Projects and services: visual-only enhancements; no JS or content changes */
.projects-grid, .services-grid { align-items: stretch; }
.projects-grid > *, .services-grid > * { min-width: 0; }
.project-card, .service-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(102,151,225,.23);
  background: linear-gradient(155deg, rgba(25,42,68,.96), rgba(10,18,33,.97) 75%);
  box-shadow: 0 10px 30px rgba(0,0,0,.13), inset 0 1px rgba(255,255,255,.035);
  transition: transform .3s cubic-bezier(.2,.8,.2,1), border-color .3s ease, box-shadow .3s ease;
}
.project-card::before, .service-card::before {
  content: ''; position: absolute; inset: 0 0 auto; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(96,165,250,.85), rgba(34,211,238,.55), transparent);
  opacity: 0; transition: opacity .3s ease; pointer-events: none;
}
.project-card::after, .service-card::after {
  content: ''; position: absolute; width: 220px; height: 220px; top: -125px; right: -115px;
  border-radius: 50%; background: radial-gradient(circle, rgba(45,126,245,.13), transparent 70%);
  pointer-events: none; z-index: -1;
}
.project-card:hover, .service-card:hover {
  transform: translateY(-6px);
  border-color: rgba(96,165,250,.53);
  box-shadow: 0 22px 52px rgba(0,0,0,.28), 0 0 30px rgba(37,99,235,.08);
}
.project-card:hover::before, .service-card:hover::before { opacity: 1; }
.project-category { font-weight: 750; letter-spacing: 1.35px; }
.project-arrow {
  display: inline-grid; place-items: center; width: 34px; height: 34px;
  border: 1px solid rgba(147,197,253,.22); border-radius: 10px;
  background: rgba(59,130,246,.08);
  transition: transform .25s ease, background .25s ease;
}
.project-card:hover .project-arrow { transform: translate(2px,-2px); background: rgba(59,130,246,.19); }
.project-art, .project-symbol {
  position: relative; overflow: hidden;
  border: 1px solid rgba(100,157,245,.28);
  background: radial-gradient(ellipse at 50% 35%, rgba(38,100,190,.37), rgba(8,18,37,.98) 72%);
  box-shadow: inset 0 1px rgba(255,255,255,.055);
  transition: border-color .3s ease, box-shadow .3s ease;
}
.project-art::before, .project-symbol::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(140,190,255,.055) 1px, transparent 1px), linear-gradient(90deg,rgba(140,190,255,.055) 1px,transparent 1px);
  background-size: 24px 24px;
  -webkit-mask-image: radial-gradient(circle, #000 10%, transparent 80%);
  mask-image: radial-gradient(circle, #000 10%, transparent 80%);
}
.project-art > *, .project-symbol > * { position: relative; }
.project-card:hover .project-art, .project-card:hover .project-symbol {
  border-color: rgba(96,165,250,.52); box-shadow: inset 0 0 30px rgba(59,130,246,.08);
}
.project-card h3, .service-card h3 { letter-spacing: -.35px; }
.project-card .tags span {
  border-radius: 999px; padding: 6px 11px;
  background: rgba(59,130,246,.11); border-color: rgba(96,165,250,.22);
}
.project-card .text-link { transition: color .2s ease; }
.project-card .text-link:hover { color: #dbeafe; }
.service-icon {
  display: inline-grid; place-items: center; align-self: flex-start;
  min-width: 58px; min-height: 58px; padding: 8px;
  border-radius: 17px; background: linear-gradient(145deg, rgba(59,130,246,.18), rgba(59,130,246,.055));
  border: 1px solid rgba(96,165,250,.23);
  box-shadow: inset 0 1px rgba(255,255,255,.04);
}
.service-bottom { margin-top: 20px; border-top-color: rgba(115,154,214,.18); }
.service-card .service-bottom strong { font-weight: 800; }
@media (max-width: 700px) {
  .project-card, .service-card { border-radius: 18px; }
  .project-art, .project-symbol { height: 160px; margin: 16px 0; }
  .project-card:hover, .service-card:hover { transform: none; }
}
@media (hover: none) {
  .project-card:hover, .service-card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .project-card, .service-card, .project-arrow, .project-art, .project-symbol { transition: none !important; }
}
/* VAFIN CARDS UPGRADE V1 END */


/* VAFIN hero heading: keep whole words intact. */
.hero h1,
.hero h1 .gradient-text {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
.hero h1 {
  font-size: clamp(2.4rem, 5vw, 5.3rem);
  line-height: 1.09;
}
@media (max-width: 600px) {
  .hero h1 { font-size: clamp(2.1rem, 8vw, 3.1rem); }
}


/* vafin-about-v3: compact, content-rich about cards */
.vafin-about-main, .vafin-about-side { min-height: 0 !important; height: auto !important; }
.vafin-about-main { display: flex; flex-direction: column; }
.vafin-about-metrics { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin-top: 26px; }
.vafin-about-metrics > div { padding: 15px 13px; border-radius: 13px; background: rgba(70,137,234,.085); border: 1px solid rgba(113,165,245,.16); min-width: 0; }
.vafin-about-metrics strong { display: block; color: #74b9ff; font-size: clamp(15px,1.6vw,22px); line-height: 1.25; white-space: nowrap; }
.vafin-about-metrics span { display: block; color: #a0afc4; font-size: 12px; margin-top: 6px; }
.vafin-about-status { display: flex; align-items: center; gap: 9px; color: #9be5c7; font-size: 13px; margin-top: 19px; }
.vafin-about-dot { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: #5de3ae; box-shadow: 0 0 12px rgba(93,227,174,.4); }
.vafin-about-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 19px; }
.vafin-about-tags span { display: inline-block; border: 1px solid rgba(113,165,245,.2); background: rgba(70,137,234,.08); border-radius: 999px; color: #9ebbe2; padding: 6px 10px; font-size: 12px; }
@media (max-width: 560px) {
 .vafin-about-metrics { gap: 7px; }
 .vafin-about-metrics > div { padding: 11px 8px; }
 .vafin-about-metrics strong { font-size: 15px; }
 .vafin-about-metrics span { font-size: 10px; }
}

/* VAFIN MOBILE FIX V1 — mobile-only overrides; rollback via backup */
@media (max-width: 700px) {
  html, body { max-width: 100%; }
  .container { width: calc(100% - 32px); max-width: 100%; }
  .header, .header-inner { width: 100%; }
  .header-inner { min-height: 68px; }
  .hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 34px; min-height: 0; padding-top: 44px; padding-bottom: 54px; }
  .hero-content, .hero-visual { min-width: 0; width: 100%; }
  .hero h1 { font-size: clamp(32px, 8.4vw, 48px); line-height: 1.13; letter-spacing: -1.3px; overflow-wrap: normal; word-break: normal; hyphens: none; }
  .hero h1 .gradient-text { overflow-wrap: normal; word-break: normal; hyphens: none; }
  .eyebrow { font-size: 10px; line-height: 1.6; letter-spacing: 1px; flex-wrap: wrap; }
  .hero-description { font-size: 15px; line-height: 1.75; }
  .hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 28px; }
  .hero-actions .btn { min-height: 48px; padding: 12px 17px; font-size: 14px; }
  .hero-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
  .hero-stats > * { min-width: 0; }
  .hero-stats strong { font-size: clamp(15px, 4.4vw, 20px); line-height: 1.25; overflow-wrap: normal; word-break: normal; hyphens: none; }
  .hero-stats span { font-size: 12px; line-height: 1.5; }
  .hero-visual::before { inset: 0; }
  .terminal { max-width: 100%; transform: none; }
  .terminal-body { padding: 17px; font-size: 11px; }
  .section { padding-top: 58px; padding-bottom: 25px; }
  .about-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .about-main, .about-side > *, .about-grid .glass-card { min-width: 0; }
  .about-main { padding: 22px 20px; }
  .about-main h3 { font-size: clamp(21px, 5.4vw, 27px); line-height: 1.35; }
  .about-side { gap: 14px; }
  .about-side > .glass-card { padding: 22px 20px; }
  .about-side .card-icon { margin-bottom: 8px; }
  .about-grid .glass-card p { line-height: 1.65; }
  .projects-grid, .services-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .project-card, .service-card { padding: 22px 20px; }
  .project-art, .project-symbol { margin: 16px 0; }
}
@media (max-width: 420px) {
  .container { width: calc(100% - 28px); }
  .header-inner { gap: 10px; }
  .logo { font-size: 16px; letter-spacing: .1px; }
  .logo span { font-size: 8px; letter-spacing: .3px; }
  .hero { padding-top: 34px; gap: 30px; }
  .hero h1 { font-size: clamp(30px, 8.2vw, 35px); letter-spacing: -1px; }
  .hero-actions .btn { padding: 11px 15px; }
  .hero-stats { gap: 16px 12px; }
  .about-main { padding: 20px 17px; }
  .about-side > .glass-card { padding: 20px 17px; }
  .project-card, .service-card { padding: 20px 17px; }
}


/* VAFIN MOBILE FIX V2 START */
/* Mobile layout corrections; desktop styles unaffected. */
@media (max-width: 700px) {
  html, body { width: 100%; max-width: 100%; }
  .header { left: 0; right: 0; width: 100%; }
  .header-inner { width: min(1160px, calc(100% - 30px)); max-width: none; margin-inline: auto; }
  .hero, .hero-content, .hero-visual { min-width: 0; }
  .hero-stats { display: grid; grid-template-columns: minmax(0, 1fr); gap: 13px; }
  .hero-stats > div { min-width: 0; }
  .hero-stats strong { font-size: 17px; line-height: 1.3; }
  .hero-stats span { font-size: 12px; }
  .vafin-about-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .vafin-about-metrics > div { min-width: 0; padding: 12px; }
  .vafin-about-metrics strong { white-space: normal; overflow-wrap: normal; font-size: 17px; }
  .vafin-about-metrics span { font-size: 12px; }
  .vafin-about-metrics > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .about-grid .glass-card { height: auto; min-height: 0; }
  .about-side > .glass-card { padding: 20px; }
  .about-side .card-icon { margin-bottom: 5px; }
  .about-side h3 { margin-bottom: 10px; }
}
@media (max-width: 420px) {
  .header-inner { width: calc(100% - 28px); }
  .hero-actions { gap: 10px; }
  .hero-actions .btn { width: 100%; }
  .vafin-about-metrics { grid-template-columns: minmax(0, 1fr); }
  .vafin-about-metrics > div:last-child:nth-child(odd) { grid-column: auto; }
  .vafin-about-metrics > div { padding: 11px 13px; }
}
/* VAFIN MOBILE FIX V2 END */

/* Temporary mobile overflow diagnostic */
@media (max-width: 700px) {
  .ambient,
  .hero::before,
  .hero-visual::before {
    display: none !important;
  }
}

/* VAFIN: mobile hero stats alignment */
@media (max-width: 700px) {
  .hero-stats {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 20px;
  }

  .hero-stats > div {
    width: 100%;
    align-items: center;
    text-align: center;
  }

  .hero-stats strong,
  .hero-stats span {
    display: block;
    width: 100%;
    text-align: center;
  }
}
