@charset "UTF-8";
.en {
  font-family: "Modak", cursive !important;
}

body {
  background: #1E1E1E;
}

.quiz_body {
  min-height: 100dvh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
}

.main_title {
  text-align: center;
}
.main_title .window {
  width: 80%;
  margin: auto;
}
@media (max-width: 475px) {
  .main_title .window {
    width: 100%;
  }
}

.quiz_screen {
  position: relative;
  width: 570px;
  max-width: 100%;
  height: 100dvh;
  max-height: 900px;
  min-height: 600px;
  margin: auto;
  padding: 2rem 1rem 0 1rem;
  overflow: scroll;
}
.quiz_screen.quiz_start {
  overflow: hidden;
}
@media (max-width: 575px) {
  .quiz_screen {
    padding-top: 3rem;
  }
}

.quiz_yellow {
  background: #FFD747;
  background-image: url("../img/grid.svg");
  background-size: 300px auto;
}

.quiz_screen .window_content {
  padding: 1.75rem 1rem;
}
.quiz_screen h1.title {
  margin: 0;
  text-align: center;
  font-size: 3rem;
}
.quiz_screen .title2 {
  position: relative;
  bottom: 1rem;
  width: 75%;
  margin: auto;
}
@media (max-width: 575px) {
  .quiz_screen h1.title {
    font-size: 2.4rem;
  }
  .quiz_screen .title2 {
    width: 90%;
  }
}

