@media (hover: hover) {
    .dropdown:hover .dropdown-panel {opacity: 1;visibility: visible;transform: translateY(0);}
    .site-header .dropdown:hover .dropdown-panel {transform: translateX(-50%) translateY(0);}
    #oss-audit-page .oa-btn:hover {transform: translateY(-1px);box-shadow: var(--shadow-soft, 0 8px 22px rgba(15, 23, 42, .10));}
    #oss-audit-page .oa-btn--solid:hover {box-shadow: 0 18px 44px rgba(15, 23, 42, .20);}
}

@media (max-width: 1024px) {
    .fl-title3 {font-size: 46px;}
    .oa-h2 {font-size: 30px;}
    .hero-wrap {gap: 10px;}
    .mv-desc { line-height: 1.55; }
    .main-section {padding: 15% 0;}
    #mv_expected .mv-slide {padding: 20px;}
    .journey {padding-top: clamp(50px, 8vh, 70px);}
    .lts-target li {font-size: 18px}
    #ltsecure-page .lt-sub.composition { margin-bottom: 2rem; }
    .feature {grid-template-columns:1fr;}
    .feature-media img {height: 260px;}
    #solutions .solutions-visual img {width: min(880px, calc(100% - 18px)); margin: auto}
    .service-promo-link {grid-template-columns: 1fr;}
    .service-promo-visual {order: -1;aspect-ratio: 16 / 10;}
    .wrap, .mv-shell, .header-inner {width: min(880px, calc(100% - 18px));margin: 0 auto;}
    #ltsecure-page .lts-target .wrap {flex-direction: column}
    .flex-feature-title{margin: 0 0 44px;font-size: 2.4rem;line-height: 1.06;}
    .flex-func{grid-template-columns: repeat(2, minmax(0, 1fr));gap: 14px;}
    .fl-desc {margin-bottom: 65px;}
    #ltsecure-page .journey {padding: 110px 0;}
    .func-card{padding: 14px 12px;gap: 10px;align-content: start;}
    .func-card .f-card-title{font-size: 1.02rem;font-weight: 500;line-height: 1.35;letter-spacing: -0.02em;text-wrap: balance;}
    .func-card .func-icon{width: 58px;height: 58px;margin: .85rem 0 .55rem;font-size: 30px;}
    .func-card .f-card-pills{flex-wrap: wrap;gap: 7px;margin-top: 8px;font-size: 14px;}
    .func-card .f-card-pills li{padding: 3px 10px;}
    #ltsecure-page .lt-hero{padding: clamp(120px, 14vw, 150px) 24px clamp(72px, 10vw, 110px);}
    #ltsecure-page .lt-hero-visual img{height: clamp(220px, 40vh, 360px)}
    #ltsecure-page .lt-sec{padding: clamp(44px, 6vw, 84px) 0;}
    #ltsecure-page .lt-hero-copy .pills {display: none}
    .lt-risk-wrap {padding: 50px 0;}
    #ltsecure-page .lt-solution,
    #ltsecure-page .lt-process,
    #ltsecure-page .lt-cust-grid{grid-template-columns: 1fr;}
    #ltsecure-page .lt-os-grid{grid-template-columns: repeat(4, minmax(0, 1fr));}
    #ltsecure-page .lt-risk-wrap{grid-template-columns: 1fr;gap: 16px;padding: 2rem 0;}
    #ltsecure-page .lt-risk-grid{margin-left: 0;grid-template-columns: repeat(2, minmax(0, 1fr));grid-template-rows: none;gap: 12px;align-items: stretch;}
    #ltsecure-page .lt-risk{min-height: 74px;padding: 12px 14px;gap: 12px;}
    #ltsecure-page .lt-check { flex-direction: column}
    .direction {gap: 30px;}
    .hero-flex {flex-direction: column;text-align: center;}
    .biz-grid {grid-template-columns: repeat(2, 1fr);}
    .eng-service {grid-column: span 2;flex-direction: column;}
    .eng-list {grid-template-columns: 1fr;}
    #rlmig-page .rl-h1 {margin: 0 0 12px;font-size: 3rem;letter-spacing: -0.03em;line-height: 1.05;}
    #rlmig-page .rl-h2 {margin: 0;font-size: 2rem;line-height: 1.3;}
    #rlmig-page .rl-h3 {margin: 0;font-size: 1rem;letter-spacing: -0.02em;}
    #rlmig-page .rl-k {font-weight: 600;font-size: 1rem;color: rgba(15, 23, 42, .86);margin: 6px 0;}
    #rlmig-page .rl-ul {margin: 6px 0 0;padding-left: 18px;color: rgba(15, 23, 42, .72);line-height: 1.7;}
    #rlmig-page .rl-ul li {margin: 4px 0;}
    #rlmig-page .rl-bul {margin: 0;padding: 0;list-style: none;display: grid;gap: 8px;}
    .lt-details-body { font-size: 18px;}
    #rocky-migration .card li li {font-size: 16px;}
    .support-link-mobile {display: inline-flex;}
    #rlmig-page .rl-hero, #oss-audit-page .oa-hero, .fl-hero,
    .mv-hero, #ltsecure-page .lt-hero, #mvshield {padding-top: clamp(200px, 23vh, 250px);}
    .mnav-toggle {display: inline-flex;align-items: center;justify-content: center;}
    .gnb {display: none;}
    .m-menu {display: block;}
    .mv-cta-block {grid-template-columns:1fr;}
    .mv-cta-actions {justify-content: flex-start;}
    #mv-cases .mv-cases-grid {grid-template-columns: 1fr;}
}

