:root{color-scheme:dark;--purple:#5735ff;--red:#e22118;--grey:#aaa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#000;color:white;font-family:Arial,Helvetica,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,.button{border:0;border-radius:9px;background:var(--purple);color:white;padding:17px 23px;cursor:pointer;font:600 14px Arial;display:inline-block;text-align:center}button:hover,.button:hover{filter:brightness(1.2)}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #b6aaff;outline-offset:4px}.wrap{width:calc(100% - 120px);max-width:1373px;margin-inline:auto}.top{display:flex;justify-content:space-between;font-size:14px;padding:12px 0;color:#bbb}.top div{display:flex;gap:22px}header{background:#191919;border-radius:18px;padding:14px 25px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{width:186px;height:auto;display:block}nav{display:flex;gap:25px;font-size:14px;font-weight:bold}.active{color:var(--red)}.header-actions{display:flex;gap:16px}.muted{background:#666}.red{background:var(--red)}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;min-height:540px;background:radial-gradient(at 28% 0%,#3b14df,#210682 45%,#0e022e);border-radius:28px;margin-top:24px}.hero-copy{position:relative;z-index:1;width:52%;padding:80px 48px}h1{font-size:52px;line-height:1.05;margin:20px 0 16px;letter-spacing:-1.5px}.okko{font-size:68px;letter-spacing:-4px}h2{font-size:40px;line-height:1.13;letter-spacing:-.7px;margin:0 0 32px}.hero h2{font-size:27px;font-weight:500;letter-spacing:0;margin-bottom:24px;max-width:470px}p{color:#b6aec7;line-height:1.4}.hero p{font-size:18px;margin:0 0 34px}.hero-art{position:absolute;right:0;top:0;height:100%;width:55%;object-fit:cover}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}.benefit{height:140px;border-radius:22px;background:linear-gradient(140deg,#3a05bb,#26116c);position:relative;overflow:hidden;display:flex;align-items:center;padding:25px 28px 25px 100px;font-size:23px;line-height:1.12}.benefit img{position:absolute;left:-20px;top:-8px;width:120px;height:155px;object-fit:contain}.subscription{max-width:1533px;margin:64px auto 0;position:relative}.subscription img{display:block;width:100%}.subscription button{position:absolute;left:20%;bottom:16%;width:200px}.section{margin-top:105px}.tariffs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tariff{border-radius:22px;overflow:hidden;background:linear-gradient(150deg,#5636d8,#332265)}.tariff h3{background:#300998;margin:0;padding:28px 18px;font-size:28px;font-weight:500}.tariff-body{padding:28px 18px 26px;display:flex;flex-direction:column;min-height:305px}.tariff p{font-size:14px;color:#ddd;margin:0 0 20px}.tariff .price{margin-top:auto;padding-top:45px;margin-bottom:24px;color:#fff}.price strong{font-size:34px}.price small{font-size:14px;color:#aaa}.tariff button{width:100%;font-size:14px}.extras{font-size:13px;color:#ddd}.kids{height:450px;border-radius:40px;overflow:hidden;background:linear-gradient(135deg,#4306bc,#22085c);position:relative;display:flex;align-items:center;justify-content:flex-end}.kids img{position:absolute;left:0;top:0;width:55%;height:100%;object-fit:cover}.kids>div{position:relative;width:40%;padding-right:45px}.kids h3{font-size:46px;margin:0 0 26px}.kids p{font-size:20px}.devices{display:flex;align-items:center;margin-top:100px;gap:40px}.devices img{width:52%}.devices>div{flex:1;text-align:center}.devices p{font-size:20px}.cta{position:relative;overflow:hidden;background:linear-gradient(135deg,#3703b4,#23096a);border-radius:28px;margin-top:95px;margin-bottom:40px;min-height:540px;display:flex;align-items:center}.cta>div{z-index:1;padding:50px;width:50%}.cta img{position:absolute;right:0;top:0;height:100%;width:55%;object-fit:cover}.cta h2{font-size:49px}.cta p{font-size:20px}.cta button{min-width:200px}footer{border-top:1px solid #333;padding:40px 0 12px}.footer-grid{display:grid;grid-template-columns:2.8fr 1fr 1.1fr 1fr 1.4fr;gap:25px}footer h3{font-size:14px;margin:0 0 28px}footer a{display:block;color:#aaa;font-size:14px;margin-bottom:16px}.stores{font-size:14px}.legal{font-size:12px;text-align:center;color:#666;margin-top:45px}.text-button{padding:0;background:transparent;color:#e43c31;text-align:left}.footer-grid .logo{width:180px}dialog{border:1px solid #554980;border-radius:24px;background:#191328;color:#fff;padding:40px;max-width:500px;width:calc(100% - 32px)}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog h2{font-size:28px;padding-right:20px}.close{position:absolute;right:12px;top:8px;background:transparent;font-size:30px;padding:6px}select{display:block;width:100%;font-size:16px;padding:15px;margin:12px 0 25px;background:#30254c;color:#fff;border:1px solid #6e5ca5;border-radius:8px}dialog .button{width:100%}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}nav{gap:14px}.header-actions{display:none}.hero-copy{padding:48px 30px}h1{font-size:40px}.okko{font-size:50px}.benefit{font-size:18px;padding-left:75px}.benefit img{width:95px}.tariff h3{font-size:22px}.kids h3{font-size:32px}.kids p{font-size:17px}.cta h2{font-size:40px}h2{font-size:32px}}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.top{font-size:12px}.top div>a:not(:last-child){display:none}header{padding:14px 18px;position:relative}.logo{width:145px}.menu-toggle{display:block;background:transparent;padding:8px;font-size:23px}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:22px;background:#222;z-index:5;border-radius:14px;flex-direction:column}nav.open{display:flex}.hero{min-height:650px;border-radius:22px}.hero-copy{width:100%;padding:25px;z-index:2}.hero h2{font-size:22px;max-width:330px}.hero p{font-size:16px;max-width:310px}.hero-art{top:auto;bottom:0;width:100%;height:300px;object-position:center}.hero-copy button{margin-bottom:20px}h1{font-size:34px;letter-spacing:-1px}.okko{font-size:45px}.desktop{display:none}.benefits{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:22px}.benefit{height:120px;padding:18px 12px 18px 48px;font-size:15px}.benefit img{width:72px;left:-27px;height:120px}.subscription{margin-top:35px}.subscription button{width:auto;font-size:12px;padding:10px 16px;left:18%;bottom:12%}.section{margin-top:50px}h2{font-size:28px;line-height:1.15;margin-bottom:24px}.tariffs{grid-template-columns:repeat(2,1fr);gap:12px}.tariff h3{font-size:20px;padding:20px 12px}.tariff-body{padding:22px 12px;min-height:280px}.tariff p{font-size:13px}.price strong{font-size:25px}.price small{display:block;margin-top:7px}.tariff button{padding:13px 8px;font-size:12px}.kids{height:auto;display:flex;flex-direction:column;border-radius:25px}.kids img{position:relative;width:100%;height:280px;object-position:left}.kids>div{width:100%;padding:28px}.kids h3{font-size:28px;margin-bottom:18px}.devices{flex-direction:column;margin-top:55px;gap:20px}.devices img{width:100%}.devices h2{font-size:28px}.devices p{font-size:16px}.cta{min-height:610px;margin-top:55px;align-items:flex-start}.cta>div{width:100%;padding:30px}.cta h2{font-size:34px}.cta p{font-size:16px}.cta img{top:auto;bottom:0;width:100%;height:310px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid h3{margin-bottom:20px}.legal{text-align:left;line-height:1.5}.stores{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.subscription button{left:19.7%;top:69.5%;bottom:auto;width:13.1%;height:9.2%;padding:0;background:transparent;color:transparent;min-width:0}.subscription button:hover{background:#ffffff15}
/* Expanded navigation */
header{gap:18px;flex-wrap:wrap}header nav{gap:18px;flex-wrap:wrap;justify-content:center;flex:1}.header-actions{flex-shrink:0}header .logo{width:160px}
@media(min-width:701px) and (max-width:1200px){header{position:relative;flex-wrap:nowrap}.menu-toggle{display:block;background:transparent;font-size:23px;padding:8px;margin-left:auto}header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#222;padding:22px;border-radius:14px;z-index:5;flex-direction:column;align-items:flex-start}header nav.open{display:flex}.header-actions{display:none}}
@media(max-width:700px){header nav{justify-content:flex-start;align-items:flex-start}header .logo{width:145px}}
/* Одинаковая высота карточек в каждом ряду */
.tariffs {
  align-items: stretch;
}

.tariffs .tariff {
  display: flex;
  flex-direction: column;
  height: auto;
}

.tariffs .tariff-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 460px;
  box-sizing: border-box;
}

/* Текст по центру относительно значка */
.tariffs .tariff-body .tariff-feature {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
  min-height: 30px;
  line-height: 1.4;
}

.tariffs .tariff-feature img {
  display: block;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  margin: 0;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.tariffs .tariff-feature span {
  display: block;
  margin: 0;
}

/* Цены и кнопки на одном уровне */
.tariffs .tariff-body .price {
  margin-top: auto;
  padding-top: 24px;
  margin-bottom: 24px;
}

.tariffs .tariff-body > button {
  width: 100%;
  min-height: 50px;
  margin: 0;
  box-sizing: border-box;
}

/* Три точки над первой буквой о */
.okko { white-space: nowrap; }
.okko-letter { position: relative; display: inline-block; }
.okko-letter::before {
 content: ""; position: absolute; top: -0.02em; left: 50%;
 width: 0.10em; height: 0.10em; border-radius: 50%;
 background: currentColor; transform: translateX(-50%);
 box-shadow: -0.17em 0 0 currentColor, 0.17em 0 0 currentColor;
}
.okko-dots { display: none; }
header nav a { white-space: nowrap; }
header nav a.active { color: #a38bff; }
@media(max-width:1100px) { .tariffs { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .tariffs .tariff-body { min-height:420px; } }
@media(max-width:420px) { .tariffs { grid-template-columns:1fr; } }
.okko-letter::before {
  top: 0.15em;
  width: 0.14em;
  height: 0.14em;
  left: calc(50% + 2px);
  box-shadow:
    -0.18em 0 0 currentColor,
     0.18em 0 0 currentColor;
}

/* Мобильная версия страницы Okko */
@media (max-width: 700px) {
  .wrap {
    width: calc(100% - 32px);
  }

  header {
    flex-wrap: nowrap;
    gap: 12px;
  }

  header .logo {
    width: 145px;
    max-width: 100%;
  }

  .header-actions {
    display: none;
  }

  .menu-toggle {
    display: block;
    margin-left: auto;
  }

  header nav {
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
  }

  header nav a {
    display: block;
    padding: 14px 0;
    white-space: normal;
    border-bottom: 1px solid #ffffff20;
  }

  header nav a:last-child {
    border-bottom: 0;
  }

  .hero {
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  .hero-copy {
    width: 100%;
    padding: 28px 24px 16px;
  }

  .hero h1 {
    font-size: clamp(26px, 7vw, 34px);
    line-height: 1.2;
    letter-spacing: -1px;
  }

  .hero .okko {
    font-size: 1.1em;
    letter-spacing: -2px;
  }

  .hero h2 {
    font-size: 22px;
    max-width: none;
  }

  .hero p {
    font-size: 16px;
    max-width: none;
  }

  .hero-copy button {
    width: 100%;
    margin-bottom: 12px;
    min-height: 48px;
  }

  .hero-art {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    height: auto;
    display: block;
  }

  .benefits {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .benefit {
    min-height: 110px;
    height: auto;
    padding: 24px 20px 24px 90px;
    font-size: 19px;
    line-height: 1.25;
  }

  .benefit img {
    left: -12px;
    top: 50%;
    transform: translateY(-50%);
    width: 100px;
    height: 120px;
  }

  .section {
    margin-top: 48px;
  }

  .section > h2 {
    font-size: 28px;
    line-height: 1.2;
  }

  .tariffs {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .tariffs .tariff h3 {
    padding: 22px;
    font-size: 26px;
  }

  .tariffs .tariff-body {
    padding: 24px;
    min-height: 420px;
  }

  .tariffs .tariff-feature {
    font-size: 15px;
    gap: 12px;
    margin-bottom: 18px;
  }

  .tariffs .price strong {
    font-size: 34px;
  }

  .tariffs .price small {
    display: inline;
    margin-left: 6px;
  }

  .tariffs .tariff-body > button {
    min-height: 50px;
    font-size: 15px;
  }

  .kids img {
    height: auto;
    display: block;
  }

  .kids > div {
    padding: 24px;
  }

  .devices {
    margin-top: 48px;
  }

  .devices > div {
    width: 100%;
  }

  .devices h2 {
    font-size: 27px;
    line-height: 1.2;
  }

  .cta {
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin-top: 48px;
  }

  .cta > div {
    width: 100%;
    padding: 28px 24px 16px;
  }

  .cta h2 {
    font-size: 32px;
    line-height: 1.2;
  }

  .cta button {
    width: 100%;
    min-width: 0;
    min-height: 48px;
  }

  .cta img {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    height: auto;
    display: block;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
  }

  .footer-grid > div:last-child {
    grid-column: 1 / -1;
  }

  footer a {
    overflow-wrap: anywhere;
  }

  dialog {
    padding: 28px 20px;
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
  }

  dialog h2 {
    font-size: 24px;
  }
}
.connection-dialog {
  width: calc(100% - 32px);
  max-width: 540px;
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  padding: 36px 28px;
  background: #191328;
  border: 1px solid #66518b;
}

.connection-dialog h2 {
  font-size: 28px;
  padding-right: 24px;
}

#connection-form label {
  display: block;
  margin: 18px 0 8px;
  font-size: 14px;
  color: #fff;
}

#connection-form input,
#connection-form select {
  display: block;
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 14px;
  border: 1px solid #6e5ca5;
  border-radius: 9px;
  background: #30254c;
  color: #fff;
  font: 16px Arial, sans-serif;
}

#connection-form input::placeholder {
  color: #b6aec7;
}

#connection-form input:focus,
#connection-form select:focus {
  outline: 2px solid #a58aff;
  outline-offset: 2px;
}

#connection-form [hidden] {
  display: none !important;
}

#connection-submit {
  width: 100%;
  min-height: 50px;
  margin-top: 12px;
}

#connection-submit:disabled {
  opacity: 0.6;
  cursor: wait;
}

#form-status {
  margin: 18px 0 0;
  font-size: 14px;
  color: #c4b3ff;
}

#form-status:empty {
  display: none;
}

@media (max-width: 700px) {
  .connection-dialog {
    padding: 30px 20px;
  }

  .connection-dialog h2 {
    font-size: 24px;
  }
}
#connection-form > [hidden] {
  display: none !important;
}

#form-status {
  line-height: 1.5;
}
.connection-dialog h2 {
  color: #fff;
}