.home_tv {
  bottom: 0;
  max-width: 360px;
  width: 90%;
  -webkit-transform: rotate(-6.5deg) translateY(-50px);
          transform: rotate(-6.5deg) translateY(-50px);
  margin: auto;
  -webkit-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.home_tv .tv_txt {
  opacity: 0;
  top: 50%;
  -webkit-transform: rotate(6deg);
          transform: rotate(6deg);
  font-family: "Press Start 2P";
  font-size: 11px;
  line-height: 1.8;
  color: #fff;
  -webkit-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
@media (max-width: 475px) {
  .home_tv {
    width: 280px;
    -webkit-transform: rotate(-6.5deg) translateY(-20);
            transform: rotate(-6.5deg) translateY(-20);
  }
}

.bg_color {
  position: absolute;
  width: 100%;
  height: 32%;
  bottom: 0;
  left: 0;
  background-image: url("../img/quiz/color.svg");
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  -webkit-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
@media (max-width: 575px) {
  .bg_color {
    height: 42%;
  }
}
@media (max-width: 475px) {
  .bg_color {
    height: 50%;
  }
}

.btn_lg {
  position: relative;
  font-size: 1.2rem;
  padding: 0.75rem 3rem;
  letter-spacing: 0.07em;
  background: #CDFD53;
  color: #1E1E1E;
  border: 2px solid #1E1E1E;
  border-radius: 20px;
  -webkit-box-shadow: 4px 4px 0 #1E1E1E;
          box-shadow: 4px 4px 0 #1E1E1E;
  font-weight: bold;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  display: inline-block;
}
.btn_lg:hover {
  background: #DC5A48;
  color: #fff;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.gameStart {
  position: relative;
  bottom: 2rem;
}

.pointer::before {
  content: "";
  position: absolute;
  right: -1rem;
  bottom: -1rem;
  display: block;
  width: 2rem;
  height: 2rem;
  background-image: url("../img/hero/cursor.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.window_age {
  position: absolute;
  bottom: 5%;
  width: 70%;
  left: 15%;
  display: none;
}
@media (max-width: 475px) {
  .window_age {
    width: 80%;
    left: 10%;
    bottom: 2%;
  }
}

.quiz_age .home_tv {
  bottom: 32%;
  -webkit-transform: rotate(-6.5deg) translateY(-50px) scale(1.2);
          transform: rotate(-6.5deg) translateY(-50px) scale(1.2);
}
.quiz_age .home_tv .tv_txt {
  opacity: 1;
}
.quiz_age .home_tv {
  /* 窄胖：9:16 到接近方形之間（舊手機、平板直向） */
}
@media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 1/1) {
  .quiz_age .home_tv {
    bottom: 40%;
  }
}
.quiz_age .home_tv {
  /* 細長：比 9:16 更窄長（現代手機直向） */
}
@media (max-aspect-ratio: 9/16) {
  .quiz_age .home_tv {
    bottom: 23%;
  }
}
.quiz_age .bg_color {
  height: 64%;
}
@media (max-width: 475px) {
  .quiz_age .bg_color {
    height: 68%;
  }
}
.quiz_age .window_age {
  display: block;
}

.window_age .window_content {
  padding: 1.75rem 1.5rem 1.5rem;
}
.window_age p {
  margin: 0 0 1.25rem;
  line-height: 1.8;
}
.window_age .hl {
  color: #DC5A48;
  font-weight: bold;
}
.window_age .btn {
  width: 100%;
  background: #DC5A48;
  border-radius: 6px;
  padding: 0.85rem 1rem;
  margin-top: 1rem;
  -webkit-box-shadow: 4px 4px 0 #1E1E1E;
          box-shadow: 4px 4px 0 #1E1E1E;
}
.window_age .btn::after {
  display: none;
}
.window_age .btn:hover {
  background: #1E1E1E;
  -webkit-transform: translate(2px, 2px);
          transform: translate(2px, 2px);
  -webkit-box-shadow: 0 0 0 #1E1E1E;
          box-shadow: 0 0 0 #1E1E1E;
}

.input_year_wrap {
  position: relative;
  border: 1px solid #1E1E1E;
  border-radius: 6px;
  background: #fff;
  padding: 0.85rem 1rem;
  margin: 0 auto;
  /* 自訂下拉箭頭 */
}
.input_year_wrap::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #1E1E1E;
  border-bottom: 2px solid #1E1E1E;
  -webkit-transform: translateY(-70%) rotate(45deg);
          transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}

.input_year {
  width: 100%;
  border: none;
  outline: none;
  background: transparent;
  font-family: "Press Start 2P", cursive;
  font-size: 1.6rem;
  color: #1E1E1E;
  text-align: center;
  letter-spacing: 0.15em;
  padding: 0;
  line-height: 1.2;
  cursor: pointer;
  /* 移除瀏覽器預設下拉樣式 */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* 還原 option 樣式（部分瀏覽器會繼承 transparent） */
}
.input_year option {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1rem;
  color: #1E1E1E;
  background: #fff;
  letter-spacing: normal;
}
@media (max-width: 575px) {
  .input_year {
    font-size: 1.4rem;
  }
}

.quiz_qa {
  overflow: hidden;
  background: #000;
  padding: 2.5rem;
}

.qa_bg_video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
  pointer-events: none;
  opacity: 0.1;
}

.qa_content {
  position: relative;
  z-index: 1;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 2;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.qa_content.is-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* 按鈕禁用狀態 */
.is-disabled {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
  opacity: 0.45;
  pointer-events: none;
  cursor: not-allowed;
}

/* 全螢幕淡入淡出 overlay */
.fade_overlay {
  position: fixed;
  inset: 0;
  background: #000;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
.fade_overlay.is-active {
  opacity: 1;
  pointer-events: auto;
}

/* 完成 8 題後 → 結果頁 的過渡畫面 */
.quiz_transition {
  position: fixed;
  inset: 0;
  background: #000;
  z-index: 9998;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2rem;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.45s ease;
  transition: opacity 0.45s ease;
}
.quiz_transition.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.transition_content {
  color: #CDFD53;
  font-family: "VT323", monospace;
  font-size: 0.85rem;
  line-height: 1.9;
  letter-spacing: 0.05em;
  text-align: center;
  max-width: 570px;
  width: 100%;
}

.transition_line {
  margin-bottom: 1rem;
  min-height: 1em;
}

/* 分享 Modal */
.share_modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1rem;
}
.share_modal.is-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.share_modal_backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}

.share_modal_box {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 380px;
  background: #fff;
  border: 2px solid #1E1E1E;
  -webkit-box-shadow: 6px 6px 0 #1E1E1E;
          box-shadow: 6px 6px 0 #1E1E1E;
  -webkit-animation: shareModalIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
          animation: shareModalIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@-webkit-keyframes shareModalIn {
  from {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes shareModalIn {
  from {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.share_modal_head {
  background: #1E1E1E;
  color: #fff;
  padding: 0.5rem 0.85rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.5rem;
}

.share_modal_title {
  font-family: "VT323", monospace;
  font-size: 1.15rem;
  letter-spacing: 0.05em;
}

.share_modal_close {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  padding: 0 0.25rem;
  cursor: pointer;
}
.share_modal_close:hover {
  color: #CDFD53;
}

.share_modal_body {
  padding: 1.25rem 1rem 1.5rem;
  text-align: center;
}

.share_preview {
  margin-bottom: 1rem;
}

.share_preview_img {
  display: block;
  width: 62%;
  max-width: 220px;
  margin: 0 auto;
  border: 1px solid #1E1E1E;
  -webkit-box-shadow: 3px 3px 0 #1E1E1E;
          box-shadow: 3px 3px 0 #1E1E1E;
  -o-object-fit: cover;
     object-fit: cover;
  background: #f5f5f5;
}

.share_modal_hint {
  font-size: 0.85rem;
  color: #1E1E1E;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
  opacity: 0.75;
}

/* 儲存提示：復古 CRT 便利貼風格 */
.share_download {
  display: inline-block;
  margin: 1rem 0;
  padding: 0.55rem 0.5rem;
  background: rgba(205, 253, 83, 0.22);
  color: #1E1E1E;
  font-size: 0.75rem;
  line-height: 1.55;
  letter-spacing: 0.05em;
  text-align: center;
}

.share_options {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.4rem 1fr 0.4rem 1fr 0.4rem 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.4rem;
}

.share_option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
  background: transparent;
  border: none;
  padding: 0.25rem;
  cursor: pointer;
  color: #1E1E1E;
}
.share_option:hover .share_icon {
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
}
.share_option:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.share_icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.share_icon img,
.share_icon svg {
  width: 60%;
  height: 60%;
  -o-object-fit: contain;
     object-fit: contain;
}

.share_icon_copy {
  background: #fff;
}

.share_icon_fb {
  background: #1877F2;
}

.share_icon_line {
  background: #06C755;
}

.share_icon_threads {
  background: #000;
}

.share_label {
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  font-weight: bold;
}

.qa_title {
  color: #CDFD53;
  margin-bottom: 3rem;
}

/* 訊號進度條 */
.qa_signal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.75rem;
  margin-bottom: 2.5rem;
}

.qa_signal_bars {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 6px;
  height: 28px;
}

.qa_signal_bar {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background: rgba(255, 255, 255, 0.22);
  display: block;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
.qa_signal_bar.is-done {
  background: #CDFD53;
}
.qa_signal_bar.is-current {
  background: #CDFD53;
  -webkit-animation: qaSignalPulse 1s ease-in-out infinite;
          animation: qaSignalPulse 1s ease-in-out infinite;
}

@-webkit-keyframes qaSignalPulse {
  50% {
    opacity: 0.35;
  }
}

@keyframes qaSignalPulse {
  50% {
    opacity: 0.35;
  }
}
.qa_signal_label {
  font-family: "VT323", monospace;
  color: #CDFD53;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  line-height: 1;
  white-space: nowrap;
}

/* 打字機游標（打字進行中顯示，結束後移除） */
.qa_typing::after {
  content: "▊";
  display: inline-block;
  margin-left: 2px;
  color: #CDFD53;
  -webkit-animation: qaCaretBlink 0.7s step-end infinite;
          animation: qaCaretBlink 0.7s step-end infinite;
}

@-webkit-keyframes qaCaretBlink {
  50% {
    opacity: 0;
  }
}

@keyframes qaCaretBlink {
  50% {
    opacity: 0;
  }
}
.qa_btn {
  color: #fff;
  margin-top: auto;
  font-family: "Montserrat", sans-serif;
  font-family: "Press Start 2P";
  display: block;
  text-align: right;
}
.qa_btn:hover {
  color: #CDFD53;
}

/* 回上一題按鈕：與 qa_btn 共用字體，但靠左對齊 */
.qa_back {
  text-align: left;
  font-size: 11px;
}

.qa_q {
  margin-bottom: 2rem;
}

.qa_a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 2rem;
}
.qa_a a {
  display: block;
  border: 1px solid #fff;
  color: #fff;
  padding: 0.75rem;
  opacity: 0.6;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.qa_a a.active {
  opacity: 1;
  border-color: #CDFD53;
  color: #CDFD53;
}

.over {
  background: #1E1E1E;
  color: #fff;
  border-radius: 50px;
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-weight: bold;
  letter-spacing: 0.07em;
}

.reault_body {
  text-align: center;
  display: block;
}
.reault_body .quiz_screen {
  padding: 0.75rem 0;
  height: auto;
  max-height: none;
  min-height: auto;
  overflow: visible;
}
.reault_body .event_card {
  margin-bottom: 2rem;
}

.result_actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.btn_retry {
  display: inline-block;
  font-size: 0.85rem;
  padding: 0.55rem 0.75rem;
  letter-spacing: 0.07em;
  background: #fff;
  color: #1E1E1E;
  border: 2px solid #1E1E1E;
  border-radius: 20px;
  -webkit-box-shadow: 4px 4px 0 #1E1E1E;
          box-shadow: 4px 4px 0 #1E1E1E;
  font-weight: bold;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.btn_retry img {
  height: 20px;
}
.btn_retry:hover {
  background: #1E1E1E;
  color: #fff;
  -webkit-transform: translate(2px, 2px);
          transform: translate(2px, 2px);
  -webkit-box-shadow: 0 0 0 #1E1E1E;
          box-shadow: 0 0 0 #1E1E1E;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.btn_retry:hover img {
  -webkit-filter: brightness(10);
          filter: brightness(10);
}

.role_card {
  padding: 1rem;
  margin-bottom: 2rem;
}
.role_card .name {
  -webkit-text-stroke: 3px #1E1E1E;
  paint-order: stroke fill;
  font-weight: bold;
  color: #CDFD53;
  font-size: 2.4rem;
  font-weight: 900;
  text-transform: uppercase;
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25rem;
}
.role_card .name::before, .role_card .name::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  background-image: url("../img/quiz/s.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right center;
}

.role_tv {
  position: relative;
  width: 90%;
  margin: auto;
  margin-bottom: 1rem;
}
.role_tv .sc {
  width: 100%;
  border-radius: 14px;
}
.role_tv .people {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 49%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.tag {
  position: absolute;
  background: #fff;
  -webkit-box-shadow: 4px 4px 0 #1E1E1E;
          box-shadow: 4px 4px 0 #1E1E1E;
  padding: 0.5rem 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  letter-spacing: 0.07em;
  font-weight: bold;
  border: 1px solid #1E1E1E;
}
.tag .after {
  width: 0.75rem;
  margin-left: auto;
}
@media (max-width: 575px) {
  .tag {
    font-size: 12px;
    padding: 0.4rem 0.5rem;
    gap: 0.5rem;
    white-space: nowrap;
  }
  .tag .after {
    width: 0.65rem;
  }
}

.tag01 {
  left: -6%;
  top: 23%;
}

.tag02 {
  left: 3%;
  bottom: 15%;
}

.tag03 {
  right: 2%;
  top: 63%;
}
@media (max-width: 575px) {
  .tag03 {
    top: 65%;
  }
}

.type {
  position: absolute;
  right: 8%;
  bottom: 12%;
  color: #CDFD53;
  font-size: 1.2rem;
  font-family: "VT323", monospace;
}

.window_card {
  background: #fff;
  border: 1px solid #1E1E1E;
  -webkit-box-shadow: 4px 4px 0 #1E1E1E;
          box-shadow: 4px 4px 0 #1E1E1E;
  margin-bottom: 0.75rem;
}
.window_card.red {
  width: 95%;
  margin-left: auto;
}
.window_card.red .w_title {
  background: #DC5A48;
}
.window_card.orange .w_title {
  background: #FF6F00;
}
.window_card .w_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #3160EE;
  color: #fff;
  padding: 0.5rem 1rem;
  gap: 0.5rem;
  border-bottom: 1px solid #1E1E1E;
}
.window_card .w_title span {
  font-size: 1.1rem;
  font-weight: 300;
  font-family: "VT323", monospace;
  text-transform: uppercase;
}
.window_card .w_title h3 {
  font-weight: 400;
  font-size: 0.85rem;
  letter-spacing: 0.07em;
  margin: 0;
}
.window_card .w_title .after {
  height: 0.6rem;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  margin-left: auto;
}
.window_card .content {
  padding: 1rem;
  letter-spacing: 0.07em;
  line-height: 1.5;
  text-align: justify;
  color: #1E1E1E;
}
.window_card .content .mes {
  color: #DC5A48;
  font-style: italic;
  margin-bottom: 0.25rem;
}
.window_card .content p {
  margin: 0;
}

.partners {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.75rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}
@media (max-width: 575px) {
  .partners {
    gap: 0.5rem;
  }
}

.partner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  text-align: left;
}

.partner_img {
  width: 64px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 575px) {
  .partner_img {
    width: 52px;
  }
}

.partner_info {
  min-width: 0;
  line-height: 1.3;
}

.partner_name {
  font-weight: bold;
  color: #1E1E1E;
  letter-spacing: 0.05em;
  font-size: 0.95rem;
  margin-bottom: 0.15rem;
}
@media (max-width: 575px) {
  .partner_name {
    font-size: 0.85rem;
  }
}

.partner_tag {
  color: rgba(30, 30, 30, 0.55);
  font-size: 0.85rem;
  letter-spacing: 0.03em;
}
@media (max-width: 575px) {
  .partner_tag {
    font-size: 0.75rem;
  }
}

.btn_share {
  margin-bottom: 4rem;
  padding: 0.75rem 2.5rem;
  margin-right: 0.5rem;
}

footer a {
  color: inherit;
  text-decoration: none;
}
footer a:hover {
  opacity: 0.8;
}