/* Homepage section transitions; content remains visible without JavaScript. */
html.kj-motion { scroll-padding-top: var(--kj-header-height, 0px); }
.page-home .corporate-home { overflow: clip; }
.page-home .kj-section { scroll-margin-top: 0 !important; }
.page-home .kj-reveal {
    transition: opacity .8s ease, translate .8s cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--kj-delay, 0ms);
}
.page-home .kj-reveal.is-pending { opacity: 0; translate: 0 28px; }
.page-home .kj-reveal:focus-within { opacity: 1; translate: none; }
.page-home .corporate-hero__copy,
.page-home .corporate-hero__panel { animation: none; }
.page-home .service-card,
.page-home .product-showcase-card,
.page-home .credential-license,
.page-home .product-family-card { border-radius: 14px; overflow: hidden; }
.page-home .product-showcase-card__visual img { transition: transform .7s cubic-bezier(.22, 1, .36, 1); }
@media (hover: hover) {
    .page-home .product-showcase-card:hover img { transform: scale(1.045); }
}
.kj-section-nav {
    position: fixed; z-index: 45; left: 24px; bottom: 24px;
    display: flex; align-items: center; gap: 12px; max-width: calc(100vw - 140px);
    padding: 8px 10px 8px 18px; border: 1px solid rgba(255,255,255,.22);
    border-radius: 40px; color: #fff; background: rgba(7,27,46,.94);
    box-shadow: 0 8px 30px rgba(7,27,46,.18); backdrop-filter: blur(16px);
    font-size: 12px;
}
.kj-section-nav__count { color: #86d4d4; font-variant-numeric: tabular-nums; }
.kj-section-nav__label { width: 82px; white-space: nowrap; }
.kj-section-nav button {
    width: 36px; height: 36px; border: 1px solid #536672; border-radius: 50%;
    background: transparent; color: #fff; cursor: pointer; font-size: 18px;
    transition: background .2s;
}
.kj-section-nav button:hover { background: #245367; }
.kj-section-nav button:disabled { opacity: .3; cursor: default; }
.kj-section-nav button:focus-visible { outline: 2px solid #86d4d4; outline-offset: 3px; }
.kj-scroll-cue {
    display: inline-flex; align-items: center; gap: 12px; margin-top: 26px;
    color: #b5d5df; font-size: 11px; letter-spacing: .14em;
}
.kj-scroll-cue::before {
    content: ''; width: 1px; height: 28px; background: #86d4d4;
    transform-origin: top; animation: kj-scroll-cue 2s ease-in-out infinite;
}
@keyframes kj-scroll-cue { 50% { transform: scaleY(.4); opacity: .4; } }
@media (min-width: 1101px) and (min-height: 650px) and (prefers-reduced-motion: no-preference) {
    html.kj-motion { scroll-snap-type: y mandatory; }
    .page-home .kj-section {
        scroll-snap-align: start; scroll-snap-stop: always;
        min-height: calc(100svh - var(--kj-header-height, 168px));
        display: flex; flex-direction: column; justify-content: center;
    }
    .page-home .corporate-hero { padding-block: 54px; }
    .page-home .corporate-notice,
    .page-home .site-footer { scroll-snap-align: end; }
}
@media (max-width: 1100px) { .kj-section-nav { display: none; } }
@media (prefers-reduced-motion: reduce) {
    html.kj-motion { scroll-behavior: auto; scroll-snap-type: none; }
    .page-home .kj-reveal { opacity: 1; translate: none; transition: none; }
    .page-home .product-showcase-card__visual img { transition: none; }
    .kj-scroll-cue::before { animation: none; }
}
@media print {
    .kj-section-nav, .kj-scroll-cue { display: none; }
    .page-home .kj-reveal.is-pending { opacity: 1; translate: none; }
}

/* Keep each desktop chapter inside the space below the compact header. */
.kj-detail-tabs { display: none; }
@media (min-width: 1101px) and (min-height: 650px) {
    .page-home .utility-bar { display: none; }
    .page-home .site-header { position: sticky; top: 0; }
    .page-home .header-main { height: 60px; }
    .page-home .primary-navigation { height: 42px; }
    .page-home .kj-section {
        min-height: calc(100svh - var(--kj-header-height, 103px));
        padding: 24px 0 76px;
        display: flex; flex-direction: column; justify-content: center;
    }
    .page-home .kj-section > .container { width: min(1380px, calc(100% - 96px)); }
    .page-home .corporate-notice { display: none; }
    .page-home .corporate-heading { gap: 32px; margin-bottom: 22px; align-items: end; }
    .page-home .corporate-heading h2,
    .page-home .corporate-intro__title h2,
    .page-home .corporate-performance h2,
    .page-home .corporate-showcase__copy h2 { font-size: clamp(28px, 2.7vw, 42px); line-height: 1.18; }
    .page-home .corporate-heading > p { font-size: 14px; line-height: 1.65; }
    .page-home .corporate-eyebrow { margin-bottom: 10px; }
    .page-home .corporate-hero__copy h1 { font-size: clamp(42px, 4.2vw, 66px); }
    .page-home .corporate-hero__copy h2 { font-size: clamp(28px, 2.7vw, 42px); margin-top: 16px; }
    .page-home .corporate-hero__lead { margin-block: 18px; font-size: 16px; }
    .page-home .corporate-hero__meta { margin-top: 22px; }
    .page-home .corporate-hero__panel { padding: 24px; }
    .page-home .corporate-hero__panel li + li { margin-top: 12px; padding-top: 12px; }
    .page-home .corporate-hero__signal { margin-top: 18px; padding-top: 18px; }
    .page-home .kj-scroll-cue { margin-top: 14px; }
    .page-home .corporate-intro__grid { gap: 24px 60px; }
    .page-home .corporate-intro__since { margin-top: 20px; }
    .page-home .corporate-intro__since strong { font-size: 46px; }
    .page-home .corporate-intro__title::after { margin-top: 16px; }
    .page-home .corporate-intro__body > p { font-size: 14px; line-height: 1.65; margin: 0 0 12px; }
    .page-home .corporate-profile-brief { margin-top: 14px !important; }
    .page-home .corporate-profile-brief div { padding: 8px 0 !important; }
    .page-home .corporate-history { margin-top: 0; }
    .page-home .corporate-history article { min-height: 0; padding: 14px; }
    .page-home .corporate-history strong { font-size: 20px; }
    .page-home .corporate-history p { margin-top: 8px; }
    .page-home .service-card-grid--eight { gap: 12px; }
    .page-home .service-card { min-height: 0; padding: 18px 20px; }
    .page-home .service-card h3 { margin: 16px 0 8px; font-size: 21px; }
    .page-home .service-card p { margin: 0; font-size: 13px; line-height: 1.6; }
    .page-home .service-card > b { padding-top: 14px; }
    .page-home .product-showcase-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
    .page-home .product-showcase-card--featured { grid-column: auto; display: block; }
    .page-home .product-showcase-card__visual { min-height: 0; height: clamp(140px, 21vh, 220px); padding: 16px; }
    .page-home .product-showcase-card__visual img { height: 100%; }
    .page-home .product-showcase-card__copy { padding: 18px; }
    .page-home .product-showcase-card__copy h3 { font-size: 19px; margin: 12px 0 8px; }
    .page-home .product-showcase-card__copy p { margin-top: 12px; }
    .page-home .product-showcase-card--featured .product-showcase-card__copy { min-height: 220px; }
    .page-home .corporate-performance__layout { gap: 40px; }
    .page-home .corporate-performance__summary > p:not(.corporate-eyebrow) { margin: 20px 0; font-size: 14px; }
    .page-home .performance-stat-grid article { min-height: 0; padding: 18px; }
    .page-home .performance-stat-grid strong { font-size: 40px; margin-top: 8px; }
    .page-home .corporate-performance__projects { padding: 24px; }
    .page-home .corporate-performance__projects li { padding: 12px 0; }
    .page-home .credential-license-grid { gap: 12px; }
    .page-home .credential-license, .page-home .credential-business { min-height: 0; padding: 18px; }
    .page-home .credential-license h3 { margin: 14px 0 8px; font-size: 24px; }
    .page-home .credential-license strong { padding-top: 12px; font-size: 17px; }
    .page-home .credential-business > div { padding-bottom: 10px; }
    .page-home .credential-business > p { margin: 10px 0; }
    .page-home .credential-business li { padding: 4px 8px; }
    .page-home .technology-credential-grid { margin-top: 12px; }
    .page-home .technology-credential-grid article { min-height: 0; padding: 14px; }
    .page-home .technology-credential-grid h3 { margin: 8px 0; font-size: 17px; }
    .page-home .direct-production-panel { padding: 16px 20px; margin-top: 12px; gap: 24px; }
    .page-home .direct-production-panel h3 { margin-top: 4px; font-size: 21px; }
    .page-home .direct-production-panel li { padding: 6px 9px; }
    .page-home .corporate-showcase__visual { min-height: 0; }
    .page-home .corporate-showcase__visual img { position: absolute; inset: 0; }
    .page-home .corporate-showcase__copy { padding: 28px 36px; }
    .page-home .corporate-showcase__copy > p:not(.corporate-eyebrow) { margin: 18px 0; font-size: 14px; }
    .page-home .corporate-showcase__copy li { padding: 12px 0; }
    .page-home .capability-grid article { min-height: 0; padding: 24px; }
    .page-home .capability-grid article > span { margin-bottom: 24px; }
    .page-home .process-list li { min-height: 0; padding: 22px; }
    .page-home .process-list h3 { margin-top: 28px; }
    .page-home .corporate-profile__grid > dl div { padding-block: 14px; }
    .page-home .corporate-profile__contact { padding: 20px 24px; }
    .page-home .corporate-profile__contact h3 { font-size: 21px; margin: 10px 0; }
    .page-home .corporate-profile__contact > a:not(.corporate-button) { font-size: 25px; }
    .page-home .corporate-profile__contact dl { margin: 12px 0; }
    .page-home .corporate-profile__contact dl div { padding: 6px 0; }
    .page-home .corporate-profile__contact dt { margin-bottom: 0; }
    .page-home .corporate-profile__contact dd { line-height: 1.5; }
    .page-home .product-family-card { padding: 22px; min-height: 0; }
    .page-home .product-family-card h3 { margin: 18px 0 12px; }
    .page-home .product-family-card p { padding-top: 18px; }
    .page-home .resource-card { min-height: 210px; padding: 20px; }
    .page-home .resource-card > b { margin-top: 10px; }
    .page-home .resource-contact-panel { margin-top: 16px; padding: 22px; }
    .page-home .resource-contact-panel h3 { font-size: 22px; }
    .kj-detail-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px; }
    .kj-detail-tabs button { padding: 14px 12px; border: 1px solid #cddbdd; border-radius: 8px; background: #fff; color: #284556; font-weight: 800; }
    .kj-detail-tabs button[aria-pressed="true"] { color: #fff; background: #0b3a50; border-color: #0b3a50; }
    .kj-detail-tabs button:focus-visible { outline: 3px solid #16889b; outline-offset: 3px; }
    .page-home .kj-detail-ready .corporate-detail-grid { display: block; }
    .page-home .kj-detail-ready .corporate-detail-card:not(.is-selected) { display: none; }
    .page-home .kj-detail-ready .corporate-detail-card {
        min-height: 0; padding: 24px; display: grid; grid-template-columns: 1fr 1fr;
        gap: 16px 32px; border-radius: 12px;
    }
    .page-home .kj-detail-ready .corporate-detail-card header { padding-bottom: 12px; }
    .page-home .kj-detail-ready .corporate-detail-card h3 { margin-top: 12px; font-size: 26px; }
    .page-home .kj-detail-ready .corporate-detail-card__description { min-height: 0; margin: 0; font-size: 14px; }
    .page-home .kj-detail-ready .corporate-detail-card__block + .corporate-detail-card__block { margin-top: 0; }
    .page-home .kj-detail-ready .corporate-detail-card footer { grid-column: 1 / -1; padding-top: 12px; }
    .page-home .kj-detail-ready .corporate-system-flow li { min-height: 64px; }
}
@media (min-width: 1101px) and (min-height: 650px) and (max-height: 800px) {
    .page-home .kj-section { padding-block: 18px 64px; }
    .page-home .corporate-heading { margin-bottom: 16px; }
    .page-home .corporate-heading h2 { font-size: 30px; }
    .page-home .corporate-profile__contact h3 { font-size: 19px; line-height: 1.35; }
    .page-home .credential-license, .page-home .credential-business { padding: 14px; }
    .page-home .technology-credential-grid article { padding: 12px; }
    .page-home .direct-production-panel { padding: 12px 16px; }
    .page-home .product-showcase-card--featured .product-showcase-card__copy { min-height: 0; }
    .page-home .product-showcase-card__copy p { font-size: 12px; }
    .page-home .corporate-profile__contact .corporate-button { min-height: 42px; }
    .page-home .corporate-profile__contact dl div { padding-block: 4px; }
    .page-home .credential-license h3 { margin-top: 10px; font-size: 22px; }
    .page-home .technology-credential-grid h3 { margin-block: 6px; }
    .page-home .direct-production-panel { margin-top: 8px; }
    .page-home .corporate-hero__copy h1 { font-size: 46px; }
    .page-home .corporate-hero__copy h2 { font-size: 30px; }
}
