/* Design v700 · robot comic + individual 3D product scenes */
:root{
  --v7-depth:0 18px 38px rgba(31,52,120,.14),inset 0 1px 0 rgba(255,255,255,.95);
  --v7-depth-soft:0 10px 24px rgba(31,52,120,.10),inset 0 1px 0 #fff;
}

body{background:linear-gradient(180deg,#fff 0,#f3f6fd 38rem,#fbfcff 100%)}

/* Short, comic-like hero */
.banner{background:linear-gradient(145deg,#fff 0,#f1f5ff 47%,#e9edff 100%)!important}
.banner h1{max-width:520px;font-size:clamp(40px,4.7vw,62px)}
.banner .hero-copy>p:not(.eyebrow){display:-webkit-box;max-width:500px;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.hero-visual{overflow:visible}
.hero-visual img{border-radius:28px;object-position:61% center;mix-blend-mode:multiply;filter:saturate(1.04) contrast(1.01)}
.hero-visual::after{background:linear-gradient(90deg,#f1f5ff 0,rgba(241,245,255,0) 25%)}
.robot-speech{position:absolute;z-index:5;left:8%;top:10%;width:min(245px,48%);min-height:68px}
.robot-speech span{
  position:absolute;inset:0 auto auto 0;padding:14px 18px;border:1px solid #d8e0f4;border-radius:18px 18px 18px 5px;
  background:rgba(255,255,255,.94);color:#1a2953;font-size:13px;font-weight:900;line-height:1.45;
  box-shadow:var(--v7-depth);opacity:0;transform:translateY(9px) scale(.97);animation:v7Speech 9s infinite;
}
.robot-speech span::after{content:"";position:absolute;left:20px;bottom:-9px;width:17px;height:17px;border-right:1px solid #d8e0f4;border-bottom:1px solid #d8e0f4;background:#fff;transform:rotate(45deg)}
.robot-speech span:nth-child(2){animation-delay:3s}.robot-speech span:nth-child(3){animation-delay:6s}
@keyframes v7Speech{0%,4%{opacity:0;transform:translateY(9px) scale(.97)}10%,28%{opacity:1;transform:none}32%,100%{opacity:0;transform:translateY(-6px) scale(.98)}}

/* Three-dimensional component language */
.btn,input,select,textarea,.feature-grid article,.steps>div,.panel,.table-wrap,.auth,.content-list article,.inquiry,.member-stat,.live-stats article{box-shadow:var(--v7-depth-soft)}
.btn{border-color:#d9e0ef;background:linear-gradient(180deg,#fff,#f7f9fd)}
.btn.primary{background:linear-gradient(145deg,#5578ff,#635bdc 55%,#7856df);box-shadow:0 12px 0 rgba(51,64,161,.10),0 18px 28px rgba(72,88,212,.22),inset 0 1px 0 rgba(255,255,255,.35)}
.feature-icon,.letter-icon,.steps>div>b{transform:perspective(400px) rotateX(5deg) rotateY(-6deg);box-shadow:0 12px 20px rgba(53,74,176,.18),inset 0 1px 1px #fff}
.feature-grid article:nth-child(2n) .feature-icon,.workflow-grid article:nth-child(2n) .letter-icon{transform:perspective(400px) rotateX(5deg) rotateY(6deg)}
.feature-grid article p,.workflow-grid article p,.steps p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.showcase li{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 12px 24px rgba(6,15,45,.13)}

/* Each product receives its own 3D scene */
.program-card{overflow:visible;border:0;background:transparent;box-shadow:none}
.program-card>a{border:1px solid #dce3f1;border-radius:24px;background:#fff;box-shadow:var(--v7-depth-soft);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}
.program-card:hover{transform:none;box-shadow:none}.program-card:hover>a{transform:translateY(-7px) rotateX(1deg);box-shadow:0 24px 50px rgba(30,50,116,.16),inset 0 1px 0 #fff}
.program-card .thumb{height:260px;background:#eff5ff}
.program-card .thumb::before,.program-card .thumb>b,.program-glyph{display:none}
.program-card .thumb>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .25s ease}
.program-card:hover .thumb>img{transform:scale(1.045)}
.program-card.visual-0 .thumb{background:#eaf3ff}.program-card.visual-1 .thumb{background:#f1edff}.program-card.visual-2 .thumb{background:#eef3fb}
.program-card .thumb>span{left:16px;top:16px;background:rgba(11,21,51,.78);backdrop-filter:blur(8px)}
.card-speech{position:absolute;z-index:4;right:14px;bottom:14px;max-width:165px;padding:10px 13px;border:1px solid rgba(255,255,255,.88);border-radius:14px 14px 5px 14px;background:rgba(255,255,255,.9);color:#21315b;font-size:11px;font-weight:900;box-shadow:0 10px 25px rgba(20,38,90,.16);opacity:0;transform:translateY(7px);transition:.24s ease}
.program-card:hover .card-speech{opacity:1;transform:none}
.program-card .card-body{position:relative;min-height:220px}.program-card .card-body>p{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;min-height:49px}
.program-card .card-price span{min-width:48px;padding:7px 11px;border-radius:9px;text-align:center;background:#eef2ff;box-shadow:inset 0 1px 0 #fff;color:#445ccb}

/* Product detail uses its product-specific image */
.product-art{min-height:530px;padding:0;background:#eef3ff!important;display:block}
.product-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.product-art::after{background:linear-gradient(180deg,transparent 48%,rgba(10,21,53,.72) 100%)}
.product-art>span,.product-art>small{position:absolute;z-index:3;left:28px;color:#fff;text-shadow:0 2px 12px rgba(9,21,52,.35)}
.product-art>span{bottom:45px;font-size:13px;font-weight:950;letter-spacing:.12em}.product-art>small{bottom:24px;color:#dfe7ff}
.product-speech{position:absolute;z-index:4;left:22px;top:22px;padding:12px 15px;border:1px solid rgba(255,255,255,.9);border-radius:16px 16px 16px 5px;background:rgba(255,255,255,.92);color:#1b2b58;font-size:12px;font-weight:900;box-shadow:var(--v7-depth-soft);animation:v7Float 3.6s ease-in-out infinite}
@keyframes v7Float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* FAQ becomes a lightweight comic panel */
.faq-visual{position:relative;box-shadow:var(--v7-depth-soft);transform:perspective(900px) rotateY(2deg)}
.faq-visual::after{content:"궁금한 건 여기서 확인해요!";position:absolute;right:16px;top:16px;max-width:180px;padding:12px 14px;border:1px solid #d9e0f1;border-radius:16px 16px 5px 16px;background:rgba(255,255,255,.94);color:#21315b;font-size:12px;font-weight:900;box-shadow:var(--v7-depth-soft);animation:v7Float 4s ease-in-out infinite}
.faq details p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

/* Keep pages calm: fewer visible words without removing source content */
.route-home .section-head>div>p:not(.eyebrow){max-width:560px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.trust-panel>div>p:not(.eyebrow){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.page-title>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

@media(max-width:820px){
  .robot-speech{left:3%;top:7%;width:220px}.program-card .thumb{height:230px}.product-art{min-height:420px}.card-speech{opacity:1;transform:none}.faq-visual{transform:none}
}
@media(max-width:560px){
  .robot-speech{left:4px;top:4px;width:190px}.robot-speech span{padding:10px 13px;font-size:11px}.hero-trust{display:none}.program-card .thumb{height:235px}.program-card .card-body{min-height:0}.product-art{min-height:340px}.product-speech{left:14px;top:14px}.faq-visual::after{right:10px;top:10px;max-width:150px;padding:9px 11px;font-size:10px}
}

@media(prefers-reduced-motion:reduce){.robot-speech span{display:none;animation:none}.robot-speech span:first-child{display:block;opacity:1;transform:none}.product-speech,.faq-visual::after{animation:none}}
