/* Brand homepage editorial links and compact layouts. */
.ed-home .home-image-destination { display:block; min-width:0; }
.ed-home a:focus-visible, .ed-home summary:focus-visible {
    outline:3px solid #c64032; outline-offset:3px;
}
#manufacturing-delivery .factory-process .process-page { cursor:pointer; }
#manufacturing-delivery .factory-process .process-zoom {
    display:inline-flex; align-items:center; min-height:32px; margin-top:3px;
    color:#d9e7ec; font-size:.8rem; text-decoration:underline; text-underline-offset:3px;
}
#knowledge .knowledge-topic-image { display:block; }
#knowledge .knowledge-topic { scroll-margin-top:90px; }
#knowledge .knowledge-topic summary { display:none; }
@media(max-width:700px) {
    #knowledge .knowledge-topic summary {
        display:list-item; cursor:pointer; padding:13px 8px;
        color:#1a4554; border-top:1px solid #c6d5d8; font-weight:600;
    }
    #knowledge .knowledge-topic summary span { margin-left:.5em; font-size:.86em; font-weight:400; }
    #manufacturing-delivery .factory-process .process-zoom { min-height:44px; }
}
@media(max-width:600px) {
    #product-matrix.m03-guide .m03-core {gap:10px;}
    #product-matrix.m03-guide .m03-core-card {
        display:grid; grid-template-columns:minmax(78px,31%) minmax(0,1fr);
        gap:14px; align-items:center; padding:15px 14px;
    }
    #product-matrix.m03-guide .m03-core-card .m03-visual {
        width:100%; height:auto; aspect-ratio:1; margin:0;
    }
    #product-matrix.m03-guide .m03-core-card h3 {font-size:19px;margin:0 0 5px;}
    #product-matrix.m03-guide .m03-core-card .m03-description {font-size:14px;line-height:1.65;}
    #product-matrix.m03-guide .m03-extension-card {padding:16px;}
}

/* Homepage header and the engineering feature. */
@media (min-width: 1181px) {
    .wsl-body--home .wsl-header .wsl-nav__link {
        font-size: 16px;
    }
    .wsl-body--home .wsl-header .wsl-phone-img {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        background: none;
        color: #12394b;
        font-size: 23px;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: .015em;
        text-indent: 0;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }
    .wsl-body--home .wsl-header .wsl-phone-img:hover {
        color: #a7212c;
    }
    .wsl-body--home .wsl-search {
        height: 38px;
    }
    .wsl-body--home:lang(en) .wsl-header .wsl-search {
        width: 300px;
    }
    .wsl-body--home .wsl-search input[type="search"],
    .wsl-body--home .wsl-search button {
        height: 36px;
        font-size: 15px;
    }
}
@media (min-width: 1680px) {
    .wsl-body--home .wsl-header .wsl-nav__link { font-size: 15px; }
}
.wsl-body--home .wsl-search input::placeholder { color: #53646c; opacity: 1; }
.wsl-body--home .wsl-search:focus-within { outline: 2px solid #1c5e79; outline-offset: 2px; }
@media (max-width: 1180px) {
    .wsl-body--home .wsl-search input[type="search"] { font-size: 16px; }
}
@media (min-width: 901px) {
    #equipment-engineering .technical-r5 {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: clamp(28px, 3.7vw, 58px);
    }
}
#equipment-engineering .real-equipment img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: contain;
}
#equipment-engineering .systems-r5 > .engineering-question {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px 16px;
    border-top: 1px solid #b7c7c9;
    padding: 16px 4px 18px 0;
    text-decoration: none;
    color: #14394a;
}
#equipment-engineering .engineering-question small {
    font-size: 13px;
    line-height: 1.45;
    font-weight: 600;
    color: #586c73;
}
#equipment-engineering .engineering-question h3 {
    grid-column: 1;
    margin: 0;
    font-size: clamp(19px, 1.55vw, 25px);
    line-height: 1.42;
}
#equipment-engineering .engineering-question p {
    grid-column: 1;
    margin: 0;
    font-size: 16px;
    line-height: 1.62;
    color: #38545e;
}
#equipment-engineering .engineering-question .question-arrow {
    grid-column: 2;
    grid-row: 1 / 4;
    align-self: center;
    color: #a72c36;
    font-size: 22px;
}
#equipment-engineering .engineering-question:hover h3,
#equipment-engineering .engineering-question:focus-visible h3 {
    text-decoration: underline;
    text-underline-offset: .16em;
}
#equipment-engineering .systems-r5 summary {
    min-height: 60px;
    padding: 12px 4px 12px 0;
}
#equipment-engineering .systems-r5 summary strong {
    font-size: clamp(18px, 1.4vw, 22px);
    line-height: 1.45;
}
#equipment-engineering .technical-proof-pair {
    margin-top: clamp(30px, 3.8vw, 62px);
    border-top: 1px solid #c4cfd0;
    padding-top: clamp(18px, 2vw, 30px);
}
#equipment-engineering .technical-proof-pair img { object-fit: contain; }
@media (max-width: 900px) {
    #equipment-engineering .technical-r5 { grid-template-columns: minmax(0, 1fr); }
    #equipment-engineering .real-equipment img { aspect-ratio: auto; }
}

