/* 단일 소개 페이지 전용 보완 스타일 */
/* Keep retired hero actions absent when an older template is served. */
body:has(.perfect-apps) .hero .hero-cta { display: none !important; }
body:has(.perfect-apps) .landing-header .nav { gap: 20px; }
body:has(.perfect-apps) .landing-header .nav-link-cta { flex-shrink: 0; white-space: nowrap; }
body:has(.perfect-apps) .landing-header .logo-link:is(:hover, :focus-visible) .logo-word-1 { color: #18241e; transform: none; }
body:has(.perfect-apps) .landing-header .logo-link:is(:hover, :focus-visible) .logo-word-2 { color: #375c4b; transform: none; }
body:has(.perfect-apps) .landing-header .logo-link:is(:hover, :focus-visible) .logo-img { filter: none; transform: none; }
.landing-product-image { margin: 0; overflow: hidden; border-radius: 14px; background: #f0ede6; border: 1px solid #e4e6df; }
.landing-product-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.landing-video { padding: 88px 0; background: #f5f7f2; border-top: 1px solid #dce2dc; scroll-margin-top: 96px; }
.landing-video-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 32px; }
.landing-video-title { max-width: 620px; }
body:has(.perfect-apps) .landing-video .section-title { margin-bottom: 0; }
.landing-video-link { display: inline-flex; align-items: center; gap: 18px; padding: 12px 0; flex-shrink: 0; color: #375c4b; font-size: 13px; text-decoration: none; border-bottom: 1px solid #9daf9f; }
.landing-video-link:hover { color: #18241e; border-color: #18241e; }
.landing-video-frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 12px; border: 1px solid #dce2dc; background: #18241e; }
.landing-video-frame iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
body:has(.perfect-apps) .landing-footer { padding: 42px 0 26px; }
.landing-footer-row { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-bottom: 32px; }
.landing-footer-brand { display: flex; flex-direction: column; gap: 8px; }
.landing-footer-brand .logo-text { color: #eef3eb; font-size: 22px; font-weight: 500; }
.landing-family { display: flex; align-items: center; gap: 26px; }
.landing-family-label { color: #b5c2b2; font-size: 11px; letter-spacing: .04em; }
.landing-family a { display: flex; align-items: center; gap: 36px; color: #eef3eb; text-decoration: none; border-bottom: 1px solid #617365; padding: 9px 0; font-size: 17px; }
.landing-family a:hover { color: #c3d7ae; }
.landing-copyright { padding-top: 22px; border-top: 1px solid #435747; color: #b5c2b2; font-size: 11px; line-height: 1.7; }
@media (max-width: 768px) {
    .landing-video { padding-block: 56px; }
    .landing-video-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
    .landing-video-frame { border-radius: 8px; }
    .landing-footer-row { align-items: flex-start; }
    .landing-family { flex-direction: column; align-items: flex-start; gap: 4px; }
}
@media (max-width: 400px) {
    body:has(.perfect-apps) .landing-header .nav-link-cta { padding: 10px 14px; font-size: 12px; }
    .landing-footer-row { flex-direction: column; gap: 22px; }
    .landing-family { width: 100%; flex-direction: row; align-items: center; justify-content: space-between; }
}

/* A compact opening that brings the product section into the first screen. */
body:has(.perfect-apps) .hero { padding: 132px 0 52px; }
body:has(.perfect-apps) .hero-content { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: end; gap: 24px 64px; }
body:has(.perfect-apps) .hero-badge { grid-column: 1 / -1; margin: 0; }
body:has(.perfect-apps) .hero-title { margin: 0; font-size: clamp(64px, 7.2vw, 96px); line-height: 1.02; letter-spacing: -.06em; }
body:has(.perfect-apps) .hero-subtitle { max-width: 470px; margin: 0 0 6px; padding-left: 28px; border-left: 1px solid #cbd5ca; font-size: 16px; line-height: 1.8; }
body:has(.perfect-apps) .hero-subtitle br { display: none; }
body:has(.perfect-apps) .perfect-apps { padding-block: 64px; }
@media (max-width: 1024px) and (min-width: 769px) {
    body:has(.perfect-apps) .hero-content { gap: 22px 36px; }
    body:has(.perfect-apps) .hero-subtitle { padding-left: 22px; font-size: 15px; }
}
@media (max-width: 768px) {
    body:has(.perfect-apps) .hero { padding: 108px 0 36px; }
    body:has(.perfect-apps) .hero-content { grid-template-columns: 1fr; gap: 22px; }
    body:has(.perfect-apps) .hero-badge { grid-column: auto; font-size: 9px; letter-spacing: .08em; }
    body:has(.perfect-apps) .hero-title { font-size: clamp(48px, 10vw, 72px); }
    body:has(.perfect-apps) .hero-subtitle { max-width: 540px; margin: 0; padding: 0; border: 0; font-size: 14px; line-height: 1.75; }
    body:has(.perfect-apps) .perfect-apps { padding-block: 40px; }
    body:has(.perfect-apps) .perfect-apps-content { gap: 28px; }
}

.landing-use-cases { padding: 48px 0 52px; background: #fff; }
.landing-use-cases h2 { margin: 0 0 22px; color: #375c4b; font-size: 11px; line-height: 1.5; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.landing-use-cases-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-block: 1px solid #dce2dc; }
.landing-use-cases-list li { display: flex; align-items: center; min-height: 110px; padding: 24px 32px; border-right: 1px solid #dce2dc; color: #18241e; font-size: clamp(20px, 2.1vw, 28px); line-height: 1.25; font-weight: 500; letter-spacing: -.03em; }
.landing-use-cases-list li:first-child { padding-left: 0; }
.landing-use-cases-list li:last-child { padding-right: 0; border-right: 0; }
@media (max-width: 768px) {
    .landing-use-cases { padding-block: 36px; }
    .landing-use-cases-list { grid-template-columns: 1fr; }
    .landing-use-cases-list li { min-height: 0; padding: 22px 0; border-right: 0; border-bottom: 1px solid #dce2dc; font-size: 22px; }
    .landing-use-cases-list li:last-child { border-bottom: 0; }
}
.landing-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.landing-video-card { min-width: 0; }
.landing-video-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.landing-video-card-heading h3 { margin: 0; color: #18241e; font-size: 20px; font-weight: 500; letter-spacing: -.03em; }
.landing-video-card-heading .landing-video-link { padding: 8px 0; font-size: 12px; gap: 12px; }
@media (max-width: 768px) {
    .landing-video-grid { grid-template-columns: 1fr; gap: 32px; }
}
