@media (width < 1440px) {

  .s-features-b__fade { display: none; }
  .s-fc .s-fc__curve { left: auto; right: -2px; }
}

@media (width < 1280px) {

  .s-fa__band,
  .s-features-b__band,
  .s-fc .s-fc__row { padding-inline: clamp(20px, 5vw, 40px); }
  .s-fa__band > .s-fa__card,
  .s-features-b__band > .s-features-b__card,
  .s-fc .s-fc__row > .s-fc__card {
    width: auto;
    max-width: 592px;
    margin-inline: auto !important;
  }
  .s-fa__card + .s-fa__card,
  .s-fc .s-fc__card + .s-fc__card { margin-top: 24px; }

  .s-fa__anime-art {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: 459px;
    height: auto;
    aspect-ratio: 1 / .802;
    margin: 0 auto 28px;
    transform: none;
  }
  .s-fa__anime-inner {
    left: -10.2%;
    top: -24.813%;
    width: 120%;
    height: auto;
    aspect-ratio: 1;
  }
  .s-fa__shot { margin-top: 0; }
  .s-fa__card--anime .s-fa__title { margin-top: 0; }

  .s-features-b__art { aspect-ratio: 546 / 482; }
  .s-features-b__card--manga .s-features-b__title,
  .s-features-b__card--manga .s-features-b__body,
  .s-features-b__card--live .s-features-b__title,
  .s-features-b__card--live .s-features-b__body { margin-inline: 28px; }
  .s-features-b__body { font-size: 16px; line-height: 25px; }

  .s-fc .s-fc__mock--ai,
  .s-fc .s-fc__mock--song,
  .s-fc .s-fc__mock--party {
    order: -1;
    margin: 0 auto 28px;
    width: 100%;
    max-width: 350px;
  }
  .s-fc .s-fc__text { line-height: 25px; font-size: 16px; }
  .s-fc .s-fc__title { text-wrap: balance; }
  .s-fc .s-fc__mock--ai { gap: 16px; }
  .s-fc .s-fc__search {
    width: calc(100% - 12px); align-self: flex-end;
    height: auto; min-height: 57px; align-items: center; gap: 10px;
    padding: 12px 14px;
  }
  .s-fc .s-fc__search-icon,
  .s-fc .s-fc__search-rule { margin: 0; }
  .s-fc .s-fc__search-text {
    margin: 0; padding: 0; white-space: normal;
    overflow: visible; text-overflow: clip; line-height: 20px;
  }
  .s-fc .s-fc__result { width: calc(100% - 12px); max-width: 300px; align-self: flex-end; }
  .s-fc .s-fc__result-title { right: 10px; font-size: 14px; line-height: 20px; white-space: normal; }
  .s-fc .s-fc__result-sub { top: 48px; line-height: 16px; }

  .s-fc .s-fc__mock--song { position: relative; display: block; height: 230px; max-width: 320px; }
  .s-fc .s-fc__album {
    position: absolute;
    inset: 0 0 auto auto;
    width: min(208px, 80%);
    height: auto;
    aspect-ratio: 208 / 215;
  }
  .s-fc .s-fc__album-art { left: 24%; top: 15.35%; width: 52%; height: auto; aspect-ratio: 1; }
  .s-fc .s-fc__album-title,
  .s-fc .s-fc__album-sub { left: 50%; width: 100%; text-align: center; line-height: 18px; }
  .s-fc .s-fc__album-title { top: 72%; }
  .s-fc .s-fc__album-sub { top: 82%; }
  .s-fc .s-fc__wave { position: absolute; left: 0; top: 64px; width: min(208px, 90%); }

  .s-fc .s-fc__mock--party { max-width: 320px; }
  .s-fc .s-fc__sync-text {
    left: 50%; top: 52%; transform: translate(-50%, -50%);
    width: max-content; max-width: 100%; height: auto;
    text-align: center; font-size: clamp(12px, 3.5vw, 15px);
  }
  .s-fc .s-fc__cursor { left: auto; right: 10px; top: 6px; }
  .s-fc .s-fc__device { width: 100%; max-width: none; height: auto; min-height: 57px; padding: 10px 14px; }
  .s-fc .s-fc__device-name { min-width: 0; white-space: normal; font-size: 14px; line-height: 20px; }

  .s-fc .s-fc__card--themes { display: grid; grid-template-columns: minmax(0, 1fr); }
  .s-fc .s-fc__swatches { grid-column: 1; grid-row: 1; align-self: start; width: 100%; margin: 0; }
  .s-fc .s-fc__cat {
    grid-column: 1; grid-row: 1; position: relative; inset: auto;
    align-self: end; justify-self: end;
    width: 280px; max-width: 100%; margin: 88px 0 0;
    transform: translateX(-8px);
  }

  .s-fc .s-fc__cat > svg {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1;
    transform: translateY(-50%) !important;
  }
  .s-fc .s-fc__card--themes .s-fc__title { grid-row: 2; margin-top: 28px; }
  .s-fc .s-fc__card--themes .s-fc__text { grid-row: 3; }
  .s-fc .s-fc__faces li { width: clamp(48px, 13.5vw, 65px); height: clamp(48px, 13.5vw, 65px); }
  .s-fc .s-fc__card--notify { isolation: isolate; }
  .s-fc .s-fc__mock--notify { margin-inline: auto; }

  .s-fc .s-fc__curve {
    position: absolute;
    display: block;
    left: auto;
    right: -2px;
    top: 0;
    width: min(48%, 380px);
    max-width: none;
    height: calc(100% - 48px);
    z-index: -1;
    pointer-events: none;
  }
  .s-fc .s-fc__curve-in { inset: 0; }
  .s-fc .s-fc__nbox--title,
  .s-fc .s-fc__nbox--sub,
  .s-fc .s-fc__ntilt { min-width: 0; }

  .s-give__row { padding-inline: clamp(20px, 5vw, 40px); }
  .s-give__card { width: 100%; max-width: 592px; margin-inline: auto; padding: 28px; }
  .s-give__figure { width: 100%; height: 240px; margin-bottom: 28px; }
  .s-give__stage--lottie {
    width: min(100%, 260px); height: auto; aspect-ratio: 1; max-width: 100%;
    transform: none;
  }
  .s-give__art { max-width: 100%; max-height: 100%; object-fit: contain; }
  .s-give__title { overflow-wrap: normal; }
  .s-give__links a { min-width: 0; }
  .s-give__links a > span:last-child { min-width: 0; }
}