/* Brand homepage: selection, handover and compact-header controls. */
.wsl-body--home .ed-home #product-matrix .m03-core-card .m03-description {
    color:#39545d; font-size:16px; line-height:1.6;
}
.wsl-body--home .ed-home #product-matrix .m03-extension-card .m03-description { color:#405a64; }
.wsl-body--home .ed-home #product-matrix .m03-card-copy { min-width:0; }
#equipment-engineering .engineering-question .question-reading {
    grid-column:1/-1; color:#20526a; font-size:14px; line-height:1.5; font-weight:600;
}
.wsl-body--home #home-film {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:center; gap:clamp(24px,5vw,76px); padding-block:clamp(32px,4.5vw,68px);
    border-top:1px solid #c4ccca;
}
#home-film h2 { font-size:clamp(28px,3.1vw,46px); line-height:1.2; margin:12px 0; }
#home-film p { color:#3f5862; font-size:16px; line-height:1.7; max-width:46ch; }
#home-film .home-film-link { display:block; color:#173e4c; text-decoration:none; }
#home-film .home-film-link img { width:100%; height:auto; display:block; aspect-ratio:16/9; object-fit:contain; background:#e6ebea; }
#home-film .home-film-link span { display:block; padding:10px 0; font-weight:600; font-size:16px; }
#home-film .home-film-link:hover span { text-decoration:underline; }
.wsl-body--home .ed-home #project-service { padding-block:clamp(38px,5vw,76px); }
@media(max-width:1180px) {
    body.wsl-body--home .wsl-header .wsl-header__actions:has([data-ai-chat]) {
        display:flex!important; align-items:center; gap:6px;
    }
    body.wsl-body--home .wsl-header [data-ai-chat] {
        display:flex!important; align-items:center; position:static!important;
        inset:auto!important; transform:none!important; margin:0!important; width:auto!important; height:auto!important;
    }
    body.wsl-body--home .wsl-header [data-ai-toggle] { width:44px!important; height:44px!important; min-width:44px; margin:0; }
    body.wsl-body--home .wsl-header [data-home-ai-dismiss] { display:none!important; }
    body.wsl-body--home .wsl-header [data-ai-panel] {
        position:fixed!important; inset:var(--wsl-ai-panel-top, 74px) 12px auto auto!important; transform:none!important;
        width:min(360px,calc(100vw - 24px)); max-height:calc(100dvh - var(--wsl-ai-panel-top, 74px) - 16px)!important; overflow:auto;
    }
    body.wsl-body--home .wsl-header [data-nav] > .wsl-search {
        display:flex!important; width:100%!important; min-height:44px; margin:4px 0 8px; flex:none;
    }
    body.wsl-body--home .wsl-header [data-nav] > .wsl-search input,
    body.wsl-body--home .wsl-header [data-nav] > .wsl-search button { height:44px; }
}
@media(max-width:700px) {
    .wsl-body--home #home-film { grid-template-columns:minmax(0,1fr); gap:16px; }
    .wsl-body--home #manufacturing-delivery .factory-process { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
    .wsl-body--home #manufacturing-delivery .factory-process figcaption p { font-size:14px; line-height:1.55; }
    .wsl-body--home .ed-home #product-matrix .m03-core-card .m03-description { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) {
    .wsl-body--home .ed-home a { transition:none; }
}

