/* RNDBOX 회사 영역(리뉴얼): 서비스 소개 · 이용방법 · 팝업스토어 · 이용약관/개인정보처리방침 — 토큰은 rb.css */

/* =========================================================================
   서비스 소개
   ========================================================================= */
.co-hero { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(180deg, #FFFFFF 0%, var(--rb-bg-2) 100%); border-bottom: 1px solid var(--rb-line); }
.co-hero__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; min-height: 60rem; justify-content: center; padding-block: 8rem; }
.co-hero__company { display: inline-flex; align-items: center; gap: .8rem; margin: 0 0 2.4rem; padding: .6rem 1.4rem .6rem .8rem; border: 1px solid var(--rb-line); border-radius: 999px; background: rgba(255, 255, 255, .8); font-size: 1.35rem; font-weight: 600; color: var(--rb-ink-2); }
.co-hero__company img { width: 2.2rem; height: 2.2rem; }
.co-hero__title { margin: 0; font: 800 8rem/1 var(--rb-font-display); letter-spacing: -.035em; color: var(--rb-ink); }
.co-hero__subtitle { margin: 1.6rem 0 0; font: 800 3.6rem/1.25 var(--rb-font-display); letter-spacing: -.025em; color: var(--rb-ink); }
.co-hero__explain { margin: 2.4rem 0 0; max-width: 44rem; font-size: 1.8rem; line-height: 1.7; color: var(--rb-ink-3); }
.co-hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 3.6rem; }
.co-hero__actions .rb-btn { min-height: 5.2rem; padding: 0 2.6rem; }
.co-apps { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2.4rem; }
.co-apps__btn { display: inline-flex; padding: 0; border: 0; border-radius: 1.2rem; background: none; cursor: pointer; transition: transform .2s var(--rb-ease), box-shadow .2s; }
.co-apps__btn:hover { transform: translateY(-2px); box-shadow: var(--rb-shadow-2); }
.co-apps__btn img { display: block; height: 4.6rem; width: auto; border-radius: 1.2rem; }