@media (max-width: 640px) {
  .s-fc .s-fc__cat {
    width: 260px;
    max-width: 100%;
    margin-top: 88px;
    transform: translateX(-8px);
  }
  .s-fa__card--player,
  .s-fa__card--anime { padding: 24px 24px 32px; }
  .s-fa__card--player .s-fa__title { margin-top: 28px; }
  .s-fa__card--player .s-fa__body,
  .s-fa__card--anime .s-fa__body { margin-top: 16px; }
  .s-features-b__title { font-size: 34px; line-height: 38px; white-space: normal; }
  .s-features-b__card--manga .s-features-b__body { font-size: 16px; line-height: 25px; }

  .s-give__figure { height: 220px; }
  .s-give__stage--lottie { width: min(100%, 220px); }
}

@media (max-width: 360px) {
  .s-fa__card--player,
  .s-fa__card--anime { padding-inline: 20px; }
  .s-features-b__card--manga .s-features-b__title,
  .s-features-b__card--manga .s-features-b__body,
  .s-features-b__card--live .s-features-b__title,
  .s-features-b__card--live .s-features-b__body { margin-inline: 24px; }
  .s-fc .s-fc__device-name { margin-inline: 10px; }
  .s-give__card { padding-inline: 24px; }
  .s-give__title { font-size: 30px; line-height: 36px; }
  .s-give__cta { padding-inline: 14px; gap: 8px; }
}

@media (width < 1440px) {
  .s-fc {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: stretch;
    gap: 24px;
    padding: 24px max(24px, calc((100% - 1216px) / 2)) 88px;
  }
  .s-fc .s-fc__row {
    display: contents;
    padding: 0;
    margin: 0;
  }
  .s-fc .s-fc__row > .s-fc__card {
    grid-column: span 6;
    width: auto !important;
    min-width: 0;
    max-width: none;
    margin: 0 !important;
  }
  .s-fc .s-fc__row > .s-fc__card--notify { grid-column: 1 / -1; }
}

