/* ============================================================
   ALEXANDRIA — styles.css
   ============================================================ */
* {
  margin:0;
  padding:0;
  box-sizing:border-box;
}@font-face {
  font-family:"Unbounded";
  src:url("fonts/Unbounded-Variable.ttf") format("truetype");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}:root {
  --color-bg:#050505;
  --color-text:#ffffff;
  --color-muted:#8a8a8a;
  --color-accent:#c6ff00;
  --line:rgba(255,255,255,.07);
  --container:1300px;
}html {
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}section[id] {
  scroll-margin-top:84px;
}body {
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--color-bg);
  color:var(--color-text);
  line-height:1.55;
  overflow-x:hidden;
}a {
  text-decoration:none;
  color:inherit;
}img {
  display:block;
  max-width:100%;
}body.no-scroll {
  overflow:hidden;
}/* выделение текста брендовым цветом */
::selection {
  background:var(--color-accent);
  color:#000;
}::-moz-selection {
  background:var(--color-accent);
  color:#000;
}.container {
  max-width:var(--container);
  margin:0 auto;
  padding:0 clamp(18px,4vw,40px);
}/* общий заголовок секции */
.section-title {
  font-family:"Unbounded",sans-serif;
  font-weight:800;
  text-transform:uppercase;
  font-size:clamp(34px,6vw,64px);
  line-height:1.02;
  letter-spacing:-.01em;
  margin-bottom:16px;
}.section-title span {
  color:var(--color-accent);
}.section-sub {
  color:var(--color-muted);
  font-size:clamp(15px,1.6vw,17px);
  margin-bottom:clamp(40px,5vw,60px);
}/* ============ НАВИГАЦИЯ ============ */
.nav {
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  background:rgba(5,5,5,.35);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:.3s;
  border-bottom:1px solid transparent;
}.nav--scrolled {
  background:rgba(5,5,5,.78);
  border-color:var(--line);
}.nav__inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:66px;
}.nav__logo {
  font-family:"Unbounded",sans-serif;
  font-weight:800;
  letter-spacing:2px;
  font-size:18px;
}.nav__menu {
  display:flex;
  gap:30px;
  font-family:"Unbounded",sans-serif;
}.nav__link {
  position:relative;
  color:var(--color-muted);
  font-size:13px;
  letter-spacing:.5px;
  transition:color .3s;
}.nav__link:hover {
  color:var(--color-accent);
}.nav__link::after {
  content:"";
  position:absolute;
  left:0;
  bottom:-5px;
  width:0;
  height:1px;
  background:var(--color-accent);
  transition:width .3s;
}.nav__link:hover::after {
  width:100%;
}.burger {
  display:none;
  width:30px;
  height:22px;
  position:relative;
  background:none;
  border:none;
  cursor:pointer;
}.burger span {
  position:absolute;
  left:0;
  width:100%;
  height:2px;
  background:#fff;
  transition:.3s;
}.burger span:nth-child(1) {
  top:0;
}.burger span:nth-child(2) {
  top:10px;
}.burger span:nth-child(3) {
  bottom:0;
}.burger.active span:nth-child(1) {
  transform:rotate(45deg);
  top:10px;
}.burger.active span:nth-child(2) {
  opacity:0;
}.burger.active span:nth-child(3) {
  transform:rotate(-45deg);
  bottom:10px;
}.mobile-menu {
  position:absolute;
  top:66px;
  left:0;
  width:100%;
  background:rgba(5,5,5,.97);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  padding:14px clamp(18px,5vw,40px) 26px;
  display:flex;
  flex-direction:column;
  font-family:"Unbounded",sans-serif;
  transform:translateY(-130%);
  opacity:0;
  transition:.35s ease;
  pointer-events:none;
}.mobile-menu.active {
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}.mobile-menu a {
  padding:16px 0;
  font-size:16px;
  border-bottom:1px solid var(--line);
  transition:color .3s;
}.mobile-menu a:hover {
  color:var(--color-accent);
}/* ============ ГЛАВНАЯ ============ */
.hero {
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:120px 0 90px;
}.hero__bg {
  position:absolute;
  inset:0;
  z-index:0;
  background:radial-gradient(65% 85% at 84% 38%,rgba(170,220,0,.20),rgba(120,160,0,.05) 45%,transparent 62%),linear-gradient(115deg,#070808,#050505 65%);
}.hero__grid {
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:clamp(34px,4vw,46px) clamp(34px,4vw,46px);
  mask-image:radial-gradient(120% 80% at 70% 30%,#000 30%,transparent 85%);
  -webkit-mask-image:radial-gradient(120% 80% at 70% 30%,#000 30%,transparent 85%);
}.hero__inner {
  position:relative;
  z-index:2;
  width:100%;
  max-width:900px;
  margin:0;
  padding-left:clamp(20px,6vw,120px);
  padding-right:24px;
}.hero__title {
  font-family:"Unbounded",sans-serif;
  font-weight:800;
  line-height:.9;
  letter-spacing:-.01em;
  font-size:clamp(42px,11vw,96px);
  text-transform:uppercase;
}.hero__line {
  display:block;
}.hero__line--gray {
  color:#5a5a5a;
}.hero__line--accent {
  color:var(--color-accent);
}.hero__description {
  margin-top:clamp(20px,3vw,30px);
  color:var(--color-muted);
  font-size:clamp(16px,1.7vw,19px);
  max-width:46ch;
}.btn-primary {
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:clamp(26px,3vw,36px);
  padding:16px 30px;
  border-radius:40px;
  background:#fff;
  color:#000;
  font-family:"Unbounded",sans-serif;
  font-weight:700;
  font-size:13px;
  letter-spacing:.5px;
  transition:.35s;
}.btn-primary .ar {
  transition:transform .35s;
}.btn-primary:hover {
  background:var(--color-accent);
}.btn-primary:hover .ar {
  transform:translateX(5px);
}.arrow-down {
  position:absolute;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  z-index:2;
  width:30px;
  height:40px;
  display:flex;
  flex-direction:column;
  align-items:center;
}.arrow-down span {
  width:22px;
  height:22px;
  border-bottom:4px solid var(--color-accent);
  border-right:4px solid var(--color-accent);
  transform:rotate(45deg);
  margin:-7px 0;
  animation:arr 2s infinite;
}.arrow-down span:nth-child(2) {
  animation-delay:-.2s;
}.arrow-down span:nth-child(3) {
  animation-delay:-.4s;
}
@keyframes arr{0% {
  opacity:0;
  transform:rotate(45deg) translate(-12px,-12px);
}50% {
  opacity:1;
}100% {
  opacity:0;
  transform:rotate(45deg) translate(12px,12px);
}}/* ============ УСЛУГИ ============ */
.ecosystem {
  padding:clamp(80px,12vw,140px) 0;
}.ecosystem__grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(16px,2vw,24px);
}.eco-card {
  position:relative;
  padding:clamp(24px,3vw,32px);
  border-radius:20px;
  background:rgba(255,255,255,.02);
  border:1px solid var(--line);
  overflow:hidden;
  cursor:pointer;
  transition:.35s ease;
}.eco-card::before {
  content:"";
  position:absolute;
  left:0;
  top:24px;
  bottom:24px;
  width:3px;
  border-radius:3px;
  background:var(--color-accent);
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .4s ease;
}.eco-card:hover {
  transform:translateY(-8px);
  border-color:rgba(198,255,0,.35);
  box-shadow:0 20px 40px rgba(0,0,0,.5);
}.eco-card:hover::before,.eco-card.active::before {
  transform:scaleY(1);
}.eco-card__glow {
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  transition:opacity .3s;
  background:radial-gradient(360px circle at var(--x,50%) var(--y,50%),rgba(198,255,0,.14),transparent 60%);
}.eco-card:hover .eco-card__glow {
  opacity:1;
}.eco-card__top {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}.eco-card__icon {
  width:54px;
  height:54px;
  border-radius:14px;
  background:rgba(198,255,0,.07);
  border:1px solid rgba(198,255,0,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}.eco-card__icon svg {
  width:28px;
  height:28px;
  stroke:var(--color-accent);
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}.eco-card__number {
  font-family:"Unbounded",sans-serif;
  font-weight:800;
  font-size:46px;
  color:rgba(255,255,255,.06);
  line-height:1;
}.eco-card:hover .eco-card__number {
  color:rgba(198,255,0,.10);
}.eco-card__title {
  margin-top:24px;
  font-family:"Unbounded",sans-serif;
  font-weight:700;
  font-size:clamp(18px,2vw,21px);
  line-height:1.15;
  min-height:2.3em;
}.eco-card__desc {
  margin-top:12px;
  color:var(--color-muted);
  font-size:15px;
  min-height:3em;
}.eco-card__bottom {
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-family:"Unbounded",sans-serif;
  font-size:11px;
  letter-spacing:1px;
  color:#bdbdbd;
  transition:.3s;
}.eco-card:hover .eco-card__bottom {
  color:#fff;
}.arrow {
  color:var(--color-accent);
  font-size:14px;
  transition:transform .45s ease;
}.eco-card.active .arrow {
  transform:rotate(180deg);
}.eco-card__content {
  max-height:0;
  overflow:hidden;
  opacity:0;
  margin-top:0;
  transition:max-height .5s ease,opacity .45s ease,margin-top .45s ease;
}.eco-card.active .eco-card__content {
  max-height:900px;
  opacity:1;
  margin-top:18px;
}.eco-card__block {
  border:1px solid var(--line);
  border-radius:12px;
  padding:16px 18px;
  margin-bottom:12px;
  background:rgba(255,255,255,.015);
}.eco-card__block strong {
  display:block;
  font-family:"Unbounded",sans-serif;
  font-size:13px;
  color:var(--color-accent);
  margin-bottom:12px;
}.eco-card__block ul {
  list-style:none;
}.eco-card__block ul li {
  position:relative;
  padding-left:20px;
  margin-bottom:9px;
  color:#e3e3e3;
  font-size:14.5px;
}.eco-card__block ul li::before {
  content:"→";
  position:absolute;
  left:0;
  color:var(--color-accent);
}/* ============ ЭТАПЫ (светлая) ============ */
.process {
  background:#fff;
  color:#111;
  padding:clamp(70px,9vw,110px) 0;
}.process__header {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  flex-wrap:wrap;
  margin-bottom:clamp(50px,7vw,80px);
}.process__title {
  font-family:"Unbounded",sans-serif;
  font-weight:800;
  font-size:clamp(34px,5vw,54px);
  position:relative;
}.process__title::after {
  content:"";
  position:absolute;
  left:0;
  bottom:-12px;
  width:60%;
  height:6px;
  border-radius:10px;
  background:var(--color-accent);
}.process__subtitle {
  color:#666;
  font-size:clamp(15px,1.6vw,18px);
}.process__track {
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:24px;
  padding-top:40px;
}.process__track::before {
  content:"";
  position:absolute;
  top:6px;
  left:7px;
  right:7px;
  height:2px;
  background:#e2e2e2;
}.process__track::after {
  content:"";
  position:absolute;
  top:6px;
  left:7px;
  width:0;
  height:2px;
  background:var(--color-accent);
  transition:width 1.5s ease;
  z-index:1;
}.process.in .process__track::after {
  width:calc(100% - 14px);
}.pstep {
  position:relative;
}.pstep::before {
  content:"";
  position:absolute;
  top:-40px;
  left:0;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#111;
  border:3px solid #fff;
  box-shadow:0 0 0 1px #cfcfcf;
  transition:.35s;
  z-index:2;
}.pstep:hover::before {
  background:var(--color-accent);
  box-shadow:0 0 0 1px var(--color-accent);
  transform:scale(1.2);
}.pnum {
  font-family:"Unbounded",sans-serif;
  font-weight:800;
  font-size:46px;
  color:#e3e3e3;
  line-height:1;
  transition:color .3s;
}.pstep:hover .pnum {
  color:#111;
}.pstep h3 {
  font-family:"Unbounded",sans-serif;
  font-size:20px;
  margin:10px 0 8px;
}.pstep p {
  color:#777;
  font-size:14.5px;
  max-width:210px;
}/* ============ ПОЧЕМУ ALEXANDRIA (принципы) ============ */
.about {
  padding:clamp(80px,12vw,140px) 0;
}.principles {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  column-gap:clamp(26px,4vw,70px);
  row-gap:0;
}.principle {
  position:relative;
  border-top:1px solid var(--line);
  padding:34px 0 clamp(46px,5vw,64px);
  transition:border-color .35s;
}.principle::before {
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:0;
  height:1px;
  background:var(--color-accent);
  transition:width .45s ease;
}.principle:hover {
  border-color:rgba(198,255,0,.35);
}.principle:hover::before {
  width:100%;
}.principle__num {
  font-family:"Unbounded",sans-serif;
  font-size:13px;
  letter-spacing:1.5px;
  color:var(--color-muted);
  transition:color .35s;
}.principle:hover .principle__num {
  color:var(--color-accent);
}.principle__title {
  font-family:"Unbounded",sans-serif;
  font-weight:700;
  font-size:clamp(20px,2.1vw,27px);
  line-height:1.2;
  margin:clamp(34px,4vw,52px) 0 18px;
  transition:color .35s;
}.principle:hover .principle__title {
  color:var(--color-accent);
}.principle__desc {
  color:var(--color-muted);
  font-size:15.5px;
  line-height:1.65;
  max-width:36ch;
}
@media(max-width:980px){.principles {
  grid-template-columns:repeat(2,1fr);
  column-gap:40px;
}}
@media(max-width:600px){.principles {
  grid-template-columns:1fr;
}.principle {
  padding:28px 0 36px;
}.principle__title {
  margin-top:28px;
}}/* ============ КЕЙСЫ ============ */
.cases {
  padding:clamp(80px,12vw,140px) 0;
}.cases-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(18px,2.4vw,30px);
}.case-card {
  position:relative;
  border-radius:18px;
  overflow:hidden;
  background:rgba(255,255,255,.02);
  border:1px solid var(--line);
  cursor:pointer;
  transition:.35s;
}.case-card:hover {
  transform:translateY(-8px);
  border-color:rgba(198,255,0,.35);
  box-shadow:0 20px 40px rgba(0,0,0,.5);
}.case-img {
  width:100%;
  height:230px;
  object-fit:cover;
  transition:transform .5s ease;
}.case-card:hover .case-img {
  transform:scale(1.05);
}.case-card::after {
  content:"↗";
  position:absolute;
  top:16px;
  right:16px;
  width:40px;
  height:40px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  transition:.4s;
  pointer-events:none;
  z-index:2;
}.case-card:hover::after {
  background:var(--color-accent);
  color:#000;
  border-color:var(--color-accent);
  transform:translate(3px,-3px);
}.case-body {
  padding:22px;
}.case-tag {
  display:inline-block;
  font-size:11px;
  letter-spacing:.6px;
  padding:7px 13px;
  border-radius:20px;
  background:var(--color-accent);
  color:#000;
  font-weight:600;
}.case-title {
  font-family:"Unbounded",sans-serif;
  font-size:clamp(17px,1.9vw,20px);
  margin-top:14px;
}.case-desc {
  color:#888;
  font-size:14px;
  margin-top:8px;
}.hidden {
  display:none;
}.cases-more {
  display:block;
  width:fit-content;
  text-align:center;
  margin:clamp(44px,6vw,60px) auto 0;
  padding:16px 44px;
  border-radius:40px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.04);
  color:#fff;
  font-family:"Unbounded",sans-serif;
  font-size:12px;
  letter-spacing:1px;
  cursor:pointer;
  transition:.35s;
}.cases-more:hover {
  border-color:rgba(198,255,0,.5);
  box-shadow:0 0 20px rgba(198,255,0,.25);
  color:var(--color-accent);
}/* модалка */
.case-modal {
  position:fixed;
  inset:0;
  background:#000;
  display:none;
  overflow:auto;
  z-index:2000;
  -webkit-overflow-scrolling:touch;
}.case-modal.active {
  display:block;
  animation:caseFade .35s ease;
}
@keyframes caseFade{from {
  opacity:0;
}to {
  opacity:1;
}}.case-close {
  position:fixed;
  top:26px;
  right:26px;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid var(--line);
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:22px;
  cursor:pointer;
  z-index:10;
  transition:.3s;
}.case-close:hover {
  background:var(--color-accent);
  color:#000;
  border-color:var(--color-accent);
}.case-content {
  max-width:1200px;
  margin:clamp(90px,12vw,120px) auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(30px,5vw,60px);
  padding:0 clamp(18px,4vw,40px);
  color:#fff;
  align-items:start;
}.case-left {
  position:sticky;
  top:clamp(80px,12vh,120px);
  align-self:start;
}.case-left h2 {
  font-family:"Unbounded",sans-serif;
  font-size:clamp(30px,4vw,46px);
  margin-bottom:24px;
}.case-left p {
  color:#aaa;
  margin-bottom:24px;
  white-space:pre-line;
  line-height:1.7;
}.case-left h4 {
  font-family:"Unbounded",sans-serif;
  font-size:13px;
  letter-spacing:1px;
  color:var(--color-muted);
  margin-bottom:14px;
}.stack {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}.stack span {
  display:inline-flex;
  align-items:center;
  height:36px;
  padding:0 16px;
  font-size:13px;
  color:var(--color-accent);
  background:rgba(198,255,0,.08);
  border:1px solid rgba(198,255,0,.35);
  border-radius:10px;
}.case-open-btn {
  display:inline-block;
  margin-top:30px;
  padding:14px 32px;
  border-radius:40px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.04);
  color:#fff;
  transition:.35s;
  font-family:"Unbounded",sans-serif;
  font-size:12px;
  letter-spacing:1px;
}.case-open-btn:hover {
  border-color:var(--color-accent);
  color:var(--color-accent);
  box-shadow:0 0 20px rgba(198,255,0,.2);
}.case-right {
  display:flex;
  flex-direction:column;
  gap:18px;
}.case-right img {
  width:100%;
  border-radius:12px;
}/* ============ КОНТАКТЫ ============ */
.contact {
  position:relative;
  padding:clamp(80px,12vw,140px) 0;
  overflow:hidden;
  background:#050505;
}.contact-bg {
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:40px 40px;
  pointer-events:none;
}.contact-inner {
  position:relative;
  z-index:2;
}.contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(40px,6vw,100px);
  align-items:start;
}.contact-eyebrow {
  display:inline-block;
  font-family:"Unbounded",sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:3px;
  color:var(--color-accent);
  margin-bottom:18px;
}.contact-title {
  font-family:"Unbounded",sans-serif;
  font-weight:800;
  font-size:clamp(28px,4.5vw,52px);
  line-height:1.05;
  overflow-wrap:break-word;
  margin-bottom:14px;
}.contact-sub {
  color:var(--color-muted);
  font-size:16px;
  line-height:1.6;
  margin-bottom:36px;
  max-width:44ch;
}/* форма */
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}.field {
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:16px;
}.flabel {
  font-size:12px;
  font-weight:600;
  letter-spacing:1px;
  color:var(--color-muted);
  text-transform:uppercase;
}.field input,.field textarea {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  padding:14px 16px;
  color:#fff;
  font-size:15px;
  font-family:inherit;
  resize:none;
  transition:.25s;
  outline:none;
}.field input::placeholder,.field textarea::placeholder {
  color:rgba(255,255,255,.25);
}.field input:focus,.field textarea:focus {
  border-color:var(--color-accent);
  background:rgba(198,255,0,.04);
  box-shadow:0 0 0 3px rgba(198,255,0,.08);
}.form-btn {
  width:100%;
  padding:16px;
  border-radius:14px;
  background:var(--color-accent);
  color:#000;
  font-family:"Unbounded",sans-serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:1px;
  border:none;
  cursor:pointer;
  transition:.25s;
  margin-top:4px;
}.form-btn:hover {
  filter:brightness(1.08);
  transform:translateY(-2px);
}.form-btn:disabled {
  opacity:.5;
  cursor:not-allowed;
  transform:none;
}.consent {
  font-size:12px;
  color:rgba(255,255,255,.25);
  margin-top:12px;
  line-height:1.5;
}.form-success {
  display:none;
  text-align:center;
  padding:48px 0;
}.form-success.show {
  display:block;
}.form-success__icon {
  width:64px;
  height:64px;
  border-radius:50%;
  background:rgba(198,255,0,.12);
  border:2px solid var(--color-accent);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 20px;
}.form-success__icon svg {
  width:28px;
  height:28px;
  stroke:var(--color-accent);
}.form-success h3 {
  font-family:"Unbounded",sans-serif;
  font-size:22px;
  margin-bottom:10px;
}.form-success p {
  color:var(--color-muted);
}/* правая колонка */
.contact-right {
  padding-top:clamp(0px,2vw,20px);
}.contact-right__label {
  font-size:12px;
  font-weight:600;
  letter-spacing:2px;
  color:var(--color-muted);
  text-transform:uppercase;
  margin-bottom:20px;
}.contact-buttons {
  display:flex;
  flex-direction:column;
  gap:12px;
}.contact-btn {
  display:inline-flex;
  align-items:center;
  gap:12px;
  height:56px;
  padding:0 24px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  color:#fff;
  font-weight:600;
  font-size:15px;
  transition:.3s;
}.contact-btn svg {
  width:20px;
  height:20px;
  stroke:var(--color-accent);
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0;
  transition:.3s;
}.contact-btn:hover {
  background:var(--color-accent);
  border-color:var(--color-accent);
  color:#000;
  transform:translateX(6px);
}.contact-btn:hover svg {
  stroke:#000;
}.contact-btn--accent {
  background:var(--color-accent);
  border-color:var(--color-accent);
  color:#000;
}.contact-btn--accent svg {
  stroke:#000;
}.contact-btn--accent:hover {
  filter:brightness(1.06);
  transform:translateX(6px);
}
@media(max-width:900px){.contact-grid {
  grid-template-columns:1fr;
}.contact-right {
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:40px;
  margin-top:10px;
}.contact-buttons {
  flex-direction:row;
  flex-wrap:wrap;
}.contact-btn {
  flex:1 1 calc(50% - 6px);
}
}
@media(max-width:480px){.form-row {
  grid-template-columns:1fr;
}.contact-btn {
  flex:1 1 100%;
}
}/* ============ ПОДВАЛ ============ */
.site-footer {
  border-top:1px solid var(--line);
  background:#070707;
  padding:clamp(54px,7vw,72px) 0 30px;
}.foot-grid {
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:clamp(28px,4vw,40px);
}.foot-brand .fb-logo {
  font-family:"Unbounded",sans-serif;
  font-weight:800;
  font-size:24px;
  letter-spacing:1px;
}.foot-brand p {
  color:var(--color-muted);
  font-size:14px;
  margin-top:16px;
  max-width:34ch;
}.foot-col h4 {
  font-family:"Unbounded",sans-serif;
  font-size:12px;
  letter-spacing:1.5px;
  color:var(--color-muted);
  text-transform:uppercase;
  margin-bottom:20px;
}.foot-col a {
  display:block;
  color:#cfcfcf;
  font-size:14.5px;
  margin-bottom:13px;
  transition:color .25s,transform .25s;
}.foot-col a:hover {
  color:var(--color-accent);
  transform:translateX(3px);
}.foot-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:clamp(40px,5vw,54px);
  padding-top:22px;
  border-top:1px solid var(--line);
  color:#666;
  font-size:13px;
}.foot-bottom a {
  color:#666;
  transition:.25s;
}.foot-bottom a:hover {
  color:var(--color-accent);
}

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media(max-width:1024px){.ecosystem__grid {
  grid-template-columns:repeat(2,1fr);
}.cases-grid {
  grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:932px){.nav__menu {
  display:none;
}.burger {
  display:block;
}
}

@media(max-width:900px){/* этапы — вертикально, аккуратными карточками */
  .process__header {
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}.process__track {
  grid-template-columns:1fr;
  gap:0;
  padding-top:0;
}.process__track::before,.process__track::after {
  display:none;
}.pstep {
  padding:24px 0;
  border-top:1px solid #e6e6e6;
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:20px;
  align-items:center;
}.pstep::before {
  display:none;
}.pnum {
  font-size:42px;
  grid-row:1/3;
  align-self:center;
}.pstep h3 {
  grid-column:2;
  margin:0;
}.pstep p {
  grid-column:2;
  max-width:none;
}/* про нас */
  .about-grid {
  grid-template-columns:repeat(2,1fr);
}.ab--feature {
  grid-column:span 2;
}.ab--wide {
  grid-column:span 2;
}
}

@media(max-width:768px){.cases-grid {
  grid-template-columns:1fr;
  max-width:520px;
  margin-inline:auto;
}.case-content {
  grid-template-columns:1fr;
  gap:30px;
}.case-left {
  position:static;
}.contact-buttons {
  max-width:380px;
}.contact-btn {
  flex:1 1 calc(50% - 8px);
  padding:0 14px;
}.foot-grid {
  grid-template-columns:1fr 1fr;
}.foot-brand {
  grid-column:1/-1;
}
}

@media(max-width:600px){.ecosystem__grid {
  grid-template-columns:1fr;
}.about-grid {
  grid-template-columns:1fr;
}.ab--feature,.ab--wide {
  grid-column:span 1;
}.ab--feature {
  grid-row:auto;
}
}

@media(max-width:430px){.hero {
  padding-top:104px;
}.pstep {
  grid-template-columns:1fr;
  row-gap:8px;
}.pnum {
  grid-column:1;
}.pstep h3,.pstep p {
  grid-column:1;
}.foot-grid {
  grid-template-columns:1fr;
}.foot-bottom {
  flex-direction:column;
  text-align:center;
}
}

@media(prefers-reduced-motion:reduce){* {
  animation-duration:.001ms!important;
  transition-duration:.001ms!important;
}.arrow-down span {
  animation:none;
}
}/* ============ ПЕРЕКЛЮЧАТЕЛЬ ЯЗЫКА ============ */
.nav__right {
  display:flex;
  align-items:center;
  gap:16px;
}.lang {
  display:flex;
  align-items:center;
  border:1px solid var(--line);
  border-radius:40px;
  padding:3px;
  font-family:"Unbounded",sans-serif;
  font-size:12px;
  background:rgba(255,255,255,.02);
}.lang__btn {
  padding:6px 13px;
  border-radius:30px;
  border:none;
  background:none;
  color:var(--color-muted);
  cursor:pointer;
  letter-spacing:.5px;
  transition:.25s;
}.lang__btn:hover {
  color:#fff;
}.lang__btn.is-on {
  background:var(--color-accent);
  color:#000;
}/* мягкое затухание текста при смене языка */
[data-i18n],[data-i18n-html] {
  transition:opacity .25s ease;
}body.lang-busy [data-i18n],body.lang-busy [data-i18n-html] {
  opacity:.3;
}
@media(max-width:430px){.lang__btn {
  padding:6px 10px;
  font-size:11px;
}.nav__right {
  gap:12px;
}
}/* ============ КОНТАКТЫ ============ */
.contact {
  position:relative;
  padding:clamp(80px,12vw,140px) 0;
  overflow:hidden;
  background:#050505;
}.contact-bg {
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:40px 40px;
  pointer-events:none;
}.contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(40px,6vw,100px);
  align-items:start;
}.contact-eyebrow {
  display:inline-block;
  font-family:"Unbounded",sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:3px;
  color:var(--color-accent);
  margin-bottom:18px;
}.contact-title {
  font-family:"Unbounded",sans-serif;
  font-weight:800;
  font-size:clamp(30px,5vw,56px);
  line-height:1.05;
  margin-bottom:14px;
}.contact-sub {
  color:var(--color-muted);
  font-size:16px;
  line-height:1.6;
  margin-bottom:36px;
  max-width:44ch;
}/* форма */
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}.field {
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:16px;
}.flabel {
  font-size:12px;
  font-weight:600;
  letter-spacing:1px;
  color:var(--color-muted);
  text-transform:uppercase;
}.field input,.field textarea {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  padding:14px 16px;
  color:#fff;
  font-size:15px;
  font-family:inherit;
  resize:none;
  transition:.25s;
  outline:none;
}.field input::placeholder,.field textarea::placeholder {
  color:rgba(255,255,255,.25);
}.field input:focus,.field textarea:focus {
  border-color:var(--color-accent);
  background:rgba(198,255,0,.04);
  box-shadow:0 0 0 3px rgba(198,255,0,.08);
}.form-btn {
  width:100%;
  padding:16px;
  border-radius:14px;
  background:var(--color-accent);
  color:#000;
  font-family:"Unbounded",sans-serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:1px;
  border:none;
  cursor:pointer;
  transition:.25s;
  margin-top:4px;
}.form-btn:hover {
  filter:brightness(1.08);
  transform:translateY(-2px);
}.form-btn:disabled {
  opacity:.5;
  cursor:not-allowed;
  transform:none;
}.consent {
  font-size:12px;
  color:rgba(255,255,255,.25);
  margin-top:12px;
  line-height:1.5;
}.form-success {
  display:none;
  text-align:center;
  padding:48px 0;
}.form-success.show {
  display:block;
}.form-success__icon {
  width:64px;
  height:64px;
  border-radius:50%;
  background:rgba(198,255,0,.12);
  border:2px solid var(--color-accent);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 20px;
}.form-success__icon svg {
  width:28px;
  height:28px;
  stroke:var(--color-accent);
}.form-success h3 {
  font-family:"Unbounded",sans-serif;
  font-size:22px;
  margin-bottom:10px;
}.form-success p {
  color:var(--color-muted);
}/* правая колонка */
.contact-right {
  padding-top:clamp(0px,2vw,20px);
}.contact-right__label {
  font-size:13px;
  color:var(--color-muted);
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:20px;
}.contact-buttons {
  display:flex;
  flex-direction:column;
  gap:12px;
}.contact-btn {
  display:inline-flex;
  align-items:center;
  gap:12px;
  height:56px;
  padding:0 24px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  color:#fff;
  font-weight:600;
  font-size:15px;
  transition:.3s;
}.contact-btn svg {
  width:20px;
  height:20px;
  stroke:var(--color-accent);
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0;
  transition:.3s;
}.contact-btn:hover {
  background:var(--color-accent);
  border-color:var(--color-accent);
  color:#000;
  transform:translateX(6px);
}.contact-btn:hover svg {
  stroke:#000;
}.contact-btn--accent {
  background:var(--color-accent);
  border-color:var(--color-accent);
  color:#000;
}.contact-btn--accent svg {
  stroke:#000;
}.contact-btn--accent:hover {
  filter:brightness(1.06);
  transform:translateX(6px);
}

