/*=========================================================================
공통
=========================================================================*/
#wrap {min-width:var(--min-cont);}
.inner {max-width:var(--max-cont); margin:0 auto; padding:0 var(--pad-lr); width:100%;}
.sec {padding:100px 0;}
@media (max-width:900px) {
  .sec {padding:70px 0;}
}
@media (max-width:600px) {
  .sec {padding:52px 0;}
}

.secLabel{font-family:var(--f-sub-en); font-size:.74em; font-weight:700; letter-spacing:.1em ;text-transform:uppercase; color:var(--red); margin-bottom:12px; display:block;}
.secTitKr{font-size:clamp(26px,3.2vw,42px); font-weight:800; color:var(--text-dark); line-height:1.25; letter-spacing:-.02em; margin-bottom:14px;}
.secTitKr em{color:var(--red); font-style:normal;}
.secTitEn{font-family:var(--f-disp); font-size:clamp(28px,3.2vw,42px); color:var(--text-dark); line-height:1.25;}
.secTitEn em{color:var(--red);}
.secDesc{font-size:.9em; color:var(--gray4); line-height:1.7; word-break:keep-all;}

/* 가로 스크롤 슬라이드 공통 타이틀/본문 */
.secStepTit {font-size:clamp(30px,3.5vw,47px); font-weight:800; color:var(--text-dark); line-height:1.2; letter-spacing:-.02em; margin-bottom:16px;}
.secStepTit em {color:var(--red); font-style:normal;}
.secStepTit small{font-size: .65em;}
.secStepBody {color:var(--gray4); line-height:1.7; word-break:keep-all; margin-bottom:8px;}

/* 카드 슬라이드 공통 타이틀 */
.secCardTit{font-size:1.2em; font-weight:700; color:var(--red); margin-bottom:12px; line-height:1.4;}

.revealUp{opacity:0;transform:translateY(36px); transition:opacity .7s var(--ease),transform .7s var(--ease);}
.revealUp.on {opacity:1; transform:none;}
.d1 {transition-delay:.1s;}
.d2 {transition-delay:.2s;}
.d3 {transition-delay:.3s;}
.d4 {transition-delay:.4s;}
.d5 {transition-delay:.5s;}

@media (max-width:900px) {
  .pbr{display: none;}
}


