@media (max-width: 1199px) {
  :root {
    --sidebar-width: 88px;
    --right-width: 280px;
  }

  .desktop-header { padding: 0 28px; gap: 18px; }
  .brand { min-width: 120px; letter-spacing: 0.18em; }
  .brand-word { display: none; }
  .desktop-nav { gap: 16px; font-size: 0.9rem; }
  .app-shell { gap: 20px; padding: 24px 24px 84px; }
  .side-link span, .sidebar-title, .sidebar .cta-copy { display: none; }
  .side-link { justify-content: center; padding: 14px 10px; }
  .video-stage { min-height: 620px; }
  .profile-grid { grid-template-columns: 270px minmax(0, 1fr); }
  .profile-grid .right-panel { position: static; grid-column: 1 / -1; }
}

@media (max-width: 991px) {
  .desktop-header { display: none; }
  .mobile-header { display: flex; }
  .bottom-nav { display: flex; }
  body { padding-bottom: 76px; }
  body::before { opacity: 0.08; }
  .app-shell,
  .app-shell.no-left,
  .app-shell.no-right {
    display: block;
    padding: 18px 16px 96px;
  }
  .sidebar,
  .right-panel {
    display: none;
  }
  .section-head { align-items: start; flex-direction: column; }
  .video-stage {
    min-height: calc(100vh - 245px);
    border-radius: 24px;
  }
  .video-overlay { padding: 18px; }
  .video-actions { right: 12px; gap: 12px; }
  .video-meta { padding-right: 62px; }
  .video-play-toggle { width: 72px; height: 72px; font-size: 2.6rem; }
  .video-control-row { grid-template-columns: 34px minmax(0, 1fr) auto 34px; gap: 8px; }
  .video-time { font-size: 0.76rem; }
  .event-feature { grid-template-columns: 1fr; }
  .event-feature > .image-cover { min-height: 190px; }
  .profile-cover { height: 170px; margin: 0 -16px; border-radius: 0 0 20px 20px; }
  .profile-grid {
    display: block;
    margin-top: -54px;
  }
  .profile-grid > * { margin-bottom: 16px; }
  .avatar-lg { width: 112px; height: 112px; }
  .auth-body { overflow: hidden; padding-bottom: 0; }
  .auth-page {
    position: relative;
    display: block;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: hidden;
  }
  .auth-panel {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    min-height: 100dvh;
    align-items: center;
    padding: 8px 14px 54px;
  }
  .auth-visual {
    position: fixed;
    inset: 0;
    z-index: 0;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    padding: 0;
    opacity: 0.34;
    pointer-events: none;
  }
  .auth-visual > * { display: none; }
  .auth-card {
    width: min(100%, 92vw);
    max-height: calc(100vh - 68px);
    max-height: calc(100dvh - 68px);
    overflow: hidden;
    padding: clamp(12px, 2.2vh, 18px);
  }
  .auth-card .auth-brand {
    width: 100%;
    justify-content: center;
    margin-bottom: 14px !important;
  }
  .auth-brand .brand-logo {
    width: clamp(82px, 20vw, 112px);
    height: clamp(58px, 14vw, 78px);
  }
  .auth-card h2 {
    margin-bottom: clamp(3px, 0.7vh, 6px);
    font-size: clamp(1.15rem, 3.8vh, 1.55rem);
    text-align: center;
  }
  .auth-card p,
  .auth-card label,
  .auth-card a,
  .auth-card .k-button,
  .auth-card .form-control {
    font-size: clamp(0.72rem, 2.15vh, 0.9rem);
  }
  .auth-card .form-control { min-height: clamp(32px, 5vh, 42px); }
  .auth-card .k-button { min-height: clamp(32px, 4.8vh, 40px); }
  .auth-card .form-label.mt-3 { margin-top: clamp(5px, 1vh, 9px) !important; }
  .auth-card .my-3 { margin-top: clamp(5px, 1vh, 9px) !important; margin-bottom: clamp(5px, 1vh, 9px) !important; }
  .auth-card .mt-3 { margin-top: clamp(5px, 1vh, 9px) !important; }
  .auth-card .mt-4 { margin-top: clamp(6px, 1.2vh, 12px) !important; }
  .auth-copyright {
    left: 16px;
    right: 16px;
    bottom: 10px;
    font-size: 0.76rem;
  }
  .auth-switch {
    left: 16px;
    right: 16px;
    bottom: 10px;
    width: auto;
    font-size: 0.76rem;
  }
  .signup-card {
    width: min(100%, 94vw);
    max-height: calc(100vh - 68px);
    max-height: calc(100dvh - 68px);
    padding: clamp(9px, 1.55vh, 14px);
  }
  .signup-card h2 {
    font-size: clamp(1rem, 3.1vh, 1.35rem);
  }
  .signup-card .progress.my-3 {
    height: 5px !important;
  }
  .signup-card .row.g-3 {
    --bs-gutter-x: 8px;
    --bs-gutter-y: clamp(4px, 0.75vh, 8px);
  }
  .signup-card .form-label {
    margin-bottom: clamp(2px, 0.45vh, 5px);
  }
  .signup-card .form-control,
  .signup-card .form-select,
  .signup-card .country-picker-trigger,
  .signup-card .gender-option span {
    min-height: clamp(29px, 4.15vh, 38px);
    border-radius: 10px;
  }
  .signup-card .country-picker-trigger,
  .signup-card .gender-option span {
    padding-top: clamp(4px, 0.6vh, 7px);
    padding-bottom: clamp(4px, 0.6vh, 7px);
  }
  .signup-card .password-rules {
    gap: 4px;
    margin-top: 4px !important;
  }
  .signup-card .password-rules span,
  .signup-card .small-k,
  .signup-card .k-chip {
    font-size: clamp(0.62rem, 1.75vh, 0.78rem);
  }
  .signup-card .password-rules span {
    padding: 3px 7px;
  }
  .signup-card .k-chip {
    min-height: 26px;
    padding: 4px 8px;
  }
  .signup-card .d-flex.justify-content-between.mt-4 {
    margin-top: clamp(6px, 1vh, 10px) !important;
  }
  .footer-k { display: none; }
}

@media (max-width: 767px) {
  h1 { font-size: 2rem; }
  .brand-logo { width: 58px; height: 36px; }
  .mobile-header .brand-word { display: inline; font-size: 0.94rem; letter-spacing: 0.26em; }
  .mobile-header .brand { min-width: 0; gap: 8px; }
  .mobile-header .icon-btn { width: 38px; height: 38px; }
  .k-card.padded { padding: 18px; }
  .video-stage {
    margin: 0 -2px;
    min-height: 680px;
  }
  .video-thumb { width: 178px; }
  .card-img-top-k { height: 166px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .toast-container-k {
    left: 14px;
    right: 14px;
    bottom: 88px;
  }
  .toast-koryaan { min-width: 0; }
  .desktop-only { display: none !important; }
}

@media (min-width: 992px) {
  .mobile-only { display: none !important; }
}
