@charset "utf-8";

/* 나눔스퀘어 텍스트 보정: 위치 이동 transform이 있는 컨테이너는 제외 */
.pulup-page .content-area :is(
  .prod-title .title p, .story-wrap .txt p,
  .com-tit h4.tit, .com-tit p.txt, .item-align p,
  .feature-copy p, .feature-copy h5, .feature-check li,
  .option-label, .feature-option h5, .feature-option p,
  .operation-item .tit, .operation-item .txt, .operation-item li,
  .experience-item .label, .experience-item .tit, .experience-item .txt,
  .consult-card h5, .consult-card p,
  .buy-btn, .start-note, .faq-title, .faq-item summary, .faq-answer p
):not(.en) { transform: skewX(-0.1deg); }

/* 풀업 - 서비스 화면 예시 */
.pulup-page .prod-title .title p { word-break: keep-all; line-height: 1.6; }
.pulup-page .prod-title .info { margin-top: 35px; }
.pulup-page .prod-title .info .item .tit { width: 145px; }
.pulup-page .prod-title .info .item .txt { width: calc(100% - 145px); word-break: keep-all; }

@media (max-width: 1024px) {
  .pulup-page .prod-title .info .item .tit { width: 100px; }
  .pulup-page .prod-title .info .item .txt { width: calc(100% - 100px); }
}
@media (max-width: 640px) {
  .pulup-page .prod-title { padding-top: 0; padding-bottom: 0; }
  .pulup-page .prod-title .title p { max-width: 280px; margin: 0 auto; }
}

