@font-face {
  font-family: "Megogo Interface Regular";
  src: url("../assets/fonts/Megogo-InterfaceRegular.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Megogo Interface Normal";
  src: url("../assets/fonts/Megogo-InterfaceNormal.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Megogo Interface Medium";
  src: url("../assets/fonts/Megogo-InterfaceMedium.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Megogo Interface DemiBold";
  src: url("../assets/fonts/Megogo-InterfaceDemiBold.ttf") format("truetype");
  font-display: swap;
}

:root {
  --page-bg: #0a0a0a;
  --surface-top: #222222;
  --surface-bottom: #151413;
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.75);
  --text-tertiary: rgba(255, 255, 255, 0.5);
  --accent: #22c3b1;
  --card-radius: 64px;
  --card-border:
    linear-gradient(
      152deg,
      rgba(255, 255, 255, 0.32) 0%,
      rgba(255, 255, 255, 0.08) 33%,
      rgba(255, 255, 255, 0.03) 72%,
      rgba(255, 255, 255, 0.12) 100%
    );
  --card-fill:
    linear-gradient(180deg, rgba(34, 34, 34, 0.94) 0%, rgba(21, 20, 19, 0.98) 100%);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  background: var(--page-bg);
  color: var(--text-primary);
}

body {
  font-family: "Megogo Interface Regular", sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

img {
  display: block;
  max-width: 100%;
}

button,
a {
  color: inherit;
}

.page-shell {
  min-height: 100vh;
  background: var(--page-bg);
}

.page {
  width: min(100%, 393px);
  margin: 0 auto;
  background: var(--page-bg);
  overflow: clip;
}

.hero {
  position: relative;
  min-height: 700px;
  overflow: hidden;
  background: #081011;
}

.hero__bg,
.hero__bottom-grad,
.hero__overlay {
  position: absolute;
  inset: 0;
}

.hero__bg {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  transform: scale(1.02);
}

.hero__bottom-grad {
  top: auto;
  height: 220px;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
}

.hero__overlay {
  background:
    linear-gradient(
      270deg,
      rgba(10, 10, 10, 0.9) 0%,
      rgba(10, 10, 10, 0.25) 19.983%,
      rgba(10, 10, 10, 0.5) 75.331%,
      rgba(10, 10, 10, 0.95) 100%
    );
}

.hero__nav {
  position: absolute;
  inset: 0 0 auto;
  height: 50px;
  display: flex;
  align-items: center;
  padding: 0 15px;
  z-index: 3;
}

.hero__menu {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  width: 20px;
  height: 20px;
}

.hero__menu span {
  display: block;
  width: 16px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
}

.hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 354px 20px 64px;
}

.hero__copy {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.hero__title {
  margin: 0;
  font-family: "Megogo Interface Medium", sans-serif;
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.hero__subtitle {
  margin: 0;
  color: var(--text-secondary);
  font-family: "Megogo Interface Normal", sans-serif;
  font-size: 20px;
  line-height: 24px;
}

.hero__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 54px;
  border: 0;
  border-radius: 12px;
  background: #fff;
  color: #0a0a0a;
  font-family: "Megogo Interface Medium", sans-serif;
  font-size: 18px;
  line-height: 18px;
  text-decoration: none;
}

.feature-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 64px 20px 48px;
}

.feature-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 48px 32px;
  border-radius: var(--card-radius);
  overflow: hidden;
  isolation: isolate;
}

.feature-card::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: var(--card-border);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 0;
}

.feature-card::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: calc(var(--card-radius) - 1px);
  background: var(--card-fill);
  z-index: -3;
}

.feature-card > * {
  position: relative;
  z-index: 2;
}

.feature-card__glow {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 353px;
  height: 300px;
  transform: translateX(-50%);
  z-index: -2;
  pointer-events: none;
}

.feature-card__glow-image {
  display: block;
  width: 100%;
  height: 100%;
}

.feature-card__media {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-shrink: 0;
  width: 100%;
}

.feature-card__media-static {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
}

.feature-card__media-image {
  display: block;
  height: auto;
  max-width: none;
}

.feature-card__media-image--devices {
  width: 264px;
}

.feature-card__media-image--offline {
  width: 275px;
}

.feature-card__media-image--catchup {
  width: 250px;
}

.feature-card__media-image--recommendations {
  width: 240px;
}

.feature-card__media-image--favorites,
.feature-card__media-image--parental {
  width: 353px;
}

.feature-card__media-image--playlists {
  width: 353px;
}

.feature-card__media-image--settings {
  width: 250px;
}

.feature-card__media-image--profiles {
  width: 265px;
}

.feature-card__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  width: 100%;
  max-width: 289px;
  margin: 0 auto;
  text-align: center;
}