@media (max-width: 980px) {
    #solutions .solutions-shell {grid-template-columns:1fr;}
    .card-grid {grid-template-columns:1fr;}
    .hero-grid {grid-template-columns: 1fr;}
    #service .card-body { padding: 2rem;}
    #main-feature .mv-track {grid-template-columns: repeat(2, minmax(0, 1fr));}
    #main-feature .mv-track > :nth-child(7) {grid-column: 1 / -1;}
    .mv-track {grid-template-columns: repeat(2, minmax(0, 1fr));padding: 0;}
    .mv-track > :nth-child(7) {grid-column: 1 / -1;}
    #mv_expected .mv-parallax {--mv-slide-w: min(720px, 88vw);}
    #mvshield .hero-wrap {grid-template-columns: 1fr;}
    #mvshield .hero-visual {order: -1;min-height: auto;}
    #os-support .grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
    #os-support .os-centos {grid-column: span 3;}
    .journey .grid.two {grid-template-columns: 1fr;}
    .journey .grid.three {grid-template-columns: 1fr;}
    .journey .callout {grid-template-columns: 1fr;}  .journey .cta {width: 100%;}
    .journey section {padding: 1.25rem 0;}
    .mvshield-desc {grid-template-columns: 1fr;gap: 12px;margin-bottom: 2rem;}
    .mvshield-desc .desc {margin: 0;padding: 0 4px;font-size: 12px;line-height: 1.6;}
    .journey #rocky-migration {margin: 1.25rem;padding: 1.25rem;border-radius: 22px;}
    #cost-saving {padding: 2.5rem 1.25rem;}
    #cost-saving .media {padding: 1rem;}
    .lt-risk-wrap {grid-template-columns: 1fr;gap: 16px;padding: 2rem 0;}
    #ltsecure-page .lt-head {text-align: center;margin-bottom: 2px;}
    #ltsecure-page .lt-head .lt-sub {font-size: 14px;opacity: .82;}
    #ltsecure-page .lt-head .lt-h2 {font-size: clamp(30px, 4vw, 34px);line-height: 1.15;margin-bottom: 1rem;}
    #ltsecure-page .lt-risk-grid {grid-template-columns: repeat(2, minmax(0, 1fr));grid-template-rows: none;gap: 12px;align-items: stretch;}
    #ltsecure-page .lt-risk {min-height: 74px;padding: 12px 14px;gap: 12px;}
    #ltsecure-page .lt-risk-no {display: inline-flex;align-items: center;justify-content: center;height: 28px;padding: 0 10px;border-radius: 999px;font-weight: 900;letter-spacing: .08em;font-size: 12px;color: rgba(255, 255, 255, .92);background: rgba(255, 100, 100, .14);border: 1px solid rgba(255, 100, 100, .30);flex: 0 0 auto;}
    #ltsecure-page .lt-solution, #ltsecure-page .lt-process, #ltsecure-page .lt-cust-grid {grid-template-columns: 1fr;}
    #ltsecure-page .lt-os-grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
    .about-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .about-grid > .about-card:nth-child(3) {grid-column: 1 / -1;max-width: 560px;justify-self: center;}
    .about-eng__list {grid-template-columns: 1fr;}
    #about-page .about-hero__grid {grid-template-columns: 1fr;}
    #about-page .about-cards {grid-template-columns: repeat(2, minmax(0, 1fr));}
    #rlmig-page .rl-hero__grid {grid-template-columns: 1fr;}
    #rlmig-page .rl-split {grid-template-columns: 1fr;}
    #rlmig-page .rl-plans {grid-template-columns: repeat(2, minmax(0, 1fr));}
    #rlmig-page .rl-plan__desc {padding: 12px 16px 0;font-size: 14px;}
    #rlmig-page .rl-plan__cols {padding: 0 16px 16px;grid-template-columns: 1fr;gap: 10px;margin-top: 10px;}
    #rlmig-page .rl-col {padding: 12px;border-radius: 16px;background: rgba(15, 23, 42, .03);border: 1px solid var(--rl-line);}
    #oss-audit-page .oa-hero__grid {grid-template-columns: 1fr;}
    #oss-audit-page .oa-cases {grid-template-columns: 1fr;}
    #oss-audit-page .oa-benefits {grid-template-columns: repeat(2, minmax(0, 1fr));}
    #oss-audit-page .oa-scope {grid-template-columns: 1fr;}
    #oss-audit-page .oa-divider {display: none;}
}