/* 풀업 - OVERVIEW */
.pulup-overview .com-tit h4.tit { line-height: 1.5; word-break: keep-all; }
.pulup-overview .tech-wrap .info { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.pulup-overview .tech-wrap .info .item { width: calc(33.3333% - 14px); max-width: 300px; height: auto; aspect-ratio: 1; margin: 0; padding: 0; }
.pulup-overview .tech-wrap .info .item:nth-child(4):before { content: '4'; }
.pulup-overview .tech-wrap .info .item:nth-child(5):before { content: '5'; }
.pulup-overview .tech-wrap .info .item .txt { line-height: 1.5; word-break: keep-all; }
.pulup-overview .tech-wrap .info-txt p.txt { word-break: keep-all; }

@media (max-width: 1024px) {
  .pulup-overview .tech-wrap .info .item { min-width: 220px; max-width: 250px; }
  .pulup-overview .tech-wrap .info .item .item-align { padding: 0 20px; }
  .pulup-overview .tech-wrap .info .item .txt { overflow-wrap: anywhere; }
  .pulup-overview .tech-wrap .info .item .txt br { display: none; }
}
@media (max-width: 640px) {
  .pulup-overview .tech-wrap .info { width: calc(100% + 20px); margin-left: -10px; gap: 4px; }
  .pulup-overview .tech-wrap .info .item { width: calc(50% - 4px); min-width: 150px; max-width: 220px; }
  .pulup-overview .tech-wrap .info .item .item-align { padding: 0 14px; }
}
@media (max-width: 475px) {
  .pulup-overview .tech-wrap .info .item .tit { font-size: 1.6rem; padding-bottom: 10px; }
  .pulup-overview .tech-wrap .info .item .txt { font-size: 1.3rem; line-height: 1.35; }
}

/* 풀업 - FEATURES */
.pulup-features .com-tit h4.tit { line-height: 1.5; }
.pulup-features .com-tit p.txt { color: rgba(255,255,255,0.7); word-break: keep-all; }
.pulup-features .feature-item { display: flex; align-items: center; gap: 50px; padding: 60px 0; }
.pulup-features .feature-item + .feature-item { border-top: 1px solid rgba(255,255,255,0.15); }
.pulup-features .feature-copy { flex: 0 0 40%; min-width: 0; color: #fff; word-break: keep-all; }
.pulup-features .feature-label { font-size: 1.5rem; font-weight: 900; color: var(--main-green); padding-bottom: 20px; }
.pulup-features .feature-copy h5 { font-size: 2.6rem; font-weight: 900; line-height: 1.6; }
.pulup-features .feature-desc { font-size: 1.5rem; line-height: 1.9; color: rgba(255,255,255,0.7); padding-top: 25px; }
.pulup-features .feature-check { padding-top: 25px; }
.pulup-features .feature-check li { position: relative; padding: 5px 0 5px 22px; font-size: 1.4rem; line-height: 1.8; }
.pulup-features .feature-check li:before { content: '✓'; position: absolute; left: 0; color: var(--main-green); font-weight: 900; }
.pulup-features .feature-image { flex: 1; min-width: 0; overflow: hidden; border-radius: 20px; border: 6px solid rgba(255,255,255,0.4); }
.pulup-features .feature-image img { display: block; width: 100%; height: auto; }
.pulup-features .feature-option { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; padding: 30px; margin-top: 20px; border-radius: 20px; background: #eff1f3; word-break: keep-all; }
.pulup-features .option-label { position: relative; padding-left: 15px; color: var(--main-blue); font-size: 1.6rem; font-weight: 900; line-height: 1.5; }
.pulup-features .option-label:before,
.pulup-features .option-label:after { content: ''; position: absolute; left: 0; width: 5px; height: 5px; border-radius: 50%; }
.pulup-features .option-label:before { top: calc(50% - 7px); background: var(--main-blue); }
.pulup-features .option-label:after { top: calc(50% + 3px); background: #65c500; }
.pulup-features .feature-option h5 { font-size: 1.6rem; font-weight: 900; line-height: 1.8; }
.pulup-features .feature-option p { font-size: 1.3rem; line-height: 1.8; padding-top: 8px; color: #68758b; }

@media (max-width: 1024px) {
  .pulup-features .feature-item { gap: 30px; }
  .pulup-features .feature-copy h5 { font-size: 2.2rem; }
}
@media (max-width: 768px) {
  .pulup-features .feature-item { flex-direction: column; align-items: stretch; padding: 35px 0; }
  .pulup-features .feature-copy { flex: auto; }
  .pulup-features .feature-desc br { display: none; }
  .pulup-features .feature-option { padding: 25px; }
}
@media (max-width: 475px) {
  .pulup-features .feature-copy h5 { font-size: 2rem; }
  .pulup-features .feature-option { padding: 20px; }
  .pulup-features .option-label { font-size: 1.4rem; }
  .pulup-features .feature-option h5 { font-size: 1.4rem; }
  .pulup-features .feature-option p { font-size: 1.2rem; }
}

/* 풀업 - OPERATION */
.pulup-operation { background: #fff; }
.pulup-operation .com-tit h4.tit { line-height: 1.5; }
.pulup-operation .com-tit p.txt { word-break: keep-all; }
.pulup-operation .operation-list { display: flex; gap: 30px; }
.pulup-operation .operation-item { flex: 1; min-width: 0; padding: 40px; border: 1px solid var(--dark-color); border-radius: 20px; background: var(--dark-color); color: #fff; word-break: keep-all; }
.pulup-operation .operation-item .label { font-size: 1.6rem; font-weight: 900; color: var(--main-green); letter-spacing: .5px; }
.pulup-operation .operation-item .tit { position: relative; display: inline-block; font-size: 2.5rem; font-weight: 900; margin-top: 20px; }
.pulup-operation .operation-item .tit:after { content: ''; position: absolute; top: 0; right: -12px; width: 7px; height: 7px; border-radius: 50%; background: var(--main-green); }
.pulup-operation .operation-item .txt { font-size: 1.6rem; line-height: 1.8; padding-top: 20px; color: #c6c9da; }
.pulup-operation .operation-item ul { padding-top: 25px; }
.pulup-operation .operation-item li { position: relative; padding: 5px 0 5px 15px; font-size: 1.5rem; line-height: 1.8; }
.pulup-operation .operation-item li:before { content: ''; position: absolute; top: 16px; left: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--main-green); }
.pulup-operation .operation-experience { display: flex; gap: 30px; margin-top: 70px; }
.pulup-operation .experience-item { flex: 1; min-width: 0; padding: 25px 0; border-top: 2px solid var(--dark-color); word-break: keep-all; }
.pulup-operation .experience-item .label { font-size: 1.3rem; color: #828282; padding-bottom: 15px; }
.pulup-operation .experience-item .tit { position: relative; font-size: 2rem; font-weight: 900; line-height: 1.6; padding: 0 0 15px 15px; }
.pulup-operation .experience-item .tit:after { content: ''; position: absolute; top: 5px; left: 0; width: 5px; height: 5px; background: var(--main-blue); border-radius: 10px; }
.pulup-operation .experience-item .tit:before { content: ''; position: absolute; top: 15px; left: 0; width: 5px; height: 5px; background: #65c500; border-radius: 10px; }
.pulup-operation .experience-item .txt { font-size: 1.6rem; line-height: 1.8; }

@media (max-width: 1024px) {
  .pulup-operation .operation-item { padding: 30px; }
}
@media (max-width: 768px) {
  .pulup-operation .operation-list { flex-direction: column; }
  .pulup-operation .operation-experience { flex-direction: column; gap: 0; margin-top: 45px; }
}
@media (max-width: 475px) {
  .pulup-operation .operation-item { padding: 25px; }
  .pulup-operation .operation-item .tit { font-size: 2.2rem; }
  .pulup-operation .operation-item .txt,
  .pulup-operation .operation-item li,
  .pulup-operation .experience-item .txt { font-size: 1.4rem; }
  .pulup-operation .operation-item .txt br { display: none; }
  .pulup-operation .experience-item .tit { font-size: 1.8rem; }
}

/* 풀업 - 이용 상담 및 FAQ */
.section.pulup-consult { --consult-space: 100px; padding: var(--consult-space) 0; }
.pulup-consult .com-tit { padding-bottom: 0; }
.pulup-consult .com-tit p.label { color: var(--main-green); }
.pulup-consult .com-tit h4.tit { color: #fff; line-height: 1.5; }
.pulup-consult .com-tit p.txt { color: #c6c9da; word-break: keep-all; }
.pulup-consult .consult-heading .right p.txt { padding-top: 0; font-size: 1.8rem; }
.pulup-consult .consult-heading .right p.txt br { display: inline; }
.pulup-consult .com-tit p.txt b:after { background: rgba(255,255,255,0.2); }
.pulup-consult .consult-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 15px 20px; margin-top: 15px; }
.pulup-consult .consult-actions .btn-wrap { padding-top: 0; }
.pulup-consult .consult-actions .start-note { flex: 1; min-width: 200px; padding-top: 0; }
.pulup-consult .consult-cards { display: flex; gap: 25px; margin: 50px 0 0; text-align: left; }
.pulup-consult .consult-card { flex: 1; min-width: 0; padding: 30px; border: 1px solid rgba(255,255,255,0.15); border-radius: 20px; background: #1a1b28; word-break: keep-all; }
.pulup-consult .consult-card h5 { position: relative; padding-left: 15px; font-size: 1.8rem; font-weight: 900; line-height: 1.6; }
.pulup-consult .consult-card h5:before { content: ''; position: absolute; top: 10px; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--main-green); }
.pulup-consult .consult-card p { padding-top: 15px; color: #c6c9da; font-size: 1.4rem; line-height: 1.8; }
.pulup-consult .btn-wrap .buy-btn { display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 200px; max-width: 100%; height: auto; padding: 12px 40px; border-radius: 50px; font-size: 1.8rem; line-height: 1.5; }
.pulup-consult .buy-btn:focus-visible { outline: 3px solid var(--main-blue); outline-offset: 4px; }
.pulup-consult .start-note { font-size: 1.3rem; line-height: 1.8; color: #c6c9da; padding-top: 15px; word-break: keep-all; }
.pulup-start { background: var(--dark-color); color: #fff; }
.pulup-start .faq-item summary:focus-visible { outline: 3px solid var(--main-green); outline-offset: 4px; }
.pulup-start .start-faq { margin-top: calc(var(--consult-space) * 0.8); }
.pulup-start .faq-title { font-size: 3.2rem; font-weight: 800; text-align: center; padding-bottom: 30px; }
.pulup-start .faq-item { border-top: 1px solid rgba(255,255,255,0.2); }
.pulup-start .faq-title + .faq-item { border-top-color: rgba(255,255,255,0.7); }
.pulup-start .faq-item:last-child { border-bottom: 1px solid rgba(255,255,255,0.2); }
.pulup-start .faq-item summary { display: block; position: relative; cursor: pointer; list-style: none; padding: 25px 70px; font-size: 1.8rem; font-weight: 700; line-height: 1.6; word-break: keep-all; }
.pulup-start .faq-item summary::-webkit-details-marker { display: none; }
.pulup-start .faq-item summary:hover { color: var(--main-green); }
.pulup-start .faq-letter { position: absolute; top: 15px; left: 25px; color: #c6c9da; font-size: 3rem; font-weight: 900; line-height: 1.6; }
.pulup-start .faq-icon { position: absolute; top: 50%; right: 25px; width: 12px; height: 12px; border-bottom: 1px solid #c6c9da; border-left: 1px solid #c6c9da; transform: translateY(-50%) rotate(-45deg); }
.pulup-start .faq-item[open] .faq-icon { transform: translateY(-50%) rotate(135deg); }
.pulup-start .faq-answer { position: relative; padding: 25px 25px 25px 70px; border-top: 1px solid rgba(255,255,255,0.2); background: #1a1b28; color: #c6c9da; font-size: 1.8rem; line-height: 1.6; word-break: keep-all; }

@media (max-width: 1200px) {
  .section.pulup-consult { --consult-space: 80px; }
  .pulup-start .faq-title { font-size: 3rem; }
}
@media (max-width: 768px) {
  .pulup-consult .consult-heading .right p.txt { padding-top: 20px; }
  .pulup-consult .consult-actions { justify-content: center; }
  .pulup-consult .consult-actions .start-note { flex-basis: 100%; min-width: 0; }
  .pulup-consult .consult-cards { flex-direction: column; gap: 15px; margin-top: 25px; }
  .pulup-start .faq-title { font-size: 2.7rem; }
  .pulup-start .faq-item summary,
  .pulup-start .faq-answer { font-size: 1.6rem; }
}
@media (max-width: 640px) {
  .section.pulup-consult { --consult-space: 50px; }
}
@media (max-width: 485px) {
  .pulup-start .faq-title { font-size: 2.5rem; }
  .pulup-start .faq-item summary,
  .pulup-start .faq-answer { font-size: 1.4rem; }
}

@media (max-width: 475px) {
  .pulup-consult .consult-heading .right p.txt { font-size: 1.5rem; }
  .pulup-consult .consult-card { padding: 25px; }
  .pulup-consult .consult-card h5 { font-size: 1.6rem; }
  .pulup-consult .consult-card p { font-size: 1.3rem; }
  .pulup-consult .btn-wrap .buy-btn { font-size: 1.5rem; padding: 12px 32px; }
  .pulup-start .faq-item summary { padding: 20px 48px 20px 45px; }
  .pulup-start .faq-answer { padding: 20px 15px 20px 45px; }
  .pulup-start .faq-letter { top: 16px; left: 15px; font-size: 2.3rem; }
  .pulup-start .faq-icon { right: 15px; }
}
