/* S-CLASS 소개 2차: 흰 배경 표준 + 시각 자료 */
.dv-sc2-hero { background: #fff; font-family: 'Pretendard', sans-serif; overflow: hidden; border-bottom: 1px solid var(--dv-line); }
.dv-sc2-hero-in { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; min-height: 640px; }
.dv-sc2-copy { padding: 70px 0; }
.dv-sc2-copy h1 { font-size: 3.5rem; font-weight: 800; line-height: 1.2; letter-spacing: -.025em; margin: 22px 0 0; color: #111; }
.dv-sc2-copy h1 em { font-style: normal; background: linear-gradient(transparent 60%, rgba(246, 200, 58, .85) 60%); }
.dv-sc2-copy p { font-size: 1.125rem; line-height: 1.8; color: #555; margin: 22px 0 0; max-width: 520px; }
.dv-sc2-mini { display: grid; grid-template-columns: repeat(4, auto); gap: 0; margin-top: 40px; border: 1px solid #111; border-radius: var(--dv-r); overflow: hidden; width: fit-content; }
.dv-sc2-mini > div { padding: 16px 22px; border-left: 1px solid var(--dv-line); background: #fff; }
.dv-sc2-mini > div:first-child { border-left: 0; }
.dv-sc2-mini b { display: block; font-size: 1.75rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.dv-sc2-mini b.y { background: var(--dv-yellow); display: inline-block; padding: 0 8px; border-radius: 6px; }
.dv-sc2-mini span { font-size: .8125rem; color: #666; }
.dv-sc2-mini b span { font-size: inherit; color: inherit; }
.dv-sc2-wall { position: relative; height: 640px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; transform: perspective(1400px) rotateY(-14deg) rotateX(6deg) scale(1.08); transform-origin: 60% 50%; -webkit-mask-image: linear-gradient(transparent 0, #000 16%, #000 84%, transparent 100%); mask-image: linear-gradient(transparent 0, #000 16%, #000 84%, transparent 100%); }
.dv-sc2-wall .col { overflow: hidden; }
.dv-sc2-wall .track { display: flex; flex-direction: column; gap: 16px; animation: dvWallUp 46s linear infinite; }
.dv-sc2-wall .c1 .track { animation-name: dvWallDown; animation-duration: 54s; }
.dv-sc2-wall .c2 .track { animation-duration: 62s; }
.dv-sc2-wall .track img { width: 100%; aspect-ratio: 1200 / 698; object-fit: cover; border-radius: 10px; box-shadow: 0 10px 24px rgba(17, 17, 17, .16); display: block; }
.dv-sc2-wall:hover .track { animation-play-state: paused; }
.dv-sc2-wall .jk { position: absolute; left: -70px; bottom: 60px; height: 190px; z-index: 3; filter: drop-shadow(8px 10px 0 rgba(17, 17, 17, .16)); animation: dvBubble 3s ease-in-out infinite; transform-origin: 50% 100%; }
@keyframes dvWallUp { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@keyframes dvWallDown { from { transform: translateY(-50%); } to { transform: translateY(0); } }

.dv-sc-why-item { position: relative; overflow: hidden; padding-right: 150px !important; min-height: 230px; }
.dv-sc-why-item .jk { position: absolute; right: 6px; bottom: -8px; height: 150px; opacity: .95; transition: transform .4s cubic-bezier(.3, 1.6, .5, 1); transform-origin: 50% 100%; }
.dv-sc-why-item:hover .jk { transform: scale(1.12) rotate(-4deg); }

.dv-road { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; position: relative; }
.dv-road::before { content: ''; position: absolute; left: 4%; right: 4%; top: 104px; border-top: 2px dashed rgba(17, 17, 17, .35); }
.dv-road-step { position: relative; background: #fff; border: 1px solid var(--dv-line); border-radius: var(--dv-r); padding: 26px 24px 28px; transition: transform .3s, box-shadow .3s, border-color .3s; }
.dv-road-step:hover { transform: translateY(-6px); border-color: #111; box-shadow: 6px 7px 0 var(--dv-yellow); }
.dv-road-step .pile { position: relative; height: 150px; margin-bottom: 20px; }
.dv-road-step .pile img { position: absolute; left: 50%; top: 8px; width: 78%; border-radius: 8px; box-shadow: 0 10px 22px rgba(17, 17, 17, .2); transition: transform .45s cubic-bezier(.2, .8, .2, 1); }
.dv-road-step .pile img:nth-child(1) { transform: translateX(-62%) rotate(-8deg); }
.dv-road-step .pile img:nth-child(2) { transform: translateX(-38%) rotate(7deg); }
.dv-road-step .pile img:nth-child(3) { transform: translateX(-50%) translateY(10px); }
.dv-road-step:hover .pile img:nth-child(1) { transform: translateX(-78%) rotate(-14deg); }
.dv-road-step:hover .pile img:nth-child(2) { transform: translateX(-22%) rotate(13deg); }
.dv-road-step:hover .pile img:nth-child(3) { transform: translateX(-50%) translateY(0) scale(1.05); }
.dv-road-step .no { font-size: .75rem; font-weight: 800; letter-spacing: .12em; color: #8a6d00; }
.dv-road-step h3 { font-size: 1.5rem; font-weight: 800; margin: 6px 0 8px; }
.dv-road-step p { font-size: .9375rem; line-height: 1.65; color: #555; margin: 0; }

.dv-sc2-letter { color: #111; }
.dv-sc2-letter .trio { height: 170px; margin-bottom: 26px; animation: dvBubble 2.6s ease-in-out infinite; }
.dv-sc2-letter p { opacity: 1; color: #444; }
.dv-sc2-letter .big, .dv-sc2-letter .sign { color: #111; }
.dv-sc2-letter .sign em { font-style: normal; background: linear-gradient(transparent 58%, rgba(246, 200, 58, .85) 58%); }
.dv-sc-card { cursor: default; }
.dv-sc-card img { transition: transform .5s; }
.dv-sc-card:hover img { transform: scale(1.06); }

@media screen and (max-width: 1280px) {
  .dv-sc2-hero-in { grid-template-columns: 1fr; gap: 0; }
  .dv-sc2-copy { padding: 50px 0 30px; }
  .dv-sc2-wall { height: 420px; transform: perspective(1400px) rotateX(8deg); }
  .dv-sc2-wall .jk { left: 0; height: 130px; }
  .dv-road { grid-template-columns: 1fr 1fr; }
  .dv-road::before { display: none; }
}
@media screen and (max-width: 767px) {
  .dv-sc2-hero { padding-top: 0; }
  .dv-sc2-copy h1 { font-size: 1.875rem; }
  .dv-sc2-copy p { font-size: .9375rem; }
  .dv-sc2-mini { grid-template-columns: 1fr 1fr; width: 100%; margin-top: 26px; }
  .dv-sc2-mini > div:nth-child(3) { border-left: 0; }
  .dv-sc2-mini > div:nth-child(n+3) { border-top: 1px solid var(--dv-line); }
  .dv-sc2-mini b { font-size: 1.375rem; }
  .dv-sc2-wall { height: 320px; gap: 10px; }
  .dv-sc-why-item { padding-right: 96px !important; min-height: 0; }
  .dv-sc-why-item .jk { height: 96px; }
  .dv-road { grid-template-columns: 1fr; }
  .dv-sc2-letter .trio { height: 120px; }
}
@media (prefers-reduced-motion: reduce) { .dv-sc2-wall .track, .dv-sc2-wall .jk, .dv-sc2-letter .trio { animation: none !important; } }

/* 보정 */
.dv-sc2-copy h1 { font-size: 3rem; white-space: nowrap; }
.dv-sc2-mini b.y { display: block; width: fit-content; }
a.dv-btn:not(.dv-btn-y):not(.dv-btn-line) { color: #fff !important; }
a.dv-btn:not(.dv-btn-y):not(.dv-btn-line):hover { color: #111 !important; }
a.dv-btn.dv-btn-y, a.dv-btn.dv-btn-line { color: #111 !important; }
.dv-dark a.dv-btn.dv-btn-line { color: #fff !important; }
a.dv-btn.dv-btn-line:hover { color: #fff !important; }
@media screen and (max-width: 1280px) { .dv-sc2-copy h1 { white-space: normal; } }
@media screen and (max-width: 767px) { .dv-sc2-copy h1 { font-size: 1.875rem; } }