/*=========================================================================
HERO
=========================================================================*/
.hero {min-height:100vh; background:#fff; position:relative; overflow:hidden; display:flex; flex-direction:column; padding-top:68px;}
.heroInner{max-width:var(--max-cont); margin:0 auto; padding:0 var(--pad-lr); width:100%; display:grid; grid-template-columns:1fr 500px; gap:40px; align-items:center; flex:1; min-height:calc(100vh - 68px);}
.heroLeft{padding:50px 0 90px;}
.heroLabel{font-family:var(--f-sub-en); font-size:.85em; font-weight:600; letter-spacing:.14em; color:var(--red); margin-bottom:18px; white-space: nowrap;}
.heroLabel::after{content:''; display:inline-block; width:36px; height:1px; background:var(--red); transform: translateY(-5px); margin-left: 5px;}
.heroTitle{font-family:var(--f-sub-en); font-size:clamp(45px,6vw,78px); font-weight:900; line-height:1.05; color:var(--text-dark); margin-bottom:14px; letter-spacing:-.02em;}
.heroTitle .red {color:var(--red);}
.heroSpecs{display:flex;flex-wrap:wrap; gap:5px 20px; margin-bottom:26px;}
.heroSpec{font-family:var(--f-sub-en); font-size:.9em; font-weight:500; color:var(--gray4); letter-spacing:.05em; display: grid; grid-template-columns:  5px 1fr; gap: 5px; align-items: center;}
.heroSpec::before{content:''; width: 5px; height: 5px; background: var(--red); display: inline-block;}
.heroDesc{color:var(--gray4); line-height:1.7; max-width:580px; word-break:keep-all; margin-bottom:36px; word-break: keep-all;}
.heroBtnArea{display:flex; gap:12px; flex-wrap:wrap;}
.heroBtn{font-family:var(--f-sub-en); font-weight:700; padding:.9em 2.2em; border-radius:var(--radius); transition:background .2s,border-color .2s,color .2s; letter-spacing:.04em;}
.heroBtn.primary{background:var(--red); color:#fff;}
.heroBtn.primary:hover {background:var(--red-hover);}
.heroBtn.sub{border:1.5px solid #ccc; color:var(--text-dark);}
.heroBtn.sub:hover{border-color:var(--text-dark);}
.heroRight{display:flex;align-items:flex-end; justify-content:center; padding-bottom:0;}
.heroDeviceWrap {width:100%; max-width:500px;}
.heroDeviceWrap img {object-fit:contain; width:100%; height:auto; filter:drop-shadow(0 20px 60px rgba(0,0,0,.12));}

@media (max-width:900px) {
  .heroInner {grid-template-columns:1fr; min-height:auto; gap:0;}  
  .heroLeft {padding:40px 0 20px;}
  .heroLabel{font-size: .75em;}
  .heroRight {justify-content:center;}
  .heroDeviceWrap{max-width:340px;}
}
@media (max-width:600px) {
  .heroLabel{letter-spacing: .05em;}
  .heroBtn{flex: 1; text-align:center; padding: .7em 1em;}
}

/* 스크롤 힌트 */
.heroScroll{position:absolute; bottom:28px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:4px; animation:sBounce 2s ease-in-out infinite;}
.heroScrollTxt {font-family:var(--f-sub-en); font-size:.7em; letter-spacing:.25em; color:var(--gray3);}
.heroScrollArrow svg{width:22px; height:22px; color:var(--gray3);}
@keyframes sBounce {
  0%,100%{transform:translateX(-50%) translateY(0);}
  50%{transform:translateX(-50%) translateY(7px);}
}
@media (max-width:900px) {
  .heroScroll{display: none;}
}

/*=========================================================================
STATS
=========================================================================*/
.stats{background:var(--dark); padding: 30px 0;}
.stats .inner{display:grid;grid-template-columns:repeat(4,1fr);}
.statItem{text-align:center; padding:32px 20px; border-right:1px solid rgba(255,255,255,.08);}
.statItem:last-child{border-right:none;}
.statNum{font-family:var(--f-sub-en); font-size:3.2em; line-height:1; color:var(--red); display:flex; align-items:flex-end; justify-content:center; gap:1px; margin-bottom:8px; font-weight: 700;}
.statSuffix{font-size:.52em; margin-bottom:7px; color:var(--red); font-weight: 700;}
.statPlus{font-size:.6em; color:var(--red); font-weight: 600; transform: translateY(-5px); display: inline-block;}
.statStatic{font-family:var(--f-disp); font-size:1em; line-height:1; color:var(--red);}
.statLabel{font-family:var(--f-sub-en); font-size:.95em; font-weight:700; color:rgba(255,255,255,.75); letter-spacing:.06em; margin-bottom:3px; word-break: keep-all;}
.statSub{font-size:.9em; color:rgba(255,255,255,.35);}

/* 카운터 reveal */
.statItem{opacity:0; transform:translateY(16px); transition:opacity .55s var(--ease),transform .55s var(--ease);}
.statItem.on{opacity:1; transform:none;}

@media (max-width:900px) {
  .stats .inner{grid-template-columns:repeat(2,1fr);}
  .statItem:nth-child(2){border-right:none;}
  .statItem:nth-child(1),.statItem:nth-child(2) {border-bottom:1px solid rgba(255,255,255,.08);}
  .statNum {font-size:2.8em;}
  .statStatic {font-size:1em;}
}
@media (max-width:600px) {
  .statItem{padding: 28px 10px; display: flex; flex-direction: column; justify-content: center;}
  .statNum{font-size:2.5em;}
  .statSub{font-size:.85em;}
}

/*=========================================================================
VERTICAL SCROLL — 공통 (REAL 250PS + TRIPLE-WAVELENGTH)
=========================================================================*/
.vScroll {background:#fff;}
.vScrollAlt {background:var(--offwhite);}

/* 슬라이드 간격 */
.vScrollSlide {padding-bottom: 100px;}
.vScrollSlide.cardSlide {padding:10px 0;}

/* 콘텐츠 + 이미지 2열 레이아웃 */
.vScrollInner {display:flex; align-items:center; gap:80px; }
.vScrollInner.reverse {flex-direction:row-reverse;}

.vScrollContent {flex:1 1 0; min-width:0;}
.vScrollImg {flex:1 1 0; min-width:0; overflow:hidden; border-radius:2px;}
.vScrollImg.vr{border-radius: 20px;}
.vScrollImg img {width:100%; height:auto; object-fit:contain; display:block;}

/* real250 이미지 너비 제한 */
#real250 .vScrollInner{justify-content: space-between;}
#real250 .vScrollContent{flex: inherit;}
#real250 .vScrollImg {flex: inherit; max-width:520px;}
#real250 .vScrollSlide:nth-of-type(2) .vScrollImg{max-width: 600px;}

/* 카드 3열 */
.vScrollCardInner {display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch;}
.vScrollCardInner .picoCard {height:100%;}

/* wave 전용 */
.waveStepNote {font-size:.78em; color:var(--gray3); margin-top:6px;}

/* picoCard */
.picoCard {background:#fff; border:1px solid var(--gray2); border-left:4px solid var(--red); padding:36px 28px; transition:box-shadow .2s, opacity .7s var(--ease),transform .7s var(--ease);; display:flex; flex-direction:column; justify-content:center;}
.picoCard:hover {box-shadow:0 4px 20px rgba(0,0,0,.07);}
.picoCardBody {color:var(--gray4); font-size:.95em; word-break:keep-all;}

@media (max-width:1024px) {
  .vScrollInner {gap:48px;}
}
@media (max-width:900px) {
  .vScrollSlide {padding-bottom: 70px;}
  .vScrollSlide.cardSlide {padding:10px 0 0;}
  .vScrollInner,
  .vScrollInner.reverse {flex-direction:column; gap:32px;}
  .vScrollContent{width: 100%;}
  .vScrollImg {width:100%; height: auto; flex: 1;}
  #real250 .vScrollImg {max-width:100%;}
  .vScrollCardInner {grid-template-columns:1fr; gap:16px;}
  .picoCard {padding:25px 20px;}
}
@media (max-width:600px) {
  .vScrollSlide {padding-bottom: 52px;}
  .vScrollSlide.cardSlide {padding:0;}
}

/*=========================================================================
HANDPIECES
=========================================================================*/
.handpieces {background:#fff; overflow: hidden; position: relative;}
.hpHead{margin-bottom:56px;}
.hpSwiper{overflow:visible; width:100%;}
.hpSwiper .swiper-slide {height:auto;}
.hpGrid{display:flex; align-items:stretch;}
.hpCard{height:auto; flex-shrink:0; background:var(--offwhite); border:1px solid var(--gray2); overflow:hidden; transition:border-color .25s,box-shadow .25s; position:relative;}
.hpCard:hover {border-color:#ccc;box-shadow:0 4px 24px rgba(0,0,0,.07);}
.hpImg{aspect-ratio:1/1; background:radial-gradient(rgba(0,0,0,.4), rgba(0,0,0,.6)); display:flex; align-items:center; justify-content:center; padding:24px;overflow:hidden;}
.hpImg img{object-fit:contain; width:100%; height:100%; transition:transform .4s var(--ease);}
.hpCard:hover .hpImg img {transform:scale(1.04);}
.hpInfo{padding:22px 20px;}
.hpName{font-family:var(--f-sub-en); font-size:1.1em; font-weight:800; color:var(--text-dark); margin-bottom:4px; letter-spacing:.02em;}
.hpName small{font-weight: 500; color: var(--gray4);}
.hpSubName{font-size:.95em; margin-bottom:14px; line-height:1.5; font-weight: 500;}
.hpSpecList{display:flex; flex-direction:column; gap:5px;}
.hpSpec{font-size:.85em;color:var(--gray4); line-height:1.5; padding-left:10px; position:relative;}
.hpSpec::before {content:'·'; position:absolute; left:0; color:var(--red);}
.hpComingSoon{font-size:.73em; color:var(--red); margin-top:10px; font-weight:500;}
.hpSwiperNav{display:flex; justify-content:flex-end; gap:8px; margin-top:24px; padding:0 var(--pad-lr);}
.hpSwiperBtn{width:42px; height:42px; border:1px solid var(--gray2); background:#fff; position:relative; cursor:pointer; transition:border-color .2s, background .2s;}
.hpSwiperBtn:hover{border-color:var(--text-dark); background:var(--offwhite);}
.hpSwiperBtn::before{content:''; position:absolute; top:50%; left:50%; width:9px; height:9px; border-top:2px solid var(--text-dark); border-right:2px solid var(--text-dark);}
.hpSwiperPrev::before{transform:translate(-35%,-50%) rotate(-135deg);}
.hpSwiperNext::before{transform:translate(-65%,-50%) rotate(45deg);}

@media (max-width:900px) {
  .hpHead{margin-bottom:36px;}
  .hpSwiperNav{justify-content:flex-start;}
}

/*=========================================================================
CONVENIENCE
=========================================================================*/
.convenience{background:var(--gray1);}
.convGrid{display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:stretch; min-height:580px;}
.convImgWrap{overflow:hidden;}
.convImgWrap img{width:100%; height:100%; object-fit:cover;}
.convContent{padding:80px 64px; display:flex; flex-direction:column; justify-content:center;}

.convTit{font-family:var(--f-sub-en); font-size:clamp(40px,4.5vw,64px); font-weight:900; color:var(--text-dark); line-height:1; margin-bottom:18px; letter-spacing:-.01em;}
.convDesc{margin-bottom:36px;}
.convFeatures{display:flex; flex-direction:column; gap:20px;}
.convFeature{display:grid; grid-template-columns:55px 1fr; gap:15px; align-items:center;}
.convFeatureIcon{width:55px; height:55px; flex-shrink:0; display: flex; align-items: center; justify-content: center; background: var(--offwhite); border-radius: 5px; border: 1px solid var(--gray2);}
.convFeatureIcon img{width: 60%; object-fit:contain;}
.convFeatureTxt strong{display:block; font-family:var(--f-sub-en); font-size:1em; font-weight:700; color:var(--text-dark);}
.convFeatureTxt span{font-size:.9em; color:var(--gray4);}

@media (max-width:900px) {
  .convGrid {grid-template-columns:1fr;}
  .convImgWrap {min-height:280px;}
  .convContent {padding:48px 24px;}
}

/*=========================================================================
SPECIFICATIONS
=========================================================================*/
.specs {background:#fff;}
.specsGrid {display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start;}
.specsBadges {display:flex;flex-direction:column; gap:10px; margin-top:32px;}
.specsBadge {padding:18px 22px; background:var(--offwhite); border:1px solid var(--gray2); border-left:4px solid var(--red);}
.specsBadgeLabel {font-family:var(--f-sub-en); font-size:.95em; font-weight:800; color:var(--text-dark); letter-spacing:.04em;margin-bottom:3px;}
.specsBadgeSub {font-size:.9em; color:var(--gray3);}
.specsTable {width:100%; border-collapse:collapse;}
.specsTable tr {border-bottom:1px solid var(--gray2);}
.specsTable tr:first-child {border-top:1px solid var(--gray2);}
.specsTable th {font-family:var(--f-sub-en); font-size:.9em; font-weight:600; color:var(--red); text-align:left; padding:13px 12px 13px 0; width:150px; vertical-align:top;}
.specsTable td {font-size:.9em; color:var(--gray4); padding:13px 0; line-height:1.7;}

@media (max-width:900px) {
  .specsGrid {grid-template-columns:1fr; gap:48px;}
  .specsTable th {width:120px; padding: 10px 12px 10px 0;}
  .specsTable td{padding: 10px 0;}
}

/*=========================================================================
CONTACT
=========================================================================*/
.contact {background:var(--gray1);}
.contactGrid {display:grid; grid-template-columns:1fr; gap:30px; align-items:start;}
.contactSubDesc {margin-bottom:28px;}

/* 폼 */
.contactFormWrap {background:#fff; border:1px solid var(--gray2); padding:44px; box-shadow:0 2px 20px rgba(0,0,0,.05);}
.formGrid {display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.formGroup {display:flex; flex-direction:column; gap:7px;}
.formGroup.full {grid-column:1/-1;}
.formLabel{font-family:var(--f-sub-en); font-size:.85em; font-weight:700; color:var(--gray4); text-transform:uppercase; display: flex; gap:5px;}
.formLabel small{transform: translateY(3px); font-weight: 400; color: var(--gray3);}
.formGroup:has(*:required) .formLabel::after{content:''; display: inline-block; width: 4px; height: 4px; background: var(--red); border-radius: 50%; transform: translateY(5px);}
.formInput,.formSelect,.formTextarea {background:var(--offwhite); border:1px solid var(--gray2); color:var(--text-dark); font-size:.88em; padding:11px 14px; border-radius:var(--radius); font-family:var(--f-body); transition:border-color .2s,background .2s; width:100%;}
.formInput:focus,.formSelect:focus,.formTextarea:focus {outline:none; border-color:var(--red); background:#fff;}
.formSelect, .formSelect:focus{appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='rgba(0,0,0,0.3)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; cursor: pointer;}
.formSelect option {background:#fff;}
.formTextarea {resize:none; min-height:110px; line-height:1.65;}
.formAgreeRow {display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.formAgree {display:flex; align-items:flex-start; gap:10px; margin-top:4px; flex:1; min-width:240px;}
.formAgree input[type=checkbox] {width:15px; height:15px; accent-color:var(--red); flex-shrink:0; transform: translateY(4px);}
.formAgreeText {font-size:.82em; color:var(--gray3); line-height:1.65;}
.formAgreeText a {color:var(--red); text-decoration:underline;}
.formSubmit {width:100%; margin-top:20px; font-family:var(--f-sub-en); font-size:.9em; font-weight:800; letter-spacing:.05em; background:var(--red); color:#fff; padding:15px; border-radius:var(--radius); transition:background .2s; border:none; cursor:pointer;}
.formSubmit:hover {background:var(--red-hover);}
.formSubmit:disabled {opacity:.6; cursor:not-allowed;}

@media (max-width:1200px) {
  .contactFormWrap {padding:32px 24px;}
}
@media (max-width:900px) {
  .contactSubDesc{margin-bottom:10px;}
}
@media (max-width:600px) {
  .formGrid {grid-template-columns:1fr;}
  .formSubmit{letter-spacing: 0;}
}
