/* 웹에디터 위젯: 방문자 화면에도 쓰이는 최소 스타일 */
.one-w { box-sizing: border-box; width: 100%; max-width: 1200px; margin: 28px auto; padding: 0 16px; }
.one-w img { display: block; width: 100%; height: auto; border-radius: 10px; }
.one-w a { text-decoration: none; }
.one-w__row { display: flex; gap: 16px; }
.one-w__cell { flex: 1 1 0; min-width: 0; }
.one-w__cell > a, .one-w__cell > span { display: block; }
.one-w__ph { display: flex; align-items: center; justify-content: center; min-height: 140px; border: 1px dashed #c4c4cb; border-radius: 10px; color: #8a8a92; font-size: 14px; background: #f6f6f8; }
.one-w__title { margin: 0 0 8px; font-size: 1.5rem; font-weight: 700; }
.one-w__body { margin: 0; white-space: pre-line; color: inherit; opacity: .8; }
.one-w__btn { display: inline-block; padding: 12px 28px; border-radius: 999px; background: var(--okc-primary, var(--kc-primary, #1f5eff)); color: #fff !important; font-weight: 600; }
.one-w__hr { border: 0; border-top: 1px solid rgba(128, 128, 128, .35); margin: 8px 0; }
.one-w--text { padding-top: 12px; padding-bottom: 12px; }
@media (max-width: 767.98px) { .one-w__row { flex-direction: column; } .one-w { margin: 20px auto; } }

/* 열 수 조절 (섹션 자세히 고치기 > 디자인): 항목 묶음을 지정한 열 수의 격자로 바꾼다 */
[style*="--one-cols"] { display: grid !important; grid-template-columns: repeat(var(--one-cols), minmax(0, 1fr)) !important; gap: 16px !important; }
[style*="--one-cols"] > * { width: auto !important; max-width: none !important; flex: none !important; margin-left: 0 !important; margin-right: 0 !important; }
@media (max-width: 767.98px) { [style*="--one-cols"] { grid-template-columns: repeat(min(var(--one-cols), 2), minmax(0, 1fr)) !important; } }

/* 동영상 · 쇼츠 · 2단 텍스트 · 상품 진열 · 상담 버튼 */
.one-w__vid { position: relative; aspect-ratio: 16 / 9; }
.one-w__short { position: relative; aspect-ratio: 9 / 16; }
.one-w__vid iframe, .one-w__short iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 10px; }
.one-w__row--shorts { justify-content: center; }
.one-w__row--shorts .one-w__cell { max-width: 300px; }
.one-w__cols .one-w__cell { padding: 0 8px; }
.one-w__products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.one-w__prod { display: block; color: inherit; }
.one-w__prod img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 10px; }
.one-w__pt { display: block; margin-top: 8px; font-weight: 600; font-size: 15px; }
.one-w__pp { display: block; margin-top: 2px; font-weight: 700; color: var(--okc-primary, var(--kc-primary, #1f5eff)); }
@media (max-width: 767.98px) { .one-w__products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.one-w--consult { position: fixed; bottom: 20px; z-index: 1030; width: auto; max-width: none; margin: 0; padding: 0; }
.one-w--consult-right { right: 20px; }
.one-w--consult-left { left: 20px; }
.one-w__consult { display: inline-block; padding: 14px 22px; border-radius: 999px; background: var(--okc-primary, var(--kc-primary, #1f5eff)); color: #fff !important; font-weight: 700; box-shadow: 0 8px 24px rgba(0, 0, 0, .25); }

/* 타임세일 · 포토리뷰 · 영상 후기 · 상품 진열 디자인 · 바탕 */
.one-w--bg-gray { background: #f3f4f6; border-radius: 12px; }
.one-w--bg-black { background: #111; color: #fff; border-radius: 12px; }
.one-w--bg-black .one-w__body { color: #ddd; }
.one-w--tight .one-w__row { gap: 0; }
.one-w--tight img { border-radius: 0; }
.one-w__products--c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.one-w__products--c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.one-w__products--scroll { display: flex; overflow-x: auto; gap: 16px; scroll-snap-type: x mandatory; }
.one-w__products--scroll .one-w__prod { flex: 0 0 min(240px, 70%); scroll-snap-align: start; }
.one-w__products--list { grid-template-columns: 1fr; }
.one-w__products--list .one-w__prod { display: grid; grid-template-columns: 96px 1fr; gap: 12px; align-items: center; }
.one-w__products--list .one-w__prod img { aspect-ratio: 1 / 1; }
.one-w__tshead { margin-bottom: 16px; }
.one-w__timer { display: inline-block; margin-top: 8px; padding: 6px 14px; border-radius: 999px; background: var(--okc-primary, var(--kc-primary, #1f5eff)); color: #fff; font-weight: 700; font-variant-numeric: tabular-nums; }
.one-w--t2 { background: color-mix(in srgb, var(--okc-primary, var(--kc-primary, #1f5eff)) 10%, #fff); border-radius: 16px; padding-top: 28px; padding-bottom: 28px; }
.one-w--t3 { background: var(--okc-primary, var(--kc-primary, #1f5eff)); color: #fff; border-radius: 16px; padding-top: 28px; padding-bottom: 28px; }
.one-w--t3 .one-w__timer { background: #fff; color: var(--okc-primary, var(--kc-primary, #1f5eff)); }
.one-w--t3 .one-w__prod, .one-w--t3 .one-w__pp { color: #fff; }
.one-w__reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.one-w__rv { padding: 16px; border-radius: 14px; background: rgba(128, 128, 128, .1); text-align: left; }
.one-w__stars { color: #f5a623; letter-spacing: 2px; }
.one-w__rvt { margin: 8px 0; font-size: 14px; line-height: 1.6; }
.one-w__rvm { display: flex; flex-direction: column; gap: 2px; font-size: 12px; }
.one-w__rvm a { color: inherit; font-weight: 600; }
@media (max-width: 767.98px) { .one-w__reviews { grid-template-columns: 1fr; } }
.one-w__vgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.one-w__vframe { position: relative; aspect-ratio: 9 / 16; border-radius: 12px; overflow: hidden; background: #111; }
.one-w__vframe iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.one-w__vprod { display: flex; flex-direction: column; gap: 2px; margin-top: 8px; color: inherit; font-size: 13px; }
.one-w--feat .one-w__vgrid { grid-template-columns: 2fr 1fr 1fr; }
.one-w--feat .one-w__vcell:first-child { grid-row: span 2; }
.one-w--strip .one-w__vgrid { display: flex; overflow-x: auto; gap: 12px; scroll-snap-type: x mandatory; }
.one-w--strip .one-w__vcell { flex: 0 0 200px; scroll-snap-align: start; }
@media (max-width: 767.98px) { .one-w__vgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .one-w--feat .one-w__vgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.one-sk { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 16px 14px; }
.one-sk__t { font-size: 12px; font-weight: 700; opacity: .6; margin-right: 4px; }
.one-sk__c { padding: 5px 12px; border-radius: 999px; background: rgba(128, 128, 128, .15); color: inherit; font-size: 13px; text-decoration: none; }

/* 상담 버튼: 아이콘형 */
.one-w--consult-icon .one-w__consult { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; padding: 0; border-radius: 50%; border: 1px solid transparent; box-shadow: 0 6px 18px rgba(0, 0, 0, .22); }
.one-w--consult-yellow .one-w__consult { background: #fee500; color: #191919 !important; }
.one-w--consult-dark .one-w__consult { background: #2b2f36; color: #fff !important; }
.one-w--consult-white .one-w__consult { background: #fff; color: #374151 !important; border-color: #d5d9df; }
.one-w--gone { display: none !important; }
.one-w--off { opacity: .45; }
@media (max-width: 767.98px) { .one-w--nomobile { display: none !important; } }

/* 상담 버튼: 효과 */
.one-w--consult-icon .one-w__consult { position: relative; }
.one-fx-pulse .one-w__consult { animation: one-fx-pulse 1.8s ease-in-out infinite; }
.one-fx-bounce .one-w__consult { animation: one-fx-bounce 2.2s ease-in-out infinite; }
.one-fx-shake .one-w__consult { animation: one-fx-shake 3s ease-in-out infinite; }
.one-fx-ripple .one-w__consult::after { content: ''; position: absolute; inset: -1px; border-radius: 50%; border: 2px solid currentColor; opacity: 0; animation: one-fx-ripple 2s ease-out infinite; pointer-events: none; }
@keyframes one-fx-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } }
@keyframes one-fx-bounce { 0%, 60%, 100% { transform: translateY(0); } 70% { transform: translateY(-12px); } 80% { transform: translateY(0); } 90% { transform: translateY(-5px); } }
@keyframes one-fx-shake { 0%, 70%, 100% { transform: rotate(0); } 75% { transform: rotate(-12deg); } 80% { transform: rotate(10deg); } 85% { transform: rotate(-8deg); } 90% { transform: rotate(6deg); } }
@keyframes one-fx-ripple { 0% { transform: scale(1); opacity: .55; } 100% { transform: scale(1.7); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .one-fx-pulse .one-w__consult, .one-fx-bounce .one-w__consult, .one-fx-shake .one-w__consult, .one-fx-ripple .one-w__consult::after { animation: none; } }

/* 매거진 */
.one-mg__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.one-mg__head .one-w__title { margin: 0; }
.one-mg__more { font-size: .875rem; opacity: .7; color: inherit; white-space: nowrap; }
.one-mg__list { display: grid; gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.one-mg--c2 .one-mg__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.one-mg--c3 .one-mg__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.one-mg--cscroll .one-mg__list { display: flex; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 6px; }
.one-mg--cscroll .one-mg__card { flex: none; width: 220px; scroll-snap-align: start; }
.one-mg__list > .one-w__ph { grid-column: 1 / -1; }
.one-mg__card { display: block; min-width: 0; color: inherit; }
.one-mg__img { display: block; width: 100%; aspect-ratio: 1 / 1; background: #eceef1; overflow: hidden; }
.one-mg--pt .one-mg__img { aspect-ratio: 4 / 5; }
.one-mg--ls .one-mg__img { aspect-ratio: 16 / 9; }
.one-mg--round .one-mg__img { border-radius: 14px; }
.one-mg__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.one-mg__t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 12px; font-size: .9375rem; font-weight: 500; line-height: 1.45; }
.one-mg__d { display: block; margin-top: 6px; font-size: .75rem; opacity: .65; }
@media (max-width: 767.98px) { .one-mg__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .one-mg--cscroll .one-mg__card { width: 160px; } }

/* 기능: 구매 알림 */
/* 운영 기능 */
.one-fab { position: fixed; right: 24px; bottom: 24px; z-index: 1030; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; background: var(--kc-primary, #1f5eff); box-shadow: 0 6px 18px rgba(0,0,0,.22), 0 0 0 1px rgba(255,255,255,.18) inset; text-decoration: none; cursor: pointer; transition: opacity .25s ease, transform .25s ease, box-shadow .2s ease, filter .2s ease; }
.one-fab svg { width: 22px; height: 22px; display: block; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.one-fab--top { opacity: 0; transform: translateY(12px) scale(.9); pointer-events: none; }
.one-fab--top.is-in { opacity: 1; transform: none; pointer-events: auto; }
.one-fab--top:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.18) inset; filter: brightness(1.08); }
.one-fab--top:active { transform: scale(.94); }
.one-fab:focus-visible { outline: 3px solid rgba(31,94,255,.45); outline-offset: 3px; }
body:has(.one-pill) .one-fab--top { bottom: 72px; }
@media (max-width: 575.98px) { .one-fab { right: 16px; bottom: 16px; width: 44px; height: 44px; } }
@media (prefers-reduced-motion: reduce) { .one-fab { transition: opacity .2s; } .one-fab--top:hover { transform: none; } }
.one-rbar { position: fixed; left: 0; top: 0; right: 0; height: 3px; z-index: 1060; background: transparent; }
.one-rbar i { display: block; height: 100%; width: 0; background: var(--kc-primary, #1f5eff); }


/* 여러 장 사진 · 지도 · 숫자 4칸 · 맺음 + 버튼 */
.one-w__gal { display: grid; gap: 16px; }
.one-w__gal--c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.one-w__gal--c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.one-w__gal--c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.one-w--tight .one-w__gal { gap: 0; }
.one-w--tight .one-w__gal img, .one-w--tight .one-w__gal .one-w__ph { border-radius: 0; }
.one-w__gal img { aspect-ratio: 1 / 1; object-fit: cover; }
.one-w__gal--ls img { aspect-ratio: 4 / 3; }
.one-w__gal--pt img { aspect-ratio: 3 / 4; }
.one-w__gal .one-w__ph { min-height: 0; aspect-ratio: 1 / 1; }
.one-w__gal--ls .one-w__ph { aspect-ratio: 4 / 3; }
.one-w__gal--pt .one-w__ph { aspect-ratio: 3 / 4; }
.one-w__gal a img { transition: opacity .2s; }
.one-w__gal a:hover img { opacity: .85; }
@media (max-width: 767.98px) { .one-w__gal--c3, .one-w__gal--c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .one-w__gal { gap: 10px; } }

.one-w__map { position: relative; overflow: hidden; border-radius: 10px; background: #eef0f3; }
.one-w__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.one-w__map .one-w__ph { height: 100%; min-height: 0; }
.one-w__mapf { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-top: 12px; font-size: 14px; }
.one-w__addr { opacity: .8; }
.one-w__maplink { display: inline-flex; align-items: center; padding: 8px 14px; border: 1px solid rgba(128, 128, 128, .35); border-radius: 999px; color: inherit !important; font-size: 13px; font-weight: 600; }
.one-w__maplink:hover { border-color: currentColor; }

.one-w--stats { text-align: center; }
.one-w--stats > .one-w__title { margin-bottom: 24px; }
.one-w__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.one-w__stat { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px 10px; }
.one-w__stat + .one-w__stat { border-left: 1px solid rgba(128, 128, 128, .25); }
.one-w__num { font-size: clamp(1.75rem, 3.4vw, 2.6rem); font-weight: 800; line-height: 1.1; letter-spacing: -.02em; color: var(--okc-primary, var(--kc-primary, #1f5eff)); font-variant-numeric: tabular-nums; }
.one-w__lbl { font-size: 14px; opacity: .75; }
@media (max-width: 767.98px) {
  .one-w__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .one-w__stat:nth-child(3) { border-left: 0; }
  .one-w__stat:nth-child(n+3) { border-top: 1px solid rgba(128, 128, 128, .25); }
}

.one-w--cta { text-align: center; }
.one-w__cta { padding: 56px 24px; border-radius: 16px; background: #f3f4f6; color: #1b1b1e; }
.one-w__cta .one-w__title { font-size: clamp(1.35rem, 2.6vw, 1.85rem); }
.one-w__cta .one-w__body { max-width: 560px; margin: 0 auto 24px; }
.one-w__cta .one-w__ph { min-height: 60px; margin-bottom: 20px; }
.one-w--cta-point .one-w__cta { background: var(--okc-primary, var(--kc-primary, #1f5eff)); color: #fff; }
.one-w--cta-point .one-w__btn { background: #fff; color: var(--okc-primary, var(--kc-primary, #1f5eff)) !important; }
.one-w--cta-dark .one-w__cta { background: #17171a; color: #fff; }
.one-w--cta-dark .one-w__btn { background: #fff; color: #17171a !important; }
@media (max-width: 767.98px) { .one-w__cta { padding: 40px 18px; } }

/* 배너 · 안내 글 · 혜택 3칸 */
.one-w__band { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding: 34px 40px; border-radius: 14px; overflow: hidden; background: var(--okc-primary, var(--kc-primary, #1f5eff)); color: #fff; }
.one-w--band-dark .one-w__band { background: #17171a; }
.one-w--band-soft .one-w__band { background: #f1f3f6; color: #1b1b1e; }
.one-w__band.has-img { min-height: 180px; }
.one-w__bandbg { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; border-radius: 0 !important; }
.one-w__band.has-img::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, .15)); }
.one-w__band.has-img { color: #fff; }
.one-w__bandtx, .one-w__bandb { position: relative; z-index: 2; }
.one-w__bandtx { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.one-w__bandt { font-size: clamp(1.2rem, 2.2vw, 1.6rem); font-weight: 800; letter-spacing: -.01em; line-height: 1.3; }
.one-w__bands { font-size: 15px; opacity: .85; }
.one-w__bandb { flex: none; display: inline-block; padding: 12px 24px; border-radius: 999px; background: #fff; color: #1b1b1e !important; font-weight: 700; font-size: 14px; }
.one-w--band-soft .one-w__band:not(.has-img) .one-w__bandb { background: #1b1b1e; color: #fff !important; }
.one-w__band.is-center { flex-direction: column; justify-content: center; text-align: center; }
.one-w__band.is-center .one-w__bandtx { align-items: center; }
@media (max-width: 767.98px) { .one-w__band { padding: 26px 22px; } }

.one-w__notice { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; padding: 14px 18px; font-size: 14.5px; line-height: 1.6; color: inherit !important; text-align: center; white-space: pre-line; }
.one-w__notice svg { flex: none; opacity: .7; }
.one-w--notice-box .one-w__notice { background: #f3f4f6; border-radius: 10px; }
.one-w--notice-line .one-w__notice { border-top: 1px solid rgba(128, 128, 128, .3); border-bottom: 1px solid rgba(128, 128, 128, .3); }
a.one-w__notice:hover span { text-decoration: underline; }

.one-w--benefits { text-align: center; }
.one-w--benefits > .one-w__title { margin-bottom: 22px; }
.one-w__bens { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.one-w__ben { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 24px 16px; }
.one-w--card .one-w__ben { background: #f6f7f9; border-radius: 14px; }
.one-w__benic { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: rgba(31, 94, 255, .08); color: var(--okc-primary, var(--kc-primary, #1f5eff)); }
.one-w__bent { font-size: 16px; font-weight: 700; }
.one-w__bend { font-size: 13.5px; opacity: .7; line-height: 1.6; }
@media (max-width: 767.98px) { .one-w__bens { grid-template-columns: minmax(0, 1fr); gap: 10px; } .one-w__ben { padding: 18px 16px; } }

/* ---- 사진 + 글 (좌우) ---- */
.one-w__splitrow { display: flex; align-items: center; gap: 40px; }
.one-w--split-right .one-w__splitrow { flex-direction: row-reverse; }
.one-w__splitm { flex: 1 1 50%; min-width: 0; }
.one-w__splitm img { display: block; width: 100%; height: auto; border-radius: 14px; }
.one-w__splitm .one-w__ph { display: flex; align-items: center; justify-content: center; min-height: 240px; border-radius: 14px; background: rgba(128, 128, 128, .12); }
.one-w__splitt { flex: 1 1 50%; min-width: 0; }
.one-w__splitt .one-w__title { margin-bottom: 12px; font-size: clamp(1.4rem, 2.6vw, 1.9rem); }
.one-w__splitt .one-w__body { margin-bottom: 22px; line-height: 1.75; }
.one-w__splitt .one-w__btn { margin-top: 0; }
@media (max-width: 767.98px) { .one-w__splitrow, .one-w--split-right .one-w__splitrow { flex-direction: column; align-items: stretch; gap: 20px; } }

/* ---- 자주 묻는 질문 ---- */
.one-w--faq > .one-w__title { margin-bottom: 18px; }
.one-w__faq { border-top: 1px solid rgba(128, 128, 128, .3); }
.one-w__faqi { border-bottom: 1px solid rgba(128, 128, 128, .3); }
.one-w__faqq { position: relative; display: block; padding: 18px 40px 18px 4px; font-weight: 600; cursor: pointer; list-style: none; }
.one-w__faqq::-webkit-details-marker { display: none; }
.one-w__faqq::after { content: ''; position: absolute; right: 8px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s; opacity: .6; }
.one-w__faqi[open] > .one-w__faqq::after { transform: rotate(-135deg); margin-top: -2px; }
.one-w__faqa { padding: 0 4px 20px; white-space: pre-line; line-height: 1.75; opacity: .8; }

/* ---- 진행 단계 ---- */
.one-w--steps > .one-w__title { margin-bottom: 24px; text-align: center; }
.one-w__steps { display: flex; gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: one-step; }
.one-w__step { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 22px 14px; text-align: center; border: 1px solid rgba(128, 128, 128, .28); border-radius: 14px; }
.one-w__stepn { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--one-accent, #1b1b1e); color: #fff; font-weight: 700; font-size: 15px; }
.one-w__stept { font-size: 1.02rem; }
.one-w__stepd { font-size: .9rem; opacity: .75; line-height: 1.6; }
.one-w--bg-black .one-w__step { border-color: rgba(255, 255, 255, .25); }
@media (max-width: 767.98px) { .one-w__steps { flex-direction: column; } }

/* ---- 고객 말씀 ---- */
.one-w--quotes > .one-w__title { margin-bottom: 24px; text-align: center; }
.one-w__quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.one-w__quote { position: relative; margin: 0; padding: 30px 24px 24px; border-radius: 14px; background: #f3f4f6; color: #1b1b1e; }
.one-w__quote::before { content: '\201C'; position: absolute; left: 20px; top: 6px; font-size: 44px; line-height: 1; opacity: .25; }
.one-w__quoteb { margin: 0 0 16px; white-space: pre-line; line-height: 1.75; }
.one-w__quoten { font-size: .9rem; font-weight: 700; opacity: .75; }
.one-w--bg-black .one-w__quote { background: rgba(255, 255, 255, .1); color: #fff; }
@media (max-width: 767.98px) { .one-w__quotes { grid-template-columns: 1fr; } }

/* ---- 머리글 · 큰 문장 · 인용 글 ---- */
.one-w__h2 { margin: 0 0 8px; font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; line-height: 1.3; }
.one-w__sub { margin: 0; opacity: .7; }
.one-w__big { margin: 0; font-weight: 700; line-height: 1.5; word-break: keep-all; white-space: pre-line; }
.one-w__big--m { font-size: clamp(1.15rem, 2vw, 1.45rem); }
.one-w__big--l { font-size: clamp(1.45rem, 3vw, 2.1rem); }
.one-w__big--xl { font-size: clamp(1.8rem, 4.2vw, 3rem); line-height: 1.35; }
.one-w__q { margin: 0; padding: 0 12px; }
.one-w__q::before { content: '\201C'; display: block; font-size: 52px; line-height: .8; opacity: .25; }
.one-w__qb { margin: 0 0 14px; font-size: clamp(1.1rem, 2vw, 1.4rem); line-height: 1.75; white-space: pre-line; word-break: keep-all; }
.one-w__qn { font-size: .92rem; font-weight: 700; opacity: .65; }

/* ---- 가치 목록 ---- */
.one-w--values > .one-w__title { margin-bottom: 18px; }
.one-w__vals { margin: 0; padding: 0; list-style: none; }
.one-w__val { position: relative; padding: 14px 0 14px 34px; border-bottom: 1px solid rgba(128, 128, 128, .25); }
.one-w__val:first-child { border-top: 1px solid rgba(128, 128, 128, .25); }
.one-w__val::before { content: ''; position: absolute; left: 6px; top: 20px; width: 10px; height: 6px; border: solid var(--one-accent, #1b1b1e); border-width: 0 0 2px 2px; transform: rotate(-45deg); }
.one-w__valt { display: block; font-size: 1.02rem; }
.one-w__vald { display: block; margin-top: 2px; font-size: .92rem; opacity: .75; line-height: 1.6; }

/* ---- 매장 정보 ---- */
.one-w--store > .one-w__title { margin-bottom: 16px; }
.one-w__store { padding: 24px 26px; border: 1px solid rgba(128, 128, 128, .3); border-radius: 14px; }
.one-w__storen { display: block; margin-bottom: 12px; font-size: 1.2rem; }
.one-w__storel { display: grid; grid-template-columns: 90px 1fr; gap: 8px 14px; margin: 0; }
.one-w__storel dt { font-weight: 700; opacity: .65; }
.one-w__storel dd { margin: 0; white-space: pre-line; line-height: 1.6; }
.one-w__storel a { color: inherit; text-decoration: underline; }
@media (max-width: 575.98px) { .one-w__storel { grid-template-columns: 72px 1fr; } }

/* ---- 번호 글 ---- */
.one-w--numbered > .one-w__title { margin-bottom: 18px; }
.one-w__nums { margin: 0; padding: 0; list-style: none; }
.one-w__num2 { display: flex; gap: 22px; padding: 22px 0; border-bottom: 1px solid rgba(128, 128, 128, .25); }
.one-w__num2:first-child { border-top: 1px solid rgba(128, 128, 128, .25); }
.one-w__numn { flex: none; min-width: 48px; font-size: 1.8rem; font-weight: 800; line-height: 1.1; opacity: .3; }
.one-w__numt { display: block; font-size: 1.1rem; }
.one-w__numb { margin: 6px 0 0; line-height: 1.7; opacity: .8; white-space: pre-line; }

/* ---- 맺음글 ---- */
.one-w__closing { max-width: 640px; margin: 0 auto; padding: 8px 0; }
.one-w--closing[style*="text-align: left"] .one-w__closing { margin-left: 0; }
.one-w__closingt { margin: 0 0 14px; font-size: clamp(1.3rem, 2.6vw, 1.8rem); font-weight: 800; line-height: 1.4; word-break: keep-all; }
.one-w__closingb { margin: 0 0 18px; line-height: 1.85; white-space: pre-line; word-break: keep-all; opacity: .85; }
.one-w__closings { display: inline-block; font-weight: 700; opacity: .7; }

/* ---- 로고 줄 · 팀 소개 ---- */
.one-w--logos > .one-w__title, .one-w--team > .one-w__title { margin-bottom: 20px; text-align: center; }
.one-w__logos { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 18px 28px; align-items: center; }
.one-w__logo { display: flex; align-items: center; justify-content: center; min-height: 56px; }
.one-w__logoa { display: flex; align-items: center; justify-content: center; width: 100%; }
.one-w__logo img { max-width: 100%; max-height: 56px; width: auto; height: auto; object-fit: contain; }
.one-w__logos--gray img { filter: grayscale(1); opacity: .65; transition: filter .2s, opacity .2s; }
.one-w__logos--gray .one-w__logoa:hover img { filter: none; opacity: 1; }
.one-w__team { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 22px; }
.one-w__member { text-align: center; }
.one-w__member img { display: block; width: 100%; max-width: 200px; aspect-ratio: 1 / 1; margin: 0 auto 12px; object-fit: cover; border-radius: 50%; }
.one-w__member .one-w__ph { display: flex; align-items: center; justify-content: center; width: 140px; height: 140px; margin: 0 auto 12px; border-radius: 50%; background: rgba(128, 128, 128, .15); }
.one-w__mn { display: block; font-size: 1.05rem; }
.one-w__mr { display: block; margin-top: 2px; font-size: .88rem; opacity: .6; }
.one-w__mb { margin: 8px 0 0; font-size: .92rem; line-height: 1.6; opacity: .8; }

/* ---- 요금표 ---- */
.one-w--pricing > .one-w__title { margin-bottom: 22px; text-align: center; }
.one-w__plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; align-items: stretch; }
.one-w__plan { display: flex; flex-direction: column; gap: 14px; padding: 28px 24px; border: 1px solid rgba(128, 128, 128, .3); border-radius: 16px; }
.one-w__plan--hl { border: 2px solid var(--one-accent, #1b1b1e); box-shadow: 0 8px 26px rgba(0, 0, 0, .1); }
.one-w__plann { font-size: 1.05rem; }
.one-w__planv { font-size: 1.9rem; font-weight: 800; }
.one-w__planu { margin-left: 4px; opacity: .6; }
.one-w__planf { flex: 1 1 auto; margin: 0; padding: 0; list-style: none; line-height: 1.9; }
.one-w__planf li::before { content: '\2713'; margin-right: 8px; font-weight: 700; opacity: .6; }
.one-w__planb { align-self: stretch; text-align: center; }

/* ---- 연혁 ---- */
.one-w--timeline > .one-w__title { margin-bottom: 20px; }
.one-w__tl { position: relative; margin: 0; padding: 0; list-style: none; }
.one-w__tl::before { content: ''; position: absolute; left: 86px; top: 8px; bottom: 8px; width: 2px; background: rgba(128, 128, 128, .3); }
.one-w__tli { position: relative; display: flex; gap: 38px; padding: 10px 0; }
.one-w__tli::before { content: ''; position: absolute; left: 81px; top: 19px; width: 10px; height: 10px; border-radius: 50%; background: var(--one-accent, #1b1b1e); }
.one-w__tly { flex: none; width: 70px; font-size: 1.15rem; font-weight: 800; text-align: right; }
.one-w__tlt b { display: block; font-size: 1.02rem; }
.one-w__tlt p { margin: 4px 0 0; font-size: .92rem; line-height: 1.6; opacity: .75; }
@media (max-width: 575.98px) { .one-w__tl::before { left: 56px; } .one-w__tli { gap: 28px; } .one-w__tli::before { left: 51px; } .one-w__tly { width: 40px; } }

/* ---- 연락처 버튼 · SNS 링크 ---- */
.one-w--contact > .one-w__title { margin-bottom: 16px; text-align: center; }
.one-w__contact, .one-w__social { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.one-w__contactb { display: inline-flex; align-items: center; justify-content: center; min-width: 150px; padding: 14px 26px; border-radius: 999px; background: var(--one-accent, #1b1b1e); color: #fff !important; font-weight: 700; text-decoration: none; }
.one-w__socb { display: inline-flex; align-items: center; padding: 10px 20px; border: 1px solid rgba(128, 128, 128, .4); border-radius: 999px; color: inherit !important; font-weight: 600; text-decoration: none; }
.one-w__socb:hover { background: rgba(128, 128, 128, .12); }

/* ---- 카운트다운 ---- */
.one-w__cd { display: flex; justify-content: center; gap: 12px; margin-top: 16px; }
.one-w__cdc { min-width: 84px; padding: 16px 10px; border-radius: 14px; background: #f3f4f6; color: #1b1b1e; }
.one-w--bg-black .one-w__cdc { background: rgba(255, 255, 255, .12); color: #fff; }
.one-w__cdn { display: block; font-size: 2rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.one-w__cdl { display: block; margin-top: 4px; font-size: .8rem; opacity: .65; }
.one-w__cdend { margin: 16px 0 0; font-size: 1.1rem; font-weight: 700; }
@media (max-width: 575.98px) { .one-w__cd { gap: 8px; } .one-w__cdc { min-width: 64px; padding: 12px 6px; } .one-w__cdn { font-size: 1.5rem; } }

/* ---- 흐르는 문구 ---- */
.one-w--ticker { padding-left: 0; padding-right: 0; }
.one-w__tick { overflow: hidden; border-radius: 10px; background: var(--one-accent, #1b1b1e); color: #fff; }
.one-w--tick-dark .one-w__tick { background: #111; }
.one-w--tick-soft .one-w__tick { background: #f3f4f6; color: #1b1b1e; }
.one-w__tickt { display: flex; width: max-content; padding: 14px 0; animation: one-tick 24s linear infinite; }
.one-w__tickx { flex: none; padding: 0 48px; font-weight: 600; white-space: nowrap; }
@keyframes one-tick { from { transform: translateX(0); } to { transform: translateX(-25%); } }
@media (prefers-reduced-motion: reduce) { .one-w__tickt { animation: none; } }

/* ---- 탭 글 ---- */
.one-w--tabs > .one-w__title { margin-bottom: 16px; }
.one-w__tabbar { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid rgba(128, 128, 128, .3); }
.one-w__tabb { padding: 12px 20px; border: 0; border-bottom: 3px solid transparent; background: none; color: inherit; font: inherit; font-weight: 600; opacity: .6; cursor: pointer; }
.one-w__tabb.is-on { border-bottom-color: var(--one-accent, #1b1b1e); opacity: 1; }
.one-w__tabc { padding: 22px 4px; line-height: 1.85; white-space: pre-line; }

/* ---- 막대 그래프 ---- */
.one-w--bars > .one-w__title { margin-bottom: 18px; }
.one-w__bar + .one-w__bar { margin-top: 16px; }
.one-w__barh { display: flex; justify-content: space-between; margin-bottom: 6px; font-weight: 600; }
.one-w__bart { height: 10px; border-radius: 999px; background: rgba(128, 128, 128, .2); overflow: hidden; }
.one-w__barf { height: 100%; border-radius: 999px; background: var(--one-accent, #1b1b1e); }

/* ---- 히어로 배너 · 사진 위 글자 ---- */
.one-w--hero, .one-w--overlay { padding-left: 0; padding-right: 0; }
.one-w__hero { position: relative; display: flex; align-items: center; justify-content: center; padding: 48px 28px; border-radius: 18px; overflow: hidden; background: #1b1b1e center / cover no-repeat; color: #fff; }
.one-w__hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .28), rgba(0, 0, 0, .55)); }
.one-w__hero--light { color: #1b1b1e; }
.one-w__hero--light::before { background: rgba(255, 255, 255, .55); }
.one-w__hero--m { min-height: 260px; } .one-w__hero--l { min-height: 380px; } .one-w__hero--xl { min-height: 520px; }
.one-w__heroin { position: relative; z-index: 1; max-width: 760px; }
.one-w__hero--center .one-w__heroin { text-align: center; }
.one-w__hero--left { justify-content: flex-start; } .one-w__hero--left .one-w__heroin { text-align: left; }
.one-w__hero--right { justify-content: flex-end; } .one-w__hero--right .one-w__heroin { text-align: right; }
.one-w__heroh { margin: 0 0 12px; font-size: clamp(1.7rem, 4.6vw, 3rem); font-weight: 800; line-height: 1.25; word-break: keep-all; }
.one-w__heros { margin: 0 0 24px; font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.7; opacity: .92; word-break: keep-all; }
.one-w__heroa { display: flex; flex-wrap: wrap; gap: 10px; }
.one-w__hero--center .one-w__heroa { justify-content: center; } .one-w__hero--right .one-w__heroa { justify-content: flex-end; }
.one-w__herob { display: inline-block; padding: 13px 28px; border-radius: 999px; background: #fff; color: #1b1b1e !important; font-weight: 700; text-decoration: none; }
.one-w__herob--ghost { background: transparent; color: inherit !important; border: 1.5px solid currentColor; }
.one-w__hero--light .one-w__herob { background: #1b1b1e; color: #fff !important; } .one-w__hero--light .one-w__herob--ghost { background: transparent; color: #1b1b1e !important; }
@media (max-width: 767.98px) { .one-w__hero { padding: 36px 20px; } .one-w__hero--xl { min-height: 400px; } .one-w__hero--l { min-height: 300px; } }

/* ---- 전후 비교 ---- */
.one-w--beforeafter > .one-w__title { margin-bottom: 14px; text-align: center; }
.one-w__ba { --one-ba: 50%; position: relative; max-width: 760px; margin: 0 auto; overflow: hidden; border-radius: 14px; background: #eee; user-select: none; }
.one-w__ba img { display: block; width: 100%; height: auto; }
.one-w__baafter { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; clip-path: inset(0 0 0 var(--one-ba)); }
.one-w__batag { position: absolute; top: 12px; padding: 4px 12px; border-radius: 999px; background: rgba(0, 0, 0, .55); color: #fff; font-size: 12px; font-weight: 700; }
.one-w__batag--a { left: 12px; } .one-w__batag--b { right: 12px; }
.one-w__barange { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.one-w__ba::after { content: ''; position: absolute; top: 0; bottom: 0; left: var(--one-ba); width: 3px; margin-left: -1.5px; background: #fff; box-shadow: 0 0 8px rgba(0, 0, 0, .4); pointer-events: none; }

/* ---- 이미지 카드 3장 · 3단 글 · 서비스 6칸 ---- */
.one-w--cards3 > .one-w__title, .one-w--services > .one-w__title, .one-w--text3 > .one-w__title { margin-bottom: 20px; text-align: center; }
.one-w__cards3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.one-w__c3 { display: flex; flex-direction: column; gap: 6px; color: inherit !important; text-decoration: none; }
.one-w__c3 img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; margin-bottom: 6px; }
.one-w__c3ph { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; border-radius: 14px; background: rgba(128, 128, 128, .15); }
.one-w__c3t { font-size: 1.08rem; } .one-w__c3b { font-size: .92rem; line-height: 1.6; opacity: .75; }
a.one-w__c3:hover .one-w__c3t { text-decoration: underline; }
.one-w__t3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 24px 32px; }
.one-w__t3t { margin: 0 0 8px; font-size: 1.15rem; font-weight: 800; }
.one-w__t3b { margin: 0; line-height: 1.75; opacity: .8; white-space: pre-line; }
.one-w__svcs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.one-w__svc { display: flex; flex-direction: column; gap: 6px; padding: 24px 22px; border: 1px solid rgba(128, 128, 128, .28); border-radius: 14px; color: inherit !important; text-decoration: none; transition: box-shadow .2s, transform .2s; }
a.one-w__svc:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, .1); transform: translateY(-2px); }
.one-w__svcn { font-size: .85rem; font-weight: 800; opacity: .35; } .one-w__svct { font-size: 1.1rem; } .one-w__svcd { font-size: .92rem; line-height: 1.6; opacity: .75; }
@media (max-width: 767.98px) { .one-w__svcs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479.98px) { .one-w__svcs { grid-template-columns: 1fr; } }

/* ---- 별점 후기 · 평점 요약 ---- */
.one-w--stars > .one-w__title { margin-bottom: 20px; text-align: center; }
.one-w__starl { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.one-w__star { margin: 0; padding: 22px; border-radius: 14px; background: #f3f4f6; color: #1b1b1e; }
.one-w__starr { color: #f5a623; letter-spacing: 2px; font-size: 1.1rem; }
.one-w__starb { margin: 10px 0 12px; line-height: 1.7; white-space: pre-line; }
.one-w__starn { font-size: .88rem; font-weight: 700; opacity: .65; }
.one-w__rate { display: inline-flex; flex-direction: column; align-items: center; gap: 4px; }
.one-w__ratel { font-size: .95rem; font-weight: 600; opacity: .7; }
.one-w__rates { font-size: 3.4rem; font-weight: 800; line-height: 1; }
.one-w__ratest { color: #f5a623; font-size: 1.4rem; letter-spacing: 3px; }
.one-w__ratec { font-size: .88rem; opacity: .6; }

/* ---- 비교표 · 영업시간 ---- */
.one-w--table > .one-w__title, .one-w--hours > .one-w__title { margin-bottom: 14px; }
.one-w__tblw { overflow-x: auto; }
.one-w__tbl { width: 100%; border-collapse: collapse; font-size: .95rem; }
.one-w__tbl th, .one-w__tbl td { padding: 13px 14px; border-bottom: 1px solid rgba(128, 128, 128, .28); text-align: center; }
.one-w__tbl thead th { background: rgba(128, 128, 128, .12); font-weight: 800; }
.one-w__tbl tbody th { text-align: left; font-weight: 700; }
.one-w__hours { display: grid; grid-template-columns: 130px 1fr; gap: 0; margin: 0; max-width: 520px; }
.one-w__hours dt, .one-w__hours dd { margin: 0; padding: 11px 4px; border-bottom: 1px solid rgba(128, 128, 128, .25); }
.one-w__hours dt { font-weight: 700; } .one-w__hoursn { margin: 12px 0 0; font-size: .9rem; opacity: .65; }

/* ---- 링크 목록 · 소식 목록 ---- */
.one-w--links > .one-w__title, .one-w--news > .one-w__title { margin-bottom: 14px; }
.one-w__links { display: grid; gap: 10px; }
.one-w__link { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; border: 1px solid rgba(128, 128, 128, .3); border-radius: 12px; color: inherit !important; text-decoration: none; transition: border-color .2s, background .2s; }
.one-w__link:hover { border-color: currentColor; background: rgba(128, 128, 128, .07); }
.one-w__linktx b { display: block; } .one-w__linktx span { display: block; margin-top: 2px; font-size: .88rem; opacity: .65; }
.one-w__linkar { flex: none; font-size: 1.2rem; opacity: .5; }
.one-w__news { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(128, 128, 128, .3); }
.one-w__newsi { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 14px 4px; border-bottom: 1px solid rgba(128, 128, 128, .25); }
.one-w__newst { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: inherit !important; text-decoration: none; }
a.one-w__newst:hover { text-decoration: underline; }
.one-w__newsd { flex: none; font-size: .85rem; opacity: .55; }

/* ---- 태그 모음 · 상담 전화 띠 · 여백 ---- */
.one-w--chips > .one-w__title { margin-bottom: 14px; }
.one-w__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.one-w--chips[style*="center"] .one-w__chips { justify-content: center; }
.one-w__chip { padding: 8px 16px; border-radius: 999px; background: rgba(128, 128, 128, .14); font-size: .92rem; font-weight: 600; }
.one-w__cb { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; padding: 22px 30px; border-radius: 16px; background: var(--one-accent, #1b1b1e); color: #fff; }
.one-w--cb-dark .one-w__cb { background: #111; }
.one-w--cb-soft .one-w__cb { background: #f3f4f6; color: #1b1b1e; }
.one-w__cbt b { display: block; font-size: 1.1rem; } .one-w__cbt span { display: block; margin-top: 2px; font-size: .9rem; opacity: .8; }
.one-w__cbn { font-size: clamp(1.6rem, 4vw, 2.3rem); font-weight: 800; color: inherit !important; text-decoration: none; letter-spacing: .5px; }
.one-w--nopad { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0; margin-bottom: 0; }
@media (max-width: 575.98px) { .one-w__cb { flex-direction: column; text-align: center; } .one-w__hours { grid-template-columns: 100px 1fr; } }

/* ---- 대표 후기 ---- */
.one-w__tf { max-width: 720px; margin: 0 auto; padding: 8px 0; }
.one-w__tfa { display: block; width: 84px; height: 84px; margin: 0 auto 14px; border-radius: 50%; object-fit: cover; }
.one-w__tfs { display: block; margin-bottom: 10px; color: #f5a623; font-size: 1.2rem; letter-spacing: 3px; }
.one-w__tfb { margin: 0 0 16px; font-size: clamp(1.15rem, 2.4vw, 1.5rem); line-height: 1.75; font-weight: 600; white-space: pre-line; word-break: keep-all; }
.one-w__tfn { display: block; font-weight: 800; } .one-w__tfr { display: block; margin-top: 2px; font-size: .9rem; opacity: .6; }

/* ---- 대표 인사말 · 전문가 소개 ---- */
.one-w__ceorow { display: flex; align-items: center; gap: 44px; }
.one-w--ceo-right .one-w__ceorow { flex-direction: row-reverse; }
.one-w__ceom { flex: 0 0 38%; min-width: 0; }
.one-w__ceom img { display: block; width: 100%; height: auto; border-radius: 16px; }
.one-w__ceom .one-w__ph { display: flex; align-items: center; justify-content: center; min-height: 280px; border-radius: 16px; background: rgba(128, 128, 128, .12); }
.one-w__ceot { flex: 1 1 auto; min-width: 0; }
.one-w__ceot .one-w__title { margin-bottom: 14px; }
.one-w__ceot .one-w__body { line-height: 1.9; white-space: pre-line; word-break: keep-all; }
.one-w__ceos { margin: 20px 0 0; text-align: right; font-size: 1.05rem; } .one-w__ceos b { font-size: 1.25rem; margin-left: 4px; }
@media (max-width: 767.98px) { .one-w__ceorow, .one-w--ceo-right .one-w__ceorow { flex-direction: column; align-items: stretch; gap: 20px; } .one-w__ceom { flex-basis: auto; } }
.one-w__ex { display: flex; align-items: center; gap: 28px; padding: 26px; border: 1px solid rgba(128, 128, 128, .3); border-radius: 18px; }
.one-w__exm { flex: none; width: 150px; }
.one-w__exm img { display: block; width: 150px; height: 150px; border-radius: 50%; object-fit: cover; }
.one-w__exm .one-w__ph { display: flex; align-items: center; justify-content: center; width: 150px; height: 150px; border-radius: 50%; background: rgba(128, 128, 128, .15); }
.one-w__ext { flex: 1 1 auto; min-width: 0; }
.one-w__exn { display: block; font-size: 1.35rem; } .one-w__exr { display: block; margin-top: 2px; font-size: .92rem; opacity: .6; }
.one-w__exb { margin: 12px 0 0; line-height: 1.75; opacity: .85; }
.one-w__exc { margin: 12px 0 0; padding: 0; list-style: none; font-size: .92rem; line-height: 1.9; }
.one-w__exc li::before { content: ''; display: inline-block; width: 5px; height: 5px; margin: 0 10px 2px 0; border-radius: 50%; background: currentColor; opacity: .5; }
@media (max-width: 575.98px) { .one-w__ex { flex-direction: column; text-align: center; } }

/* ---- 후기 슬라이더 ---- */
.one-w--slider > .one-w__title { margin-bottom: 18px; text-align: center; }
.one-w__sl { max-width: 760px; margin: 0 auto; }
.one-w__slv { overflow: hidden; border-radius: 16px; background: #f3f4f6; color: #1b1b1e; }
.one-w__slt { display: flex; transition: transform .45s ease; }
.one-w__sls { flex: 0 0 100%; box-sizing: border-box; margin: 0; padding: 40px 36px 34px; text-align: center; }
.one-w__slb { margin: 0 0 18px; font-size: clamp(1.05rem, 2.2vw, 1.3rem); line-height: 1.8; white-space: pre-line; word-break: keep-all; }
.one-w__sln { display: block; font-weight: 800; } .one-w__slr { display: block; margin-top: 2px; font-size: .88rem; opacity: .6; }
.one-w__slnav { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; }
.one-w__slbtn { width: 34px; height: 34px; border: 1px solid rgba(128, 128, 128, .4); border-radius: 50%; background: transparent; color: inherit; font-size: 20px; line-height: 1; cursor: pointer; }
.one-w__slbtn:hover { background: rgba(128, 128, 128, .12); }
.one-w__sldot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(128, 128, 128, .35); cursor: pointer; }
.one-w__sldot.is-on { width: 24px; border-radius: 999px; background: var(--one-accent, #1b1b1e); }
@media (prefers-reduced-motion: reduce) { .one-w__slt { transition: none; } }
@media (max-width: 575.98px) { .one-w__sls { padding: 30px 20px 26px; } }

/* ---- 고객 사례 ---- */
.one-w--cases > .one-w__title { margin-bottom: 20px; text-align: center; }
.one-w__cases { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.one-w__case { display: flex; flex-direction: column; gap: 8px; padding: 28px 24px; border-radius: 16px; background: #f3f4f6; color: #1b1b1e !important; text-decoration: none; transition: transform .2s, box-shadow .2s; }
a.one-w__case:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(0, 0, 0, .12); }
.one-w__caseco { font-size: .85rem; font-weight: 700; opacity: .55; }
.one-w__caser { font-size: 1.45rem; font-weight: 800; line-height: 1.35; word-break: keep-all; }
.one-w__cased { font-size: .92rem; line-height: 1.65; opacity: .75; }

/* ---- 후기 벽 · 흐르는 후기 ---- */
.one-w--wall > .one-w__title { margin-bottom: 20px; text-align: center; }
.one-w__wall { columns: 3 220px; column-gap: 14px; }
.one-w__wallc { break-inside: avoid; margin: 0 0 14px; padding: 20px 20px 16px; border-radius: 14px; background: #f3f4f6; color: #1b1b1e; }
.one-w__wallb { margin: 0 0 10px; line-height: 1.7; white-space: pre-line; word-break: keep-all; }
.one-w__walln { font-size: .85rem; font-weight: 700; opacity: .6; }
.one-w--rmarquee { padding-left: 0; padding-right: 0; }
.one-w__rm { overflow: hidden; }
.one-w__rmt { display: flex; width: max-content; animation: one-rm 45s linear infinite; }
.one-w__rmi { flex: none; margin-right: 18px; padding: 12px 24px; border-radius: 999px; background: #f3f4f6; color: #1b1b1e; font-weight: 600; white-space: nowrap; }
.one-w__rm:hover .one-w__rmt { animation-play-state: paused; }
@keyframes one-rm { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .one-w__rmt { animation: none; flex-wrap: wrap; width: auto; gap: 10px; } }

/* ---- 고객 얼굴 줄 ---- */
.one-w__av { display: inline-flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: center; }
.one-w__avs { display: inline-flex; }
.one-w__avs img { width: 48px; height: 48px; margin-left: -12px; border: 3px solid #fff; border-radius: 50%; object-fit: cover; }
.one-w__avs img:first-child { margin-left: 0; }
.one-w--bg-black .one-w__avs img { border-color: #111; }
.one-w__avt { text-align: left; } .one-w__avt b { display: block; } .one-w__avt span { display: block; font-size: .88rem; opacity: .65; }

/* ---- 별점 분포 ---- */
.one-w--distribution > .one-w__title { margin-bottom: 18px; }
.one-w__dist { display: flex; align-items: center; gap: 40px; max-width: 640px; margin: 0 auto; }
.one-w__distl { flex: none; text-align: center; }
.one-w__dists { display: block; font-size: 3.4rem; font-weight: 800; line-height: 1; }
.one-w__diststar { display: block; margin-top: 6px; color: #f5a623; letter-spacing: 3px; }
.one-w__distc { display: block; margin-top: 4px; font-size: .85rem; opacity: .6; }
.one-w__distb { flex: 1 1 auto; min-width: 0; }
.one-w__distr { display: flex; align-items: center; gap: 10px; margin: 6px 0; font-size: .88rem; }
.one-w__distn { flex: none; width: 28px; opacity: .7; } .one-w__distp { flex: none; width: 38px; text-align: right; opacity: .6; }
.one-w__distt { flex: 1 1 auto; height: 9px; border-radius: 999px; background: rgba(128, 128, 128, .2); overflow: hidden; }
.one-w__distf { display: block; height: 100%; border-radius: 999px; background: #f5a623; }
@media (max-width: 575.98px) { .one-w__dist { flex-direction: column; gap: 18px; } .one-w__distb { width: 100%; } }

/* ---- 고객사 후기 ---- */
.one-w--clientq > .one-w__title { margin-bottom: 20px; text-align: center; }
.one-w__cq { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.one-w__cqc { display: flex; flex-direction: column; margin: 0; padding: 26px 24px; border: 1px solid rgba(128, 128, 128, .3); border-radius: 16px; }
.one-w__cql { display: flex; align-items: center; height: 44px; margin-bottom: 16px; }
.one-w__cql img { max-width: 140px; max-height: 44px; width: auto; height: auto; object-fit: contain; }
.one-w__cqb { flex: 1 1 auto; margin: 0 0 14px; line-height: 1.75; white-space: pre-line; word-break: keep-all; }
.one-w__cqn { font-size: .88rem; font-weight: 700; opacity: .65; }

/* ---- 직원 명단 ---- */
.one-w--staff > .one-w__title { margin-bottom: 18px; }
.one-w__staff { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.one-w__sfc { display: flex; flex-direction: column; gap: 3px; padding: 16px 18px; border: 1px solid rgba(128, 128, 128, .3); border-radius: 12px; }
.one-w__sfn { font-size: 1.05rem; } .one-w__sfr { font-size: .88rem; opacity: .65; } .one-w__sft { font-size: .85rem; opacity: .5; }

/* ---- 인터뷰 ---- */
.one-w--interview > .one-w__title { margin-bottom: 18px; }
.one-w__iv { display: flex; gap: 36px; align-items: flex-start; }
.one-w__ivm { flex: 0 0 32%; min-width: 0; text-align: center; }
.one-w__ivm img { display: block; width: 100%; height: auto; border-radius: 16px; }
.one-w__ivm .one-w__ph { display: flex; align-items: center; justify-content: center; min-height: 240px; border-radius: 16px; background: rgba(128, 128, 128, .12); }
.one-w__ivwho { margin-top: 12px; } .one-w__ivwho b { display: block; } .one-w__ivwho span { display: block; font-size: .88rem; opacity: .6; }
.one-w__ivq { flex: 1 1 auto; min-width: 0; }
.one-w__ivi + .one-w__ivi { margin-top: 22px; }
.one-w__ivqq { display: block; font-size: 1.05rem; } .one-w__ivqq::before { content: 'Q. '; color: var(--one-accent, #1b1b1e); }
.one-w__ivaa { margin: 6px 0 0; line-height: 1.8; white-space: pre-line; opacity: .85; word-break: keep-all; }
@media (max-width: 767.98px) { .one-w__iv { flex-direction: column; } .one-w__ivm { flex-basis: auto; width: 100%; } }

/* ---- 고객 스토리 ---- */
.one-w--story > .one-w__title { margin-bottom: 6px; text-align: center; }
.one-w__storywho { margin: 0 0 18px; text-align: center; opacity: .6; }
.one-w__story { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.one-w__sty { position: relative; padding: 24px 22px; border-radius: 14px; background: #f3f4f6; color: #1b1b1e; }
.one-w__sty--3 { background: var(--one-accent, #1b1b1e); color: #fff; }
.one-w__styl { display: inline-block; margin-bottom: 10px; padding: 3px 12px; border-radius: 999px; background: rgba(0, 0, 0, .08); font-size: .8rem; font-weight: 800; }
.one-w__sty--3 .one-w__styl { background: rgba(255, 255, 255, .2); }
.one-w__styt { margin: 0; line-height: 1.75; white-space: pre-line; word-break: keep-all; }

/* ---- 수상 · 인증 · 언론 보도 ---- */
.one-w--awards > .one-w__title, .one-w--press > .one-w__title { margin-bottom: 18px; }
.one-w__awards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.one-w__aw { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 22px 14px; text-align: center; border: 1px solid rgba(128, 128, 128, .3); border-radius: 14px; }
.one-w__awy { font-size: .85rem; font-weight: 800; opacity: .45; } .one-w__awt { font-size: 1rem; line-height: 1.4; } .one-w__awd { font-size: .82rem; opacity: .6; }
.one-w__press { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(128, 128, 128, .3); }
.one-w__pri { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 14px 4px; border-bottom: 1px solid rgba(128, 128, 128, .25); }
.one-w__prt { flex: 1 1 auto; min-width: 0; color: inherit !important; text-decoration: none; }
a.one-w__prt:hover { text-decoration: underline; }
.one-w__prm { display: inline-block; margin-right: 10px; font-style: normal; font-weight: 800; opacity: .55; }
.one-w__prd { flex: none; font-size: .85rem; opacity: .55; }

/* ---- 지점 목록 · 부서별 연락처 · 대표번호 모음 ---- */
.one-w--branches > .one-w__title, .one-w--depts > .one-w__title, .one-w--phones > .one-w__title, .one-w--directions > .one-w__title { margin-bottom: 16px; }
.one-w__branches { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.one-w__branch { display: flex; flex-direction: column; gap: 5px; padding: 22px; border: 1px solid rgba(128, 128, 128, .3); border-radius: 14px; }
.one-w__brn { font-size: 1.1rem; } .one-w__bra { line-height: 1.6; opacity: .8; }
.one-w__brt { font-weight: 700; color: inherit !important; text-decoration: none; } a.one-w__brt:hover { text-decoration: underline; }
.one-w__brh { font-size: .88rem; opacity: .6; }
.one-w__dep { width: 100%; border-collapse: collapse; font-size: .95rem; }
.one-w__dep th, .one-w__dep td { padding: 13px 14px; border-bottom: 1px solid rgba(128, 128, 128, .28); text-align: left; }
.one-w__dep thead th { background: rgba(128, 128, 128, .12); font-weight: 800; }
.one-w__dep a { color: inherit; }
.one-w__phones { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.one-w__phone { display: flex; flex-direction: column; gap: 6px; padding: 22px; text-align: center; border-radius: 14px; background: #f3f4f6; color: #1b1b1e; }
.one-w__phl { font-size: .9rem; font-weight: 700; opacity: .6; }
.one-w__phn { font-size: clamp(1.4rem, 3vw, 1.9rem); font-weight: 800; color: inherit !important; text-decoration: none; letter-spacing: .3px; }

/* ---- 오시는 길(교통편) ---- */
.one-w__dirs { border-top: 1px solid rgba(128, 128, 128, .3); }
.one-w__dir { display: flex; gap: 18px; padding: 15px 4px; border-bottom: 1px solid rgba(128, 128, 128, .25); }
.one-w__dirk { flex: none; width: 76px; font-weight: 800; }
.one-w__dirt { flex: 1 1 auto; margin: 0; line-height: 1.7; opacity: .85; white-space: pre-line; }

/* ---- 카카오톡 상담 · 이메일 문의 · 문의 유도 배너 ---- */
.one-w__kk { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; padding: 26px 30px; border-radius: 18px; background: #fee500; color: #191919; }
.one-w__kkt b { display: block; font-size: 1.2rem; } .one-w__kkt span { display: block; margin-top: 4px; font-size: .92rem; opacity: .75; }
.one-w__kkid { display: inline-block; margin-top: 6px; font-style: normal; font-size: .85rem; font-weight: 700; opacity: .6; }
.one-w__kkb { display: inline-block; padding: 13px 28px; border-radius: 999px; background: #191919; color: #fee500 !important; font-weight: 700; text-decoration: none; }
.one-w__eb { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px 24px; padding: 22px 28px; border-radius: 16px; background: #f3f4f6; color: #1b1b1e; }
.one-w--eb-point .one-w__eb { background: var(--one-accent, #1b1b1e); color: #fff; }
.one-w--eb-dark .one-w__eb { background: #111; color: #fff; }
.one-w__ebl { display: block; font-size: .85rem; font-weight: 700; opacity: .65; }
.one-w__ebm { display: block; margin-top: 2px; font-size: clamp(1.15rem, 2.6vw, 1.5rem); word-break: break-all; }
.one-w__ebn { display: block; margin-top: 4px; font-size: .88rem; opacity: .65; }
.one-w__eba { display: flex; gap: 8px; }
.one-w__ebb { padding: 10px 18px; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit !important; font: inherit; font-size: .9rem; font-weight: 700; text-decoration: none; cursor: pointer; }
.one-w__ebb--go { background: currentColor; } .one-w__ebb--go { color: #fff !important; mix-blend-mode: normal; }
.one-w--eb-soft .one-w__ebb--go { background: #1b1b1e; border-color: #1b1b1e; }
.one-w--eb-point .one-w__ebb--go, .one-w--eb-dark .one-w__ebb--go { background: #fff; border-color: #fff; color: #1b1b1e !important; }
.one-w__cc { padding: 40px 30px; text-align: center; border-radius: 18px; background: var(--one-accent, #1b1b1e); color: #fff; }
.one-w--cc-dark .one-w__cc { background: #111; } .one-w--cc-soft .one-w__cc { background: #f3f4f6; color: #1b1b1e; }
.one-w__cct { margin: 0 0 8px; font-size: clamp(1.4rem, 3.2vw, 2rem); font-weight: 800; line-height: 1.35; word-break: keep-all; }
.one-w__ccs { margin: 0 0 22px; opacity: .85; line-height: 1.7; word-break: keep-all; }
.one-w__ccr { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 22px; }
.one-w__cctel { font-size: clamp(1.6rem, 4vw, 2.3rem); font-weight: 800; color: inherit !important; text-decoration: none; letter-spacing: .5px; }
.one-w__ccb { display: inline-block; padding: 13px 28px; border-radius: 999px; background: #fff; color: #1b1b1e !important; font-weight: 700; text-decoration: none; }
.one-w--cc-soft .one-w__ccb { background: #1b1b1e; color: #fff !important; }

/* ---- QR 안내 · 지도 앱 버튼 · 약도 이미지 ---- */
.one-w__qr { display: flex; align-items: center; gap: 36px; }
.one-w__qrm { flex: 0 0 180px; }
.one-w__qrm img { display: block; width: 180px; height: 180px; object-fit: contain; border: 1px solid rgba(128, 128, 128, .3); border-radius: 12px; background: #fff; padding: 8px; box-sizing: border-box; }
.one-w__qrm .one-w__ph { display: flex; align-items: center; justify-content: center; width: 180px; height: 180px; border-radius: 12px; background: rgba(128, 128, 128, .12); text-align: center; padding: 10px; box-sizing: border-box; }
.one-w__qrt { flex: 1 1 auto; min-width: 0; } .one-w__qrt .one-w__title { margin-bottom: 8px; } .one-w__qrt .one-w__body { margin-bottom: 16px; line-height: 1.7; }
@media (max-width: 575.98px) { .one-w__qr { flex-direction: column; text-align: center; } }
.one-w__mb { padding: 24px; border: 1px solid rgba(128, 128, 128, .3); border-radius: 16px; text-align: center; }
.one-w__mbn { display: block; font-size: 1.2rem; } .one-w__mba { display: block; margin: 6px 0 16px; opacity: .75; line-height: 1.6; }
.one-w__mbr { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.one-w__mbb { display: inline-block; padding: 11px 22px; border-radius: 999px; background: #1b1b1e; color: #fff !important; font-weight: 700; font-size: .92rem; text-decoration: none; }
.one-w__mbb:nth-child(1) { background: #03c75a; } .one-w__mbb:nth-child(2) { background: #fee500; color: #191919 !important; } .one-w__mbb:nth-child(3) { background: #4285f4; }
.one-w__mi { margin: 0; }
.one-w__miw { display: block; } .one-w__mi img { display: block; width: 100%; height: auto; border-radius: 14px; }
.one-w__mic { margin-top: 10px; font-size: .9rem; opacity: .65; text-align: center; }

/* ---- 영업 중 표시 ---- */
.one-w__os { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; padding: 12px 20px; border: 1px solid rgba(128, 128, 128, .3); border-radius: 999px; }
.one-w__osb { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; }
.one-w__osb::before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: #9ca3af; }
.one-w__osb.is-open { color: #16a34a; } .one-w__osb.is-open::before { background: #22c55e; box-shadow: 0 0 0 4px rgba(34, 197, 94, .25); }
.one-w__osb.is-closed { color: #dc2626; } .one-w__osb.is-closed::before { background: #ef4444; }
.one-w__ost { opacity: .75; } .one-w__osn { font-size: .88rem; opacity: .55; }

/* ---- 사업자 정보 · 간편 문의 폼 ---- */
.one-w__biz { display: grid; grid-template-columns: 150px 1fr; gap: 8px 16px; margin: 0; font-size: .92rem; }
.one-w__biz dt { font-weight: 700; opacity: .6; } .one-w__biz dd { margin: 0; line-height: 1.6; }
@media (max-width: 575.98px) { .one-w__biz { grid-template-columns: 110px 1fr; } }
.one-w--mailform > .one-w__title { margin-bottom: 14px; }
.one-w__mf { display: grid; gap: 10px; max-width: 560px; margin: 0 auto; }
.one-w__mfi { width: 100%; padding: 13px 16px; border: 1px solid rgba(128, 128, 128, .4); border-radius: 10px; background: #fff; color: #1b1b1e; font: inherit; box-sizing: border-box; }
.one-w__mfi:focus { outline: 2px solid var(--one-accent, #1b1b1e); outline-offset: 1px; }
.one-w__mfb { padding: 14px 20px; border: 0; border-radius: 10px; background: var(--one-accent, #1b1b1e); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.one-w__mfn { margin: 0; font-size: .82rem; text-align: center; opacity: .55; }

/* ---- 글자 구분선 · 장식 구분선 ---- */
.one-w__td { display: flex; align-items: center; gap: 18px; }
.one-w__tdl { flex: 1 1 auto; height: 0; border-top: 1px solid rgba(128, 128, 128, .45); }
.one-w__tdt { flex: none; max-width: 70%; font-size: .9rem; font-weight: 700; letter-spacing: .12em; opacity: .65; text-align: center; }
.one-w__td.is-bare .one-w__tdt { display: none; } .one-w__td.is-bare { gap: 0; }
.one-w--td-dots .one-w__tdl { border-top: 2px dotted rgba(128, 128, 128, .55); }
.one-w--td-double .one-w__tdl { height: 4px; border-top: 1px solid rgba(128, 128, 128, .45); border-bottom: 1px solid rgba(128, 128, 128, .45); }
.one-w__orn { text-align: center; letter-spacing: .5em; color: var(--one-accent, #1b1b1e); opacity: .55; line-height: 1; }
.one-w__orn--m { font-size: 1.1rem; } .one-w__orn--l { font-size: 1.8rem; }

/* ---- 물결 · 기울기 띠 ---- */
.one-w__wave { display: block; line-height: 0; overflow: hidden; color: #f3f4f6; }
.one-w__wave svg { display: block; width: 100%; height: 100%; }
.one-w__wave--s { height: 36px; } .one-w__wave--m { height: 64px; } .one-w__wave--l { height: 110px; }
.one-w__wave.is-flip svg { transform: scaleY(-1); }
.one-w__wave--c-gray { color: #f3f4f6; } .one-w__wave--c-point { color: var(--one-accent, #1b1b1e); } .one-w__wave--c-dark { color: #111; }
.one-w__wave--c-sky { color: #dbeafe; } .one-w__wave--c-mint { color: #d1fae5; } .one-w__wave--c-peach { color: #ffe4d6; }

/* ---- 색 띠 ---- */
.one-w__cband { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 34px 28px; border-radius: 14px; text-align: center; color: #fff; background: var(--one-accent, #1b1b1e); }
.one-w__cband.is-left { align-items: flex-start; text-align: left; }
.one-w__cband--s { padding: 18px 24px; } .one-w__cband--l { padding: 60px 32px; }
.one-w__cband--dark { background: #111; } .one-w__cband--soft { background: #f3f4f6; color: #1b1b1e; }
.one-w__cband--sky { background: #dbeafe; color: #1e3a5f; } .one-w__cband--mint { background: #d1fae5; color: #14532d; } .one-w__cband--peach { background: #ffe4d6; color: #7c2d12; }
.one-w__cband--grad1 { background: linear-gradient(120deg, #6366f1, #a855f7); } .one-w__cband--grad2 { background: linear-gradient(120deg, #f97316, #ec4899); }
.one-w__cbandt { font-size: clamp(1.2rem, 2.8vw, 1.8rem); font-weight: 800; line-height: 1.4; word-break: keep-all; }
.one-w__cbands { font-size: .95rem; opacity: .85; }

/* ---- 큰 글자 띠 ---- */
.one-w__bt { overflow: hidden; }
.one-w__btt { display: flex; align-items: center; width: max-content; animation: one-bt 35s linear infinite; }
.one-w__bti { flex: none; font-size: clamp(3rem, 9vw, 6.5rem); font-weight: 900; line-height: 1.15; letter-spacing: .02em; white-space: nowrap; }
.one-w__bts { flex: none; margin: 0 .5em; font-size: clamp(1.4rem, 4vw, 3rem); opacity: .4; }
.one-w__bt--outline .one-w__bti { color: transparent; -webkit-text-stroke: 2px currentColor; }
.one-w--bg-black .one-w__bt--outline .one-w__bti { -webkit-text-stroke-color: #fff; }
@keyframes one-bt { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .one-w__btt { animation: none; } }

/* ---- 형광펜 문장 ---- */
.one-w__hl { margin: 0; font-weight: 700; line-height: 1.7; word-break: keep-all; white-space: pre-line; }
.one-w__hl--m { font-size: clamp(1.1rem, 2vw, 1.4rem); } .one-w__hl--l { font-size: clamp(1.4rem, 3vw, 2rem); } .one-w__hl--xl { font-size: clamp(1.8rem, 4.2vw, 2.8rem); }
.one-w__hlm { padding: 0 .12em; color: inherit; background: linear-gradient(transparent 55%, var(--hl, #fde047) 55%); }
.one-w__hl--yellow { --hl: #fde047; } .one-w__hl--mint { --hl: #86efac; } .one-w__hl--pink { --hl: #f9a8d4; } .one-w__hl--sky { --hl: #93c5fd; }

/* ---- 사진 띠 ---- */
.one-w__ps { position: relative; display: flex; align-items: center; justify-content: center; border-radius: 14px; overflow: hidden; background: #e5e7eb center / cover no-repeat; }
.one-w__ps.is-dim::before { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .35); }
.one-w__ps--s { min-height: 140px; } .one-w__ps--m { min-height: 240px; } .one-w__ps--l { min-height: 360px; } .one-w__ps--xl { min-height: 500px; }
.one-w__ps.is-fixed { background-attachment: fixed; }
.one-w__psc { position: relative; z-index: 1; padding: 0 24px; color: #fff; font-size: clamp(1.3rem, 3.4vw, 2.2rem); font-weight: 800; text-align: center; text-shadow: 0 2px 14px rgba(0, 0, 0, .45); word-break: keep-all; }
@media (max-width: 767.98px), (hover: none) { .one-w__ps.is-fixed { background-attachment: scroll; } .one-w__ps--l { min-height: 260px; } .one-w__ps--xl { min-height: 340px; } }

/* ---- 사진 슬라이더 ---- */
.one-w--carousel > .one-w__title { margin-bottom: 16px; text-align: center; }
.one-w__car { position: relative; }
.one-w__carv { overflow: hidden; border-radius: 16px; background: #e5e7eb; }
.one-w__cart { display: flex; transition: transform .5s ease; }
.one-w__cars { position: relative; flex: 0 0 100%; margin: 0; }
.one-w__carl { display: block; }
.one-w__cars img { display: block; width: 100%; height: auto; object-fit: cover; }
.one-w__car--w .one-w__cars img { aspect-ratio: 16 / 9; } .one-w__car--p .one-w__cars img { aspect-ratio: 4 / 3; } .one-w__car--f .one-w__cars img { aspect-ratio: 21 / 9; }
.one-w__carc { position: absolute; left: 0; right: 0; bottom: 0; padding: 36px 22px 16px; background: linear-gradient(transparent, rgba(0, 0, 0, .55)); color: #fff; font-weight: 700; }
.one-w__carb { position: absolute; top: 50%; width: 42px; height: 42px; margin-top: -21px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .85); color: #1b1b1e; font-size: 24px; line-height: 1; cursor: pointer; box-shadow: 0 2px 10px rgba(0, 0, 0, .2); }
.one-w__carb--p { left: 12px; } .one-w__carb--n { right: 12px; }
.one-w__card { position: absolute; left: 0; right: 0; bottom: 12px; display: flex; justify-content: center; gap: 7px; pointer-events: none; }
.one-w__car:has(.one-w__carc) .one-w__card { bottom: 56px; }
.one-w__cardot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .6); cursor: pointer; pointer-events: auto; }
.one-w__cardot.is-on { width: 24px; border-radius: 999px; background: #fff; }
@media (prefers-reduced-motion: reduce) { .one-w__cart { transition: none; } }
@media (max-width: 575.98px) { .one-w__carb { width: 34px; height: 34px; margin-top: -17px; font-size: 20px; } }

/* ---- 사진 · 글 번갈아 ---- */
.one-w--zigzag > .one-w__title { margin-bottom: 20px; text-align: center; }
.one-w__zz { display: grid; gap: 40px; }
.one-w__zzr { display: flex; align-items: center; gap: 44px; }
.one-w__zzr.is-rev { flex-direction: row-reverse; }
.one-w__zzm { flex: 0 0 48%; min-width: 0; }
.one-w__zzm img { display: block; width: 100%; height: auto; border-radius: 16px; }
.one-w__zzm .one-w__ph { display: flex; align-items: center; justify-content: center; min-height: 220px; border-radius: 16px; background: rgba(128, 128, 128, .12); }
.one-w__zzt { flex: 1 1 auto; min-width: 0; }
.one-w__zzh { margin: 0 0 10px; font-size: clamp(1.2rem, 2.4vw, 1.6rem); font-weight: 800; line-height: 1.4; word-break: keep-all; }
.one-w__zzb { margin: 0; line-height: 1.85; white-space: pre-line; word-break: keep-all; opacity: .85; }
@media (max-width: 767.98px) { .one-w__zzr, .one-w__zzr.is-rev { flex-direction: column; align-items: stretch; gap: 18px; } .one-w__zzm { flex-basis: auto; } }

/* ---- 사진 모자이크 ---- */
.one-w--mosaic > .one-w__title, .one-w--lightbox > .one-w__title, .one-w--polaroid > .one-w__title, .one-w--scroller > .one-w__title, .one-w--longimg > .one-w__title { margin-bottom: 16px; text-align: center; }
.one-w__mos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.one-w__mos--s { grid-auto-rows: 90px; } .one-w__mos--m { grid-auto-rows: 130px; } .one-w__mos--l { grid-auto-rows: 180px; }
.one-w__mosc { overflow: hidden; border-radius: 12px; background: #e5e7eb; }
.one-w__mosc img { display: block; width: 100%; height: 100%; object-fit: cover; }
.one-w__mos--n5 .one-w__mosc:first-child { grid-column: span 2; grid-row: span 2; }
.one-w__mos--n4 .one-w__mosc:first-child { grid-column: span 2; grid-row: span 2; }
.one-w__mos--n3 { grid-template-columns: 2fr 1fr; } .one-w__mos--n3 .one-w__mosc:first-child { grid-row: span 2; }
.one-w__mos--n2 { grid-template-columns: 1fr 1fr; } .one-w__mos--n1 { grid-template-columns: 1fr; }
@media (max-width: 575.98px) { .one-w__mos--s { grid-auto-rows: 70px; } .one-w__mos--m { grid-auto-rows: 90px; } .one-w__mos--l { grid-auto-rows: 120px; } }

/* ---- 확대 갤러리 ---- */
.one-w__lbg { display: grid; gap: 10px; }
.one-w__lbg--c2 { grid-template-columns: repeat(2, 1fr); } .one-w__lbg--c3 { grid-template-columns: repeat(3, 1fr); } .one-w__lbg--c4 { grid-template-columns: repeat(4, 1fr); }
.one-w__lbi { display: block; padding: 0; border: 0; border-radius: 12px; overflow: hidden; background: #e5e7eb; cursor: zoom-in; }
.one-w__lbi img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.one-w__lbi:hover img { transform: scale(1.05); }
.one-w__lbg--sq .one-w__lbi { aspect-ratio: 1 / 1; } .one-w__lbg--ls .one-w__lbi { aspect-ratio: 4 / 3; } .one-w__lbg--pt .one-w__lbi { aspect-ratio: 3 / 4; }
@media (max-width: 767.98px) { .one-w__lbg--c3, .one-w__lbg--c4 { grid-template-columns: repeat(2, 1fr); } }
.one-lb { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .88); }
.one-lb > img { max-width: 94vw; max-height: 90vh; object-fit: contain; box-shadow: 0 6px 40px rgba(0, 0, 0, .5); }
.one-lb button { position: absolute; border: 0; background: rgba(255, 255, 255, .15); color: #fff; line-height: 1; cursor: pointer; border-radius: 50%; }
.one-lb button:hover { background: rgba(255, 255, 255, .3); }
.one-lb__x { top: 14px; right: 16px; width: 42px; height: 42px; font-size: 28px; }
.one-lb__p, .one-lb__nx { top: 50%; width: 48px; height: 48px; margin-top: -24px; font-size: 32px; } .one-lb__p { left: 14px; } .one-lb__nx { right: 14px; }
.one-lb__n { position: absolute; bottom: 16px; left: 0; right: 0; text-align: center; color: #ddd; font-size: 13px; }

/* ---- 폴라로이드 ---- */
.one-w__pol { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px; padding: 14px 0; }
.one-w__polc { width: 240px; max-width: 100%; margin: 0; padding: 12px 12px 18px; background: #fff; color: #1b1b1e; box-shadow: 0 8px 22px rgba(0, 0, 0, .18); transform: rotate(-3deg); transition: transform .25s; }
.one-w__polc:nth-child(2) { transform: rotate(2.5deg) translateY(10px); } .one-w__polc:nth-child(3) { transform: rotate(-1.5deg); }
.one-w__polc:hover { transform: rotate(0) scale(1.03); z-index: 1; }
.one-w__polc img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.one-w__polt { margin-top: 12px; text-align: center; font-weight: 700; font-size: .95rem; }
@media (prefers-reduced-motion: reduce) { .one-w__polc, .one-w__lbi img { transition: none; } }

/* ---- 가로 스크롤 사진 · 긴 이미지 ---- */
.one-w__scr { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
.one-w__scrc { flex: 0 0 auto; scroll-snap-align: start; }
.one-w__scrc img { display: block; width: auto; border-radius: 12px; object-fit: cover; }
.one-w__scr--s .one-w__scrc img { height: 160px; } .one-w__scr--m .one-w__scrc img { height: 240px; } .one-w__scr--l .one-w__scrc img { height: 340px; }
.one-w__long { display: block; }
.one-w__long img { display: block; width: 100%; height: auto; border-radius: 0; }
.one-w__long.is-narrow { max-width: 800px; margin: 0 auto; }

/* ---- 영상 + 글 ---- */
.one-w__vsrow { display: flex; align-items: center; gap: 40px; }
.one-w--vs-right .one-w__vsrow { flex-direction: row-reverse; }
.one-w__vsm { flex: 1 1 56%; min-width: 0; }
.one-w__vsm .one-w__ph { display: flex; align-items: center; justify-content: center; position: absolute; inset: 0; border-radius: 12px; background: rgba(128, 128, 128, .12); }
.one-w__vst { flex: 1 1 44%; min-width: 0; } .one-w__vst .one-w__title { margin-bottom: 12px; } .one-w__vst .one-w__body { margin-bottom: 20px; line-height: 1.8; }
@media (max-width: 767.98px) { .one-w__vsrow, .one-w--vs-right .one-w__vsrow { flex-direction: column; align-items: stretch; gap: 20px; } .one-w__vsm { width: 100%; flex-basis: auto; } }

/* ---- 소제목 + 제목 · 번호 제목 · 그라데이션 제목 ---- */
.one-w__eye { display: inline-block; margin-bottom: 10px; font-size: .82rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--one-accent, #1b1b1e); }
.one-w__eye.is-pill { padding: 5px 14px; border-radius: 999px; background: rgba(128, 128, 128, .14); letter-spacing: .1em; }
.one-w--sectionhead .one-w__h2 { margin-bottom: 10px; }
.one-w--sectionhead .one-w__sub { max-width: 640px; line-height: 1.75; word-break: keep-all; }
.one-w--sectionhead[style*="center"] .one-w__sub { margin-left: auto; margin-right: auto; }
.one-w__ch { display: flex; align-items: flex-start; gap: 22px; }
.one-w--chapter[style*="center"] .one-w__ch { flex-direction: column; align-items: center; gap: 4px; }
.one-w__chn { flex: none; font-size: clamp(2.6rem, 6vw, 4.4rem); font-weight: 900; line-height: 1; color: var(--one-accent, #1b1b1e); opacity: .25; font-variant-numeric: tabular-nums; }
.one-w__cht { min-width: 0; padding-top: 6px; }
.one-w__gt { margin: 0; font-weight: 900; line-height: 1.25; letter-spacing: -.01em; word-break: keep-all; background-clip: text; -webkit-background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.one-w__gt--m { font-size: clamp(1.5rem, 3.4vw, 2.2rem); } .one-w__gt--l { font-size: clamp(2rem, 5vw, 3.4rem); } .one-w__gt--xl { font-size: clamp(2.6rem, 7vw, 4.8rem); }
.one-w__gt--violet { background-image: linear-gradient(100deg, #6366f1, #a855f7, #ec4899); } .one-w__gt--sunset { background-image: linear-gradient(100deg, #f59e0b, #ef4444, #ec4899); }
.one-w__gt--ocean { background-image: linear-gradient(100deg, #06b6d4, #3b82f6, #6366f1); } .one-w__gt--forest { background-image: linear-gradient(100deg, #84cc16, #10b981, #0ea5e9); }

/* ---- 리드 문단 · 제목 좌 글 우 ---- */
.one-w__lead { margin: 0; max-width: 820px; line-height: 1.9; font-weight: 500; white-space: pre-line; word-break: keep-all; }
.one-w--lead[style*="center"] .one-w__lead { margin-left: auto; margin-right: auto; }
.one-w__lead--m { font-size: clamp(1.05rem, 1.8vw, 1.25rem); } .one-w__lead--l { font-size: clamp(1.25rem, 2.6vw, 1.7rem); line-height: 1.75; font-weight: 600; }
.one-w__lead.has-bar { padding-left: 22px; border-left: 4px solid var(--one-accent, #1b1b1e); }
.one-w--lead[style*="center"] .one-w__lead.has-bar { padding-left: 0; border-left: 0; }
.one-w__hsr { display: flex; align-items: flex-start; gap: 56px; }
.one-w__hsl { flex: 0 0 38%; min-width: 0; } .one-w__hsl .one-w__h2 { margin: 0; }
.one-w__hst { flex: 1 1 auto; min-width: 0; } .one-w__hst .one-w__body { margin-bottom: 18px; line-height: 1.85; white-space: pre-line; word-break: keep-all; }
@media (max-width: 767.98px) { .one-w__hsr { flex-direction: column; gap: 14px; } .one-w__hsl { flex-basis: auto; } }

/* ---- 목록 글 · 강조 박스 · 용어 설명 ---- */
.one-w--bullets > .one-w__title, .one-w--terms > .one-w__title, .one-w--columns > .one-w__title, .one-w--readmore > .one-w__title { margin-bottom: 14px; }
.one-w__bul { margin: 0; padding: 0; list-style: none; }
.one-w__bul.is-two { columns: 2 260px; column-gap: 36px; }
.one-w__bui { position: relative; break-inside: avoid; padding: 7px 0 7px 30px; line-height: 1.7; word-break: keep-all; }
.one-w__bul--check .one-w__bui::before { content: ''; position: absolute; left: 6px; top: 14px; width: 10px; height: 6px; border: solid var(--one-accent, #1b1b1e); border-width: 0 0 2px 2px; transform: rotate(-45deg); }
.one-w__bul--dot .one-w__bui::before { content: ''; position: absolute; left: 8px; top: 17px; width: 6px; height: 6px; border-radius: 50%; background: var(--one-accent, #1b1b1e); }
.one-w__bul--arrow .one-w__bui::before { content: '\2192'; position: absolute; left: 4px; top: 6px; font-weight: 700; color: var(--one-accent, #1b1b1e); }
.one-w__co { display: flex; gap: 14px; padding: 20px 22px; border-radius: 14px; border-left: 5px solid #3b82f6; background: #eff6ff; color: #1e3a8a; }
.one-w__co--tip { border-color: #f59e0b; background: #fffbeb; color: #78350f; } .one-w__co--warn { border-color: #ef4444; background: #fef2f2; color: #7f1d1d; } .one-w__co--success { border-color: #10b981; background: #ecfdf5; color: #064e3b; }
.one-w__coi { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: currentColor; font-weight: 800; font-size: .85rem; }
.one-w__coi { color: inherit; position: relative; } .one-w__coi { -webkit-text-fill-color: #fff; }
.one-w__cot { min-width: 0; } .one-w__cotit { display: block; margin-bottom: 4px; } .one-w__cob { margin: 0; line-height: 1.75; white-space: pre-line; word-break: keep-all; }
.one-w__terms { margin: 0; border-top: 1px solid rgba(128, 128, 128, .3); }
.one-w__terms dt { padding: 16px 4px 2px; font-weight: 800; } .one-w__terms dd { margin: 0; padding: 0 4px 16px; line-height: 1.75; opacity: .8; border-bottom: 1px solid rgba(128, 128, 128, .25); }

/* ---- 긴 글(기사) · 다단 글 · 더 보기 글 ---- */
.one-w__art { margin: 0 auto; }
.one-w__art--narrow { max-width: 720px; } .one-w__art--wide { max-width: 100%; }
.one-w__arth { margin: 0 0 8px; font-size: clamp(1.6rem, 3.4vw, 2.3rem); font-weight: 800; line-height: 1.35; word-break: keep-all; }
.one-w__artm { margin: 0 0 24px; font-size: .9rem; opacity: .55; }
.one-w__artp { margin: 0 0 1.3em; line-height: 1.95; white-space: pre-line; word-break: keep-all; }
.one-w__art--l .one-w__artp { font-size: 1.12rem; }
.one-w__cols { column-gap: 40px; }
.one-w__cols--2 { columns: 2; } .one-w__cols--3 { columns: 3; }
.one-w__colp { margin: 0 0 1.2em; line-height: 1.85; white-space: pre-line; word-break: keep-all; break-inside: avoid-column; }
@media (max-width: 767.98px) { .one-w__cols--2, .one-w__cols--3 { columns: 1; } }
.one-w__rdb { position: relative; }
.one-w__rd.is-clamp .one-w__rdb { max-height: calc(var(--rd-lines, 5) * 1.85em); overflow: hidden; }
.one-w__rd.is-clamp .one-w__rdb::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3.2em; background: linear-gradient(transparent, var(--one-bg, #fff)); pointer-events: none; }
.one-w__rdp { margin: 0 0 1em; line-height: 1.85; white-space: pre-line; word-break: keep-all; }
.one-w__rdbtn { margin-top: 8px; padding: 9px 22px; border: 1px solid rgba(128, 128, 128, .45); border-radius: 999px; background: transparent; color: inherit; font: inherit; font-weight: 700; cursor: pointer; }
.one-w__rdbtn:hover { background: rgba(128, 128, 128, .12); }
.one-w--bg-gray .one-w__rd.is-clamp .one-w__rdb::after { background: linear-gradient(transparent, #f3f4f6); } .one-w--bg-black .one-w__rd.is-clamp .one-w__rdb::after { background: linear-gradient(transparent, #111); }

/* ---- 기능 아이콘 그리드 ---- */
.one-w--featuregrid > .one-w__title, .one-w--flow > .one-w__title, .one-w--vs > .one-w__title, .one-w--proscons > .one-w__title, .one-w--matrix > .one-w__title, .one-w--rings > .one-w__title, .one-w--roadmap > .one-w__title, .one-w--schedule > .one-w__title { margin-bottom: 20px; text-align: center; }
.one-w__fg { display: grid; gap: 14px; }
.one-w__fg--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .one-w__fg--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.one-w__fgc { display: flex; flex-direction: column; gap: 6px; padding: 24px 22px; border: 1px solid rgba(128, 128, 128, .28); border-radius: 16px; color: inherit !important; text-decoration: none; transition: box-shadow .2s, transform .2s; }
a.one-w__fgc:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, .1); transform: translateY(-2px); }
.one-w__fgi { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; margin-bottom: 6px; border-radius: 14px; background: rgba(128, 128, 128, .14); color: var(--one-accent, #1b1b1e); }
.one-w__fgt { font-size: 1.08rem; } .one-w__fgd { font-size: .92rem; line-height: 1.65; opacity: .75; }
@media (max-width: 767.98px) { .one-w__fg--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479.98px) { .one-w__fg--3, .one-w__fg--2 { grid-template-columns: 1fr; } }

/* ---- 단계 화살표 ---- */
.one-w__flow { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; }
.one-w__flowi { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 18px 26px 18px 34px; background: #f3f4f6; color: #1b1b1e; clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 20px 50%); }
.one-w__flowi:first-child { clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%); padding-left: 24px; border-radius: 10px 0 0 10px; }
.one-w__flowi:nth-child(odd) { background: #e5e7eb; }
.one-w__flowt { font-size: 1rem; } .one-w__flowd { font-size: .82rem; opacity: .65; }
@media (max-width: 767.98px) { .one-w__flow { flex-direction: column; } .one-w__flowi, .one-w__flowi:first-child { clip-path: none; border-radius: 10px; padding: 14px 18px; } }

/* ---- 둘 비교 카드 · 장단점 ---- */
.one-w__vs, .one-w__pc { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.one-w__vsc, .one-w__pcc { padding: 26px 24px; border: 1px solid rgba(128, 128, 128, .3); border-radius: 16px; }
.one-w__vsc.is-hl { border: 2px solid var(--one-accent, #1b1b1e); box-shadow: 0 8px 26px rgba(0, 0, 0, .1); }
.one-w__vst2, .one-w__pct { display: block; margin-bottom: 12px; font-size: 1.15rem; }
.one-w__vsl, .one-w__pcl { margin: 0; padding: 0; list-style: none; }
.one-w__vsl li, .one-w__pcl li { position: relative; padding: 6px 0 6px 24px; line-height: 1.65; word-break: keep-all; }
.one-w__vsl li::before { content: ''; position: absolute; left: 4px; top: 15px; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .45; }
.one-w__pcc.is-pro { background: #ecfdf5; color: #064e3b; border-color: #a7f3d0; } .one-w__pcc.is-con { background: #fef2f2; color: #7f1d1d; border-color: #fecaca; }
.one-w__pcc.is-pro .one-w__pcl li::before { content: '+'; position: absolute; left: 4px; top: 5px; font-weight: 900; } .one-w__pcc.is-con .one-w__pcl li::before { content: '\2212'; position: absolute; left: 4px; top: 5px; font-weight: 900; }
@media (max-width: 575.98px) { .one-w__vs, .one-w__pc { grid-template-columns: 1fr; } }

/* ---- 포함 · 제외 표 ---- */
.one-w__mx { width: 100%; border-collapse: collapse; font-size: .95rem; }
.one-w__mx th, .one-w__mx td { padding: 13px 12px; border-bottom: 1px solid rgba(128, 128, 128, .28); text-align: center; }
.one-w__mx thead th { font-weight: 800; background: rgba(128, 128, 128, .1); } .one-w__mx tbody th { text-align: left; font-weight: 600; }
.one-w__mx .is-hl { background: rgba(250, 204, 21, .16); } .one-w__mx thead th.is-hl { background: var(--one-accent, #1b1b1e); color: #fff; }
.one-w__mx .is-yes { color: #16a34a; font-weight: 900; } .one-w__mx .is-no { color: #9ca3af; }

/* ---- 원형 퍼센트 ---- */
.one-w__rings { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 22px; text-align: center; }
.one-w__ring { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.one-w__ringw { position: relative; width: 130px; height: 130px; }
.one-w__ringsv { display: block; width: 100%; height: 100%; }
.one-w__ringbg { stroke: rgba(128, 128, 128, .22); } .one-w__ringfg { stroke: var(--one-accent, #1b1b1e); }
.one-w__ringn { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; font-weight: 800; }
.one-w__ringl { font-weight: 600; opacity: .8; }

/* ---- 로드맵 · 일정표 ---- */
.one-w__road { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; position: relative; }
.one-w__roadc { position: relative; padding: 38px 18px 18px; border-radius: 14px; background: #f3f4f6; color: #1b1b1e; }
.one-w__roadc::before { content: ''; position: absolute; left: 18px; top: 16px; width: 12px; height: 12px; border-radius: 50%; background: var(--one-accent, #1b1b1e); box-shadow: 0 0 0 4px rgba(128, 128, 128, .2); }
.one-w__roadl { display: block; margin-bottom: 8px; font-size: 1.05rem; }
.one-w__roadt { margin: 0; padding: 0; list-style: none; font-size: .92rem; line-height: 1.7; } .one-w__roadt li::before { content: '\00B7'; margin-right: 6px; font-weight: 900; }
.one-w__sch { border-top: 1px solid rgba(128, 128, 128, .3); }
.one-w__schr { display: flex; gap: 24px; padding: 16px 4px; border-bottom: 1px solid rgba(128, 128, 128, .25); }
.one-w__scht { flex: none; width: 92px; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--one-accent, #1b1b1e); }
.one-w__schb b { display: block; } .one-w__schb span { display: block; margin-top: 3px; font-size: .9rem; line-height: 1.6; opacity: .7; }
@media (max-width: 575.98px) { .one-w__schr { gap: 14px; } .one-w__scht { width: 66px; } }

/* ---- 핵심 요약 ---- */
.one-w__kp { padding: 26px 28px; border: 2px solid var(--one-accent, #1b1b1e); border-radius: 18px; }
.one-w__kpt { display: block; margin-bottom: 14px; font-size: 1.2rem; }
.one-w__kpl { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.one-w__kpi { display: flex; gap: 14px; align-items: flex-start; }
.one-w__kpn { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--one-accent, #1b1b1e); color: #fff; font-size: .85rem; font-weight: 800; }
.one-w__kptx b { display: block; line-height: 1.5; } .one-w__kptx span { display: block; margin-top: 2px; font-size: .9rem; opacity: .7; line-height: 1.6; }

/* ---- 버튼 묶음 · 좌우 두 갈래 안내 ---- */
.one-w__bg { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.one-w--buttongroup[style*="left"] .one-w__bg { justify-content: flex-start; }
.one-w__bgb { display: inline-flex; align-items: center; justify-content: center; padding: 13px 30px; border: 2px solid transparent; border-radius: 999px; font-weight: 700; text-decoration: none; transition: opacity .2s, background .2s; }
.one-w__bg--l .one-w__bgb { padding: 17px 42px; font-size: 1.1rem; }
.one-w__bgb--primary { background: var(--one-accent, #1b1b1e); color: #fff !important; } .one-w__bgb--dark { background: #111; color: #fff !important; }
.one-w__bgb--outline { background: transparent; border-color: currentColor; color: inherit !important; }
.one-w__bgb:hover { opacity: .85; }
.one-w__c2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.one-w__c2c { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 34px 30px; border-radius: 18px; background: #f3f4f6; color: #1b1b1e; }
.one-w__c2c.is-alt { background: var(--one-accent, #1b1b1e); color: #fff; }
.one-w__c2t { margin: 0; font-size: clamp(1.2rem, 2.4vw, 1.6rem); font-weight: 800; } .one-w__c2b { margin: 0 0 8px; line-height: 1.7; opacity: .8; word-break: keep-all; }
.one-w__c2a { display: inline-block; padding: 11px 24px; border-radius: 999px; background: #1b1b1e; color: #fff !important; font-weight: 700; text-decoration: none; }
.one-w__c2c.is-alt .one-w__c2a { background: #fff; color: #1b1b1e !important; }
@media (max-width: 575.98px) { .one-w__c2 { grid-template-columns: 1fr; } }

/* ---- 자료 내려받기 ---- */
.one-w--downloads > .one-w__title { margin-bottom: 14px; }
.one-w__dls { display: grid; gap: 10px; }
.one-w__dl { display: flex; align-items: center; gap: 16px; padding: 16px 20px; border: 1px solid rgba(128, 128, 128, .3); border-radius: 12px; color: inherit !important; text-decoration: none; transition: border-color .2s, background .2s; }
.one-w__dl:hover { border-color: currentColor; background: rgba(128, 128, 128, .07); }
.one-w__dli { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; background: var(--one-accent, #1b1b1e); color: #fff; font-weight: 800; }
.one-w__dlt { flex: 1 1 auto; min-width: 0; } .one-w__dlt b { display: block; } .one-w__dlt span { display: block; margin-top: 2px; font-size: .85rem; opacity: .6; }
.one-w__dlb { flex: none; font-size: .88rem; font-weight: 700; opacity: .65; }

/* ---- 공지 바 · 모집 상태 막대 · D-day 배너 ---- */
.one-w__nb { position: relative; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px 14px; padding: 12px 44px 12px 20px; border-radius: 10px; background: var(--one-accent, #1b1b1e); color: #fff; font-weight: 600; text-align: center; }
.one-w__nb--dark { background: #111; } .one-w__nb--soft { background: #f3f4f6; color: #1b1b1e; } .one-w__nb--warn { background: #fef08a; color: #422006; }
.one-w__nba { color: inherit !important; text-decoration: underline; font-weight: 800; }
.one-w__nbx { position: absolute; right: 8px; top: 50%; width: 30px; height: 30px; margin-top: -15px; border: 0; border-radius: 50%; background: transparent; color: inherit; font-size: 22px; line-height: 1; cursor: pointer; opacity: .7; } .one-w__nbx:hover { opacity: 1; background: rgba(128, 128, 128, .25); }
.one-w__stb { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; padding: 16px 22px; border-radius: 12px; border: 1px solid rgba(128, 128, 128, .3); }
.one-w__stbl { flex: none; padding: 4px 14px; border-radius: 999px; color: #fff; font-size: .85rem; font-weight: 800; background: #16a34a; }
.one-w__stb--soon .one-w__stbl { background: #d97706; } .one-w__stb--closed .one-w__stbl { background: #6b7280; } .one-w__stb--closed .one-w__stbt { opacity: .6; }
.one-w__stbt { flex: 1 1 auto; min-width: 0; font-weight: 600; }
.one-w__stba { flex: none; padding: 8px 20px; border-radius: 999px; background: #1b1b1e; color: #fff !important; font-size: .9rem; font-weight: 700; text-decoration: none; }
.one-w__dd { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 22px; padding: 22px 26px; border-radius: 16px; background: #f3f4f6; color: #1b1b1e; }
.one-w__ddn { flex: none; padding: 10px 20px; border-radius: 12px; background: var(--one-accent, #1b1b1e); color: #fff; font-size: 1.6rem; font-weight: 900; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.one-w__dd.is-end .one-w__ddn { background: #9ca3af; }
.one-w__ddt { flex: 1 1 auto; min-width: 0; } .one-w__ddt b { display: block; font-size: 1.1rem; } .one-w__ddt span { display: block; margin-top: 2px; font-size: .88rem; opacity: .6; }
.one-w__ddb { flex: none; padding: 11px 24px; border-radius: 999px; background: #1b1b1e; color: #fff !important; font-weight: 700; text-decoration: none; }

/* ---- 쿠폰 · 구독 · 공유 · 앱 · 맨 위로 ---- */
.one-w__cpn { display: flex; align-items: stretch; border: 2px dashed var(--one-accent, #1b1b1e); border-radius: 16px; overflow: hidden; }
.one-w__cpnl { flex: 1 1 auto; min-width: 0; padding: 22px 24px; }
.one-w__cpnt { display: block; font-size: 1.2rem; } .one-w__cpnc, .one-w__cpne { display: block; margin-top: 4px; font-size: .88rem; opacity: .65; }
.one-w__cpnr { flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 18px 26px; border-left: 2px dashed var(--one-accent, #1b1b1e); background: rgba(128, 128, 128, .08); }
.one-w__cpncode { font-size: 1.35rem; font-weight: 900; letter-spacing: .1em; font-family: ui-monospace, Menlo, Consolas, monospace; }
.one-w__cpnb { padding: 7px 18px; border: 0; border-radius: 999px; background: var(--one-accent, #1b1b1e); color: #fff; font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; }
@media (max-width: 575.98px) { .one-w__cpn { flex-direction: column; } .one-w__cpnr { border-left: 0; border-top: 2px dashed var(--one-accent, #1b1b1e); } }
.one-w__sub2 { display: flex; gap: 8px; max-width: 520px; margin: 14px auto 0; }
.one-w__sub2i { flex: 1 1 auto; min-width: 0; padding: 13px 18px; border: 1px solid rgba(128, 128, 128, .45); border-radius: 999px; background: #fff; color: #1b1b1e; font: inherit; }
.one-w__sub2i[aria-invalid="true"] { border-color: #ef4444; } .one-w__sub2i:focus { outline: 2px solid var(--one-accent, #1b1b1e); outline-offset: 1px; }
.one-w__sub2b { flex: none; padding: 13px 26px; border: 0; border-radius: 999px; background: var(--one-accent, #1b1b1e); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.one-w__sub2n { margin: 10px 0 0; font-size: .82rem; opacity: .55; }
@media (max-width: 479.98px) { .one-w__sub2 { flex-direction: column; } }
.one-w__share { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.one-w__shb { padding: 10px 22px; border: 1px solid rgba(128, 128, 128, .45); border-radius: 999px; background: transparent; color: inherit !important; font: inherit; font-size: .92rem; font-weight: 700; text-decoration: none; cursor: pointer; }
.one-w__shb:hover { background: rgba(128, 128, 128, .14); }
.one-w__app { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.one-w__appb { display: inline-flex; align-items: center; padding: 14px 28px; border-radius: 12px; background: #111; color: #fff !important; font-weight: 700; text-decoration: none; }
.one-w__appb.is-and { background: #0f766e; }
.one-w__top { padding: 11px 26px; border: 1px solid rgba(128, 128, 128, .45); border-radius: 999px; background: transparent; color: inherit; font: inherit; font-weight: 700; cursor: pointer; }
.one-w__top:hover { background: rgba(128, 128, 128, .14); }

/* ---- 모바일 하단 바 ---- */
.one-w__mbar { display: grid; grid-template-columns: repeat(var(--mb-n, 2), 1fr); gap: 1px; border-radius: 12px; overflow: hidden; background: rgba(255, 255, 255, .3); box-shadow: 0 4px 16px rgba(0, 0, 0, .18); }
.one-w__mbarb { display: flex; align-items: center; justify-content: center; padding: 15px 8px; background: var(--one-accent, #1b1b1e); color: #fff !important; font-weight: 700; text-decoration: none; }
.one-w__mbarb:nth-child(2) { background: #111; }
.one-w__mbarn { margin: 8px 0 0; font-size: .8rem; opacity: .55; }
@media (max-width: 767.98px) { .one-w--mobilebar.is-fixed { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9000; margin: 0; padding: 0; } .one-w--mobilebar.is-fixed .one-w__mbar { border-radius: 0; box-shadow: 0 -4px 16px rgba(0, 0, 0, .2); } .one-w--mobilebar.is-fixed .one-w__mbarb { padding: 17px 8px; } }

/* ---- 배지 모음 · 스티커 · 리본 ---- */
.one-w--badges > .one-w__title { margin-bottom: 12px; }
.one-w__badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.one-w--badges[style*="left"] .one-w__badges { justify-content: flex-start; }
.one-w__badge { display: inline-block; padding: 5px 14px; border-radius: 999px; color: #fff; font-size: .82rem; font-weight: 800; letter-spacing: .04em; }
.one-w__badge--blue { background: #2563eb; } .one-w__badge--red { background: #ef4444; } .one-w__badge--green { background: #16a34a; } .one-w__badge--amber { background: #f59e0b; color: #422006; }
.one-w__badge--purple { background: #7c3aed; } .one-w__badge--gray { background: #6b7280; } .one-w__badge--black { background: #111; }
.one-w__stk { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-width: 110px; min-height: 110px; padding: 14px; color: #fff; text-align: center; box-shadow: 0 6px 18px rgba(0, 0, 0, .22); }
.one-w__stk--circle { border-radius: 50%; border: 3px dashed rgba(255, 255, 255, .7); outline: 6px solid currentColor; outline-offset: -3px; }
.one-w__stk--star { clip-path: polygon(50% 0, 61% 18%, 82% 12%, 80% 34%, 100% 42%, 85% 58%, 94% 80%, 72% 78%, 62% 100%, 50% 83%, 38% 100%, 28% 78%, 6% 80%, 15% 58%, 0 42%, 20% 34%, 18% 12%, 39% 18%); min-width: 150px; min-height: 150px; box-shadow: none; }
.one-w__stk--ribbon { min-height: 0; padding: 12px 38px; border-radius: 6px; }
.one-w__stkt { font-size: 1.5rem; font-weight: 900; line-height: 1.1; } .one-w__stks { margin-top: 4px; font-size: .82rem; font-weight: 700; opacity: .9; }
.one-w__stk--c-red { background: #ef4444; color: #fff; } .one-w__stk--c-blue { background: #2563eb; } .one-w__stk--c-green { background: #16a34a; } .one-w__stk--c-amber { background: #f59e0b; color: #422006; } .one-w__stk--c-purple { background: #7c3aed; } .one-w__stk--c-black { background: #111; }
.one-w__stk--circle.one-w__stk--c-red { outline-color: #ef4444; } .one-w__stk--circle.one-w__stk--c-blue { outline-color: #2563eb; } .one-w__stk--circle.one-w__stk--c-green { outline-color: #16a34a; } .one-w__stk--circle.one-w__stk--c-amber { outline-color: #f59e0b; } .one-w__stk--circle.one-w__stk--c-purple { outline-color: #7c3aed; } .one-w__stk--circle.one-w__stk--c-black { outline-color: #111; }
.one-w__rib { position: relative; display: inline-block; margin: 0; padding: 12px 44px; background: var(--one-accent, #1b1b1e); color: #fff; font-size: 1.2rem; font-weight: 800; }
.one-w__rib::before, .one-w__rib::after { content: ''; position: absolute; top: 12px; width: 26px; height: 100%; background: inherit; filter: brightness(.8); z-index: -1; }
.one-w__rib::before { left: -16px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 40% 50%); } .one-w__rib::after { right: -16px; clip-path: polygon(0 0, 100% 0, 60% 50%, 100% 100%, 0 100%); }
.one-w__rib--red { background: #ef4444; } .one-w__rib--blue { background: #2563eb; } .one-w__rib--green { background: #16a34a; } .one-w__rib--amber { background: #f59e0b; color: #422006; }
.one-w--ribbon { padding-left: 24px; padding-right: 24px; }

/* ---- 패턴 배경 박스 · 글래스 카드 ---- */
.one-w__pb { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 50px 28px; border-radius: 16px; text-align: center; background-color: #f3f4f6; color: #1b1b1e; }
.one-w__pb.is-left { align-items: flex-start; text-align: left; }
.one-w__pb--s { padding: 28px 24px; } .one-w__pb--l { padding: 90px 32px; }
.one-w__pb--dark { background-color: #111827; color: #fff; } .one-w__pb--point { background-color: var(--one-accent, #1b1b1e); color: #fff; }
.one-w__pb--dots { background-image: radial-gradient(rgba(128, 128, 128, .45) 1.4px, transparent 1.5px); background-size: 18px 18px; }
.one-w__pb--grid { background-image: linear-gradient(rgba(128, 128, 128, .28) 1px, transparent 1px), linear-gradient(90deg, rgba(128, 128, 128, .28) 1px, transparent 1px); background-size: 24px 24px; }
.one-w__pb--lines { background-image: repeating-linear-gradient(45deg, rgba(128, 128, 128, .22) 0 2px, transparent 2px 12px); }
.one-w__pb--checks { background-image: conic-gradient(rgba(128, 128, 128, .2) 25%, transparent 0 50%, rgba(128, 128, 128, .2) 0 75%, transparent 0); background-size: 28px 28px; }
.one-w__pbt { font-size: clamp(1.3rem, 3vw, 2rem); font-weight: 800; line-height: 1.4; word-break: keep-all; } .one-w__pbs { opacity: .8; line-height: 1.7; }
.one-w__gl { display: flex; align-items: center; justify-content: center; padding: 60px 24px; border-radius: 20px; background: linear-gradient(120deg, #6366f1, #a855f7, #ec4899); }
.one-w__gl--sunset { background: linear-gradient(120deg, #f59e0b, #ef4444, #ec4899); } .one-w__gl--ocean { background: linear-gradient(120deg, #06b6d4, #3b82f6, #6366f1); } .one-w__gl--forest { background: linear-gradient(120deg, #84cc16, #10b981, #0ea5e9); }
.one-w__glc { max-width: 460px; padding: 32px 34px; border: 1px solid rgba(255, 255, 255, .45); border-radius: 18px; background: rgba(255, 255, 255, .18); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 10px 30px rgba(0, 0, 0, .18); color: #fff; text-align: center; }
.one-w__glt { display: block; font-size: 1.4rem; font-weight: 800; } .one-w__glb { margin: 8px 0 18px; line-height: 1.7; opacity: .95; word-break: keep-all; }
.one-w__gla { display: inline-block; padding: 11px 26px; border-radius: 999px; background: #fff; color: #1b1b1e !important; font-weight: 700; text-decoration: none; }

/* ---- 밑줄 장식 제목 · 액자 문구 ---- */
.one-w__ul { display: inline-block; margin: 0; font-weight: 900; line-height: 1.5; text-underline-offset: .28em; text-decoration-thickness: .1em; word-break: keep-all; }
.one-w__ul--m { font-size: clamp(1.4rem, 3vw, 2rem); } .one-w__ul--l { font-size: clamp(1.8rem, 4.4vw, 3rem); } .one-w__ul--xl { font-size: clamp(2.3rem, 6vw, 4.2rem); }
.one-w__ul--c-point { --ulc: var(--one-accent, #1b1b1e); } .one-w__ul--c-red { --ulc: #ef4444; } .one-w__ul--c-blue { --ulc: #2563eb; } .one-w__ul--c-green { --ulc: #16a34a; }
.one-w__ul--wavy { text-decoration: underline wavy var(--ulc); } .one-w__ul--double { text-decoration: underline double var(--ulc); } .one-w__ul--dashed { text-decoration: underline dashed var(--ulc); }
.one-w__ul--marker { text-decoration: none; background: linear-gradient(transparent 62%, color-mix(in srgb, var(--ulc) 45%, transparent) 62%); padding: 0 .15em; }
.one-w__fr { max-width: 640px; margin: 0 auto; padding: 34px 40px; text-align: center; border: 2px solid currentColor; }
.one-w__fr--double { border-style: double; border-width: 6px; } .one-w__fr--corner { border: 0; position: relative; background: linear-gradient(currentColor, currentColor) top left / 28px 3px no-repeat, linear-gradient(currentColor, currentColor) top left / 3px 28px no-repeat, linear-gradient(currentColor, currentColor) top right / 28px 3px no-repeat, linear-gradient(currentColor, currentColor) top right / 3px 28px no-repeat, linear-gradient(currentColor, currentColor) bottom left / 28px 3px no-repeat, linear-gradient(currentColor, currentColor) bottom left / 3px 28px no-repeat, linear-gradient(currentColor, currentColor) bottom right / 28px 3px no-repeat, linear-gradient(currentColor, currentColor) bottom right / 3px 28px no-repeat; }
.one-w__frt { margin: 0; line-height: 1.9; white-space: pre-line; word-break: keep-all; font-weight: 600; } .one-w__fr--l .one-w__frt { font-size: clamp(1.2rem, 2.6vw, 1.6rem); line-height: 1.8; }

/* ---- 타자 효과 · 스크롤 안내 · 원형 회전 글자 · 그라데이션 선 ---- */
.one-w__tw { margin: 0; font-weight: 800; line-height: 1.5; word-break: keep-all; }
.one-w__tw--m { font-size: clamp(1.3rem, 3vw, 2rem); } .one-w__tw--l { font-size: clamp(1.7rem, 4.4vw, 3rem); } .one-w__tw--xl { font-size: clamp(2.2rem, 6vw, 4.2rem); }
.one-w__tww { color: var(--one-accent, #1b1b1e); } .one-w__twc { display: inline-block; width: 3px; height: 1em; margin-left: 3px; vertical-align: -.1em; background: currentColor; animation: one-blink 1s steps(1) infinite; }
@keyframes one-blink { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .one-w__twc { animation: none; } }
.one-w__sh { display: inline-flex; flex-direction: column; align-items: center; gap: 8px; opacity: .65; }
.one-w__shi { position: relative; display: block; width: 24px; height: 38px; border: 2px solid currentColor; border-radius: 14px; }
.one-w__shi::after { content: ''; position: absolute; left: 50%; top: 7px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: currentColor; animation: one-scroll 1.6s ease-in-out infinite; }
.one-w__sh--arrow .one-w__shi { width: 14px; height: 14px; border: solid currentColor; border-width: 0 2px 2px 0; border-radius: 0; transform: rotate(45deg); animation: one-bounce 1.4s ease-in-out infinite; }
.one-w__sh--arrow .one-w__shi::after { display: none; }
.one-w__shl { font-size: .72rem; font-weight: 800; letter-spacing: .24em; }
@keyframes one-scroll { 0% { opacity: 0; transform: translateY(0); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }
@keyframes one-bounce { 0%, 100% { transform: rotate(45deg) translate(0, 0); } 50% { transform: rotate(45deg) translate(5px, 5px); } }
@media (prefers-reduced-motion: reduce) { .one-w__shi::after, .one-w__sh--arrow .one-w__shi { animation: none; } }
.one-w__ct { position: relative; display: inline-block; color: var(--one-accent, #1b1b1e); }
.one-w__ct--dark { color: #111; } .one-w__ct--light { color: #fff; } .one-w__ct--s { width: 110px; height: 110px; } .one-w__ct--m { width: 160px; height: 160px; } .one-w__ct--l { width: 220px; height: 220px; }
.one-w__ctr { width: 100%; height: 100%; animation: one-spin 22s linear infinite; } .one-w__ctsv { display: block; width: 100%; height: 100%; overflow: visible; }
.one-w__ctt { fill: currentColor; font-size: 15px; font-weight: 800; letter-spacing: .08em; }
.one-w__ctc { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; font-weight: 900; }
@keyframes one-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .one-w__ctr { animation: none; } }
.one-w__gln { width: 100%; border-radius: 999px; background: linear-gradient(90deg, #6366f1, #a855f7, #ec4899); }
.one-w__gln--sunset { background: linear-gradient(90deg, #f59e0b, #ef4444, #ec4899); } .one-w__gln--ocean { background: linear-gradient(90deg, #06b6d4, #3b82f6, #6366f1); } .one-w__gln--forest { background: linear-gradient(90deg, #84cc16, #10b981, #0ea5e9); }
.one-w__gln.is-short { width: 120px; }

/* 운영 기능 2 */
.one-lbar { position: fixed; left: 0; top: 0; height: 3px; width: 0; z-index: 1065; background: var(--kc-primary, #1f5eff); opacity: 0; }
.one-lbar.is-run { opacity: 1; width: 85%; transition: width 8s cubic-bezier(.1,.7,.2,1); }
.one-fade { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.one-fade.is-seen { opacity: 1; transform: none; }
.one-nosel { -webkit-user-select: none; user-select: none; }
.one-nosel input, .one-nosel textarea { -webkit-user-select: text; user-select: text; }
@media (prefers-reduced-motion: reduce) { .one-fade { opacity: 1; transform: none; transition: none; } }

/* 글 추출 위젯 */
.one-pw__list { display: block; }
.one-pw__row { display: flex; align-items: baseline; gap: 10px; padding: 12px 4px; border-bottom: 1px solid rgba(128,128,128,.22); color: inherit; text-decoration: none; min-width: 0; }
.one-pw__row .one-pw__t { flex: 1; min-width: 0; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .9375rem; font-weight: 600; }
.one-pw__d { flex: none; font-size: .75rem; opacity: .6; }
.one-pw__no { flex: none; width: 24px; height: 24px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; background: rgba(128,128,128,.18); font: 700 .75rem/1 inherit; font-style: normal; }
.one-pw__no.is-top { background: var(--kc-primary, #1f5eff); color: #fff; }
.one-pw__img { display: block; width: 100%; aspect-ratio: 16 / 9; background: #eceef1; border-radius: 12px; overflow: hidden; }
.one-pw__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.one-pw__t { display: block; }
.one-pw__x { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 6px; font-size: .8125rem; opacity: .7; line-height: 1.5; }
.one-pw--pcards .one-pw__list { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.one-pw__card { display: block; min-width: 0; color: inherit; text-decoration: none; }
.one-pw__card .one-pw__t { margin-top: 12px; font-size: .9375rem; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.one-pw__card .one-pw__d { display: block; margin-top: 8px; }
.one-pw--pslide .one-pw__list { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 8px; }
.one-pw--pslide .one-pw__card { flex: none; width: 260px; scroll-snap-align: start; }
.one-pw--pfeature .one-pw__list { display: grid; gap: 24px; grid-template-columns: 1.2fr 1fr; align-items: start; }
.one-pw__hero { display: block; color: inherit; text-decoration: none; }
.one-pw__hero .one-pw__t { margin-top: 14px; font-size: 1.25rem; font-weight: 800; }
.one-pw__hero .one-pw__d { display: block; margin-top: 8px; }
.one-pw__side { min-width: 0; }
.one-pw__side .one-pw__row:first-child { padding-top: 0; }
.one-pw__ticker { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 10px; background: rgba(128,128,128,.12); color: inherit; text-decoration: none; min-width: 0; }
.one-pw__tag { flex: none; padding: 3px 9px; border-radius: 999px; background: var(--kc-primary, #1f5eff); color: #fff; font: 700 .6875rem/1.4 inherit; font-style: normal; }
.one-pw__ticker .one-pw__t { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .9375rem; font-weight: 600; }
.one-pw__list > .one-w__ph { display: block; }
@media (max-width: 767.98px) { .one-pw--pcards .one-pw__list, .one-pw--pfeature .one-pw__list { grid-template-columns: 1fr; } .one-pw--pslide .one-pw__card { width: 200px; } }

/* 글 추출 위젯 2 */
.one-pw__hcard { display: flex; gap: 16px; align-items: stretch; min-width: 0; color: inherit; text-decoration: none; }
.one-pw--pgrid2 .one-pw__list, .one-pw--pquote .one-pw__list { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.one-pw--pgrid2 .one-pw__img { width: 42%; flex: none; aspect-ratio: 4 / 3; }
.one-pw__tx { display: flex; flex-direction: column; justify-content: center; min-width: 0; gap: 6px; }
.one-pw__tx .one-pw__t { font-size: 1rem; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.one-pw--pquote .one-pw__hcard { padding: 22px; border-radius: 14px; background: rgba(128,128,128,.1); border-left: 4px solid var(--kc-primary, #1f5eff); }
.one-pw--pquote .one-pw__x { -webkit-line-clamp: 3; font-size: .875rem; }
.one-pw__mini { display: flex; gap: 14px; align-items: center; padding: 10px 0; border-bottom: 1px solid rgba(128,128,128,.22); color: inherit; text-decoration: none; min-width: 0; }
.one-pw__mini .one-pw__img { width: 72px; flex: none; aspect-ratio: 1 / 1; border-radius: 10px; }
.one-pw__nrow { display: flex; gap: 16px; align-items: center; padding: 14px 4px; border-bottom: 1px solid rgba(128,128,128,.22); color: inherit; text-decoration: none; min-width: 0; }
.one-pw__big { flex: none; width: 44px; font: 800 1.75rem/1 inherit; font-style: normal; color: var(--kc-primary, #1f5eff); }
.one-pw__nrow .one-pw__t { flex: 1; min-width: 0; font-size: 1rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.one-pw__tl { position: relative; display: flex; gap: 18px; align-items: baseline; padding: 0 0 22px; color: inherit; text-decoration: none; }
.one-pw__tl .one-pw__d { width: 86px; flex: none; text-align: right; }
.one-pw__dot { position: relative; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--kc-primary, #1f5eff); align-self: flex-start; margin-top: 6px; }
.one-pw__tl::before { content: ""; position: absolute; left: 104px; top: 14px; bottom: -8px; width: 2px; background: rgba(128,128,128,.28); }
.one-pw__tl:last-child::before { display: none; }
.one-pw__tl .one-pw__t { flex: 1; min-width: 0; font-weight: 600; }
.one-pw--ptile .one-pw__list { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.one-pw__tile { position: relative; display: block; border-radius: 14px; overflow: hidden; color: #fff; text-decoration: none; min-width: 0; }
.one-pw__tile .one-pw__img { border-radius: 0; aspect-ratio: 4 / 3; }
.one-pw__tile.is-wide .one-pw__img { aspect-ratio: 21 / 9; }
.one-pw--pbig .one-pw__list { display: grid; gap: 14px; }
.one-pw__cap { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 4px; padding: 36px 16px 14px; background: linear-gradient(to top, rgba(0,0,0,.7), transparent); color: #fff; }
.one-pw__cap .one-pw__t { font-size: 1rem; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.one-pw__cap .one-pw__d { opacity: .85; }
.one-pw__cal { display: flex; gap: 16px; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(128,128,128,.22); color: inherit; text-decoration: none; min-width: 0; }
.one-pw__box { flex: none; width: 58px; padding: 6px 0 8px; text-align: center; border-radius: 10px; background: var(--kc-primary, #1f5eff); color: #fff; }
.one-pw__box em { display: block; font: 600 .6875rem/1.4 inherit; font-style: normal; opacity: .85; }
.one-pw__box strong { display: block; font: 800 1.375rem/1.1 inherit; }
.one-pw__cal .one-pw__t { flex: 1; min-width: 0; font-weight: 600; }
.one-pw__tbl { border-top: 2px solid currentColor; }
.one-pw__tr { display: grid; grid-template-columns: 56px minmax(0, 1fr) 100px 60px; gap: 8px; padding: 12px 6px; border-bottom: 1px solid rgba(128,128,128,.22); color: inherit; text-decoration: none; font-size: .875rem; align-items: center; }
.one-pw__tr > span { text-align: center; opacity: .75; }
.one-pw__tr.is-head { font-weight: 700; background: rgba(128,128,128,.1); }
.one-pw__tr.is-head > span { opacity: 1; }
.one-pw__tr .one-pw__t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.one-pw--pchip .one-pw__list { display: flex; flex-wrap: wrap; gap: 8px; }
.one-pw__chip { display: inline-block; max-width: 100%; padding: 8px 16px; border-radius: 999px; border: 1px solid rgba(128,128,128,.35); color: inherit; text-decoration: none; font-size: .875rem; }
.one-pw__chip b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.one-pw__chip:hover { border-color: var(--kc-primary, #1f5eff); color: var(--kc-primary, #1f5eff); }
.one-pw__hot { display: grid; grid-template-columns: minmax(0, 1fr) 90px auto; gap: 12px; align-items: center; padding: 10px 0; color: inherit; text-decoration: none; }
.one-pw__hot .one-pw__t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; font-size: .9375rem; }
.one-pw__bar { height: 8px; border-radius: 999px; background: rgba(128,128,128,.2); overflow: hidden; }
.one-pw__bar i { display: block; height: 100%; border-radius: 999px; background: var(--kc-primary, #1f5eff); }
.one-pw--pcarou .one-pw__list { position: relative; border-radius: 16px; overflow: hidden; }
.one-pw__slide { display: none; position: relative; color: #fff; text-decoration: none; }
.one-pw__slide.is-on { display: block; animation: one-pw-fade .5s ease; }
.one-pw__slide .one-pw__img { border-radius: 0; aspect-ratio: 16 / 7; }
.one-pw__slide .one-pw__x { color: #fff; opacity: .9; }
.one-pw__dots { position: absolute; right: 14px; bottom: 12px; display: flex; gap: 6px; }
.one-pw__dot2 { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.5); cursor: pointer; }
.one-pw__dot2.is-on { background: #fff; width: 22px; border-radius: 999px; }
@keyframes one-pw-fade { from { opacity: 0; } to { opacity: 1; } }
.one-pw__tabs { display: flex; gap: 6px; margin-bottom: 10px; }
.one-pw__tab { padding: 7px 18px; border: 1px solid rgba(128,128,128,.35); border-radius: 999px; background: transparent; color: inherit; font-size: .875rem; font-weight: 600; cursor: pointer; }
.one-pw__tab.is-on { background: var(--kc-primary, #1f5eff); border-color: transparent; color: #fff; }
@media (max-width: 767.98px) { .one-pw--pgrid2 .one-pw__list, .one-pw--pquote .one-pw__list, .one-pw--ptile .one-pw__list { grid-template-columns: 1fr; } .one-pw__tr { grid-template-columns: 40px minmax(0, 1fr) 80px; } .one-pw__tr > span:last-child { display: none; } .one-pw__tl .one-pw__d { width: 70px; } .one-pw__tl::before { left: 88px; } .one-pw__hot { grid-template-columns: minmax(0, 1fr) 60px; } .one-pw__hot .one-pw__d { display: none; } .one-pw__slide .one-pw__img { aspect-ratio: 16 / 10; } }
@media (prefers-reduced-motion: reduce) { .one-pw__slide.is-on { animation: none; } }