@media (min-width: 1280px) and (width < 1440px) {
  .s-fc .s-fc__cat { width: 250px; right: 20px; }
  .s-fc .s-fc__row > .s-fc__card--ai,
  .s-fc .s-fc__row > .s-fc__card--notify { grid-column: span 7; }
  .s-fc .s-fc__row > .s-fc__card--song,
  .s-fc .s-fc__row > .s-fc__card--social { grid-column: span 5; }
  .s-fc .s-fc__row > .s-fc__card--party,
  .s-fc .s-fc__row > .s-fc__card--cast,
  .s-fc .s-fc__row > .s-fc__card--themes { grid-column: span 4; }
}

@media (min-width: 900px) and (width < 1440px) {
  .s-fa__band,
  .s-features-b__band {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 24px;
    padding-inline: max(24px, calc((100% - 1216px) / 2));
  }
  .s-fa__band > .s-fa__card,
  .s-features-b__band > .s-features-b__card {
    width: auto !important;
    min-width: 0;
    max-width: none;
    margin: 0 !important;
  }
}

@media (min-width: 1280px) and (width < 1440px) {
  .s-fa__band,
  .s-features-b__band { gap: 32px; }
  .s-features-b__band > .s-features-b__card { height: 701px; padding-bottom: 0; }
  .s-features-b__art { width: 546px; height: 482px; }
  .s-features-b__art-inner { width: 545px; height: 545px; }
}

@media (min-width: 900px) and (width < 1280px) {
  .s-fa__card { min-height: 0; }
  .s-fa__card--player,
  .s-fa__card--anime { padding: 28px 28px 36px; }
  .s-fa__title { font-size: 36px; line-height: 40px; white-space: normal; }
  .s-fa__card--player .s-fa__title { margin-top: 28px; }
  .s-fa__body { font-size: 16px; line-height: 25px; }
  .s-features-b__title { font-size: 36px; line-height: 40px; white-space: normal; }
  .s-features-b__card--manga .s-features-b__body,
  .s-features-b__card--live .s-features-b__body { font-size: 16px; line-height: 25px; }
  .s-features-b__card--manga { padding-bottom: 36px; }
  .s-fc .s-fc__card { padding: 28px; }
  .s-fc .s-fc__title { font-size: 30px; line-height: 36px; }
  .s-fc .s-fc__card--ai .s-fc__title,
  .s-fc .s-fc__card--song .s-fc__title { margin-top: auto; }
  .s-fc .s-fc__cat {
    width: 320px;
    margin: 72px 0 -24px;
    transform: translateX(-24px);
  }
  .s-fc .s-fc__card--social { justify-content: center; }
  .s-fc .s-fc__card--notify {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    column-gap: 40px;
    min-height: 320px;
    padding: 36px;
  }
  .s-fc .s-fc__card--notify .s-fc__title { grid-column: 1; grid-row: 1; align-self: end; }
  .s-fc .s-fc__card--notify .s-fc__text { grid-column: 1; grid-row: 2; align-self: start; }
  .s-fc .s-fc__mock--notify {
    grid-column: 2; grid-row: 1 / span 2;
    align-self: center; justify-self: end;
    width: 100%; max-width: 344px; margin: 0;
  }
}

@media (min-width: 1100px) and (width < 1280px) {
  .s-fc .s-fc__cat {
    --theme-growth: clamp(0px, calc((100vw - 1100px) * .45), 80px);
    width: calc(320px + var(--theme-growth));
    margin-top: calc(72px + var(--theme-growth) * .2);
    transform: translateX(calc(-24px - var(--theme-growth) * .2));
  }
}