@media (max-width: 860px) {
    .dropdown-panel {min-width: 220px;padding: 12px;}
    .dropdown-item {min-height: 46px;padding: 10px 12px;}
    #ltsecure-page .lt-compare-desktop, #ltsecure-page .lt-why-desktop, #ltsecure-page .lt-why-body {display: none;}
    #ltsecure-page .lt-compare-mobile, #ltsecure-page .lt-why-mobile {display: block;}
    #ltsecure-page .lt-compare-mobile{width:100%;max-width:100%;overflow-x:clip;}
}

@media (max-width: 768px) {
    .direction {grid-template-columns: 1fr;gap: 40px;}
    .dir-column h2 {font-size: 1.3rem;text-align: center;}
    .info-list {text-align: center;}
    .location-card {border-radius: 0;box-shadow: none;border-left: none;border-right: none;}
    .biz-grid {grid-template-columns: 1fr;}  .eng-service {grid-column: span 1;}
    .section-title {font-size: 1.8rem;}
    .mv-hero {padding-top: calc(var(--header-h) + 20px);}
    .mv-hero .wrap{grid-template-columns: 1fr;gap: 14px;align-items: stretch;}
    .mv-hero-copy{width: 100%;}
    .mv-title{font-size: clamp(28px, 6.8vw, 40px);line-height: 1.08;}
    .mv-lead{font-size: 15px;line-height: 1.6;}
    .mv-split, .mv-split2 {grid-template-columns:1fr;}
    .mv-split2 > :first-child {order: 2;}
    .mv-split2 > :last-child {order: 1;}
    .mv-split-reverse {grid-template-columns:1fr;}
    .mv-split-reverse .fl-media { order: 2; }
    .mv-split-reverse .fl-card{ order: 1; }
    #main-feature{padding: 3.5rem 1.25rem;}
    .flex-feature-title{margin: 0 0 38px;font-size: 2rem;}
    .func-card{padding: 14px;border-radius: 18px;}
    .func-card .func-icon{width: 54px;height: 54px;margin: .7rem 0 .45rem;font-size: 28px;}
    .func-card .f-card-title{font-size: .98rem;font-weight: 500;line-height: 1.38;}
    .func-card .f-card-pills{justify-content: center;}
    #ltsecure-page .lt-hero{padding: clamp(110px, 16vw, 140px) 16px clamp(64px, 10vw, 90px)}
    #ltsecure-page .lt-hero-grid{grid-template-columns: 1fr;gap: 18px;}
    #ltsecure-page .lt-pills{font-size: 11.5px;gap: 6px;}
    #ltsecure-page .lt-pills li{padding: 7px 10px;}
    #ltsecure-page .lt-os-grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
    #ltsecure-page .lt-risk-wrap{padding: 1.75rem 0;}
}