.feature-card__title {
  margin: 0;
  font-family: "Megogo Interface Medium", sans-serif;
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.feature-card__description {
  margin: 0;
  color: var(--text-secondary);
  font-family: "Megogo Interface Normal", sans-serif;
  font-size: 18px;
  line-height: 1.2;
}

.feature-card__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 0;
  color: var(--accent);
  font-family: "Megogo Interface Medium", sans-serif;
  font-size: 18px;
  line-height: 20px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.feature-card--devices .feature-card__media {
  min-height: 172px;
}

.devices-scene {
  position: relative;
  width: 258px;
  height: 165px;
  margin: 0 auto;
}

.devices-scene__badge {
  position: absolute;
  left: 9px;
  top: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: #000;
  font-family: "Megogo Interface Medium", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.devices-scene__laptop {
  position: absolute;
  left: 3px;
  top: 15px;
  width: 233px;
  height: 148px;
}

.devices-scene__tablet {
  position: absolute;
  right: 1px;
  bottom: 2px;
  width: 70px;
  height: 97px;
}

.devices-scene__phone {
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 109px;
  height: 54px;
}

.device-laptop__shadow,
.device-laptop__screen,
.device-laptop__rubber,
.device-laptop__border,
.device-laptop__bottom,
.device-tablet__surround,
.device-tablet__bg,
.device-tablet__buttons,
.device-phone__surround,
.device-phone__bg,
.device-phone__volume,
.device-phone__power,
.device-phone__camera-dot,
.device-phone__camera-inner {
  position: absolute;
}

.device-laptop__shadow {
  left: 11px;
  bottom: 0;
  width: 235px;
}

.device-laptop__screen {
  left: 24px;
  top: 0;
  width: 208px;
}

.device-laptop__rubber {
  left: 24px;
  top: 0;
  width: 208px;
}

.device-laptop__border {
  left: 25px;
  top: 1px;
  width: 206px;
}

.device-laptop__poster {
  position: absolute;
  left: 30px;
  top: 8px;
  width: 198px;
  height: 124px;
  object-fit: cover;
  border-radius: 8px 8px 4px 4px;
}

.device-laptop__bottom {
  left: 0;
  bottom: 1px;
  width: 257px;
}

.device-tablet__surround,
.device-tablet__bg {
  inset: 0;
}

.device-tablet__poster {
  position: absolute;
  left: 4px;
  top: 4px;
  width: 62px;
  height: 89px;
  object-fit: cover;
  border-radius: 8px;
}

.device-tablet__buttons {
  right: 0;
  top: 0;
  width: 10px;
}

.device-phone__frame {
  position: absolute;
  inset: 0;
  transform: rotate(90deg) translate(28px, -28px);
  transform-origin: center;
}

.device-phone__surround {
  inset: 0;
  width: 109px;
}

.device-phone__bg {
  left: 1px;
  top: 0;
  width: 108px;
}

.device-phone__poster {
  position: absolute;
  left: 3px;
  top: 3px;
  width: 103px;
  height: 48px;
  object-fit: cover;
  border-radius: 9px;
}

.device-phone__volume {
  right: 0;
  top: 41px;
  width: 15px;
}

.device-phone__power {
  right: 0;
  top: 26px;
  width: 8px;
}

.device-phone__camera-dot {
  position: absolute;
  left: 4px;
  top: 4px;
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: #121515;
}

.device-phone__camera-inner {
  left: 5px;
  top: 5px;
  width: 2px;
  height: 2px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.35);
}

.feature-card--offline .feature-card__media {
  min-height: 200px;
}

.feature-card--catchup .feature-card__media {
  min-height: 228px;
}

.catchup-scene {
  position: relative;
  width: 275px;
  height: 200px;
  margin: 0 auto;
}

.catchup-scene__phone {
  position: absolute;
  left: 23px;
  bottom: -40px;
  width: 228px;
  height: 240px;
}

.catchup-scene__phone img {
  position: absolute;
}

.catchup-scene__body {
  inset: 0;
}

.catchup-scene__body-highlight {
  inset: 0;
}

.catchup-scene__screen {
  left: 12px;
  top: 11px;
  width: 204px;
}

.catchup-scene__speaker {
  left: 100px;
  top: 15px;
  width: 26px;
}

.catchup-scene__camera {
  left: 131px;
  top: 12px;
  width: 11px;
}

.catchup-scene__overlay {
  position: absolute;
  left: 0;
  top: 76px;
  width: 275px;
  padding: 7.5px 20px 7.5px 7.5px;
  border-radius: 15px;
  background: #0f1217;
  box-shadow:
    0 12.5px 31.25px rgba(255, 255, 255, 0.03),
    0 9.375px 46.875px rgba(0, 0, 0, 0.25);
}

.catchup-scene__overlay-glow {
  position: absolute;
  left: 50%;
  top: -25px;
  width: 187.5px;
  height: 50px;
  transform: translateX(-50%);
}

.catchup-scene__overlay-body {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12.5px;
}

.catchup-scene__thumb {
  position: relative;
  width: 102.5px;
  height: 62.5px;
  overflow: hidden;
  border-radius: 7.5px;
  flex: 0 0 auto;
}

.catchup-scene__thumb-image,
.catchup-scene__thumb-grad {
  position: absolute;
  inset: 0;
}

.catchup-scene__thumb-label {
  position: absolute;
  left: 4.375px;
  top: 4.375px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.469px 2.937px;
  border-radius: 3.125px;
  background: rgba(26, 26, 26, 0.7);
  color: #fff;
  font-family: "Megogo Interface Medium", sans-serif;
  font-size: 5.93px;
  line-height: 7.548px;
  letter-spacing: 0.1469px;
}

.catchup-scene__progress {
  position: absolute;
  left: 4.375px;
  bottom: 4.375px;
  width: 93.75px;
  height: 2.5px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.5);
}