@media (width < 1280px) {

  .s-features-b__epg { height: 384px; }
  .s-features-b__row,
  .s-features-b__slot { height: 88px; }
  .s-features-b__row--a { top: 40px; }
  .s-features-b__row--b { top: 144px; }
  .s-features-b__row--c { top: 248px; }
  .s-features-b__slot--a1 { left: 0; width: 16%; }
  .s-features-b__slot--a2 { left: 18%; width: 76%; }
  .s-features-b__slot--a3 { left: 96%; width: 24%; }
  .s-features-b__slot--b1 { left: 0; width: 8%; }
  .s-features-b__slot--b2 { left: 10%; width: 76%; }
  .s-features-b__slot--b3 { left: 88%; width: 24%; }
  .s-features-b__slot--c1 { left: 0; width: 12%; }
  .s-features-b__slot--c2 { left: 14%; width: 76%; }
  .s-features-b__slot--c3 { left: 92%; width: 24%; }
  .s-features-b__slot--now .s-features-b__prog {
    top: 12px; left: 12px; right: 12px; transform: none;
    white-space: normal; line-height: 18px; font-size: 13.5px;
    text-align: left; mask-image: none;
  }
  .s-features-b__slot--now .s-features-b__when { left: 12px; top: 51px; transform: none; font-size: 11.5px; }
  .s-features-b__slot--now .s-features-b__pill { left: auto; right: 12px; top: 56px; width: 42px; }
  .s-features-b__playhead { top: 20px; height: 344px; }
  .s-features-b__card--live .s-features-b__title { margin-top: 408px; }
  .s-features-b__card--live { padding-bottom: 36px; }
}

@media (min-width: 900px) and (width < 1280px) {
  .s-features-b__card {
    container-type: inline-size;
  }
  .s-features-b__art,
  .s-features-b__epg {
    --preview-height: clamp(384px, calc((100cqw - 46px) * 482 / 546), 482px);
    height: var(--preview-height);
    aspect-ratio: auto;
  }
  .s-features-b__epg {
    --epg-row-height: clamp(88px, calc((var(--preview-height) - 112px) / 3), 100px);
  }
  .s-features-b__row,
  .s-features-b__slot { height: var(--epg-row-height); }
  .s-features-b__row--a { top: calc((100% - 3 * var(--epg-row-height) - 32px) / 2); }
  .s-features-b__row--b { top: calc((100% - var(--epg-row-height)) / 2); }
  .s-features-b__row--c { top: calc((100% + var(--epg-row-height) + 32px) / 2); }
  .s-features-b__playhead { height: calc(100% - 40px); }
  .s-features-b__card--live .s-features-b__title {
    margin-top: calc(clamp(384px, (100cqw - 46px) * 482 / 546, 482px) + 21px);
  }
}

@media (min-width: 900px) and (width < 1100px) {
  .s-features-b__card {
    --compact-preview-height: clamp(304px, calc((100cqw - 32px) * .755 + 32px), 380px);
    padding-bottom: 28px;
  }
  .s-features-b__art,
  .s-features-b__epg { height: var(--compact-preview-height); }
  .s-features-b__art { margin-inline: 16px; }
  .s-features-b__art-inner {
    position: absolute;
    left: 50%; top: 50%;
    width: 110%; max-width: none;
    transform: translate(-50%, -50%);
  }
  .s-features-b__row--a { display: none; }
  .s-features-b__epg { --epg-row-height: 96px; }
  .s-features-b__row--b { top: calc((100% - 208px) / 2); }
  .s-features-b__row--c { top: calc((100% + 16px) / 2); }
  .s-features-b__card--manga .s-features-b__title { margin-top: 16px; }
  .s-features-b__card--live .s-features-b__title { margin-top: calc(var(--compact-preview-height) + 16px); }
  .s-features-b__body { margin-top: 16px; }
}

@media (width < 900px) {
  .s-fa__title { font-size: 34px; line-height: 36px; white-space: normal; }
  .s-fa__body { font-size: 16px; line-height: 25px; }
  .s-features-b__title { font-size: 34px; line-height: 38px; white-space: normal; }

  .s-features-b__band {
    display: flex;
    flex-direction: column-reverse;
    gap: 32px;
  }
  .s-features-b__band > .s-features-b__card { width: 100% !important; }
  .s-features-b__card--manga { margin-bottom: 0; }
  .s-fc { padding-inline: max(20px, calc((100% - 592px) / 2)); padding-bottom: 64px; }
  .s-fc .s-fc__row > .s-fc__card { grid-column: 1 / -1; }
  .s-fc .s-fc__mock--notify {
    order: -1;
    margin: 0 auto 28px;
    grid-template-columns: minmax(0, 1fr) auto auto;
  }
  .s-fc .s-fc__app--tg { grid-column: 2; }
  .s-fc .s-fc__app--dc { grid-column: 3; }
  .s-fc .s-fc__curve { width: min(80%, 333px); height: clamp(240px, 44vw, 280px); }
  .s-fc .s-fc__swatches { margin-top: 16px; }
  .s-fc .s-fc__cat {
    width: min(360px, 100%);
    justify-self: center;
    margin: 104px 0 -24px;
    transform: translateX(-8px);
  }
}