@media (max-width: 720px) {
    #cost-saving h2.title, .mv-cases-title, .mv-sec-title, .fl-sec-title, .fl-title3, .oa-title, .about-title,.mv-h1 {font-size: 30px;}
    .about-content .accent, .fl-sub-title, .mv-h2, .oa-h2 {font-size: 24px;}
    #cost-saving sub, .callout-copy .h3, .about-content .basic{font-size: 18px;}
    .mv-slide {flex-direction: column;}
    .mv-slide > img {width: 100%;flex-basis: auto;aspect-ratio: 16 / 9;}
    #mv_expected .mv-parallax {--mv-slide-w: min(560px, 92vw);}
    #mv_expected .mv-slide {flex-direction: column;}
    #mv_expected .mv-slide > img {width: 100%;flex-basis: auto;aspect-ratio: 16 / 9;}
    .mv-figure {display: flex;flex-direction: column;gap: 14px;margin: 22px auto;height: auto;justify-content: flex-start;overflow-x: auto;overflow-y: hidden;}
    .mv-figure .figure-wrap {flex: 0 0 86vw;max-width: 520px;}
    .carrier-title {font-size: clamp(14px, 4.6vw, 18px);max-width: 86vw;margin: 10px auto;padding: 8px 12px;text-wrap: balance;}
    .mv-figure img {width: 100%;height: auto;max-height: 360px;padding: 14px;box-sizing: border-box;}
    #mv-profiles .mv-profile-grid {grid-template-columns: repeat(2, minmax(0, 360px));}
    #mv-profiles .mv-profile img {height: 200px;}
    .mv-customer-img {padding: 10px 12px;}
    .mv-idx {width: 36px;height: 36px;}
    #mv-cases .mv-case {grid-template-columns: 1fr;}
    #mv-cases .mv-case-media {border-right: 0;border-bottom: 1px solid rgba(15, 23, 42, .08);}
    #mv-cases .mv-case-media img {max-height: 220px;}
    #os-support .head {flex-direction: column;align-items: flex-start;}
    #os-support .grid {grid-template-columns: 1fr;}
    #os-support .os-centos {grid-column: auto;}
    #rlmig-page .rl-plans {grid-template-columns: 1fr;}
    #rlmig-page .rl-actions .rl-btn {flex: 1 1 auto;}
}