.catchup-scene__progress::after {
  content: "";
  position: absolute;
  inset: 0 22.82% 0 0;
  border-radius: inherit;
  background: #fff;
  box-shadow: 0.734px 0.734px 2.203px rgba(0, 0, 0, 0.24);
}

.catchup-scene__meta {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 75px;
}

.catchup-scene__meta-title {
  margin: 0;
  font-family: "Megogo Interface Medium", sans-serif;
  font-size: 10px;
  line-height: 12.5px;
}

.catchup-scene__meta-time {
  margin: 0;
  color: rgba(255, 255, 255, 0.5);
  font-family: "Megogo Interface Medium", sans-serif;
  font-size: 8.75px;
  line-height: 10.338px;
  letter-spacing: 0.0646px;
}

.catchup-scene__action {
  position: absolute;
  right: 0;
  top: 50%;
  width: 40px;
  transform: translateY(-50%);
}

.feature-card--recommendations .feature-card__media {
  min-height: 160px;
}

.recommendations-scene {
  position: relative;
  width: 240px;
  height: 160px;
  margin: 0 auto;
}

.recommendations-scene__poster {
  position: absolute;
  top: -40px;
  width: 155px;
  height: 240px;
  opacity: 0.8;
}

.recommendations-scene__poster--left {
  left: -21px;
}

.recommendations-scene__poster--right {
  right: -20px;
}

.recommendations-scene__poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recommendations-scene__center {
  position: absolute;
  left: 62.5px;
  top: 0;
  width: 114px;
  height: 160px;
  border-radius: 12px;
  object-fit: cover;
  box-shadow: 0 11.429px 17.143px rgba(0, 0, 0, 0.25);
}

.feature-card--favorites .feature-card__media {
  height: 240px;
  width: calc(100% + 64px);
  margin: 0 -32px;
  overflow: hidden;
}

.feature-card--favorites,
.feature-card--parental {
  padding-top: 0;
}

.favorites-scene {
  position: relative;
  width: 353px;
  height: 240px;
  margin: 0 auto;
  overflow: hidden;
}

.favorites-column {
  position: absolute;
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 90px;
  transform: rotate(15deg);
}

.favorites-column--a {
  left: 96px;
  top: 66px;
}

.favorites-column--b {
  left: 0;
  top: 133px;
}

.favorites-column--c {
  left: 288px;
  top: 66px;
}

.favorites-column--d {
  left: 192px;
  top: 0;
}

.favorites-column__item {
  width: 90px;
  height: 127px;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
}

.favorites-column__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.favorites-scene::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 92px;
  background: linear-gradient(180deg, rgba(10, 10, 10, 0) 0%, rgba(10, 10, 10, 0.74) 100%);
}

.feature-card--playlists .feature-card__media {
  width: 100%;
  min-height: 160px;
  overflow: visible;
}

.feature-card--playlists .feature-card__media-static {
  position: relative;
  width: 300px;
  height: 160px;
  overflow: hidden;
}

.feature-card--playlists .feature-card__media-static::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 40px;
  background: linear-gradient(180deg, rgba(21, 20, 19, 0) 0%, rgba(21, 20, 19, 0.92) 100%);
  pointer-events: none;
}

.playlists-scene {
  position: relative;
  width: 300px;
  height: 160px;
  margin: 0 auto;
  overflow: hidden;
}

.playlists-scene__ellipse {
  position: absolute;
  left: 84px;
  top: 32px;
  width: 132px;
  height: 96px;
}

.playlists-scene__track {
  position: absolute;
  left: -0.5px;
  top: -64px;
  display: flex;
  align-items: center;
  gap: 7.2px;
  width: 544.8px;
  height: 132px;
}

.playlists-scene__channel {
  position: relative;
  overflow: hidden;
  flex: 0 0 auto;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(18px);
}