@media (max-width: 400px) {
  .s-features-b__row--a { display: none; }
  .s-features-b__row--b { top: 40px; }
  .s-features-b__row--c { top: 144px; }
  .s-features-b__epg { height: 280px; }
  .s-features-b__playhead { height: 240px; }
  .s-features-b__card--live .s-features-b__title { margin-top: 304px; }

  .s-fc .s-fc__mock--ai .s-fc__badge,
  .s-fc .s-fc__mock--ai .s-fc__search { display: none; }
  .s-fc .s-fc__mock--ai {
    display: grid;
    grid-template-columns: 15px minmax(0, 1fr);
    gap: 12px 8px;
    max-width: 300px;
  }
  .s-fc .s-fc__spark {
    grid-column: 1; grid-row: 1;
    align-self: center; order: initial; margin: 0;
  }
  .s-fc .s-fc__match {
    grid-column: 2; grid-row: 1;
    order: initial; margin: 0; line-height: 20px;
  }
  .s-fc .s-fc__result { grid-column: 1 / -1; grid-row: 2; width: 100%; }
}

@media (width < 900px) {
  .s-fa__title,
  .s-features-b__title,
  .s-fc .s-fc__title,
  .s-give__title { font-size: 34px; line-height: 40px; }

  .s-fa__body,
  .s-features-b__card--manga .s-features-b__body,
  .s-features-b__card--live .s-features-b__body,
  .s-fc .s-fc__text,
  .s-06-dark-a__note,
  .s-07-dark-b__lead,
  .s-07-dark-b__note,
  .s-give__body,
  .s-give__host-body { font-size: 18px; line-height: 28px; }

  .s-07-dark-b__note { width: auto; margin-inline: auto; padding-inline: 24px; white-space: normal; text-align: center; }
  .s-fc .s-fc__device-name,
  .s-fc .s-fc__ntitle { font-size: 15px; line-height: 21px; }
  .s-fc .s-fc__nsub { font-size: 13px; line-height: 18px; }
  .s-features-b__card--manga {
    --manga-frame-inset: 23px;
    container-type: inline-size;
  }

  .s-features-b__art {
    --manga-canvas-size: min(calc((100cqw - 2 * var(--manga-frame-inset)) * 1.1), 600px);
    margin-inline: var(--manga-frame-inset);
    aspect-ratio: auto;
    height: calc(var(--manga-canvas-size) * .69 + 32px);
  }
  .s-features-b__card--manga .s-features-b__title { margin-top: 12px; }
  .s-features-b__card--manga .s-features-b__body { margin-top: 16px; }
  .s-features-b__art-inner {
    position: absolute;
    left: 50%; top: 50%;
    width: 110%; max-width: 600px;
    transform: translate(-50%, -50%);
  }
}

@media (max-width: 620px) {
  .s-features-b__card--manga { --manga-frame-inset: 14px; }
}

.s-features-b__card--manga .s-features-b__title { margin-top: 18px; }
.s-features-b__card--manga .s-features-b__body { margin-top: 16px; }

@media (min-width: 1280px) {
  .s-fa__band { align-items: stretch; }
  .s-fa__card { height: auto; min-height: 620px; }
  .s-fa__card--anime { padding-top: 432px; padding-bottom: 32px; }
  .s-fa__anime-art { top: 40px; }
  .s-fa__card--anime .s-fa__body {
    width: calc(100% - 136px);
    margin-top: 12px;
    font-size: 16px;
    line-height: 25px;
  }
  .s-features-b__art { height: 458px; }
  .s-features-b__card--manga { height: auto; min-height: 701px; padding-bottom: 32px; }
}

@media (max-width: 700px) {
  .s-give__card--stremio .s-give__figure {
    height: clamp(200px, 62vw, 280px);
    margin-bottom: 16px;
  }
  .s-give__card--stremio .s-give__stage--lottie {
    width: min(calc(100% + 16px), 340px);
    max-width: none;
  }
}