@media(max-width:900px){.contact-grid {
  grid-template-columns:1fr;
}.contact-right {
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:40px;
  margin-top:10px;
}.contact-buttons {
  flex-direction:row;
  flex-wrap:wrap;
}.contact-btn {
  flex:1 1 calc(50% - 6px);
}
}
@media(max-width:480px){.form-row {
  grid-template-columns:1fr;
}.contact-btn {
  flex:1 1 100%;
}
}


/* ============ ПРОДУКТЫ ============ */
.products {
  padding: clamp(80px,12vw,140px) 0;
}
.products-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: clamp(18px,2.4vw,28px);
}
.prod-card {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.02);
  transition: .35s;
  display: flex;
  flex-direction: column;
}
.prod-card--active {
  cursor: pointer;
}
.prod-card--active:hover {
  transform: translateY(-8px);
  border-color: rgba(198,255,0,.35);
  box-shadow: 0 20px 40px rgba(0,0,0,.5);
}
.prod-card--wip {
  opacity: .55;
  cursor: not-allowed;
}
.prod-card__img {
  position: relative;
  height: 200px;
  overflow: hidden;
}
.prod-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.prod-card--active:hover .prod-card__img img {
  transform: scale(1.05);
}
.prod-card__img--empty {
  background: rgba(255,255,255,.03);
  display: flex;
  align-items: center;
  justify-content: center;
}
.prod-card__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  font-family: "Unbounded",sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  padding: 6px 12px;
  border-radius: 20px;
  background: var(--color-accent);
  color: #000;
}
.prod-card__badge--wip {
  background: rgba(255,255,255,.08);
  color: var(--color-muted);
  position: static;
}
.prod-card__body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.prod-card__title {
  font-family: "Unbounded",sans-serif;
  font-weight: 700;
  font-size: clamp(14px,1.6vw,17px);
  line-height: 1.2;
  margin-bottom: 10px;
}
.prod-card__desc {
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.6;
  flex: 1;
}
.prod-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.prod-card__price {
  font-family: "Unbounded",sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--color-accent);
}
.prod-card__cta {
  font-size: 13px;
  color: var(--color-muted);
  transition: color .25s;
}
.prod-card--active:hover .prod-card__cta {
  color: var(--color-accent);
}
.prod-modal {
  position: fixed;
  inset: 0;
  background: #000;
  display: none;
  overflow: auto;
  z-index: 2000;
  -webkit-overflow-scrolling: touch;
}
.prod-modal.active {
  display: block;
  animation: caseFade .35s ease;
}
.prod-modal__price-wrap {
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.prod-modal__price {
  font-family: "Unbounded",sans-serif;
  font-size: 24px;
  font-weight: 800;
  color: var(--color-accent);
}

/* ============ ЧЕК-БОКС СОГЛАСИЯ ============ */
.field--check {
  margin-bottom: 12px;
}
.check-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 13px;
  color: rgba(255,255,255,.45);
  line-height: 1.5;
}
.check-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 1px;
  accent-color: var(--color-accent);
  cursor: pointer;
}
.check-label a {
  color: var(--color-accent);
  text-decoration: underline;
}
.form-btn:disabled {
  opacity: .4;
  cursor: not-allowed;
  transform: none !important;
  filter: none !important;
}