/* Keep the six indicators compact visually while giving each a separate touch target. */
.wsl-body--home .carousel-controls .carousel-dots { gap:0; }
.wsl-body--home .carousel-controls .carousel-dots button {
    display:grid; place-items:center; width:26px; height:30px; padding:0;
    background:transparent; box-shadow:none;
}
.wsl-body--home .carousel-dots button::after {
    content:""; width:8px; height:8px; border-radius:50%; background:#ffffff85;
}
.wsl-body--home .carousel-dots button[aria-pressed=true]::after {
    background:white; box-shadow:0 0 0 2px #ffffff54;
}
.wsl-body--home .carousel-controls > button { min-width:28px; min-height:30px; }
@media(max-width:767px) {
    .wsl-body--home .carousel-controls { gap:4px; padding-inline:6px; }
    .wsl-body--home .carousel-dots button { height:40px; }
}

/* Shared hierarchy for the editorial homepage. */
.ed-home .brand-intro-lead { max-width:37ch; margin:18px 0 24px; color:#38505b; font-size:clamp(16px,1.22vw,19px); line-height:1.7; }
.ed-home .brand-capabilities { margin:0; }
.ed-home .brand-capabilities > div { padding:14px 0; border-top:1px solid #c7cec9; }
.ed-home .brand-capabilities dt { color:#123647; font-weight:700; font-size:clamp(17px,1.35vw,21px); }
.ed-home .brand-capabilities dd { margin:5px 0 0; font-size:16px; line-height:1.65; color:#344e59; }
.ed-home .home-preview-switch { margin:0; padding:7px 20px; font-size:14px; text-align:center; background:#e8eeeb; color:#173c4c; }
.ed-home .home-preview-switch a { margin-inline-start:12px; color:inherit; text-decoration:underline; }
.ed-home :is(.ed-heading,.section-title,.factory-chapter-head,.m03-intro,.home-film-copy) > :is(.ed-label,small):first-child { font-size:12px; line-height:1.5; letter-spacing:.1em; }
.ed-home :is(.ed-heading,.section-title,.m03-intro,.home-film-copy) > h2 { text-wrap:balance; }
.ed-home #equipment-engineering .systems-r5 { min-width:0; }
.ed-home #equipment-engineering .engineering-topic { border-top:1px solid #b7c7c9; padding:15px 0 12px; }
.ed-home #equipment-engineering .engineering-topic h3 { margin:4px 0; font-size:clamp(19px,1.45vw,24px); line-height:1.38; color:#15394b; }
.ed-home #equipment-engineering .engineering-topic small { font-size:13px; font-weight:600; color:#49616b; }
.ed-home #equipment-engineering .engineering-topic p { color:#344e59; font-size:16px; line-height:1.6; margin:4px 0; }
.ed-home #equipment-engineering .topic-links { display:flex; gap:4px 20px; flex-wrap:wrap; }
.ed-home #equipment-engineering .topic-links a { display:inline-flex; align-items:center; gap:.4em; min-height:44px; text-decoration:underline; text-underline-offset:4px; font-size:15px; font-weight:600; color:#17485d; }
.ed-home #equipment-engineering .topic-links a:hover {color:#9c282c;}
.ed-home #equipment-engineering .topic-links a:focus-visible {outline:2px solid currentColor;outline-offset:2px;}
@media(max-width:700px) {
 .ed-home .brand-capabilities > div {padding:12px 0;}
 .ed-home .brand-intro-lead {margin:12px 0 16px;}
 .ed-home #equipment-engineering .engineering-topic {padding:12px 0 8px;}
}

/* Keep the existing hotline visible between the phone and desktop layouts. */
@media (min-width: 768px) and (max-width: 1180px) {
    body.wsl-body--home .wsl-header .wsl-header__actions a.wsl-phone-img {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: auto !important;
        min-height: 44px;
        padding-inline: 10px;
        text-indent: 0 !important;
        background: none;
        color: #12394b;
        font-size: 16px !important;
        font-weight: 700;
        white-space: nowrap;
    }
    body.wsl-body--home .wsl-header .wsl-header__actions a.wsl-phone-img::before { display: none; }
}

/* Typography and reading rhythm in the editorial homepage sections. */
.ed-home .brand-intro-lead { max-width: 36ch; margin-block: 14px 18px; }
.ed-home .brand-capabilities > div { padding-block: 14px; }
.ed-home .brand-capabilities dd { max-width: 53ch; line-height: 1.65; }
.wsl-body--home .ed-home #product-matrix.m03-guide .m03-card h3 {
    line-height: 1.35; text-wrap: balance; margin-block: 0 9px;
}
.wsl-body--home .ed-home #product-matrix.m03-guide .m03-card .m03-description {
    font-size: 16px; line-height: 1.65; color: #34515f; margin: 0;
}
.ed-home #equipment-engineering .engineering-topic { padding-block: 16px 12px; }
.ed-home #equipment-engineering .engineering-topic h3 { line-height: 1.35; margin-block: 5px 6px; }
.ed-home #equipment-engineering .engineering-topic p { max-width: 58ch; }
.ed-home #equipment-engineering .topic-links { align-items: baseline; gap: 0 20px; }
.ed-home #equipment-engineering .topic-links .topic-reading { text-decoration-thickness: 1.5px; }
.ed-home #equipment-engineering .topic-links .topic-equipment { font-weight: 500; color: #3e5965; }
.ed-home [data-module="M07"] .locations > a > img { display: block; width: 100%; aspect-ratio: 40 / 17; height:auto; object-fit: contain; }
.ed-home [data-module="M07"] .locations > a h3 { margin-block: 14px 6px; line-height: 1.4; }
.ed-home [data-module="M07"] .locations > a p { margin: 0; line-height: 1.65; }
.ed-home #manufacturing-delivery .factory-process figcaption h3 { margin-block: 10px 4px; }
.ed-home #manufacturing-delivery .factory-process figcaption p { font-size: 15px; line-height: 1.6; }
.ed-home #knowledge.guide-selection { padding-bottom: clamp(26px, 3.5vw, 50px); }
.ed-home .guide-selection .knowledge-heading h2 { margin: 8px 0 0; }
.ed-home .guide-selection__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(22px, 3.5vw, 56px); }
.ed-home .guide-feature { border-bottom: 1px solid #bfc9c5; scroll-margin-top: 145px; }
.ed-home .guide-feature a {
    display: grid; grid-template-columns: clamp(82px, 7.5vw, 110px) minmax(0, 1fr) 1em;
    gap: clamp(14px, 1.5vw, 24px); height: 100%; box-sizing: border-box; align-items: center;
    padding: clamp(18px, 2vw, 28px) 0; color: #153b4b; text-decoration: none;
}
.ed-home .guide-feature img { mix-blend-mode: multiply; display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.ed-home .guide-feature__copy > span { font-size: 14px; color: #44616c; }
.ed-home .guide-feature h3 { font-size: clamp(18px, 1.35vw, 22px); line-height: 1.45; margin: 5px 0 0; text-wrap: pretty; }
.ed-home .guide-feature a:hover h3, .ed-home .guide-feature a:focus-visible h3 { text-decoration: underline; text-underline-offset: 4px; }
.ed-home .guide-feature__arrow { font-size: 20px; }
.ed-home .guide-selection .knowledge-more { display: inline-flex; gap: 12px; margin-top: 18px; font-size: 16px; min-height: 44px; }
@media (max-width: 760px) {
    .ed-home .guide-selection__grid { grid-template-columns: 1fr; }
    .ed-home .guide-feature { scroll-margin-top: 86px; }
    .ed-home .guide-feature a { grid-template-columns: 72px minmax(0, 1fr) 16px; gap: 12px; padding-block: 15px; }
    .ed-home .brand-capabilities > div { padding-block: 12px; }
}

.ed-home .guide-feature__copy p { margin: 5px 0 0; font-size: 15px; line-height: 1.55; color: #405a64; }

/* Give the full banner and its actions their own space on compact tablets. */
@media (min-width: 768px) and (max-width: 1180px) {
    .wsl-body--home .carousel-preview .static-preview-copy {
        position: static;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 32px;
        align-items: center;
        width: auto !important;
        max-width: none !important;
        padding: 20px 4% 16px;
        background: #102f40;
    }
    .wsl-body--home .carousel-preview .static-preview-copy > :is(small, h1, p) {
        grid-column: 1;
    }
    .wsl-body--home .carousel-preview #carousel-title {
        font-size: clamp(28px, 3vw, 34px) !important;
        margin: 5px 0 !important;
    }
    .wsl-body--home .carousel-preview #carousel-desc {
        max-width: 52ch !important;
        margin: 0;
        font-size: 16px !important;
        line-height: 1.55 !important;
    }
    .wsl-body--home .carousel-preview .static-preview-copy > div {
        grid-column: 2;
        grid-row: 1 / span 3;
        margin: 0;
        gap: 8px;
    }
    .wsl-body--home .carousel-preview .carousel-controls {
        position: static;
        transform: none;
        border-radius: 0;
    }
    .wsl-body--home .carousel-preview .carousel-images::after {
        content: none;
    }
}


.ed-home .guide-index { margin: 18px 0 8px; border-block: 1px solid #c5cec9; }
.ed-home .guide-index summary { width: fit-content; min-height: 44px; padding: 10px 0; font-size: 16px; font-weight: 650; color: #153b4b; cursor: pointer; }
.ed-home .guide-index__columns { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; padding: 10px 0 22px; }
.ed-home .guide-index__columns section { min-width: 0; }
.ed-home .guide-index__columns h3 { font-size: 18px; margin: 0 0 8px; }
.ed-home .guide-index__columns ul { margin: 0; list-style: none; padding: 0; }
.ed-home .guide-index__columns li + li { border-top: 1px solid #d6dcd7; }
.ed-home .guide-index__columns a { display: block; padding: 10px 0; color: #264653; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.ed-home .guide-index__columns a:hover { text-decoration: underline; }
.ed-home .guide-index :is(summary,a):focus-visible { outline: 2px solid #18557a; outline-offset: 3px; }
.wsl-body--home #site-footer .home-service-points { margin: 0 0 12px; }
.wsl-body--home #site-footer .home-service-points > div + div { margin-top: 12px; }
.wsl-body--home #site-footer .home-service-points dt { color: #fff; font-size: 16px; font-weight: 650; }
.wsl-body--home #site-footer .home-service-points dd { margin: 2px 0 0; font-size: 15px; line-height: 1.6; color: #d5e0e5; }
.wsl-body--home #site-footer .home-service-points + p a { font-size: 15px; color: #e6edf1; text-underline-offset: 3px; }
@media (max-width: 960px) { .ed-home .guide-index__columns { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) {
    .ed-home .guide-index__columns { grid-template-columns: 1fr; }
    .wsl-body--home #site-footer .wsl-footer__inner > .footer-group:nth-last-child(-n+2) { grid-column: 1 / -1; }
    .wsl-body--home #site-footer .footer-group:nth-last-child(2) .footer-group-body {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
    }
    .wsl-body--home #site-footer .footer-group-body > a { min-height: 44px; font-size: 15px !important; }
}
