.media-page-mark {
  --service-mark-bg: #ffffff;
  --service-mark-fg: #1b2029;
  --service-mark-ring: rgba(19, 28, 44, .12);
  --service-mark-shadow: rgba(33, 49, 78, .18);
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: grid;
  place-items: center;
  border: 1px solid var(--glass-control-border, rgba(174, 193, 236, .22));
  border-radius: 15px;
  background: var(--glass-control, rgba(255, 255, 255, .07));
  box-shadow: 0 10px 26px rgba(18, 56, 116, .16), inset 0 1px 0 var(--glass-highlight, rgba(255, 255, 255, .18));
}

.media-page-mark svg {
  width: 40px;
  height: 40px;
  display: block;
  overflow: visible;
  filter: drop-shadow(0 5px 8px var(--service-mark-shadow, rgba(33, 49, 78, .18)));
}

.media-page-mark .media-header-screen {
  fill: url(#mediaHeaderSpectrum);
}

.media-page-heading {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.media-page-heading h1 {
  color: var(--text);
  font-size: 21px;
  line-height: 1;
  letter-spacing: -.02em;
}

.media-header-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.media-header-status::before {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  content: "";
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 9px currentColor;
}

.media-header-status[data-active="true"] {
  color: #16a66c;
}

.media-header-status[data-active="false"] {
  color: #dd3e61;
}

.media-hero-brand {
  position: relative;
  z-index: 3;
  grid-area: hero-brand;
  display: flex;
  align-items: center;
  gap: 10px;
  align-self: start;
}

.status-card.torr-controls-card.media-hero-card {
  position: relative;
  min-height: 224px;
  padding: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(120px, .8fr);
  grid-template-areas:
    "hero-brand hero-visual"
    "hero-copy hero-visual"
    "hero-actions hero-actions";
  grid-template-rows: auto 1fr auto;
  align-items: center;
  gap: 10px 12px;
  overflow: hidden;
  border-color: rgba(126, 111, 244, .25);
  background:
    radial-gradient(circle at 92% 18%, rgba(164, 112, 255, .25), transparent 38%),
    radial-gradient(circle at 7% 90%, rgba(50, 199, 255, .16), transparent 34%),
    var(--glass-card);
}

.media-hero-copy {
  position: relative;
  z-index: 2;
  grid-area: hero-copy;
  align-self: center;
}

.media-hero-copy h2 {
  color: var(--text);
  font-size: 20px;
  line-height: 1.12;
  letter-spacing: -.025em;
}

.media-hero-copy p {
  max-width: 245px;
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.42;
}

.media-hero-card .status-side {
  position: relative;
  z-index: 2;
  grid-area: hero-actions;
}

.media-hero-card .vpn-header-actions {
  margin-top: 0;
}

.media-server-visual {
  position: relative;
  z-index: 1;
  grid-area: hero-visual;
  width: 124px;
  height: 128px;
  display: grid;
  place-items: center;
  justify-self: end;
  filter: drop-shadow(0 16px 22px rgba(83, 59, 190, .24));
}

.media-server-visual img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: translateX(-16px) scale(1.28);
  transform-origin: center;
  user-select: none;
  pointer-events: none;
}

.media-server-visual::before {
  position: absolute;
  inset: 10px 2px 2px;
  content: "";
  border-radius: 50%;
  background: radial-gradient(circle, rgba(191, 169, 255, .34), transparent 67%);
  filter: blur(4px);
}

.media-cloud {
  position: absolute;
  z-index: 3;
  top: 2px;
  left: 28px;
  width: 78px;
  height: 51px;
  border-radius: 35px;
  background: linear-gradient(145deg, #f6f1ff, #b8b4ff 70%, #9088ee);
  box-shadow: inset 0 2px 4px rgba(255, 255, 255, .75), 0 9px 16px rgba(67, 54, 151, .20);
}

.media-cloud::before,
.media-cloud::after {
  position: absolute;
  content: "";
  border-radius: 50%;
  background: inherit;
}

.media-cloud::before {
  width: 39px;
  height: 39px;
  top: -13px;
  left: 12px;
}

.media-cloud::after {
  width: 32px;
  height: 32px;
  top: -5px;
  right: 9px;
}

.media-cloud i {
  position: absolute;
  z-index: 2;
  top: 13px;
  left: 31px;
  width: 23px;
  height: 23px;
  border-radius: 8px;
  background: linear-gradient(145deg, #735af4, #9e70ff);
  box-shadow: 0 5px 10px rgba(80, 51, 192, .28);
}

.media-cloud i::before {
  position: absolute;
  inset: 5px 4px 5px 7px;
  content: "";
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #fff;
}

.media-server {
  position: absolute;
  left: 14px;
  width: 104px;
  height: 39px;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 10px;
  background: linear-gradient(180deg, #aaa8fa, #6f72d7);
  box-shadow: inset 0 2px 2px rgba(255, 255, 255, .48), 0 9px 15px rgba(53, 49, 133, .25);
}

.media-server::before {
  position: absolute;
  left: 13px;
  top: 17px;
  width: 46px;
  height: 5px;
  content: "";
  border-radius: 999px;
  background: rgba(255, 255, 255, .60);
  box-shadow: 0 9px 0 rgba(255, 255, 255, .25);
}

.media-server i {
  position: absolute;
  top: 17px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

.media-server i:first-child {
  right: 24px;
  background: #70f6cf;
  box-shadow: 0 0 8px rgba(64, 246, 196, .75);
}

.media-server i:last-child {
  right: 12px;
  background: #7ceeff;
  box-shadow: 0 0 8px rgba(74, 228, 255, .72);
}

.media-server-top {
  z-index: 2;
  top: 53px;
}

.media-server-bottom {
  z-index: 1;
  top: 91px;
  filter: brightness(.91);
}

.media-server-bottom i:first-child {
  background: #ff809e;
  box-shadow: 0 0 8px rgba(255, 94, 128, .70);
}

.media-about-card {
  display: grid;
  gap: 14px;
  padding: 16px;
}

.media-about-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  align-items: start;
  gap: 12px;
}

.media-about-intro > div {
  grid-column: 1;
  grid-row: 1;
}

.media-about-intro h2 {
  font-size: 20px;
  line-height: 1.15;
}

.media-about-intro p {
  margin-top: 8px;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.46;
}

.media-about-icon {
  grid-column: 2;
  grid-row: 1;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: #7763ed;
  border: 1px solid rgba(121, 98, 238, .23);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(132, 101, 244, .17), rgba(69, 185, 255, .10));
  font: 900 19px/1 Georgia, serif;
}

:root[data-theme="light"] .media-page-mark {
  background: linear-gradient(145deg, rgba(255, 255, 255, .95), rgba(232, 241, 255, .87));
}

:root[data-theme="dark"] .media-page-mark {
  --service-mark-bg: #030405;
  --service-mark-fg: #ffffff;
  --service-mark-ring: rgba(255, 255, 255, .16);
  --service-mark-shadow: rgba(0, 0, 0, .30);
}

:root[data-theme="light"] .status-card.torr-controls-card.media-hero-card {
  background:
    radial-gradient(circle at 92% 18%, rgba(167, 117, 255, .25), transparent 38%),
    radial-gradient(circle at 7% 90%, rgba(48, 194, 255, .17), transparent 34%),
    var(--glass-card);
}

@media (max-width: 430px) {
  .media-page-mark {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    border-radius: 14px;
  }

  .media-page-mark svg {
    width: 37px;
    height: 37px;
  }

  .media-page-heading h1 {
    font-size: 19px;
  }

  .status-card.torr-controls-card.media-hero-card {
    min-height: 214px;
    padding: 14px;
    grid-template-columns: minmax(0, 1.25fr) 112px;
    gap: 8px;
  }

  .media-hero-copy h2 {
    font-size: 18px;
  }

  .media-hero-copy p {
    margin-top: 4px;
    font-size: 11.2px;
  }

  .media-server-visual {
    width: 112px;
    height: 120px;
    transform: scale(.82);
    transform-origin: center right;
  }

  .media-about-card {
    padding: 14px;
    gap: 12px;
  }
}

@media (max-width: 350px) {
  .status-card.torr-controls-card.media-hero-card {
    grid-template-columns: minmax(0, 1fr) 88px;
    padding: 14px;
  }

  .media-hero-copy h2 {
    font-size: 17px;
  }

  .media-server-visual {
    transform: scale(.75);
  }

}

@media (prefers-reduced-motion: reduce) {
  .media-server-visual {
    filter: none;
  }
}
