/* Locale-safe layout guards. Dynamic content may contain very long words or
 * rich-text fragments without whitespace; never let them widen the viewport. */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

/* Homepage case gallery: four editorial cards with the same calm hover
 * treatment as the reference portfolio.  Keep every rule scoped so detail
 * pages and the news tabs retain their original FoxUI behavior. */
.home-cases-section {
    padding: clamp(72px, 7vw, 112px) 0 clamp(84px, 9vw, 128px);
    background: var(--bg-primary);
}

.home-cases-section .foxcms-container {
    width: min(calc(100% - 40px), 1380px);
    max-width: 1380px;
    margin-right: auto;
    margin-left: auto;
}

.home-cases-section .tabs-head {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.home-cases-section .tabs-head p {
    order: -1;
    margin: 0 0 14px;
    color: var(--brand-gold-ink);
    font-size:var(--type-description);
    line-height: 1.4;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.home-cases-section .tabs-head h1 {
    margin: 0;
    color: var(--brand-navy);
    font-size:var(--type-page);
    line-height: 1.12;
}

.home-cases-section .foxui-tabs {
    margin-top: 0 !important;
}

.home-cases-section .foxui-tabs-content {
    padding: 48px 0 0 !important;
}

.home-cases-section .foxui-tabs-pane > .foxui-row {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    --foxui-gutter-x: 0;
    --foxui-gutter-y: 0;
}

.home-cases-section .foxui-tabs-pane > .foxui-row > [class*="foxui-col-"] {
    width: auto !important;
    max-width: none;
    min-width: 0;
    padding: 0 !important;
    flex: none;
}

.home-cases-section .list-case-item {
    height: auto;
    padding: 0;
    aspect-ratio: 4 / 3;
    border: 0;
    border-radius: 14px;
    background: var(--bg-soft);
    overflow: hidden;
    isolation: isolate;
}

.home-cases-section .list-case-item .pic {
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: inherit;
    background: var(--bg-soft);
    overflow: hidden;
    transform: none;
}

.home-cases-section .list-case-item .pic img {
    transition: transform 1.2s cubic-bezier(.22, 1, .36, 1),
        filter 1.2s cubic-bezier(.22, 1, .36, 1);
    will-change: transform;
}

/* Keep the local placeholder legible until real case images are supplied. */
.home-cases-section .list-case-item .pic img[src*="noimage.gif"] {
    padding: 12%;
    background: var(--bg-secondary);
    object-fit: contain;
}

.home-cases-section .list-case-item .cover {
    inset: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 20px;
    transform: none;
    justify-content: flex-end;
    gap: 6px;
    border-radius: inherit;
    background: linear-gradient(to top, color-mix(in srgb,var(--mask-ink) 72%,transparent),
        color-mix(in srgb,var(--mask-ink) 12%,transparent), transparent);
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease, visibility .5s ease;
}

.home-cases-section .list-case-item .cover::before {
    content: none;
    display: none;
}

.home-cases-section .list-case-item .cover h2 {
    margin: 0;
    color: var(--bg-primary);
    font-size:var(--type-section);
    font-weight: 600;
    line-height: 1.3;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-cases-section .list-case-item .cover h3 {
    margin: 0;
    color: var(--bg-primary);
    font-size:var(--type-h3);
    line-height: 1.4;
}

.home-cases-section .list-case-item .cover p {
    margin: 0;
    color: color-mix(in srgb,var(--bg-primary) 80%,transparent);
    font-size:var(--type-description);
    line-height: 1.4;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.home-cases-section .list-case-item:hover .pic img,
.home-cases-section .list-case-item:focus-visible .pic img {
    transform: scale(1.055);
    filter: saturate(1.05) contrast(1.025);
}

.home-cases-section .list-case-item:hover .cover,
.home-cases-section .list-case-item:focus-visible .cover {
    opacity: 1;
    visibility: visible;
}

.home-cases-section .list-case-item:focus-visible {
    outline: 2px solid var(--brand-navy-light);
    outline-offset: 3px;
}

@media (min-width: 640px) {
    .home-cases-section .foxui-tabs-pane > .foxui-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .home-cases-section .foxui-tabs-pane > .foxui-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 20px;
    }
}

@media (min-width: 1024px) and (max-width: 1399px) {
    .home-cases-section .list-case-item .cover {
        padding: 16px;
    }

    .home-cases-section .list-case-item .cover h2 {
        font-size:var(--type-section);
    }
}

@media (max-width: 639px) {
    .home-cases-section {
        padding-top: 56px;
        padding-bottom: 80px;
    }

    .home-cases-section .foxcms-container {
        width: calc(100% - 32px);
    }

    .home-cases-section .foxui-tabs-content {
        padding-top: 32px !important;
    }

    .home-cases-section .list-case-item .cover {
        padding: 16px;
    }

    .home-cases-section .list-case-item .cover h2 {
        font-size:var(--type-section);
    }
}

@media (hover: none) {
    .home-cases-section .list-case-item .cover {
        opacity: 1;
        visibility: visible;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-cases-section .list-case-item .pic img,
    .home-cases-section .list-case-item .cover {
        transition: none;
    }
}

/* Keep in-page anchors from being hidden underneath the fixed navigation. */
html {
    scroll-padding-top: 92px;
}

/* Keep the public header visible while scrolling.  The original sticky rule
 * is affected by overflow containers on a few browsers, so use a fixed
 * header with an explicit flow placeholder instead. */
body {
    padding-top: 92px;
}

body > header {
    position: fixed !important;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    box-sizing: border-box;
    background: var(--bg-primary);
    isolation: isolate;
}

/* Keep a long translated menu inside the header flow.  The legacy desktop
 * header lets the menu keep its intrinsic width, so when English labels grow
 * it can slide underneath the logo and get clipped at the left edge. */
.foxcms-header-pc {
    min-width: 0;
    /* The language menu is positioned below the header.  Let it escape the
     * header box while keeping the main navigation itself constrained below. */
    overflow: visible;
}

.foxcms-header-pc > .foxcms-logo {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
    min-width: 0;
}

.foxcms-header-pc > .foxcms-nav {
    min-width: 0;
    flex: 1 1 auto;
    justify-content: flex-start;
    overflow: visible;
}

.foxcms-header-pc > .foxcms-nav > .nav {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
}

.foxcms-header-pc > .foxcms-nav > .nav > .foxui-menu {
    min-width: 0;
    max-width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    white-space: nowrap;
}

.foxcms-header-pc > .foxcms-nav > .nav > .foxui-menu::-webkit-scrollbar {
    display: none;
}

.foxcms-header-pc > .foxcms-nav > .nav > .foxui-menu > li {
    flex: 0 0 auto;
}

.foxcms-header-pc > .foxcms-nav > .phone,
.foxcms-header-pc > .foxcms-nav > .fox-i18n-switcher-wrap {
    flex: 0 0 auto;
}

@media (min-width: 992px) and (max-width: 1500px) {
    .foxcms-header-pc > .foxcms-nav > .nav > .foxui-menu > li > .foxui-menu-handle,
    .foxcms-header-pc > .foxcms-nav > .nav > .foxui-menu > .foxui-menu-item {
        padding-right: 12px;
        padding-left: 12px;
    }
}

.foxcms-container,
.foxui-row,
.foxui-col-sm-12,
.foxui-col-md-12,
.foxui-col-lg-8,
.swiper,
.swiper-wrapper,
.swiper-slide {
    min-width: 0;
    box-sizing: border-box;
}

.list-case-item,
.list-article-item,
.list-case-item .cover,
.list-article-item .text,
.company-info .text,
.company-info .text .text-inner {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/* Homepage company introduction: match the spacious editorial two-column layout. */
.company-info {
    padding: 92px 0 110px;
    background: var(--bg-primary);
}

.company-info .foxui-row {
    width: 90%;
    max-width: 1480px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 7.5%;
}

.company-info .company-info-media,
.company-info .company-info-copy {
    width: auto;
    float: none;
}

.company-info .company-info-media {
    flex: 0 0 48%;
    order: 2;
    margin-top: clamp(56px, 6vw, 96px);
}

.company-info .company-info-media .pic {
    height: auto;
    aspect-ratio: 1.45;
    padding: 0;
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    background: var(--bg-soft);
}

.company-info .company-info-media .pic img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.company-info .company-info-copy {
    flex: 1;
    order: 1;
    max-height: 600px;
    overflow: hidden;
}

.company-info .text {
    position: static;
    left: auto;
    top: auto;
    height: auto;
    margin: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    display: block;
    align-items: initial;
}

/* Reset the legacy inner panel from common.min.css. */
.company-info .text .text-inner {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    display: block;
    overflow: visible;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

.company-info .pic {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 1.45;
    padding: 0;
    overflow: hidden;
    border-radius: 18px;
    background: var(--bg-soft);
}

.company-info .text .text-inner h1 {
    margin: 0 0 10px;
    color: var(--brand-navy);
    font-family: inherit;
    font-size:var(--type-page);
    line-height: normal;
    font-weight: 700;
    text-align: left;
}

.company-info .text .text-inner h4 {
    margin: 0 0 38px;
    color: var(--text-body);
    font-size:var(--type-body-large);
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: .08em;
    text-align: left;
}

.company-info .text .text-inner p {
    margin: 0 0 32px;
    color: var(--text-body);
    font-size:var(--type-body-large);
    line-height: 1.85;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
    max-height: calc(1.85em * 7);
}

.company-info .text .text-inner a.foxui-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 34px;
    border: 1px solid var(--brand-navy);
    border-radius: 999px;
    color: var(--brand-navy);
    transition: .25s ease;
}

.company-info .text .text-inner > div:last-child {
    text-align: center;
}

.company-info .text .text-inner a.foxui-link:hover {
    color: var(--brand-navy-light);
    border-color: var(--brand-navy-light);
}

.company-info .text .text-inner {
    width: 100%;
    overflow: visible;
}

.list-case-item .cover h2,
.list-case-item .cover h3,
.list-case-item .cover p,
.list-article-item .text h1,
.list-article-item .text p,
.list-article-item .text .info,
.company-info .text .text-inner h1,
.company-info .text .text-inner h4,
.company-info .text .text-inner p {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.list-case-item .cover h2,
.list-case-item .cover h3,
.list-case-item .cover p {
    overflow: hidden;
}

/* Product image-set listing: use the editorial card grid from the public
 * design while keeping the existing FoxUI card markup and color palette. */
.list-case-main {
    padding-top: 56px;
    padding-bottom: 80px;
}

.list-case-main .foxcms-container {
    width: min(90%, 1480px);
}

.list-case-main .foxui-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
}

.list-case-main .foxui-row > [class*="foxui-col-"] {
    width: auto;
    max-width: none;
    min-width: 0;
    padding: 0;
    float: none;
}

.list-case-main .list-case-item {
    aspect-ratio: 1.34;
    height: auto;
    padding-bottom: 0;
    border-radius: 16px;
    background: var(--bg-soft);
    box-shadow: 0 8px 24px color-mix(in srgb,var(--brand-navy) 6%,transparent);
}

.list-case-main .list-case-item .pic {
    border: 0;
    border-radius: inherit;
    transform: translate(-50%, -50%);
}

.list-case-main .list-case-item .pic img {
    transition: transform .75s cubic-bezier(.2, .65, .25, 1);
}

.list-case-main .list-case-item .cover {
    border-radius: inherit;
    padding: 24px;
    background: linear-gradient(180deg, color-mix(in srgb,var(--mask-ink) 8%,transparent) 20%, color-mix(in srgb,var(--mask-ink) 76%,transparent) 100%);
    opacity: 0;
    transition: opacity .45s ease;
}

.list-case-main .list-case-item .cover::before {
    display: none;
}

.list-case-main .list-case-item:hover .pic img,
.list-case-main .list-case-item:focus-visible .pic img {
    transform: scale(1.08);
}

.list-case-main .list-case-item:hover .cover,
.list-case-main .list-case-item:focus-visible .cover {
    opacity: 1;
}

.list-case-main .list-case-item:focus-visible {
    outline: 3px solid color-mix(in srgb,var(--brand-navy-light) 45%,transparent);
    outline-offset: 4px;
}

@media (max-width: 1199px) and (min-width: 768px) {
    .list-case-main .foxui-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .list-case-main {
        padding-top: 28px;
        padding-bottom: 48px;
    }

    .list-case-main .foxcms-container {
        width: calc(100% - 24px);
    }

    .list-case-main .foxui-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .list-case-main .list-case-item {
        border-radius: 10px;
    }

    .list-case-main .list-case-item .cover {
        padding: 14px;
    }

    .list-case-main .list-case-item .cover h2 {
        font-size:var(--type-section);
    }
}

/* On desktop the image establishes the row height. Let the copy column
 * stretch to the same bottom edge, then clip only the overflowing paragraph
 * inside that measured area. This keeps the CTA visible while allowing longer
 * source copy to fill the available height. */
@media (min-width: 992px) {
    .company-info .foxui-row {
        align-items: stretch;
    }

    .company-info .company-info-copy {
        align-self: stretch;
        position: relative;
        display: block;
        max-height: none;
        overflow: visible;
        min-height: 0;
    }

    .company-info .company-info-copy .text {
        position: absolute;
        inset: 0;
        height: auto;
        min-height: 0;
        overflow: hidden;
    }

    .company-info .company-info-copy .text .text-inner {
        height: 100%;
        display: flex;
        flex-direction: column;
        min-height: 0;
        overflow: hidden;
    }

    .company-info .company-info-copy .text .text-inner h1,
    .company-info .company-info-copy .text .text-inner h4 {
        flex: 0 0 auto;
    }

    .company-info .company-info-copy .text .text-inner p {
        flex: 1 1 auto;
        min-height: 0;
        max-height: none;
        display: block;
        overflow: hidden;
        text-overflow: clip;
        -webkit-line-clamp: unset;
    }

    .company-info .company-info-copy .text .text-inner > div:last-child {
        flex: 0 0 auto;
    }
}

@media (max-width: 991px) {
    html {
        scroll-padding-top: 50px;
    }

    body {
        padding-top: 50px;
    }

    body > header {
        min-height: 50px;
    }

    .company-info { padding: 36px 0 48px; }
    .company-info .foxui-row { width: calc(100% - 24px); display: block; }
    .company-info .company-info-media { margin-bottom: 20px; }
    .company-info .company-info-media { margin-top: 28px; }
    .company-info .company-info-media,
    .company-info .company-info-copy { order: initial; }
    .company-info .text,
    .company-info .text .text-inner { padding: 0 24px; }
    .company-info .pic,
    .company-info .company-info-media .pic { aspect-ratio: 1.6; }
    /* Keep the company heading in the same mobile scale as the other
     * homepage section headings (for example, the News section). */
    .company-info .text .text-inner h1 {
        margin-bottom: 0;
        font-size:var(--type-page);
        line-height: normal;
        text-align: center;
    }
    .company-info .text .text-inner h4 {
        margin-bottom: 24px;
        font-size:var(--type-description);
        line-height: 1.8;
        text-align: center;
    }
    .company-info .text .text-inner p { font-size:var(--type-body); line-height: 1.75; }
    .company-info .text .text-inner p { max-height: calc(1.75em * 7); }

    .list-case-item .cover {
        padding: 16px;
    }

    .list-case-item .cover h2 {
        font-size:var(--type-section);
        line-height: 1.35;
    }
}

/* Keep the three homepage section headings in one consistent hierarchy.
 * Cases used to force its English label before the title and apply a
 * different brown, letter-spaced treatment.  The shared FoxUI heading
 * pattern is title first, followed by the subtitle; use it for Cases,
 * News, and Company so the sections remain visually related at every
 * breakpoint. */
.home-cases-section .tabs-head h1,
.news-section .tabs-head h1,
.company-info .text .text-inner h1 {
    margin: 0;
    color: var(--mask-ink);
    font-family: inherit;
    font-size:var(--type-page);
    line-height: normal;
    font-weight: 700;
    letter-spacing: normal;
}

.home-cases-section .tabs-head p,
.news-section .tabs-head p,
.company-info .text .text-inner h4 {
    color: var(--mask-ink);
    font-family: inherit;
    font-size:var(--type-body-large);
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: normal;
    text-transform: none;
}

/* The markup already puts the title before the subtitle.  Reset the old
 * Cases-only order override so CSS cannot move the label above the title. */
.home-cases-section .tabs-head p {
    order: 0;
    margin: 0 0 14px;
}

.news-section .tabs-head p {
    margin: 0;
}

.company-info .text .text-inner h4 {
    margin: 0 0 38px;
}

@media (max-width: 991px) {
    .home-cases-section .tabs-head {
        align-items: center;
        text-align: center;
    }

    .home-cases-section .tabs-head h1,
    .news-section .tabs-head h1,
    .company-info .text .text-inner h1 {
        font-size:var(--type-page);
        line-height: normal;
    }

    .home-cases-section .tabs-head p,
    .news-section .tabs-head p,
    .company-info .text .text-inner h4 {
        font-size:var(--type-description);
        line-height: 1.8;
        text-align: center;
    }

    .company-info .text .text-inner h4 {
        margin: 0 0 24px;
    }
}

/* Keep the vertical rhythm between homepage sections compact and even.
 * The company and cases sections previously combined large bottom/top
 * paddings with the cases button's inline bottom margin, leaving a much
 * larger gap than the News → Products and Products → Customers transitions. */
@media (min-width: 992px) {
    /* Use the same 88% page container as News and Products.  The previous
     * max-width caps made Company and Cases look like a narrow centered
     * column while the other homepage sections used the full content rail. */
    .company-info .foxui-row,
    .home-cases-section .foxcms-container {
        width: 88%;
        max-width: none;
        margin-left: auto;
        margin-right: auto;
    }

    .company-info {
        padding-bottom: 72px;
    }

    .home-cases-section {
        /* Keep the visible Company -> Cases gap in the same spacious rhythm
         * as the News -> Products transition in the reference layout. */
        padding-top: 72px;
        padding-bottom: 48px;
    }

    .home-cases-section .more-btn {
        margin-bottom: 48px !important;
    }
}

/* Use the same compact rhythm on tablet and phone layouts without changing
 * the section content or its responsive stacking order. */
@media (max-width: 991px) {
    .company-info {
        padding-bottom: 40px;
    }

    .home-cases-section {
        padding-top: 40px;
        padding-bottom: 32px;
    }

    .home-cases-section .more-btn {
        margin-bottom: 32px !important;
    }

    .news-section {
        margin-top: 0 !important;
    }
}

/* Keep the external brand marks inside the existing share circles. */
.share-list .share-item .share-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    background-color: var(--bg-soft);
    border-radius: 100%;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.3s;
}

.share-list .share-item .share-icon img {
    display: block;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.share-list .share-item:hover .share-icon,
.share-list .share-item:focus-visible .share-icon {
    background-color: var(--bg-soft);
    transform: translateY(-2px);
}

.share-list .share-item:focus-visible {
    outline: 2px solid var(--brand-navy-light);
    outline-offset: 4px;
}

/* Footer social links use local, vendored mono SVGs so they remain available
 * when the external icon CDN is blocked. Keep the existing circular treatment
 * on desktop and mobile while ensuring the marks remain readable on hover. */
.foxcms-footer-pc .footer-link .right a .footer-social-icon,
.foxcms-footer-h5 .footer-contact .list a .footer-social-icon {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
    transition: filter 0.3s;
}

.foxcms-footer-pc .footer-link .right a:hover .footer-social-icon,
.foxcms-footer-pc .footer-link .right a:focus-visible .footer-social-icon,
.foxcms-footer-h5 .footer-contact .list a:hover .footer-social-icon,
.foxcms-footer-h5 .footer-contact .list a:focus-visible .footer-social-icon {
    filter: invert(1);
}

.foxcms-footer-pc .footer-link .right a:focus-visible,
.foxcms-footer-h5 .footer-contact .list a:focus-visible {
    outline: 2px solid var(--brand-navy-light);
    outline-offset: 3px;
}

.list-product-main .enquiry-label { color:var(--brand-navy-light); font-size:var(--type-description); font-weight:600; }

/* CORELONG footer keeps the site architecture visible without exposing the
 * legacy CMS column tree. The same link rail is reused on mobile below. */
.corelong-footer-nav { display:grid; grid-template-columns:minmax(220px,.9fr) minmax(360px,1.35fr) minmax(250px,.9fr); gap:48px; align-items:start; }
.corelong-footer-brand strong { display:block; color:var(--brand-navy); font-size:var(--type-h3); line-height:1; letter-spacing:.12em; }
.corelong-footer-brand p { margin:16px 0 8px; color:var(--brand-navy); font-size:var(--type-body); line-height:1.5; }
.corelong-footer-brand span { display:block; color:var(--text-body); font-size:var(--type-description); line-height:1.6; }
.corelong-footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:0; padding:0; list-style:none; }
.corelong-footer-links li { margin:0; padding:0; }
.corelong-footer-links a { color:var(--text-body); font-size:var(--type-description); line-height:1.5; transition:color .2s ease; }
.corelong-footer-links a:hover,.corelong-footer-links a:focus-visible { color:var(--brand-navy-light); }
.corelong-footer-contact h1 { margin:0 0 10px; color:var(--brand-navy); font-size:var(--type-page); line-height:1.3; }
.corelong-footer-contact p { margin:0 0 18px; color:var(--text-body); font-size:var(--type-description); line-height:1.7; }
.corelong-footer-contact .home-outline-button { margin-top:0; padding:10px 16px; font-size:var(--type-description); }
.footer-link .corelong-footer-links a { font-size:var(--type-description); }
.foxcms-footer-pc .footer-link > .left > span { color:var(--text-body); font-size:var(--type-description); }
.foxcms-footer-pc .footer-link > .right { display:flex; gap:18px; align-items:center; }
.foxcms-footer-pc .footer-link > .right a { color:var(--text-body); font-size:var(--type-description); }
.foxcms-footer-pc .footer-link > .right a:hover,.foxcms-footer-pc .footer-link > .right a:focus-visible { color:var(--brand-navy-light); }
@media (max-width:991px) {
    .corelong-footer-nav { display:block; }
    .corelong-footer-links { margin-top:28px; gap:14px 18px; }
    .corelong-footer-contact { margin-top:28px; }
    .corelong-footer-brand strong { font-size:var(--type-h3); }
    .foxcms-footer-h5 .footer-contact { padding-top:0; }
}