/* ============ COOKIE БАННЕР ============ */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: rgba(10,10,10,.97);
  border-top: 1px solid var(--line);
  backdrop-filter: blur(12px);
  transform: translateY(100%);
  transition: transform .4s ease;
  padding: 18px clamp(18px,4vw,40px);
}
.cookie-banner.show {
  transform: translateY(0);
}
.cookie-banner__inner {
  max-width: var(--container);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.cookie-banner__text {
  flex: 1;
  font-size: 13px;
  color: var(--color-muted);
  line-height: 1.5;
}
.cookie-banner__text a {
  color: var(--color-accent);
  text-decoration: underline;
}
.cookie-banner__btns {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-shrink: 0;
}
.cookie-banner__accept {
  padding: 10px 24px;
  border-radius: 30px;
  background: var(--color-accent);
  color: #000;
  font-family: "Unbounded",sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .5px;
  border: none;
  cursor: pointer;
  transition: .25s;
}
.cookie-banner__accept:hover {
  filter: brightness(1.08);
}
.cookie-banner__more {
  font-size: 13px;
  color: var(--color-muted);
  text-decoration: underline;
  transition: color .25s;
}
.cookie-banner__more:hover {
  color: var(--color-accent);
}

@media(max-width:900px) {
  .products-grid {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin-inline: auto;
  }
  .prod-card--wip {
    display: none;
  }
}

/* ============ ПРИНЦИПЫ — МОБИЛЬНАЯ АНИМАЦИЯ ============ */
@media(max-width:768px) {
  .principle {
    cursor: pointer;
  }
  .principle.tapped::before {
    width: 100%;
  }
  .principle.tapped {
    border-color: rgba(198,255,0,.35);
  }
  .principle.tapped .principle__num,
  .principle.tapped .principle__title {
    color: var(--color-accent);
  }
}

/* ============ ПРОДУКТЫ ============ */
.products {
  padding: clamp(80px,12vw,140px) 0;
}
.products-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: clamp(18px,2.4vw,30px);
}
.prod-card {
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.02);
  border: 1px solid var(--line);
  transition: .35s;
  cursor: default;
}
.prod-card--active {
  cursor: pointer;
}
.prod-card--active:hover {
  transform: translateY(-8px);
  border-color: rgba(198,255,0,.35);
  box-shadow: 0 20px 40px rgba(0,0,0,.5);
}
.prod-card__img {
  position: relative;
  height: 220px;
  overflow: hidden;
}
.prod-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.prod-card--active:hover .prod-card__img img {
  transform: scale(1.05);
}
.prod-card__img--empty {
  background: rgba(255,255,255,.03);
  display: flex;
  align-items: center;
  justify-content: center;
}
.prod-card__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 6px 14px;
  border-radius: 20px;
  background: var(--color-accent);
  color: #000;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .8px;
}
.prod-card__badge--wip {
  background: rgba(255,255,255,.08);
  color: var(--color-muted);
  border: 1px solid var(--line);
}
.prod-card__body {
  padding: 22px;
}
.prod-card__title {
  font-family: "Unbounded", sans-serif;
  font-size: clamp(15px,1.8vw,18px);
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 1.2;
}
.prod-card--wip .prod-card__title {
  color: var(--color-muted);
}
.prod-card__desc {
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 16px;
}
.prod-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.prod-card__price {
  font-family: "Unbounded", sans-serif;
  font-size: 14px;
  color: var(--color-accent);
}
.prod-card__cta {
  font-size: 13px;
  color: var(--color-muted);
  transition: color .25s;
}
.prod-card--active:hover .prod-card__cta {
  color: var(--color-accent);
}
/* модалка продукта */
.prod-modal {
  position: fixed;
  inset: 0;
  background: #000;
  display: none;
  overflow: auto;
  z-index: 2000;
  -webkit-overflow-scrolling: touch;
}
.prod-modal.active {
  display: block;
  animation: caseFade .35s ease;
}
.prod-modal__price-wrap {
  margin-top: 24px;
}
.prod-modal__price {
  display: block;
  font-family: "Unbounded", sans-serif;
  font-size: 22px;
  color: var(--color-accent);
  margin-bottom: 8px;
}
@media(max-width:1024px) {
  .products-grid { grid-template-columns: repeat(2,1fr); }
}
@media(max-width:600px) {
  .products-grid { grid-template-columns: 1fr; }
}

