.service-slide {
      gap: 12px;
      --service-phone-w: clamp(230px, calc(var(--stage-w) * .18), 315px);
      --service-phone-h: min(calc(var(--stage-h) - 130px), calc(var(--service-phone-w) * 20 / 9));
      --feature-phone-col: var(--service-phone-w);
      --feature-phone-col-md: var(--service-phone-w);
      --feature-phone-col-short: var(--service-phone-w);
      --feature-phone-col-tiny: var(--service-phone-w);
      --topic-phone-h: var(--service-phone-h);
      --topic-phone-max-h: calc(100% - 12px);
      --topic-phone-shift: translateY(0);
    }

    .service-head {
      display: grid;
      gap: 10px;
    }

    .service-title {
      max-width: none;
      font-size: 56px;
    }

    .feature-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) var(--service-phone-w);
      gap: 26px;
      align-items: stretch;
      min-height: 0;
    }

    .feature-grid {
      display: flex;
      flex-direction: column;
      gap: 8px;
      min-height: 0;
    }

    .feature-item {
      position: relative;
      display: grid;
      grid-template-columns: 58px minmax(0, 1fr);
      align-items: center;
      gap: 14px;
      flex: 0 1 58px;
      min-height: 0;
      overflow: hidden;
      padding: 12px 14px;
      border-radius: 8px;
      background: rgba(255, 255, 255, .82);
      border: 1px solid rgba(47, 111, 191, .14);
      box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
      backdrop-filter: blur(16px) saturate(1.35);
      -webkit-backdrop-filter: blur(16px) saturate(1.35);
      cursor: pointer;
      text-align: left;
      font: inherit;
      transition:
        flex-basis 260ms cubic-bezier(.2, .8, .2, 1),
        padding 260ms cubic-bezier(.2, .8, .2, 1),
        transform 180ms cubic-bezier(.2, .8, .2, 1),
        border-color 180ms cubic-bezier(.2, .8, .2, 1),
        box-shadow 180ms cubic-bezier(.2, .8, .2, 1),
        opacity 180ms cubic-bezier(.2, .8, .2, 1);
    }

    .feature-item:not(.is-active) {
      opacity: .74;
    }

    .feature-item:hover,
    .feature-item.is-active {
      border-color: rgba(47, 111, 191, .42);
      box-shadow: 0 18px 40px rgba(47, 111, 191, .15);
      transform: translateY(-1px);
    }

    .feature-item.is-active {
      align-items: start;
      flex-basis: 206px;
      padding: 16px 18px;
      opacity: 1;
    }

    .feature-item:focus-visible {
      outline: 3px solid rgba(47, 111, 191, .28);
      outline-offset: 3px;
    }

    .feature-num {
      display: grid;
      place-items: center;
      width: 58px;
      height: 28px;
      border-radius: 7px;
      background: var(--blue);
      color: #fff;
      font-size: 16px;
      line-height: 1;
      font-weight: 950;
      box-shadow: 0 10px 22px rgba(47, 111, 191, .2);
    }

    .feature-copy {
      min-width: 0;
    }

    .feature-copy strong {
      display: block;
      color: #000;
      font-size: 17px;
      line-height: 1.05;
      font-weight: 950;
      transition: font-size 260ms cubic-bezier(.2, .8, .2, 1);
    }

    .feature-item.is-active .feature-copy strong {
      font-size: 24px;
    }

    .feature-copy span {
      display: block;
      margin-top: 5px;
      color: #606060;
      font-size: 15px;
      line-height: 1.12;
      font-weight: 850;
    }

    .feature-details {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      max-height: 0;
      margin-top: 0;
      opacity: 0;
      overflow: hidden;
      transform: translateY(-6px);
      transition:
        max-height 260ms cubic-bezier(.2, .8, .2, 1),
        margin-top 260ms cubic-bezier(.2, .8, .2, 1),
        opacity 200ms cubic-bezier(.2, .8, .2, 1),
        transform 260ms cubic-bezier(.2, .8, .2, 1);
    }

    .feature-item.is-active .feature-details {
      max-height: 112px;
      margin-top: 12px;
      opacity: 1;
      transform: none;
    }

    .feature-detail-card {
      display: grid;
      grid-template-columns: 36px minmax(0, 1fr);
      align-items: start;
      gap: 10px;
      min-height: 64px;
      padding: 10px;
      border-radius: 8px;
      background: rgba(235, 242, 250, .86);
      border: 1px solid rgba(47, 111, 191, .16);
      color: #1f2937;
      font-size: 11.5px;
      line-height: 1.12;
      font-weight: 820;
      box-shadow: 0 10px 24px rgba(47, 111, 191, .08);
    }

    .feature-detail-card b {
      display: block;
      margin-bottom: 5px;
      color: var(--blue);
      font-size: 16px;
      line-height: 1;
      font-weight: 950;
    }

    .detail-icon {
      display: grid;
      place-items: center;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: #fff;
      color: var(--blue);
      border: 1px solid rgba(47, 111, 191, .2);
      box-shadow: 0 10px 22px rgba(47, 111, 191, .1);
    }

    .detail-icon svg {
      width: 21px;
      height: 21px;
      stroke: currentColor;
      stroke-width: 2.6;
      stroke-linecap: round;
      stroke-linejoin: round;
      fill: none;
    }

    .phone-panel {
      position: relative;
      display: grid;
      place-items: center;
      min-height: 0;
      border-radius: 8px;
      background: transparent;
      border: 0;
      box-shadow: none;
      overflow: visible;
    }

    .phone-frame {
      position: relative;
      z-index: 1;
      width: auto;
      height: var(--service-phone-h);
      max-height: calc(100% - 12px);
      aspect-ratio: 9 / 20;
      overflow: hidden;
      border: 9px solid #05070a;
      border-radius: 32px;
      background: #05070a;
      box-shadow:
        0 24px 64px rgba(15, 23, 42, .28),
        inset 0 0 0 1px rgba(255, 255, 255, .1);
    }

    .phone-frame::before {
      content: "";
      position: absolute;
      top: 8px;
      left: 50%;
      z-index: 5;
      width: 86px;
      height: 18px;
      border-radius: 999px;
      background: #05070a;
      transform: translateX(-50%);
    }

    .phone-frame img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      background: #05070a;
      transition: opacity 180ms cubic-bezier(.2, .8, .2, 1), transform 220ms cubic-bezier(.2, .8, .2, 1);
    }

    .phone-arrows {
      position: absolute;
      inset: 0;
      z-index: 7;
      display: none;
      pointer-events: none;
    }

    .phone-frame.show-manual-arrows:not(.has-custom-screen) .phone-arrows {
      display: block;
    }

    .phone-arrow {
      appearance: none;
      -webkit-appearance: none;
      position: absolute;
      top: 50%;
      display: grid;
      place-items: center;
      width: 20px;
      height: 60px;
      padding: 0;
      border: 0;
      background: transparent;
      color: rgba(255, 255, 255, .24);
      cursor: pointer;
      pointer-events: auto;
      font-size: 58px;
      line-height: 1;
      font-weight: 300;
      font-family: inherit;
      text-shadow: 0 3px 14px rgba(0, 0, 0, .5);
      transform: translateY(-50%);
    }

    .phone-arrow:hover,
    .phone-arrow:focus-visible {
      color: rgba(255, 255, 255, .4);
    }

    .phone-frame.show-planner-checklist .phone-arrow {
      color: rgba(5, 7, 10, .22);
      text-shadow: none;
    }

    .phone-frame.show-planner-checklist .phone-arrow:hover,
    .phone-frame.show-planner-checklist .phone-arrow:focus-visible {
      color: rgba(5, 7, 10, .38);
    }

    .phone-arrow:focus-visible {
      outline: 2px solid rgba(255, 255, 255, .38);
      outline-offset: 2px;
    }

    .phone-arrow-left {
      left: -1px;
    }

    .phone-arrow-right {
      right: -1px;
    }

    .service-phone-screen {
      position: absolute;
      inset: 0;
      z-index: 3;
      display: grid;
      grid-template-rows: auto minmax(0, 1fr);
      gap: 12px;
      padding: 28px 12px 14px;
      background: #05070a;
      color: #fff;
      opacity: 0;
      transform: scale(.985);
      pointer-events: none;
      transition: opacity 180ms cubic-bezier(.2, .8, .2, 1), transform 220ms cubic-bezier(.2, .8, .2, 1);
    }

    .phone-frame.has-custom-screen img {
      opacity: 0;
      pointer-events: none;
    }

    .phone-frame.show-nps .nps-screen,
    .phone-frame.show-ticket .ticket-screen,
    .phone-frame.show-planner .planner-screen,
    .phone-frame.show-planner-checklist .planner-checklist-screen,
    .phone-frame.show-quiz .quiz-screen,
    .phone-frame.show-hint .hint-screen {
      opacity: 1;
      transform: none;
    }

    .phone-frame.show-ticket::before,
    .phone-frame.show-planner-checklist::before {
      display: none;
    }

    .phone-frame.show-planner-checklist img {
      opacity: 0;
      pointer-events: none;
    }

    .phone-app-top {
      display: grid;
      gap: 8px;
    }

    .phone-status {
      display: flex;
      align-items: center;
      justify-content: space-between;
      color: rgba(255, 255, 255, .82);
      font-size: 9px;
      line-height: 1;
      font-weight: 850;
    }

    .phone-title {
      color: #fff;
      font-size: 16px;
      line-height: 1.08;
      font-weight: 950;
    }

    .phone-subtitle {
      color: rgba(255, 255, 255, .52);
      font-size: 9px;
      line-height: 1.2;
      font-weight: 760;
    }

    .nps-dashboard,
    .ai-dashboard {
      display: grid;
      gap: 8px;
      min-height: 0;
    }

    .nps-hero,
    .phone-card {
      border-radius: 14px;
      background: #1f1f22;
      border: 1px solid rgba(255, 255, 255, .07);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
    }

    .nps-hero {
      display: grid;
      grid-template-columns: 76px minmax(0, 1fr);
      align-items: center;
      gap: 10px;
      padding: 12px;
    }

    .nps-ring {
      display: grid;
      place-items: center;
      width: 76px;
      height: 76px;
      border-radius: 50%;
      background:
        radial-gradient(circle at center, #1f1f22 0 55%, transparent 56%),
        conic-gradient(#2fd086 0 74%, #ff4b4b 74% 100%);
      color: #fff;
      font-size: 21px;
      font-weight: 950;
    }

    .nps-copy strong {
      display: block;
      color: #fff;
      font-size: 13px;
      line-height: 1.1;
      font-weight: 950;
    }

    .nps-copy span {
      display: block;
      margin-top: 5px;
      color: rgba(255, 255, 255, .58);
      font-size: 8px;
      line-height: 1.25;
      font-weight: 720;
    }

    .nps-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 6px;
    }

    .nps-stat {
      min-height: 52px;
      padding: 8px;
      border-radius: 12px;
      background: #1f1f22;
      color: rgba(255, 255, 255, .58);
      font-size: 7px;
      line-height: 1.15;
      font-weight: 760;
    }

    .nps-stat b {
      display: block;
      margin-bottom: 4px;
      color: #fff;
      font-size: 17px;
      line-height: 1;
      font-weight: 950;
    }

    .phone-card {
      padding: 10px;
    }

    .phone-card-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 8px;
      color: #fff;
      font-size: 11px;
      line-height: 1;
      font-weight: 940;
    }

    .phone-card-head span {
      color: rgba(255, 255, 255, .48);
      font-size: 8px;
      font-weight: 760;
    }

    .review-row,
    .ai-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 8px;
      padding: 8px 0;
      border-top: 1px solid rgba(255, 255, 255, .08);
      color: #fff;
      font-size: 8.5px;
      line-height: 1.12;
      font-weight: 830;
    }

    .review-row:first-of-type,
    .ai-row:first-of-type {
      border-top: 0;
      padding-top: 0;
    }

    .review-row span,
    .ai-row span {
      display: block;
      margin-top: 2px;
      color: rgba(255, 255, 255, .5);
      font-size: 7px;
      font-weight: 720;
    }

    .review-mark {
      display: grid;
      place-items: center;
      min-width: 29px;
      height: 22px;
      border-radius: 999px;
      background: rgba(255, 59, 48, .18);
      color: #ff6961;
      font-size: 11px;
      font-weight: 950;
    }

    .ai-note {
      display: grid;
      gap: 7px;
      padding: 11px;
      border-radius: 14px;
      background: linear-gradient(135deg, rgba(47, 111, 191, .28), rgba(47, 208, 134, .2));
      border: 1px solid rgba(255, 255, 255, .08);
    }

    .ai-note b {
      color: #fff;
      font-size: 13px;
      line-height: 1;
      font-weight: 950;
    }

    .ai-note span {
      color: rgba(255, 255, 255, .64);
      font-size: 8px;
      line-height: 1.2;
      font-weight: 740;
    }

    .wave {
      display: grid;
      grid-template-columns: repeat(13, 1fr);
      align-items: center;
      gap: 3px;
      height: 30px;
    }

    .wave i {
      display: block;
      height: var(--h);
      border-radius: 999px;
      background: #5aa9ff;
    }

    .ai-status {
      display: inline-grid;
      place-items: center;
      min-width: 42px;
      height: 22px;
      padding: 0 8px;
      border-radius: 999px;
      background: rgba(47, 208, 134, .16);
      color: #2fd086;
      font-size: 8px;
      font-weight: 950;
    }

    .ai-status.is-risk {
      background: rgba(255, 59, 48, .17);
      color: #ff6961;
    }

    .ticket-screen {
      --lock-pad: 18px;
      grid-template-rows: auto auto auto;
      align-content: start;
      gap: 14px;
      justify-items: center;
      padding: 56px var(--lock-pad) 24px;
      background: linear-gradient(160deg, #b6a4ff 0%, #caa4f5 54%, #d3a9f2 100%);
      color: #fff;
    }

    .ticket-lock-time {
      width: 100%;
      font-size: 60px;
      line-height: .88;
      font-weight: 950;
      letter-spacing: 0;
      text-align: center;
    }

    .ticket-lock-date {
      width: 100%;
      color: rgba(255, 255, 255, .88);
      font-size: 18px;
      line-height: 1;
      font-weight: 600;
      text-align: center;
    }

    .ticket-notification-card {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      align-items: center;
      width: 100%;
      min-height: 46px;
      margin-top: 2px;
      padding: 7px 8px;
      border-radius: 14px;
      background: rgba(255, 255, 255, .94);
      color: #111827;
      box-shadow: 0 18px 42px rgba(66, 45, 112, .16);
      will-change: transform, opacity;
    }

    .phone-frame.show-ticket.play-push .ticket-notification-card {
      animation: ticketPushDrop 1010ms cubic-bezier(.16, 1, .3, 1) both;
    }

    @keyframes ticketPushDrop {
      0% {
        opacity: 0;
        transform: translateY(-128px) scale(.96);
      }

      58% {
        opacity: 1;
        transform: translateY(8px) scale(1);
      }

      78% {
        transform: translateY(-3px) scale(1);
      }

      100% {
        opacity: 1;
        transform: none;
      }
    }

    .ticket-notification-copy {
      min-width: 0;
      align-self: center;
    }

    .ticket-notification-title {
      display: block;
      color: #111827;
      padding-right: 30px;
      font-size: 9.5px;
      line-height: 1;
      font-weight: 950;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .ticket-notification-text {
      display: block;
      margin-top: 2px;
      color: #374151;
      padding-right: 8px;
      font-size: 9.5px;
      line-height: 1.05;
      font-weight: 700;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .ticket-notification-meta {
      position: absolute;
      top: 8px;
      right: 8px;
      color: #9ca3af;
      font-size: 7px;
      font-weight: 800;
    }

    .ticket-timer {
      display: grid;
      place-items: center;
      gap: 7px;
      min-height: 120px;
      border-radius: 18px;
      background:
        radial-gradient(circle at center, #1f1f22 0 57%, transparent 58%),
        conic-gradient(#ff6961 0 74%, rgba(255, 255, 255, .12) 74% 100%);
    }

    .ticket-timer b {
      color: #fff;
      font-size: 34px;
      line-height: 1;
      font-weight: 950;
    }

    .ticket-timer span {
      color: rgba(255, 255, 255, .58);
      font-size: 9px;
      font-weight: 800;
    }

    .ticket-list,
    .planner-list,
    .quiz-options {
      display: grid;
      gap: 7px;
    }

    .ticket-row,
    .planner-row,
    .quiz-option,
    .hint-line {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 8px;
      padding: 9px;
      border-radius: 12px;
      background: #1f1f22;
      border: 1px solid rgba(255, 255, 255, .07);
      color: #fff;
      font-size: 8.5px;
      line-height: 1.12;
      font-weight: 850;
    }

    .ticket-row span,
    .planner-row span,
    .quiz-option span,
    .hint-line span {
      display: block;
      margin-top: 2px;
      color: rgba(255, 255, 255, .5);
      font-size: 7px;
      font-weight: 720;
    }

    .ticket-badge,
    .quiz-badge {
      display: grid;
      place-items: center;
      min-width: 38px;
      height: 23px;
      padding: 0 8px;
      border-radius: 999px;
      background: rgba(255, 59, 48, .17);
      color: #ff6961;
      font-size: 8px;
      font-weight: 950;
    }

    .ticket-badge.is-ok,
    .quiz-badge.is-ok {
      background: rgba(47, 208, 134, .16);
      color: #2fd086;
    }

    .planner-score {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 6px;
    }

    .planner-score div {
      min-height: 50px;
      padding: 8px;
      border-radius: 12px;
      background: #1f1f22;
      color: rgba(255, 255, 255, .54);
      font-size: 7px;
      line-height: 1.15;
      font-weight: 760;
    }

    .planner-score b {
      display: block;
      margin-bottom: 4px;
      color: #fff;
      font-size: 16px;
      line-height: 1;
      font-weight: 950;
    }

    .hint-card {
      display: grid;
      gap: 9px;
      padding: 12px;
      border-radius: 16px;
      background: linear-gradient(135deg, rgba(47, 111, 191, .3), rgba(255, 59, 48, .17));
      border: 1px solid rgba(255, 255, 255, .08);
    }

    .hint-card b {
      color: #fff;
      font-size: 16px;
      line-height: 1;
      font-weight: 950;
    }

    .hint-card span {
      color: rgba(255, 255, 255, .68);
      font-size: 9px;
      line-height: 1.24;
      font-weight: 760;
    }

    .quiz-test-screen {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 12px 9px 10px;
      background: #000;
      overflow: hidden;
    }

    .quiz-statusbar,
    .quiz-topbar,
    .quiz-topic-row,
    .quiz-answer,
    .quiz-bottom-bar {
      min-width: 0;
    }

    .quiz-statusbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      color: rgba(255, 255, 255, .9);
      font-size: 9px;
      line-height: 1;
      font-weight: 950;
    }

    .quiz-topbar {
      display: grid;
      grid-template-columns: 18px minmax(0, 1fr) auto;
      align-items: center;
      gap: 8px;
      padding: 7px 0 8px;
      border-bottom: 1px solid rgba(255, 255, 255, .1);
    }

    .quiz-back {
      color: rgba(255, 255, 255, .9);
      font-size: 27px;
      line-height: .7;
      font-weight: 500;
    }

    .quiz-title-main {
      color: #fff;
      font-size: 14px;
      line-height: 1;
      font-weight: 950;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .quiz-title-main span {
      display: inline-grid;
      place-items: center;
      min-width: 34px;
      height: 22px;
      margin-left: 5px;
      border-radius: 999px;
      background: rgba(20, 80, 170, .3);
      color: #5b8dde;
      font-size: 12px;
    }

    .quiz-online {
      color: rgba(255, 255, 255, .6);
      font-size: 10px;
      line-height: 1;
      font-weight: 900;
    }

    .quiz-topic-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 8px;
      padding: 10px 9px;
      border-radius: 15px;
      background: #1f1f22;
      border: 1px solid rgba(255, 255, 255, .08);
    }

    .quiz-topic-row strong {
      color: #fff;
      font-size: 10.5px;
      line-height: 1.04;
      font-weight: 950;
    }

    .quiz-topic-row span {
      color: rgba(255, 255, 255, .55);
      font-size: 8px;
      line-height: 1;
      font-weight: 850;
      white-space: nowrap;
    }

    .quiz-question-card {
      display: grid;
      gap: 6px;
      padding: 10px 9px;
      border-radius: 18px;
      background: #1f1f22;
      border: 1px solid rgba(255, 255, 255, .08);
      overflow: hidden;
    }

    .quiz-checkmark {
      color: #5b7fc3;
      font-size: 18px;
      line-height: .6;
      font-weight: 950;
    }

    .quiz-question-card h3 {
      margin: 0;
      color: #fff;
      font-size: 15px;
      line-height: 1.12;
      font-weight: 950;
    }

    .quiz-question-card p {
      margin: 0 0 3px;
      color: rgba(255, 255, 255, .55);
      font-size: 10px;
      line-height: 1;
      font-weight: 850;
    }

    .quiz-answer {
      display: grid;
      grid-template-columns: 28px minmax(0, 1fr) 25px;
      align-items: center;
      gap: 8px;
      min-height: 38px;
      padding: 6px 7px;
      border-radius: 12px;
      background: #202023;
      border: 1px solid rgba(255, 255, 255, .07);
      color: rgba(255, 255, 255, .66);
    }

    .quiz-letter {
      display: grid;
      place-items: center;
      width: 26px;
      height: 26px;
      border-radius: 9px;
      background: rgba(255, 255, 255, .03);
      color: rgba(255, 255, 255, .5);
      font-size: 12px;
      line-height: 1;
      font-weight: 950;
    }

    .quiz-answer strong {
      color: inherit;
      font-size: 9.4px;
      line-height: 1.12;
      font-weight: 900;
    }

    .quiz-answer.is-wrong .quiz-letter {
      background: rgba(255, 71, 63, .12);
      color: #c24d49;
    }

    .quiz-answer.is-correct .quiz-letter {
      background: rgba(72, 127, 211, .13);
      color: #557fc6;
    }

    .quiz-mark,
    .quiz-empty {
      display: grid;
      place-items: center;
      width: 23px;
      height: 23px;
      border-radius: 8px;
      font-size: 16px;
      line-height: 1;
      font-weight: 700;
    }

    .quiz-mark {
      color: rgba(255, 255, 255, .86);
      background: #b9433d;
    }

    .quiz-answer.is-correct .quiz-mark {
      background: #4d6fae;
    }

    .quiz-empty {
      border: 2px solid rgba(255, 255, 255, .15);
    }

    .quiz-error {
      display: flex;
      align-items: center;
      gap: 9px;
      margin-top: 3px;
      padding: 9px 11px;
      border-radius: 12px;
      background: rgba(113, 45, 47, .45);
      color: #ff5950;
      font-size: 11px;
      font-weight: 950;
    }

    .quiz-error span {
      display: grid;
      place-items: center;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: #ff4e45;
      color: #231416;
      font-size: 17px;
      line-height: 1;
    }

    .quiz-bottom-bar {
      display: grid;
      gap: 7px;
      margin-top: auto;
      padding-top: 8px;
      border-top: 1px solid rgba(255, 255, 255, .1);
    }

    .quiz-bottom-bar span {
      color: rgba(255, 255, 255, .58);
      font-size: 9px;
      line-height: 1;
      font-weight: 850;
    }

    .quiz-bottom-bar button {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      width: 100%;
      height: 40px;
      border: 0;
      border-radius: 13px;
      background: #5a84d6;
      color: #fff;
      font: inherit;
      font-size: 13px;
      font-weight: 950;
    }

    .quiz-bottom-bar b {
      font-size: 22px;
      line-height: 1;
    }

    @media (max-height: 820px) {
      .service-slide {
        gap: 8px;
        --service-phone-w: clamp(200px, calc(var(--stage-w) * .175), 265px);
        --service-phone-h: min(calc(var(--stage-h) - 112px), calc(var(--service-phone-w) * 20 / 9));
      }

      .service-head {
        gap: 6px;
      }

      .service-title {
        font-size: 42px;
      }

      .feature-item {
        flex-basis: 44px;
        padding: 10px 12px;
      }

      .feature-item.is-active {
        flex-basis: 176px;
        padding: 13px 15px;
      }

      .feature-copy strong {
        font-size: 15px;
      }

      .feature-item.is-active .feature-copy strong {
        font-size: 19px;
      }

      .feature-copy span {
        font-size: 14px;
      }

      .feature-detail-card {
        min-height: 54px;
        padding: 8px;
        font-size: 10.5px;
      }

      .feature-detail-card b {
        font-size: 13px;
      }

      .phone-frame {
        height: var(--service-phone-h);
      }

      .service-phone-screen {
        padding: 22px 10px 12px;
      }

      .ticket-screen {
        --lock-pad: 10px;
        padding: 44px var(--lock-pad) 18px;
      }

      .ticket-lock-time {
        font-size: 42px;
      }

      .ticket-lock-date {
        font-size: 13px;
      }

      .ticket-notification-title {
        padding-right: 22px;
        font-size: 7.7px;
      }

      .ticket-notification-text {
        font-size: 7px;
      }

      .ticket-notification-meta {
        top: 7px;
        right: 7px;
        font-size: 6.4px;
      }

      .quiz-test-screen {
        gap: 5px;
        padding: 9px 7px 8px;
      }

      .quiz-statusbar {
        font-size: 7px;
      }

      .quiz-topbar {
        grid-template-columns: 14px minmax(0, 1fr) auto;
        gap: 6px;
        padding: 5px 0 6px;
      }

      .quiz-back {
        font-size: 21px;
      }

      .quiz-title-main {
        font-size: 11px;
      }

      .quiz-title-main span {
        min-width: 27px;
        height: 17px;
        font-size: 9px;
      }

      .quiz-online {
        font-size: 7px;
      }

      .quiz-topic-row {
        gap: 5px;
        padding: 7px;
        border-radius: 12px;
      }

      .quiz-topic-row strong {
        font-size: 8px;
      }

      .quiz-topic-row span {
        font-size: 6px;
      }

      .quiz-question-card {
        gap: 4px;
        padding: 8px 7px;
        border-radius: 14px;
      }

      .quiz-checkmark {
        font-size: 13px;
      }

      .quiz-question-card h3 {
        font-size: 11px;
      }

      .quiz-question-card p {
        font-size: 7px;
      }

      .quiz-answer {
        grid-template-columns: 22px minmax(0, 1fr) 19px;
        gap: 5px;
        min-height: 29px;
        padding: 5px;
        border-radius: 10px;
      }

      .quiz-letter {
        width: 20px;
        height: 20px;
        border-radius: 7px;
        font-size: 9px;
      }

      .quiz-answer strong {
        font-size: 6.8px;
        line-height: 1.08;
      }

      .quiz-mark,
      .quiz-empty {
        width: 18px;
        height: 18px;
        border-radius: 7px;
        font-size: 12px;
      }

      .quiz-empty {
        border-width: 1.5px;
      }

      .quiz-error {
        gap: 6px;
        padding: 7px 8px;
        border-radius: 10px;
        font-size: 8px;
      }

      .quiz-error span {
        width: 17px;
        height: 17px;
        font-size: 13px;
      }

      .quiz-bottom-bar {
        gap: 5px;
        padding-top: 6px;
      }

      .quiz-bottom-bar span {
        font-size: 7px;
      }

      .quiz-bottom-bar button {
        height: 30px;
        border-radius: 10px;
        font-size: 10px;
      }

      .quiz-bottom-bar b {
        font-size: 17px;
      }
    }

    @media (max-height: 650px) {
      .service-slide {
        gap: 6px;
        --service-phone-w: clamp(180px, calc(var(--stage-w) * .17), 220px);
        --service-phone-h: min(calc(var(--stage-h) - 90px), calc(var(--service-phone-w) * 20 / 9));
      }

      .service-head {
        gap: 4px;
      }

      .service-title {
        font-size: 32px;
      }

      .phone-frame {
        height: var(--service-phone-h);
        border-width: 7px;
        border-radius: 26px;
      }

      .service-phone-screen {
        padding: 18px 8px 9px;
      }

      .ticket-screen {
        padding: 36px var(--lock-pad) 14px;
      }

      .ticket-lock-time {
        font-size: 34px;
      }

      .ticket-lock-date {
        font-size: 10px;
      }

      .ticket-notification-card {
        min-height: 42px;
        padding: 6px 7px;
        border-radius: 12px;
      }

      .ticket-notification-title {
        padding-right: 0;
        font-size: 6.8px;
      }

      .ticket-notification-text {
        padding-right: 0;
        font-size: 5.8px;
        line-height: 1.05;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
      }

      .ticket-notification-meta {
        display: none;
      }
    }

    @media (max-width: 760px), (max-width: 900px) and (orientation: portrait), (max-width: 940px) and (max-height: 520px) {
      .service-title {
        font-size: 33px;
      }

      .feature-layout {
        grid-template-columns: 1fr;
        gap: 10px;
      }

      .feature-grid {
        gap: 8px;
      }

      .feature-item {
        grid-template-columns: 44px minmax(0, 1fr);
        flex-basis: 54px;
        padding: 10px 12px;
      }

      .feature-item.is-active {
        flex-basis: 204px;
        padding: 12px;
      }

      .feature-num {
        width: 44px;
        height: 24px;
        font-size: 13px;
      }

      .feature-copy strong {
        font-size: 15px;
      }

      .feature-item.is-active .feature-copy strong {
        font-size: 18px;
      }

      .feature-copy span {
        font-size: 12px;
      }

      .feature-details {
        grid-template-columns: 1fr;
      }

      .feature-item.is-active .feature-details {
        max-height: 170px;
        margin-top: 8px;
      }

      .feature-detail-card {
        grid-template-columns: 28px minmax(0, 1fr);
        min-height: 0;
        gap: 8px;
        padding: 7px 9px;
        font-size: 11px;
      }

      .feature-detail-card b {
        display: inline;
        margin: 0 5px 0 0;
        font-size: 12px;
      }

      .detail-icon {
        width: 28px;
        height: 28px;
      }

      .detail-icon svg {
        width: 17px;
        height: 17px;
      }

      .phone-panel {
        min-height: 180px;
      }

      .phone-frame {
        height: 170px;
        border-width: 6px;
        border-radius: 22px;
      }

      .phone-frame::before {
        display: none;
      }

      .service-phone-screen {
        padding: 10px 7px 7px;
      }

      .ticket-screen {
        --lock-pad: 10px;
        padding: 28px var(--lock-pad) 10px;
      }

      .ticket-lock-time {
        font-size: 28px;
      }

      .ticket-lock-date {
        font-size: 9px;
      }

      .ticket-notification-card {
        min-height: 34px;
        padding: 5px 7px;
        border-radius: 12px;
      }

      .ticket-notification-title {
        font-size: 7px;
      }

      .ticket-notification-text,
      .ticket-notification-meta {
        display: none;
      }

      .phone-status {
        display: none;
      }

      .phone-title {
        font-size: 9px;
      }

      .phone-subtitle,
      .nps-copy span,
      .phone-card-head span {
        display: none;
      }

      .nps-dashboard,
      .ai-dashboard {
        gap: 5px;
      }

      .nps-hero {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 6px;
        padding: 7px;
      }

      .nps-ring {
        width: 42px;
        height: 42px;
        font-size: 13px;
      }

      .nps-copy strong {
        font-size: 8px;
      }

      .nps-stats {
        gap: 4px;
      }

      .nps-stat {
        min-height: 30px;
        padding: 5px;
        font-size: 4px;
      }

      .nps-stat b {
        font-size: 9px;
      }

      .phone-card,
      .ai-note {
        padding: 6px;
        border-radius: 9px;
      }

      .phone-card-head {
        margin-bottom: 4px;
        font-size: 7px;
      }

      .review-row,
      .ai-row {
        padding: 4px 0;
        font-size: 5px;
      }

      .review-row span,
      .ai-row span {
        font-size: 4px;
      }

      .review-mark,
      .ai-status {
        min-width: 18px;
        height: 14px;
        padding: 0 4px;
        font-size: 5px;
      }

      .ai-note b {
        font-size: 7px;
      }

      .ai-note span {
        display: none;
      }

      .wave {
        height: 14px;
        gap: 2px;
      }

      .ticket-timer {
        min-height: 48px;
        gap: 2px;
        border-radius: 12px;
      }

      .ticket-timer b {
        font-size: 16px;
      }

      .ticket-timer span {
        font-size: 5px;
      }

      .ticket-list,
      .planner-list,
      .quiz-options {
        gap: 4px;
      }

      .ticket-row,
      .planner-row,
      .quiz-option,
      .hint-line {
        gap: 4px;
        padding: 5px;
        border-radius: 8px;
        font-size: 5px;
      }

      .ticket-row span,
      .planner-row span,
      .quiz-option span,
      .hint-line span {
        font-size: 4px;
      }

      .ticket-badge,
      .quiz-badge {
        min-width: 20px;
        height: 14px;
        padding: 0 4px;
        font-size: 5px;
      }

      .planner-score {
        gap: 4px;
      }

      .planner-score div {
        min-height: 30px;
        padding: 5px;
        font-size: 4px;
      }

      .planner-score b {
        font-size: 9px;
      }

      .hint-card {
        gap: 5px;
        padding: 6px;
        border-radius: 10px;
      }

      .hint-card b {
        font-size: 8px;
      }

      .hint-card span {
        font-size: 5px;
      }
    }