.playlists-scene__channel--small {
  width: 96px;
  height: 96px;
  margin-top: 18px;
  border-radius: 18px;
}

.playlists-scene__channel--large {
  width: 132px;
  height: 132px;
  border-radius: 24px;
  backdrop-filter: blur(24.688px);
}

.playlists-scene__channel img {
  position: absolute;
  inset: 8.82%;
  width: auto;
  height: auto;
  max-width: none;
}

.feature-card--settings .feature-card__media {
  min-height: 184px;
}

.settings-scene {
  width: 250px;
  margin: 0 auto;
}

.settings-card {
  position: relative;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.12);
  padding: 11.25px 11.25px 7.5px;
}

.settings-row {
  display: flex;
  align-items: center;
  gap: 9.375px;
  padding: 7.5px 10px;
  min-height: 33.75px;
  border-radius: 7.5px;
  color: #fff;
  font-family: "Megogo Interface Medium", sans-serif;
  font-size: 11.25px;
  line-height: 14.063px;
}

.settings-row--filled {
  background: rgba(255, 255, 255, 0.12);
}

.settings-row + .settings-row {
  margin-top: 10px;
}

.settings-row__label {
  flex: 1 1 auto;
}

.settings-row__value {
  color: #b5b5b5;
  text-align: right;
}

.settings-card__divider {
  width: 223.75px;
  margin: 5px auto;
}

.settings-card__cursor {
  position: absolute;
  left: 143.75px;
  top: 34.375px;
  width: 15px;
}

.feature-card--parental .feature-card__media {
  height: 220px;
  width: calc(100% + 64px);
  margin: 0 -32px;
  overflow: hidden;
}

.parental-scene {
  position: relative;
  width: 353px;
  height: 220px;
  margin: 0 auto;
  overflow: hidden;
}

.parental-scene__background,
.parental-scene__mask {
  position: absolute;
  inset: 0;
}

.parental-scene__background img,
.parental-scene__mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.parental-scene__card {
  position: absolute;
  left: 82.2px;
  top: 39px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: 189.6px;
}

.parental-scene__icon {
  width: 48px;
  height: 48px;
}

.parental-scene__hint {
  margin: 0;
  color: #fff;
  font-family: "Megogo Interface Normal", sans-serif;
  font-size: 12px;
  line-height: 1.2;
  text-align: center;
}

.parental-scene__pins {
  display: flex;
  gap: 7.2px;
}

.parental-scene__pins img {
  width: 42px;
  height: 45px;
}

.feature-card--profiles .feature-card__media {
  min-height: 150px;
}

.profiles-scene {
  width: 264px;
  margin: 0 auto;
  padding-top: 10px;
}

.profiles-scene__list {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.profile-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  width: 80px;
}

.profile-item__avatar,
.profile-item__tile {
  width: 80px;
  height: 80px;
  border-radius: 999px;
}

.profile-item__avatar {
  object-fit: cover;
}

.profile-item__tile {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
}

.profile-item__plus {
  width: 30px;
  height: 30px;
}

.profile-item__meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.profile-item__name {
  margin: 0;
  color: #fff;
  font-family: "Megogo Interface Medium", sans-serif;
  font-size: 9px;
  line-height: 10.125px;
  text-align: center;
}

.profile-item__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 2.109px;
  border-radius: 1.688px;
  color: #fff;
  font-family: "Megogo Interface DemiBold", sans-serif;
  font-size: 6.75px;
  line-height: 8.438px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.prefooter {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 40px;
  min-height: 516px;
  margin-top: 12px;
  padding: 48px 24px;
  border-radius: 48px;
  overflow: hidden;
  background:
    radial-gradient(circle at center 105%, rgba(52, 117, 193, 0.72) 0%, rgba(52, 117, 193, 0.42) 28%, rgba(52, 117, 193, 0) 72%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(19, 31, 49, 0.42) 100%);
}

.prefooter__glow {
  position: absolute;
  left: 0;
  top: 380px;
  width: 353px;
  height: 240px;
  pointer-events: none;
}

.prefooter__avatar {
  width: 120px;
  height: 120px;
  border-radius: 999px;
  object-fit: cover;
}

.prefooter__title {
  margin: 0;
  max-width: 305px;
  font-family: "Megogo Interface Medium", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  text-align: center;
}

.prefooter__contacts {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
}

.prefooter__contacts p,
.prefooter__contacts a {
  margin: 0;
  color: #fff;
  font-family: "Megogo Interface Normal", sans-serif;
  font-size: 20px;
  line-height: 32px;
  text-decoration: none;
}

.prefooter__telegram {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.prefooter__telegram img {
  width: 24px;
  height: 24px;
}

.site-footer {
  margin-top: 12px;
}

.site-footer__art {
  display: block;
  width: 100%;
  height: auto;
}