/* ============ ЧЕКБОКС СОГЛАСИЯ ============ */
.field--check {
  margin-bottom: 14px;
}
.check-label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  font-size: 13px;
  color: rgba(255,255,255,.45);
  line-height: 1.5;
}
.check-label input[type="checkbox"] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--color-accent);
  cursor: pointer;
}
.check-label a {
  color: var(--color-accent);
  text-decoration: underline;
}

/* ============ COOKIE БАННЕР ============ */
.cookie-banner {
  position: fixed;
  bottom: -120px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3000;
  display: flex;
  align-items: center;
  gap: 20px;
  background: rgba(18,18,18,.96);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px 24px;
  max-width: min(560px, calc(100vw - 32px));
  width: 100%;
  backdrop-filter: blur(12px);
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
  transition: bottom .45s cubic-bezier(.34,1.56,.64,1);
}
.cookie-banner.show {
  bottom: 20px;
}
.cookie-banner p {
  font-size: 13px;
  color: var(--color-muted);
  line-height: 1.5;
  flex: 1;
}
.cookie-banner a {
  color: var(--color-accent);
  text-decoration: underline;
}
.cookie-btn {
  flex-shrink: 0;
  padding: 10px 22px;
  border-radius: 10px;
  background: var(--color-accent);
  color: #000;
  font-family: "Unbounded", sans-serif;
  font-size: 12px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: filter .2s;
}
.cookie-btn:hover {
  filter: brightness(1.08);
}
@media(max-width:600px) {
  .cookie-banner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 18px;
    bottom: -200px;
  }
  .cookie-banner.show {
    bottom: 12px;
  }
  .cookie-btn {
    width: 100%;
    text-align: center;
  }
}

/* ============ ПРИНЦИПЫ — мобильный tap ============ */
@media(hover: none) {
  .principle.tapped {
    border-color: rgba(198,255,0,.35);
  }
  .principle.tapped::before {
    width: 100%;
  }
  .principle.tapped .principle__num,
  .principle.tapped .principle__title {
    color: var(--color-accent);
  }
}