/* 오른쪽 타일 콜라주(장식) */
.co-hero__art { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.co-hero__grid {
    position: absolute; top: 50%; left: 56%; width: 72rem;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.8rem;
    transform: translateY(-50%) rotate(-12deg);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 100%);
}
.co-hero__tile { display: block; overflow: hidden; aspect-ratio: 1; border-radius: var(--rb-radius-lg); background: #fff; box-shadow: var(--rb-shadow-2); opacity: 0; animation: co-tile .9s var(--rb-ease) forwards; animation-delay: var(--d, 0ms); }
.co-hero__tile:nth-child(4n + 2) { transform: translateY(4.8rem); }
.co-hero__tile:nth-child(4n + 4) { transform: translateY(2.4rem); }
.co-hero__tile img { display: block; width: 100%; height: 100%; object-fit: cover; }
@keyframes co-tile { from { opacity: 0; translate: 3rem 0; } to { opacity: 1; translate: 0 0; } }

/* 섹션 공통 머리 */
.co-section { padding-block: 9.6rem; background: #fff; }
.co-section--soft { background: var(--rb-bg-2); }
.co-narrow { max-width: calc(96rem + var(--rb-gutter) * 2); }
.co-head { max-width: 72rem; margin: 0 auto 4.8rem; text-align: center; }
.co-head__title { margin: 1.2rem 0 0; font: 800 3.6rem/1.3 var(--rb-font-display); letter-spacing: -.025em; color: var(--rb-ink); text-wrap: balance; }
.co-head__desc { margin: 1.6rem 0 0; font-size: 1.6rem; line-height: 1.75; color: var(--rb-ink-3); }

/* 다른 이유(어두운 밴드) */
.co-why { position: relative; overflow: hidden; padding-block: 10.4rem; background: var(--rb-night); color: #fff; }
.co-why::before { content: ""; position: absolute; left: 50%; top: -30rem; width: 90rem; height: 60rem; margin-left: -45rem; background: radial-gradient(closest-side, rgba(109, 58, 237, .38), rgba(109, 58, 237, 0)); pointer-events: none; }
.co-why .rb-container { position: relative; }
.co-head--dark .rb-eyebrow { color: #B9A2FF; }
.co-head--dark .co-head__title { color: #fff; }
.co-head--dark .co-head__desc { color: var(--rb-night-ink); }
.co-why__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin: 0; padding: 0; list-style: none; }
.co-why__card { display: flex; flex-direction: column; align-items: center; padding: 3.2rem 2.8rem; border: 1px solid rgba(255, 255, 255, .09); border-radius: var(--rb-radius-xl); background: rgba(255, 255, 255, .04); text-align: center; }
.co-why__title { display: flex; align-items: center; gap: .8rem; margin: 0 0 2rem; font: 700 2rem/1.3 var(--rb-font-display); color: #fff; }
.co-why__title span { display: inline-flex; align-items: center; justify-content: center; height: 2.6rem; padding: 0 .9rem; border-radius: 999px; background: rgba(185, 162, 255, .16); font-size: 1.25rem; letter-spacing: .04em; color: #CDBBFF; }
.co-why__card svg { display: block; width: 100%; max-width: 26rem; height: auto; }
.co-why__desc { margin: 2rem 0 0; font-size: 1.45rem; line-height: 1.75; color: var(--rb-night-ink); }

/* 박스 */
.co-boxes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.4rem; margin: 0; padding: 0; list-style: none; }
.co-box { overflow: hidden; border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); background: #fff; transition: transform .3s var(--rb-ease), box-shadow .3s var(--rb-ease); }
.co-box:hover { transform: translateY(-4px); box-shadow: var(--rb-shadow-2); }
.co-box__img { aspect-ratio: 1; background: var(--rb-bg-2); }
.co-box__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.co-box__body { padding: 1.8rem 2rem 2.2rem; border-top: 3px solid var(--tier, var(--rb-violet)); }
.co-box__name { margin: 0; font: 700 1.7rem/1.35 var(--rb-font-display); color: var(--rb-ink); }
.co-box__price { margin: .4rem 0 0; font-size: 1.4rem; color: var(--rb-ink-3); font-variant-numeric: tabular-nums; }
.co-box__min { display: inline-flex; margin: 1.2rem 0 0; padding: .5rem 1rem; border-radius: 999px; background: var(--rb-violet-50); font-size: 1.3rem; font-weight: 700; color: var(--rb-violet-ink); font-variant-numeric: tabular-nums; }

/* 등급 */
.co-grade { overflow: hidden; border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); background: #fff; }
.co-grade__table { width: 100%; border-collapse: collapse; font-size: 1.5rem; }
.co-grade__table th { padding: 1.4rem 1.6rem; background: var(--rb-bg-2); font-size: 1.3rem; font-weight: 600; color: var(--rb-ink-3); text-align: center; white-space: nowrap; }
.co-grade__table td { padding: 1.6rem; border-top: 1px solid var(--rb-line); text-align: center; color: var(--rb-ink-2); }
.co-grade__table .name { font-weight: 700; color: var(--rb-ink); white-space: nowrap; }
.co-grade__table .prob { font: 700 1.6rem/1 var(--rb-font-display); font-variant-numeric: tabular-nums; color: var(--rb-ink); white-space: nowrap; }
.co-grade__table .desc { text-align: left; }
.co-grade__badge { display: inline-flex; align-items: center; justify-content: center; width: 3.8rem; height: 3.8rem; border-radius: 50%; font: 800 1.6rem/1 var(--rb-font-display); color: #fff; }
.co-grade__badge--x { background: var(--rb-g-x-bg); color: #fff; }
.co-grade__badge--a { background: var(--rb-g-a); color: var(--rb-g-a-on); }
.co-grade__badge--b { background: var(--rb-g-b); color: #fff; }
.co-grade__badge--c { background: var(--rb-g-c); color: #fff; }
.co-grade__badge--d { background: var(--rb-g-d); color: #fff; }
.co-grade__badge--e { background: var(--rb-g-e); color: #fff; }
.co-grade__note { margin: 1.6rem 0 0; text-align: center; font-size: 1.35rem; line-height: 1.7; color: var(--rb-ink-3); }
.co-grade__note a { font-weight: 700; color: var(--rb-violet); text-decoration: underline; text-underline-offset: .3rem; }

/* 숫자 */
.co-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.6rem; margin: 0; }
.co-stat { position: relative; overflow: hidden; padding: 3.2rem 2.4rem; border-radius: var(--rb-radius-lg); background: var(--rb-night); text-align: center; }
.co-stat::before { content: ""; position: absolute; left: 50%; top: -14rem; width: 26rem; height: 20rem; margin-left: -13rem; background: radial-gradient(closest-side, rgba(109, 58, 237, .45), rgba(109, 58, 237, 0)); pointer-events: none; }
.co-stat dt { position: relative; font-size: 1.4rem; font-weight: 600; color: var(--rb-night-ink); }
.co-stat dd { position: relative; margin: 1rem 0 0; font: 800 3.4rem/1.1 var(--rb-font-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: #fff; overflow-wrap: anywhere; }

/* 앱 */
.co-app { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6.4rem; }
.co-app__phone { flex: 0 0 22rem; filter: drop-shadow(0 24px 48px rgba(21, 17, 31, .18)); }
.co-app__phone svg { display: block; width: 100%; height: auto; }
.co-app__copy { flex: 0 1 44rem; min-width: 0; }
.co-app__title { margin: 0; font: 800 2.8rem/1.35 var(--rb-font-display); letter-spacing: -.02em; color: var(--rb-ink); }
.co-app__desc { margin: 1.6rem 0 0; font-size: 1.55rem; line-height: 1.75; color: var(--rb-ink-3); }

.co-bottom { background: var(--rb-bg-2); border-top: 1px solid var(--rb-line); }
.co-bottom__inner { display: flex; align-items: center; justify-content: center; gap: 1.2rem; min-height: 8rem; }
.co-bottom__copy { margin: 0; font-size: 1.3rem; color: var(--rb-ink-3); }
.co-bottom__top svg { width: 2.4rem; height: 2.4rem; }

@media (max-width: 1199px) {
    .co-hero__grid { left: 58%; width: 60rem; }
    .co-boxes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
    .co-hero__inner { min-height: 0; padding-block: 6.4rem 30rem; }
    .co-hero__grid { top: auto; bottom: -4rem; left: 50%; width: 64rem; transform: translateX(-50%) rotate(-10deg); -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 30%); mask-image: linear-gradient(180deg, transparent 0, #000 30%); }
    .co-why__grid { grid-template-columns: minmax(0, 1fr); max-width: 52rem; margin: 0 auto; }
    .co-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .co-hero__inner { padding-block: 4.8rem 26rem; }
    .co-hero__grid { bottom: -9rem; width: 48rem; gap: 1.2rem; }
    .co-hero__title { font-size: 5.6rem; }
    .co-hero__subtitle { font-size: 2.4rem; }
    .co-hero__explain { font-size: 1.5rem; }
    .co-hero__actions { width: 100%; }
    .co-hero__actions .rb-btn { flex: 1 1 100%; }
    .co-apps__btn img { height: 4.2rem; }
    .co-section { padding-block: 6.4rem; }
    .co-why { padding-block: 7.2rem; }
    .co-head { margin-bottom: 3.2rem; }
    .co-head__title { font-size: 2.6rem; }
    .co-head__desc { font-size: 1.45rem; }
    .co-head__desc br { display: none; }
    .co-why__card { padding: 2.8rem 2rem; }
    .co-boxes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
    .co-box__body { padding: 1.4rem 1.4rem 1.8rem; }
    .co-box__name { font-size: 1.5rem; }
    .co-box__price { font-size: 1.3rem; }
    .co-box__min { font-size: 1.15rem; padding: .4rem .8rem; }
    .co-grade__table { font-size: 1.35rem; }
    .co-grade__table th, .co-grade__table td { padding: 1.2rem .8rem; }
    .co-grade__table th.desc, .co-grade__table td.desc { display: none; }
    .co-grade__badge { width: 3.2rem; height: 3.2rem; font-size: 1.4rem; }
    .co-stats { gap: 1rem; }
    .co-stat { padding: 2.4rem 1.4rem; }
    .co-stat dd { font-size: 2.4rem; }
    .co-app { gap: 3.2rem; }
    .co-app__phone { flex-basis: 16rem; }
    .co-app__copy { text-align: center; }
    .co-app__copy .co-apps { justify-content: center; }
    .co-app__title { font-size: 2.2rem; }
    .co-bottom__inner { min-height: 6.4rem; }
}

/* =========================================================================
   이용방법
   ========================================================================= */
.tut_guide { margin: 6.4rem auto 0; padding: 0 var(--rb-gutter); }
.desktop_tutorial .tut_guide { margin-top: 8rem; padding: 0; }
.tut_guide_head { text-align: center; }
.tut_guide_title { font: 800 3.6rem/1.3 var(--rb-font-display); letter-spacing: -.025em; color: var(--rb-ink); }
.tut_guide_sub { margin-top: 1.2rem; font-size: 1.6rem; color: var(--rb-ink-3); }
.tut_guide_grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.8rem 2rem; margin-top: 4.8rem; }
.tut_guide_mobile { padding: 0; }
.tut_guide_mobile .tut_guide_title { font-size: 2.6rem; }
.tut_guide_mobile .tut_guide_sub { font-size: 1.4rem; }
.tut_guide_mobile .tut_guide_grid { grid-template-columns: minmax(0, 1fr); gap: 2.4rem; margin-top: 3.2rem; }
.tut_step { position: relative; padding: 3.2rem 2.8rem 2.8rem; border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); background: #fff; box-shadow: var(--rb-shadow-1); transition: transform .3s var(--rb-ease), box-shadow .3s var(--rb-ease); }
.tut_step:hover { transform: translateY(-3px); box-shadow: var(--rb-shadow-2); }
.tut_step_num { position: absolute; top: -1.3rem; left: 2.8rem; display: inline-flex; align-items: center; height: 2.6rem; padding: 0 1.2rem; border-radius: 999px; background: var(--rb-ink); font: 700 1.2rem/1 var(--rb-font-display); letter-spacing: .08em; color: #fff; }
.tut_step_icon { width: 6.4rem; height: 6.4rem; margin-bottom: 1.6rem; }
.tut_step_icon svg { display: block; width: 100%; height: 100%; }
.tut_step_title { font: 700 1.9rem/1.35 var(--rb-font-display); color: var(--rb-ink); }
.tut_step_desc { margin-top: .8rem; font-size: 1.45rem; line-height: 1.7; color: var(--rb-ink-3); }
.tut_step_desc b { font-weight: 700; color: var(--rb-violet-ink); }
.tut_guide_notice { max-width: 72rem; margin: 3.6rem auto 0; padding: 1.6rem 2rem; border-radius: var(--rb-radius); background: var(--rb-bg-2); text-align: center; font-size: 1.35rem; line-height: 1.7; color: var(--rb-ink-3); }
.tut_guide_notice a { font-weight: 700; color: var(--rb-violet); text-decoration: underline; text-underline-offset: .3rem; }
.mobile_tutorial { padding-bottom: 1px; }
.tutorial-retry { margin: 4rem auto 8rem; }
.tutorial-retry__btn {
    min-width: 22rem; min-height: 5.2rem; padding: 0 2.8rem; border: 0; border-radius: 999px;
    background: var(--rb-violet); font: 700 1.6rem/1 var(--rb-font); color: #fff; cursor: pointer;
    box-shadow: 0 8px 24px rgba(109, 58, 237, .28); transition: background-color .2s, transform .2s var(--rb-ease);
}
.tutorial-retry__btn:hover { background: var(--rb-violet-600); color: #fff; transform: translateY(-1px); }
@media (max-width: 899px) {
    .mobile_tutorial { width: 100%; padding: 0 var(--rb-gutter); }
}

/* =========================================================================
   팝업스토어 (포팅 CSS 위에 다듬기)
   ========================================================================= */
.pus_section { color: var(--rb-ink); }
.pus_title { font-family: var(--rb-font-display); font-weight: 800; letter-spacing: -.02em; color: var(--rb-ink); }
.pus_title::after, .pus_title::before { background-image: url("/img/company/popup_twinkle.svg") !important; }
.pus_content { color: var(--rb-ink-2); line-height: 1.6; }
.pus_information_box_text_top { color: var(--rb-ink-3); }
.pus_information_box_text_bottom { color: var(--rb-ink); font-weight: 700; }
.pus_highlight_box { border: 1px solid var(--rb-line); background: #fff; box-shadow: var(--rb-shadow-1); }
.pus_highlight_box:hover { box-shadow: var(--rb-shadow-2); }
.pus_highlight_box_num { background: var(--rb-violet); font-family: var(--rb-font-display); }
.pus_highlight_box_title { font-family: var(--rb-font-display); color: var(--rb-ink); }
.pus_highlight_content { color: var(--rb-ink-2); }
.pus_photos_more_btn { border-color: var(--rb-line-2); border-radius: 999px; color: var(--rb-ink); font-weight: 600; }
.pus_photos_more_btn:hover { border-color: var(--rb-ink); background: var(--rb-ink); color: #fff; }
.pus_video_frame { width: 100%; aspect-ratio: 16 / 9; margin-top: 2rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.6rem; border-radius: var(--rb-radius-xl); background: radial-gradient(ellipse at 30% 20%, #3B2470, var(--rb-night) 70%); color: #fff; }
.pus_video_play { display: flex; align-items: center; justify-content: center; width: 8rem; height: 8rem; border: 2px solid #fff; border-radius: 50%; background: rgba(255, 255, 255, .14); cursor: pointer; transition: transform .2s var(--rb-ease); }
.pus_video_play:hover { transform: scale(1.06); }
.pus_video_play svg { width: 3rem; height: 3rem; margin-left: .4rem; }
.pus_video_caption { font-size: 1.6rem; color: var(--rb-night-ink); }
.image-modal { background: rgba(14, 10, 24, .88); }
.image-modal .close { top: 2.4rem; right: 2.4rem; width: 5.2rem; height: 5.2rem; background: rgba(255, 255, 255, .14); box-shadow: none; font-size: 2.4rem; }
#imageModal #modalImage { border-radius: var(--rb-radius); }
@media (min-width: 1080px) {
    /* 1080~1260px 에서 126rem 고정폭 블록이 화면 밖으로 잘리지 않게 */
    .pus_body { padding-inline: var(--rb-gutter); }
    .pus_information { width: min(126rem, calc(100% - var(--rb-gutter) * 2)); }
    .pus_about_left { flex: 0 1 60rem; min-width: 0; }
    .pus_about_right { flex: 0 1 66rem; min-width: 0; }
    .pus_about_left_img_container img { max-width: 100%; }
}
@media (max-width: 1079px) {
    .pus_video_frame { margin-top: 1rem; border-radius: var(--rb-radius-lg); }
    .pus_video_play { width: 5.6rem; height: 5.6rem; }
    .pus_video_caption { font-size: 1.3rem; }
    .image-modal .close { top: 1.6rem; right: 1.6rem; width: 4.4rem; height: 4.4rem; font-size: 2rem; }
}

/* =========================================================================
   이용약관 / 개인정보처리방침
   ========================================================================= */
.terms_page { width: 100%; max-width: calc(var(--rb-container) + var(--rb-gutter) * 2); margin: 0 auto; padding: 0 var(--rb-gutter) 9.6rem; font-size: 1.5rem; line-height: 1.85; color: var(--rb-ink-2); word-break: keep-all; overflow-wrap: break-word; }
.terms_head { padding: 6.4rem 0 4rem; margin-bottom: 4rem; border-bottom: 1px solid var(--rb-line); text-align: center; }
.terms_page .terms_title { margin: 0; font: 800 3.6rem/1.3 var(--rb-font-display); letter-spacing: -.025em; color: var(--rb-ink); }
.terms_page .terms_meta { margin-top: 1.2rem; font-size: 1.4rem; color: var(--rb-ink-3); }
.terms_layout { display: grid; grid-template-columns: 28rem minmax(0, 1fr); gap: 5.6rem; align-items: start; }
.terms_aside { position: sticky; top: 2.4rem; max-height: calc(100vh - 4.8rem); overflow: auto; overscroll-behavior: contain; padding: .8rem; border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); background: #fff; scrollbar-width: thin; }
.terms_toc_box > summary { display: none; }
.terms_toc { display: grid; gap: .2rem; }
.terms_toc a { display: block; padding: .8rem 1.2rem; border-radius: var(--rb-radius-xs); font-size: 1.35rem; line-height: 1.45; color: var(--rb-ink-3); text-decoration: none; }
.terms_toc a:hover { background: var(--rb-bg-2); color: var(--rb-ink); }
.terms_toc a.is-active { background: var(--rb-violet-50); color: var(--rb-violet-ink); font-weight: 700; }
.terms_body { min-width: 0; max-width: 80rem; }
.terms_body > p:first-child { margin-top: 0; }
.terms_page h2 { margin: 4.8rem 0 1.2rem; padding-top: .4rem; font: 700 2rem/1.4 var(--rb-font-display); letter-spacing: -.01em; color: var(--rb-ink); scroll-margin-top: 2.4rem; }
.terms_body > h2:first-child { margin-top: 0; }
.terms_page p { margin: 0 0 1.2rem; }
.terms_page ol, .terms_page ul { margin: 0 0 1.2rem; padding-left: 2.4rem; }
.terms_page li { margin-bottom: .6rem; }
.terms_page li > ol, .terms_page li > ul { margin-top: .6rem; }
.terms_page table { width: 100%; margin: 1.2rem 0 2rem; border-collapse: collapse; font-size: 1.35rem; line-height: 1.65; }
.terms_page th, .terms_page td { padding: 1rem 1.2rem; border: 1px solid var(--rb-line); text-align: left; vertical-align: top; }
.terms_page th { background: var(--rb-bg-2); font-weight: 600; color: var(--rb-ink); }
.terms_page .terms_table_wrap { overflow-x: auto; }
.terms_page .terms_supplement { margin-top: 4.8rem; padding: 2.4rem 2.8rem; border-radius: var(--rb-radius-lg); background: var(--rb-bg-2); color: var(--rb-ink-2); }
.terms_page .terms_supplement p:last-child { margin-bottom: 0; }
.terms_page .terms_links { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.6rem; margin-top: 3.2rem; font-size: 1.4rem; }
.terms_page .terms_links a { font-weight: 600; color: var(--rb-violet); }
@media (max-width: 1023px) {
    .terms_head { padding: 4rem 0 2.8rem; margin-bottom: 2.4rem; }
    .terms_page .terms_title { font-size: 2.6rem; }
    .terms_layout { grid-template-columns: minmax(0, 1fr); gap: 2.4rem; }
    .terms_aside { position: static; max-height: none; overflow: visible; padding: 0; border-radius: var(--rb-radius); }
    .terms_toc_box > summary {
        display: flex; align-items: center; justify-content: space-between; min-height: 5.2rem; padding: 0 1.6rem;
        list-style: none; cursor: pointer; font-size: 1.5rem; font-weight: 700; color: var(--rb-ink);
    }
    .terms_toc_box > summary::-webkit-details-marker { display: none; }
    .terms_toc_box > summary::after { content: ""; width: .8rem; height: .8rem; margin-right: .4rem; border-right: 2px solid var(--rb-ink-3); border-bottom: 2px solid var(--rb-ink-3); transform: rotate(45deg); transition: transform .2s; }
    .terms_toc_box[open] > summary::after { transform: rotate(-135deg); }
    .terms_toc { padding: 0 .8rem .8rem; }
    .terms_page { font-size: 1.45rem; line-height: 1.8; }
    .terms_page h2 { font-size: 1.8rem; margin-top: 4rem; }
}
@media (max-width: 767px) {
    .terms_page { padding-bottom: 6.4rem; }
    .terms_page .terms_title { font-size: 2.4rem; }
    .terms_page .terms_supplement { padding: 2rem; }
}
