/* Service detail template (used by /58 BEAUTY & COSMETICS, same rules in 48-ecommerce.css)
   prefix: sv- */

/* hero */
.sv-hero { min-height: 447px; padding-bottom: 59px; }
.sv-hero .page-hero__title { font-weight: 400; font-size: clamp(42px, 6.7vw, 96px); letter-spacing: -1px; line-height: 1.1; }
.sv-hero .page-hero__line { max-width: 500px; margin-top: 29px; background: rgba(255,255,255,.9); height: 1px; }

/* shared type */
.sv-eyebrow { font-family: var(--font); font-size: 24px; line-height: 1.2; font-weight: 400; color: #c6c6c6; }
.sv-kicker { font-size: 22px; line-height: 1.2; letter-spacing: 5px; color: #ababab; }

/* intro (pink) */
.sv-intro { background: #f2dbe1; padding: 135px 0 130px; }
.sv-intro .sv-eyebrow { color: #fff; }
.sv-intro__title { margin-top: 24px; font-size: clamp(30px, 3.9vw, 56px); line-height: 1.5; font-weight: 700; color: #010101; letter-spacing: -.01em; }
.sv-intro__body { margin-top: 56px; font-size: clamp(17px, 1.67vw, 24px); line-height: 1.6; color: #212121; }
.sv-intro__body p + p { margin-top: 1.6em; }
.sv-intro__body small { font-size: .75em; }
.sv-intro__body .sv-intro__close { font-size: 1.25em; line-height: 1.45; font-weight: 700; }

/* solution block */
.sv-sol { padding: 155px 0 47px; background: #fff; }
.sv-sol__head { margin-top: 74px; }
.sv-sol__title { display: block; font-size: clamp(28px, 3.35vw, 48px); line-height: 1.2; font-weight: 700; letter-spacing: -1px; color: #010101; }
.sv-sol__accent { display: block; margin-top: 14px; font-size: clamp(32px, 4.2vw, 60px); line-height: 1.1; font-weight: 700; letter-spacing: -1px; color: #e8a9bb; }
.sv-sol__sub { margin-top: 55px; font-size: clamp(19px, 2.1vw, 30px); line-height: 1.6; color: #212121; }
.sv-sol--tall { padding-bottom: 188px; }
.sv-sol__sub b { font-weight: 700; }
.sv-sol__sub span + span::before { content: ''; display: block; height: 10px; }
.sv-list { margin-top: 42px; border-top: 2px solid #000; border-bottom: 2px solid #000; padding: 46px 0 80px; }
.sv-list--thin-end { border-bottom-width: 1px; padding-bottom: 15px; }
.sv-list li { display: flex; align-items: flex-start; gap: 8px; font-size: clamp(17px, 1.67vw, 24px); line-height: 1.25; font-weight: 700; color: #212121; }
.sv-list li + li { margin-top: 34px; }
.sv-list li::before { content: ''; flex: 0 0 30px; width: 30px; height: 30px; margin-top: -1px; background: url('/assets/img/418e4356f3d1b.png') center / contain no-repeat; }
.sv-list li span { font-weight: 400; }
/* dark variant */
.sv-sol--dark { background: #2d2e2f; }
.sv-sol--dark .sv-sol__title, .sv-sol--dark .sv-sol__sub { color: #fff; }
.sv-sol--dark .sv-list { border-color: #fff; }
.sv-sol--dark .sv-list li { color: #cfcfcf; }

/* cases */
.sv-cases { background: #fff; padding: 151px 0 0; }
.sv-cases__title { margin-top: 35px; font-size: clamp(32px, 4.2vw, 60px); line-height: 1.1; font-weight: 700; color: #131313; }
.sv-cases__rows { margin: 40px 0 0 auto; width: calc(100% - 400px); border-top: 2px solid #000; border-bottom: 2px solid #000; }
.sv-case { padding: 51px 27px 40px; }
.sv-case + .sv-case { border-top: 1px solid #000; }
.sv-case h3 { font-size: clamp(22px, 2.1vw, 30px); line-height: 1.2; font-weight: 700; color: #131313; }
.sv-case ul { margin-top: 32px; padding-left: 40px; list-style: disc; font-size: clamp(16px, 1.4vw, 20px); line-height: 1.6; color: #212121; }
.sv-cases__end { height: 180px; }

/* benefits (black) */
.sv-benefit { background: #131313; color: #fff; padding: 129px 0 130px; }
.sv-benefit .sv-eyebrow { color: #646464; }
.sv-benefit__title { margin-top: 35px; font-size: clamp(32px, 4.2vw, 60px); line-height: 1.1; font-weight: 700; }
.sv-benefit__sub { margin-top: 25px; font-size: clamp(18px, 1.8vw, 26px); line-height: 1.2; font-weight: 700; }
.sv-benefit__grid { margin-top: 30px; border-top: 2px solid #fff; border-bottom: 1px solid #fff; padding: 62px 0 55px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 30px; }
.sv-benefit__grid li { display: flex; align-items: flex-start; gap: 6px; font-size: clamp(18px, 1.8vw, 26px); line-height: 1.6; font-weight: 700; color: #fcfcfc; }
.sv-benefit__grid li::before { content: ''; flex: 0 0 35px; height: 32px; margin-top: 4px; background: url('/assets/img/0a62c620108ff.png') center / contain no-repeat; }
.sv-benefit__cta { margin-top: 78px; text-align: right; }
.sv-btn-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 262px; height: 57px; padding: 0 36px; border-radius: 40px; background: #fff; color: #de8ea6; font-family: var(--font-en); font-size: 21px; letter-spacing: .02em; transition: background .25s, color .25s; }
.sv-btn-pill:hover { background: #de8ea6; color: #fff; }

/* portfolio */
.sv-pf-label { padding: 122px 0 69px; text-align: center; font-size: 20px; font-weight: 700; letter-spacing: 5px; color: #3d3d3d; }
.sv-pf-head { background: #f9f9f9; padding: 79px 0 88px; }
.sv-pf-head__inner { display: grid; grid-template-columns: 717px 1fr; gap: 30px; align-items: start; }
.sv-pf-head__bar { display: block; width: 108px; height: 4px; background: currentColor; margin-bottom: 19px; }
.sv-pf-head__name { font-family: var(--font-en); font-weight: 400; font-size: clamp(40px, 5vw, 72px); line-height: 1.1; letter-spacing: 3px; }
.sv-pf-head__kr { margin-top: 2px; font-size: 18px; line-height: 1.2; letter-spacing: 3px; }
.sv-pf-head__tags { padding-top: 0; font-family: var(--font-en); font-size: 16px; line-height: 32px; color: #787878; }
.sv-pf-head__tags--spaced li + li { margin-top: 24px; line-height: 24px; }
.sv-pf { padding: 77px 0 75px; }
.sv-pf__full img { width: 100%; }
.sv-pf__pair { margin-top: 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
.sv-pf__pair img { margin: 0 auto; }
.sv-pf__title { margin-top: 30px; font-family: var(--font-en); font-size: 26px; line-height: 1.2; font-weight: 700; color: #212121; }
.sv-pf__text { margin-top: 15px; font-size: 16px; line-height: 24px; color: #787878; }
.sv-pf__text p + p { margin-top: 24px; }
.sv-pf__split { display: grid; grid-template-columns: 930px 1fr; gap: 30px; align-items: end; }
.sv-pf__split .sv-pf__media > * + * { margin-top: 30px; }
.sv-pf__split .sv-pf__media img { width: 100%; }
.sv-pf__aside::before { content: ''; display: block; width: 44px; height: 4px; background: #646464; margin-bottom: 30px; }
.sv-pf__aside .sv-pf__text { margin-top: 0; padding-bottom: 20px; }
.sv-pf__posters { margin-top: 66px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.sv-pf__posters img { width: 100%; aspect-ratio: 305 / 430; object-fit: cover; border: 1px solid #ececec; }
.sv-pf__three { padding: 46px 0 108px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.sv-pf__three img { width: 100%; }

/* responsive */
@media (max-width: 1200px) {
  .sv-pf-head__inner { grid-template-columns: 1fr 1fr; }
  .sv-pf__split { grid-template-columns: 1fr 290px; }
  .sv-cases__rows { width: calc(100% - 200px); }
}
@media (max-width: 960px) {
  .sv-intro { padding: 80px 0; }
  .sv-sol, .sv-sol--tall { padding: 90px 0 30px; }
  .sv-sol__sub { margin-top: 32px; line-height: 1.45; }
  .sv-list { padding-bottom: 40px; }
  .sv-sol__head { margin-top: 40px; }
  .sv-list { margin-top: 40px; padding: 32px 0 36px; }
  .sv-list--thin-end { padding-bottom: 12px; }
  .sv-list li + li { margin-top: 22px; }
  .sv-list li::before { flex-basis: 24px; height: 24px; }
  .sv-cases { padding-top: 90px; }
  .sv-cases__rows { width: 100%; }
  .sv-case { padding: 36px 0 30px; }
  .sv-cases__end { height: 100px; }
  .sv-benefit { padding: 90px 0; }
  .sv-benefit__grid { grid-template-columns: 1fr; padding: 40px 0; gap: 22px; }
  .sv-benefit__grid li::before { flex-basis: 28px; height: 26px; }
  .sv-benefit__cta { margin-top: 48px; }
  .sv-pf-label { padding: 80px 0 48px; }
  .sv-pf-head { padding: 56px 0; }
  .sv-pf-head__inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .sv-pf-head__name { font-size: clamp(28px, 8.6vw, 56px); letter-spacing: 2px; overflow-wrap: anywhere; }
  .sv-pf { padding: 48px 0; }
  .sv-pf__split { grid-template-columns: 1fr; gap: 36px; }
  .sv-pf__posters { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 36px; }
  .sv-pf__three { padding: 24px 0 64px; gap: 16px; }
}
@media (max-width: 640px) {
  .sv-hero { min-height: 280px; padding-bottom: 40px; }
  .sv-hero .page-hero__line { max-width: 60%; }
  .sv-eyebrow { font-size: 18px; }
  .sv-kicker { font-size: 15px; letter-spacing: 3px; }
  .sv-intro__title { line-height: 1.4; }
  .sv-intro__body { margin-top: 36px; }
  .sv-intro__body br.pc { display: none; }
  .sv-pf__pair, .sv-pf__three { grid-template-columns: 1fr; }
  .sv-pf__title { font-size: 21px; }
  .sv-btn-pill { min-width: 220px; font-size: 18px; height: 52px; }
}

/* fidelity pass (desktop spacing measured against cbcgroup.co.kr/58) */
@media (min-width: 961px) {
  .sv-intro { padding-bottom: 144px; }
  main > section:nth-of-type(3) .sv-list { margin-top: 76px; }
  main > section:nth-of-type(3) .sv-list--thin-end { padding-bottom: 48px; }
  main > section:nth-of-type(4) .sv-list { margin-top: 44px; }
  main > section:nth-of-type(5) .sv-list { margin-top: 46px; }
  main > section:nth-of-type(6) .sv-list { margin-top: 30px; }
  main > section:nth-of-type(7) .sv-list { margin-top: 31px; }
  main > section:nth-of-type(8) .sv-list { margin-top: 32px; }
  .sv-cases__rows { margin-top: 76px; }
  .sv-case { padding: 32px 27px 30px; }
  .sv-case ul { margin-top: 30px; line-height: 1.75; }
  .sv-benefit__grid { margin-top: 53px; padding-top: 32px; padding-bottom: 50px; row-gap: 48px; }
  .sv-pf--moart { padding: 66px 0 225px; }
}