@media (max-width: 640px) {
    .hero {height: 748px;}
    .hero-title, .mv-cases-title, .title, .fl-title, .fl-title3,
    .service-title, #rlmig-page  .rl-h1, .oa-title { font-size: 30px}
    .title1, .up-tit, .rck-title-eyebrow{ font-size: 25px}
    .card-title, .title1, .sub{ font-size: 22px}
    .slide-title, .accent, .h3, .oa-h3, .oa-h4 { font-size: 18px}
    .desc , .solutions-cta, .solutions-pills, .card-desc, .mv-pills, .mv-desc, .hero-sub,
    .mv-case-title, .basic, .rl-lead, .mt-desc, .lead, .oa-p, .oa-muted{ font-size: 14px}
    .site-header .gnb-list {flex-wrap: wrap;justify-content: flex-end;}
    .site-header .gnb-list > .gnb-item {flex: 0 1 auto;text-align: right;}
    .site-header .gnb-list > .gnb-item > .gnb-link {width: auto;}
    .gnb-link.support-link-mobile {font-size: 13px; padding: 0 10px; height: 35px;}
    .header-inner img {width: 150px;}
    .site-footer .footCnt {grid-template-columns: 1fr;}
    .site-footer .privacy {justify-self: start;}
    #ltsecure-page .lt-risk-grid {grid-template-columns: 1fr;margin-top: 40px;}
    .about-content {margin-bottom: 40px;}
    #cost-saving {padding: 70px 0 50px;}
    .callout {margin-top: 50px;}
    .fl-desc {margin: 1.2rem 0 45px;}
    .mv-chart {padding: 100px 0;}
    #ltsecure-page .journey {padding: 70px 0;}
    .btn-top {right: 16px;bottom: 16px;width: 42px;height: 42px;}
    .main-hero-title {font-size: clamp(24px, 4vw, 30px);}
    .hero-eyebrow {font-size: clamp(10px, 14px, 18px);}
    .hero-desc {font-size: 13px;margin: 10px 0;}
    .hero-actions, .hero-chips {display: none;}
    .container {width: calc(100% - 24px);}
    .main-section {padding: 58px 0;}
    .hero-inner {padding: 200px 4% 300px;}
    .main-title {font-size: 30px;}
    .card-grid {grid-template-columns:1fr;}
    .card-media img {height: 100%;}
    .journey #rocky-migration {margin-bottom: clamp(60px, 7.5vh, 70px);padding: 50px 20px 20px;}
    #rlmig-page .rl-section {padding: 70px 0;}
    #rlmig-page .rl-head {margin-bottom: 40px;}
    .feature-desc {font-size: 14px;}
    .cycle {font-size: 22px;}
    #ltsecure-page .journey .title {font-size: 18px;}
    #ltsecure-page .journey .hero-title-accent {font-size: clamp(22px, 2.7vw, 25px);}
    #oss-audit-page .oa-insight__media {margin: 20px 0;}
    #oss-audit-page .oa-case {padding: 24px 12px;}
    .about-biz {margin: 80px 0;}
    #about-page .about-client {padding: 70px 0;}
    .about-sec {padding: 200px 0 70px;}
    .hero-title, .mv-cases-title, .fl-title3, .rl-h2, .oa-title, .mv-h1 {font-size: 28px !important;}
    .hero-quote {font-size: 22px !important;}
    .hero-sub, .basic, .lead {font-size: 14px !important;}
    .hero-eyebrow, .hero-desc, .accent, .sub, .oa-h2 {font-size: 16px !important;}
}

@media (max-width: 560px) {
    .mnav-toggle {margin-left: 10px;}
    .about-grid {grid-template-columns: 1fr;}
    .about-card, .about-eng {padding: 14px;border-radius: 18px;}
    .about-card::before {border-radius: 18px;}
    #about-page .about-card__title {font-size: 18px;}
    #about-page .about-card__desc {text-align: center;font-size: 15px;padding: 0 1rem;}
    #rlmig-page .rl-plan__top {padding: 14px;}
    #rlmig-page .rl-plan__desc {padding: 12px 14px 0;}
    #rlmig-page .rl-plan__cols {padding: 0 14px 14px;}
    #oss-audit-page .oa-benefits {grid-template-columns: 1fr;}
    #oss-audit-page .oa-chips {grid-template-columns: 1fr;}
    #oss-audit-page .oa-btn {flex: 1 1 auto;}
    #ltsecure-page .lt-sec {
        padding: 70px 0;
    }
}

@media (max-width: 520px) {
    .hero {height: auto;}
    #main-feature{padding: 3rem 0;}
    #main-feature .mv-track {grid-template-columns: 1fr;}
    #main-feature .mv-track > :nth-child(7) {grid-column: auto;}
    .mv-track {grid-template-columns: 1fr;}
    .mv-track > :nth-child(7) {grid-column: auto;}
    #mvshield {padding: calc(var(--header-h) + 34px) 0 56px;}
    .journey section {padding: 1rem 14px;}
    .journey #rocky-migration {margin: 14px auto;padding: 1rem;}
    #cost-saving {padding: 2rem 14px;}
    .callout {padding: 18px;}
    .flex-feature-title{margin: 0 0 26px;}
    .func-card{padding: 13px 12px;}
    .func-card .func-icon{width: 50px;height: 50px;font-size: 26px;}
    .func-card .f-card-title{font-size: .95rem;}
    .func-card .f-card-pills{gap: 6px;font-size: 11px;}
    .func-card .f-card-pills li{padding: 6px 9px;}
    .lt-risk-wrap {padding: 1.5rem 0;gap: 14px;}
    #ltsecure-page .lt-head {text-align: left;}
    #ltsecure-page .lt-head .lt-sub {font-size: 13px;}
    #ltsecure-page .lt-head .lt-h2 {font-size: 22px;}
    #ltsecure-page .lt-risk-grid {grid-template-columns: 1fr;gap: 10px;margin-left: 0;}
    #ltsecure-page .lt-risk {min-height: 68px;padding: 12px 12px;border-radius: 18px;line-height: 1.45;box-shadow: 0 14px 34px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255, 255, 255, .06);}
    #ltsecure-page .lt-risk-no {height: 26px;padding: 0 10px;font-size: 11.5px;}
    #ltsecure-page .lt-os-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
    #ltsecure-page .lt-hero{padding: clamp(96px, 18vw, 126px) 0 clamp(56px, 12vw, 84px);}
    #ltsecure-page .lt-hero-visual{border-radius: 18px;}
    #ltsecure-page .lt-hero-visual img{height: clamp(210px, 38vh, 310px);}
    #about-page .about-cards {grid-template-columns: 1fr;}
    #about-page .about-hero__cta {width: 100%;}
    #about-page .about-hero__cta .mv-rbtn {flex: 1 1 auto;justify-content: center;}
}

@media (max-width: 480px) {
    .dropdown-panel { min-width: 200px;padding: 10px;}
    .dropdown-item {min-height: 44px;padding: 9px 11px;font-size: 13px;}
    .flex-func{padding: 0;grid-template-columns: 1fr;gap: 12px;}
}

@media (min-width: 981px) {
    #rlmig-page .rl-plan__cols {padding: 0 18px 18px;display: grid;gap: 12px;margin-top: 10px;}
    #rlmig-page .rl-col {padding: 12px 12px;border-radius: 16px;background: rgba(15, 23, 42, .03);border: 1px solid var(--rl-line);}
}


@media (prefers-reduced-motion: reduce) {
    .hero-copy {animation: none;}
    .hero-btn {transition: none;}
    #mv_expected .mv-dot {transition: none;}
    #mv_expected .mv-slide {transition: none;}
    #about-page [data-reveal] {opacity: 1;transform: none;transition: none;}
    #rlmig-page [data-reveal] {opacity: 1;transform: none;transition: none;}
    #oss-audit-page [data-reveal] {opacity: 1;transform: none;transition: none;}
    .auth-input, .auth-btn{ transition: none; }
    .auth-btn:hover{ transform: none; }
}

