*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;font-family:Arial,"Helvetica Neue","Microsoft YaHei",sans-serif;color:#111;background:#fff}
a{color:inherit}
button{font-family:inherit}

/* 未安装页面兼容 */
.site-header{background:#fff;border-bottom:1px solid #edf0f4}.site-header-inner{max-width:1200px;margin:0 auto;min-height:72px;padding:0 24px;display:flex;align-items:center}.site-logo{font-size:22px;font-weight:800;color:#111827;text-decoration:none;white-space:nowrap}.site-logo img{display:block;max-width:160px;max-height:48px;object-fit:contain}

/* v17：前端公共导航栏 */
.fsh-site-header{
    width:100%;
    height:105px;
    min-height:105px;
    background:#fff;
    border-bottom:1px solid #eef1f4;
    display:flex;
    align-items:center;
    position:sticky;
    top:0;
    z-index:200;
}
.fsh-header-left,
.fsh-header-right{
    flex:1 1 0;
    min-width:180px;
    display:flex;
    align-items:center;
}
.fsh-header-left{
    justify-content:flex-end;
    padding-left:28px;
    /* padding-right:42px; */
}
.fsh-header-right{
    justify-content:flex-start;
    /* padding-left:42px; */
    padding-right:28px;
}
.fsh-header-center{
    flex:0 0 1440px;
    max-width:1440px;
    min-height:105px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.fsh-site-logo{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:#d81e16;
    font-weight:800;
    white-space:nowrap;
    line-height:1;
}
.fsh-site-logo img{
    display:block;
    max-width:160px;
    max-height:86px;
    object-fit:contain;
}
.fsh-site-logo span{font-size:22px;letter-spacing:.04em}
.fsh-main-nav{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:42px;
    min-width:0;
}
.fsh-nav-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    color:#0f0f0f;
    text-decoration:none;
    font-size:16px;
    line-height:1.2;
    font-weight:700;
    text-transform:uppercase;
    white-space:nowrap;
    transition:color .18s ease,opacity .18s ease;
}
.fsh-nav-link:hover,
.fsh-nav-link.is-active{color:#e21b12}
.fsh-hyperlink-image{padding:0 2px}
.fsh-hyperlink-image img{
    display:block;
    max-width:128px;
    max-height:34px;
    object-fit:contain;
}
.fsh-inquiry-btn{
    border:0;
    background:#e21b12;
    color:#fff;
    min-width:122px;
    height:50px;
    padding:0 24px;
    border-radius:6px;
    font-size:16px;
    line-height:1;
    font-weight:700;
    cursor:pointer;
    transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
    margin-right:20px;
}
.fsh-inquiry-btn:hover{background:#c9150d;transform:translateY(-1px);box-shadow:0 8px 18px rgba(226,27,18,.18)}
.fsh-lang-switch{position:relative;color:#e21b12;font-size:16px;font-weight:500}
.fsh-lang-switch summary{
    list-style:none;
    display:flex;
    gap:10px;
    cursor:pointer;
    user-select:none;
    min-height:40px;
    align-items:center;
    color:#e21b12;
}
.fsh-lang-switch summary::-webkit-details-marker{display:none}
.fsh-globe{
    display:block;
    width:30px;
    height:30px;
    object-fit:contain;
    flex:0 0 auto;
}
.fsh-lang-current{
    display:inline-flex;
    align-items:center;
    color:#e21b12;
    font-size:16px;
    line-height:1;
    font-weight:600;
}
.fsh-lang-arrow{
    display:block;
    width:10px;
    height:6px;
    object-fit:contain;
    flex:0 0 auto;
    margin-left:2px;
}
.fsh-lang-menu{
    position:absolute;
    left:0;
    top:100%;
    min-width:112px;
    background:#fff;
    border:1px solid #eceff3;
    border-radius:10px;
    box-shadow:0 16px 38px rgba(15,23,42,.12);
    padding:8px;
    margin-top:8px;
}
.fsh-lang-menu a{
    display:block;
    padding:8px 10px;
    color:#1f2937;
    text-decoration:none;
    border-radius:8px;
    font-size:14px;
    line-height:1.2;
}
.fsh-lang-menu a:hover{background:#fff1f0;color:#e21b12}
.fsh-mobile-nav-toggle{
    display:none;
    width:42px;
    height:42px;
    border:1px solid #edf0f4;
    background:#fff;
    border-radius:10px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
}
.fsh-mobile-nav-toggle span{
    width:20px;
    height:2px;
    background:#111;
    border-radius:999px;
    display:block;
    transition:transform .18s ease,opacity .18s ease;
}
.fsh-site-header.is-menu-open .fsh-mobile-nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.fsh-site-header.is-menu-open .fsh-mobile-nav-toggle span:nth-child(2){opacity:0}
.fsh-site-header.is-menu-open .fsh-mobile-nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* 首页临时空白区 */
.hero{min-height:calc(100vh - 105px);display:flex;align-items:center;justify-content:center;padding:48px 20px;background:#f7f8fb}
.hero-card{width:100%;max-width:720px;background:#fff;border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 18px 48px rgba(15,23,42,.08);padding:42px;text-align:center}.hero-card h1{font-size:30px;margin:0 0 12px}.hero-card p{margin:0;color:#6b7280;line-height:1.8}.front-btn{display:inline-block;margin-top:22px;background:#1d4ed8;color:#fff;text-decoration:none;border-radius:12px;padding:12px 18px;font-weight:700}

/* 前端页尾：企业站公共页尾 */
.site-footer.fsh-site-footer{
    background:#faf9f7;
    color:#3f3f46;
    border-top:1px solid #f0efed;
}
.site-footer.fsh-site-footer *{
    font-weight:400 !important;
}
.fsh-footer-inner{
    width:min(1700px,calc(100% - 96px));
    margin:0 auto;
    padding:86px 0 34px;
}
.fsh-footer-top{
    display:grid;
    grid-template-columns:340px minmax(0,1fr) 360px;
    gap:72px;
    align-items:start;
}
.fsh-footer-brand{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-height:230px;
}
.fsh-footer-logo{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:#e21b12;
    font-size:28px;
    line-height:1;
    font-weight:900;
}
.fsh-footer-logo img{
    display:block;
    width:auto;
    max-width:150px;
    max-height:92px;
    object-fit:contain;
}
.fsh-footer-social-share{
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:20px;
    padding-top:52px;
}
.social-icon{
    width:22px;
    height:22px;
    border:0;
    background:transparent;
    color:#c7c7c9;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    cursor:pointer;
    padding:0;
    transition:transform .2s ease;
}
.social-icon-mask{
    display:block;
    width:20px;
    height:20px;
    object-fit:contain;
    filter:grayscale(1) brightness(0) opacity(.32);
    transition:filter .2s ease, opacity .2s ease;
}
.social-icon:hover{transform:translateY(-1px)}
.social-icon:hover .social-icon-mask{filter:invert(18%) sepia(95%) saturate(4793%) hue-rotate(355deg) brightness(92%) contrast(95%);opacity:1}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fsh-footer-link-categories{
    display:flex;
    justify-content:flex-end;
    padding-right:50px;
    grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
    width:100%;
    text-align:left;
    gap:46px 72px;
    flex-wrap:wrap;
}
.footer-link-category h3{
    margin:0 0 24px;
    font-size:20px;
    line-height:1.25;
    color:#e21b12;
    font-weight:800;
}
.footer-link-category ul{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:14px;
}
.footer-link-category a{
    color:#454545;
    text-decoration:none;
    font-size:16px;
    line-height:1.32;
    font-weight:700;
    transition:color .18s ease;
}
.footer-link-category a:hover{color:#e21b12;text-decoration:none}
.fsh-footer-contact-block{
    text-align:left;
}
.fsh-footer-contact-block h3{
    margin:0 0 26px;
    color:#e21b12;
    font-size:20px;
    line-height:1.25;
    font-weight:800;
}
.footer-contact-list{
    display:grid;
    gap:20px;
}
.footer-contact-item{
    display:grid;
    grid-template-columns:28px 1fr;
    gap:16px;
    align-items:start;
    color:#4a4a4a;
    font-size:16px;
    line-height:1.55;
    font-weight:700;
}
.footer-contact-item img{
    display:block;
    width:18px;
    height:18px;
    object-fit:contain;
    margin-top:2px;
}
.footer-contact-default-icon{
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#e21b12;
    font-size:20px;
    line-height:1;
    margin-top:1px;
}
.footer-contact-address span:last-child{white-space:normal}
.footer-signature.fsh-footer-signature{
    margin:54px 0 0;
    padding-top:34px;
    border-top:1px solid #e6e3df;
    text-align:left;
    color:#5b5b5f;
    font-size:15px;
    line-height:1.7;
    font-weight:600;
}
.social-qr-modal[hidden]{display:none}
.social-qr-modal{position:fixed;inset:0;z-index:999;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:22px}.social-qr-box{width:min(360px,100%);background:#fff;color:#111827;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.28);padding:24px;position:relative;text-align:center}.social-qr-close{position:absolute;right:12px;top:10px;width:32px;height:32px;border:0;background:#f3f4f6;border-radius:999px;cursor:pointer;font-size:22px;line-height:1;color:#4b5563}.social-qr-box h3{margin:0 0 16px;font-size:18px}.social-qr-content{min-height:140px;display:flex;align-items:center;justify-content:center;border:1px dashed #d1d5db;border-radius:14px;padding:14px;color:#6b7280}.social-qr-content img{display:block;max-width:220px;max-height:220px;object-fit:contain}.social-qr-box p{margin:14px 0 0;color:#6b7280;font-size:13px}

@media(max-width:1880px){
    /* 使用父级可用宽度，不使用包含浏览器滚动条宽度的 100vw，避免页面横向溢出 */
    .fsh-header-center{flex-basis:calc(100% - 440px);max-width:1440px}
    .fsh-main-nav{gap:34px}
}
@media(max-width:1500px){
    .fsh-header-left,.fsh-header-right{min-width:150px}.fsh-header-center{flex-basis:calc(100% - 300px)}.fsh-main-nav{gap:24px}.fsh-nav-link{font-size:14px}.fsh-inquiry-btn{height:46px;min-width:110px;font-size:14px}.fsh-site-logo img{max-height:76px;max-width:140px}
}
@media(max-width:1180px){
    .fsh-site-header{min-height:86px}.fsh-header-center{min-height:86px}.fsh-header-left,.fsh-header-right{min-width:120px}.fsh-main-nav{gap:16px}.fsh-nav-link{font-size:13px}.fsh-hyperlink-image img{max-width:108px;max-height:30px}.fsh-inquiry-btn{height:42px;min-width:98px;padding:0 16px}.fsh-lang-switch{font-size:14px}.fsh-site-logo img{max-height:62px}.hero{min-height:calc(100vh - 86px)}
}
@media(max-width:980px){
    .fsh-site-header{min-height:72px;display:flex;align-items:center;padding:0 18px;position:sticky}.fsh-header-left,.fsh-header-center,.fsh-header-right{min-width:0;padding:0}.fsh-header-left{flex:0 1 auto;justify-content:flex-start}.fsh-header-center{flex:0 0 auto;flex-basis:auto;min-height:72px;width:auto;max-width:none;margin-left:auto;justify-content:flex-end}.fsh-header-right{flex:0 0 auto;justify-content:flex-end;margin-left:8px}.fsh-site-logo img{max-height:54px;max-width:118px}.fsh-mobile-nav-toggle{display:inline-flex}.fsh-main-nav{position:absolute;left:16px;right:16px;top:calc(100% + 10px);display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;background:#fff;border:1px solid #eef1f4;border-radius:16px;box-shadow:0 22px 60px rgba(15,23,42,.15);padding:10px;z-index:210}.fsh-site-header.is-menu-open .fsh-main-nav{display:flex}.fsh-nav-link{justify-content:flex-start;width:100%;min-height:44px;padding:0 14px;border-radius:10px;font-size:14px;margin:2px 0}.fsh-nav-link:hover,.fsh-nav-link.is-active{background:#fff1f0}.fsh-hyperlink-image{justify-content:flex-start}.fsh-hyperlink-image img{max-height:28px}.fsh-inquiry-btn{width:100%;height:44px;margin-top:8px;margin-right:0}.fsh-lang-switch summary{gap:7px}.fsh-lang-current{font-size:16px;font-weight:600}.fsh-globe{width:30px;height:30px}.hero{min-height:auto;padding:32px 16px}.hero-card{padding:28px}.hero-card h1{font-size:24px}.footer-social-share{gap:12px;flex-wrap:wrap}.social-icon{width:32px;height:32px}.footer-main-grid{grid-template-columns:1fr;gap:22px}
}
@media(max-width:520px){
    .fsh-site-header{gap:0;padding:0 14px}.fsh-header-center{justify-content:flex-end}.fsh-header-right{margin-left:6px}.fsh-site-logo img{max-width:98px;max-height:48px}.fsh-site-logo span{font-size:18px}.fsh-lang-current{display:none}.fsh-lang-menu{right:0;left:auto}.fsh-main-nav{left:0;right:0}.hero-card{border-radius:16px;padding:24px 18px}.site-footer-inner{padding:28px 18px}.footer-link-categories{grid-template-columns:1fr;gap:18px}
}

/* 页尾响应式预留 */
@media(max-width:1500px){
    .fsh-footer-inner{width:min(1320px,calc(100% - 64px));padding-top:72px}
    .fsh-footer-top{grid-template-columns:260px minmax(0,1fr) 320px;gap:42px}
    .fsh-footer-link-categories{gap:36px 44px}
    .footer-link-category h3,.fsh-footer-contact-block h3{font-size:18px}
    .footer-link-category a,.footer-contact-item{font-size:15px}
}
@media(max-width:1180px){
    .fsh-footer-inner{width:calc(100% - 48px);padding:58px 0 30px}
    .fsh-footer-top{grid-template-columns:220px minmax(0,1fr);gap:36px 44px}
    .fsh-footer-contact-block{grid-column:2}
    .fsh-footer-link-categories{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:30px}
    .fsh-footer-brand{min-height:180px}
    .fsh-footer-logo img{max-width:128px;max-height:78px}
}
@media(max-width:980px){
    .fsh-footer-inner{width:calc(100% - 36px);padding:42px 0 28px}
    .fsh-footer-top{grid-template-columns:1fr;gap:34px}
    .fsh-footer-brand{min-height:0;align-items:flex-start}
    .fsh-footer-social-share{margin-top:22px;padding-top:0;gap:16px}
    .social-icon{width:22px;height:22px}
    .social-icon-mask{width:20px;height:20px}
    .fsh-footer-contact-block{grid-column:auto}
    .fsh-footer-link-categories{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:28px 34px}
    .footer-signature.fsh-footer-signature{margin-top:36px;padding-top:24px}
}
@media(max-width:520px){
    .fsh-footer-inner{width:calc(100% - 32px);padding-top:34px}
    .fsh-footer-link-categories{grid-template-columns:1fr;gap:24px}
    .footer-link-category h3,.fsh-footer-contact-block h3{font-size:17px;margin-bottom:14px}
    .footer-link-category ul{gap:10px}
    .footer-link-category a,.footer-contact-item{font-size:14px}
    .footer-contact-list{gap:14px}
    .footer-signature.fsh-footer-signature{font-size:13px}
}

/* v168：移动端页尾 Logo 与社交图标同排，页尾分类左对齐 */
@media(max-width:980px){
    .fsh-footer-brand{
        width:100%;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        gap:18px;
    }
    .fsh-footer-social-share{
        margin-top:0;
        margin-left:auto;
        padding-top:0;
        justify-content:flex-end;
        flex-wrap:nowrap;
    }
    .fsh-footer-link-categories{
        justify-content:flex-start;
        padding-right:0;
        text-align:left;
    }
}
@media(max-width:520px){
    .fsh-footer-brand{gap:14px}
    .fsh-footer-social-share{gap:14px}
    .fsh-main-nav{left:0;right:0}
}

/* v65：前端 Products 页面，移动端优先适配 + 1440px 产品列表版 */
.fsh-products-page{
    background:#fff;
    color:#151515;
    min-height:calc(100vh - 105px);
}
.fsh-products-banner{
    width:100%;
    position:relative;
    overflow:hidden;
    background:#f5f5f5;
}
.fsh-products-banner.is-single img,
.fsh-products-banner-slide img{
    display:block;
    width:100%;
    height:clamp(260px,31.25vw,600px);
    object-fit:cover;
    user-select:none;
    -webkit-user-drag:none;
}
.fsh-products-banner-viewport{
    width:100%;
    overflow:hidden;
}
.fsh-products-banner-track{
    display:flex;
    width:100%;
    transition:transform .52s ease;
    will-change:transform;
    touch-action:pan-y;
}
.fsh-products-banner-slide{
    flex:0 0 100%;
    width:100%;
    margin:0;
    position:relative;
}
.fsh-products-banner-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:46px;
    height:46px;
    border:1px solid rgba(255,255,255,.65);
    border-radius:999px;
    background:rgba(0,0,0,.22);
    color:#fff;
    font-size:34px;
    line-height:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:4;
    transition:background .18s ease,transform .18s ease,opacity .18s ease;
}
.fsh-products-banner-arrow:hover{
    background:rgba(226,27,18,.86);
    transform:translateY(-50%) scale(1.04);
}
.fsh-products-banner-arrow.is-prev{left:32px}
.fsh-products-banner-arrow.is-next{right:32px}
.fsh-products-banner-dots{
    position:absolute;
    left:0;
    right:0;
    bottom:24px;
    z-index:4;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:9px;
}
.fsh-products-banner-dots button{
    width:10px;
    height:10px;
    border:0;
    padding:0;
    border-radius:999px;
    background:rgba(255,255,255,.62);
    cursor:pointer;
    transition:width .18s ease,background .18s ease;
}
.fsh-products-banner-dots button.is-active{
    width:30px;
    background:#e21b12;
}
.fsh-products-banner-intro-wrap{
    position:absolute;
    inset:0;
    z-index:3;
    display:flex;
    align-items:center;
    pointer-events:none;
}
.fsh-products-banner-intro-inner{
    width:min(1700px,calc(100% - 96px));
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:flex-start;
}
.fsh-products-banner-intro{
    max-width:720px;
    min-width:0;
    pointer-events:auto;
    color:inherit;
}
.fsh-products-banner-intro > :first-child{margin-top:0}
.fsh-products-banner-intro > :last-child{margin-bottom:0}

.fsh-products-list-section{
    width:min(1440px,calc(100% - 80px));
    margin:0 auto;
    padding:28px 0 96px;
}
.fsh-products-breadcrumb{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:24px;
    margin:0 0 48px;
    color:#a9a9ad;
    font-size:15px;
    line-height:1.4;
    font-weight:500;
}
.fsh-products-breadcrumb a{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#9f9fa4;
    text-decoration:none;
    transition:color .18s ease;
}
.fsh-products-breadcrumb a:hover{
    color:#e21b12;
}
.fsh-products-breadcrumb-home-icon{
    width:15px;
    height:15px;
    display:inline-block;
    flex:0 0 15px;
    background:#c8c8cc;
    -webkit-mask:url('../icons/products/home.svg') center/contain no-repeat;
    mask:url('../icons/products/home.svg') center/contain no-repeat;
}
.fsh-products-breadcrumb a:hover .fsh-products-breadcrumb-home-icon{
    background:#e21b12;
}
.fsh-products-breadcrumb-separator{
    color:#c7c7cc;
    font-size:19px;
    line-height:1;
}
.fsh-products-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    margin-bottom:64px;
}
.fsh-products-toolbar-title{
    display:flex;
    align-items:flex-end;
    gap:30px;
    min-width:0;
}
.fsh-products-toolbar-title h1{
    margin:0;
    color:#15151a;
    font-size:31px;
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.055em;
    white-space:nowrap;
}
.fsh-products-toolbar-title p{
    margin:0 0 3px;
    color:#212125;
    font-size:15px;
    line-height:1.35;
    font-weight:500;
    white-space:nowrap;
}
.fsh-products-search{
    width:260px;
    height:44px;
    flex:0 0 260px;
    display:flex;
    align-items:center;
    border:1px solid #efeff1;
    border-radius:999px;
    background:#fff;
    box-shadow:0 8px 28px rgba(17,24,39,.035);
    overflow:hidden;
}
.fsh-products-search input{
    min-width:0;
    flex:1;
    height:100%;
    border:0;
    outline:0;
    padding:0 0 0 20px;
    background:transparent;
    color:#202024;
    font-size:14px;
    font-weight:500;
}
.fsh-products-search input::placeholder{
    color:#b0b0b6;
}
.fsh-products-search button{
    width:46px;
    height:44px;
    border:0;
    padding:0;
    background:transparent;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}
.fsh-products-search-icon{
    width:17px;
    height:17px;
    display:block;
    background:#b9b9be;
    -webkit-mask:url('../icons/products/search.svg') center/contain no-repeat;
    mask:url('../icons/products/search.svg') center/contain no-repeat;
    transition:background .18s ease;
}
.fsh-products-search button:hover .fsh-products-search-icon{
    background:#e21b12;
}
.fsh-products-grid{
    display:grid;
    grid-template-columns:repeat(4,330px);
    justify-content:space-between;
    column-gap:40px;
    row-gap:52px;
}
.fsh-product-card{
    width:330px;
    height:450px;
    min-width:0;
    background:#fff;
    border-radius:11px;
    overflow:hidden;
    border:0;
    box-shadow:0 18px 48px rgba(18,18,23,.045);
    transition:transform .22s ease,box-shadow .22s ease;
}
.fsh-product-card:hover{
    transform:translateY(-5px);
    box-shadow:0 26px 64px rgba(18,18,23,.09);
}
.fsh-product-card-link{
    display:block;
    height:100%;
    color:inherit;
    text-decoration:none;
    -webkit-tap-highlight-color:rgba(226,27,18,.08);
}
.fsh-product-card-image{
    width:330px;
    height:320px;
    background:#f7f7f7;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    color:#999;
    font-size:13px;
}
.fsh-product-card-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .28s ease;
}
.fsh-product-card:hover .fsh-product-card-image img{
    transform:scale(1.045);
}
.fsh-product-card-body{
    height:130px;
    padding:27px 30px 24px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
}
.fsh-product-card-body h3{
    margin:0;
    color:#15151a;
    font-size:20px;
    line-height:1.26;
    font-weight:900;
    letter-spacing:-.035em;
    text-transform:uppercase;
    display:block;
    width:100%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.fsh-product-view-more{
    margin-top:18px;
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:#e21b12;
    font-size:17px;
    line-height:1.2;
    font-weight:800;
}
.fsh-product-view-more-icon{
    width:15px;
    height:12px;
    display:inline-block;
    flex:0 0 15px;
    background:#e21b12;
    -webkit-mask:url('../icons/products/view-more-arrow.svg') center/contain no-repeat;
    mask:url('../icons/products/view-more-arrow.svg') center/contain no-repeat;
}
.fsh-products-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin-top:70px;
    min-height:54px;
}
.fsh-products-page-number,
.fsh-products-page-gap,
.fsh-products-page-arrow{
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    color:#19191d;
    text-decoration:none;
    font-size:16px;
    line-height:1;
    font-weight:500;
}
.fsh-products-page-number.is-active{
    width:54px;
    height:54px;
    background:#e21b12;
    color:#fff;
    font-weight:700;
}
.fsh-products-page-number:not(.is-active):hover,
.fsh-products-page-arrow:not(.is-disabled):hover{
    color:#e21b12;
}
.fsh-products-page-gap{
    letter-spacing:2px;
}
.fsh-products-page-arrow span{
    width:16px;
    height:16px;
    display:block;
    background:#aeb2bd;
}
.fsh-products-page-arrow span.is-left{
    -webkit-mask:url('../icons/products/chevron-left.svg') center/contain no-repeat;
    mask:url('../icons/products/chevron-left.svg') center/contain no-repeat;
}
.fsh-products-page-arrow span.is-right{
    -webkit-mask:url('../icons/products/chevron-right.svg') center/contain no-repeat;
    mask:url('../icons/products/chevron-right.svg') center/contain no-repeat;
}
.fsh-products-page-arrow:not(.is-disabled):hover span{
    background:#e21b12;
}
.fsh-products-page-arrow.is-disabled{
    opacity:.42;
    pointer-events:none;
}
.fsh-products-empty{
    width:min(620px,100%);
    margin:0 auto;
    padding:54px 28px;
    border:1px dashed #d8d8d8;
    background:#fafafa;
    text-align:center;
    color:#777;
}
.fsh-products-empty strong{
    display:block;
    color:#111;
    font-size:22px;
    margin-bottom:10px;
}
.fsh-products-empty p{
    margin:0;
    line-height:1.75;
}

@media(max-width:1540px){
    .fsh-products-list-section{
        width:calc(100% - 80px);
    }
    .fsh-products-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:40px;
    }
    .fsh-product-card{
        width:100%;
        height:auto;
        min-height:450px;
    }
    .fsh-product-card-image{
        width:100%;
        height:auto;
        aspect-ratio:330/320;
    }
    .fsh-product-card-body{
        height:130px;
    }
}
@media(max-width:1180px){
    .fsh-products-list-section{
        width:calc(100% - 48px);
        padding:24px 0 78px;
    }
    .fsh-products-breadcrumb{
        margin-bottom:36px;
    }
    .fsh-products-toolbar{
        margin-bottom:44px;
    }
    .fsh-products-toolbar-title h1{
        font-size:28px;
    }
    .fsh-products-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:28px;
    }
}
@media(max-width:980px){
    .fsh-products-page{
        min-height:calc(100vh - 72px);
    }
    .fsh-products-banner.is-single img,
    .fsh-products-banner-slide img{
        height:clamp(190px,46vw,360px);
    }
    .fsh-products-banner-arrow{
        width:38px;
        height:38px;
        font-size:28px;
    }
    .fsh-products-banner-arrow.is-prev{left:16px}
    .fsh-products-banner-arrow.is-next{right:16px}
    .fsh-products-banner-dots{bottom:16px}
    .fsh-products-banner-intro-inner{
        width:calc(100% - 48px);
    }
    .fsh-products-banner-intro{
        max-width:58%;
    }
    .fsh-products-toolbar{
        align-items:flex-start;
        flex-direction:column;
        gap:20px;
    }
    .fsh-products-toolbar-title{
        width:100%;
        justify-content:space-between;
        gap:18px;
    }
    .fsh-products-search{
        width:min(420px,100%);
        flex-basis:44px;
    }
    .fsh-products-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }
    .fsh-product-card{
        min-height:0;
    }
    .fsh-product-card-body{
        height:118px;
        padding:20px 20px 18px;
    }
    .fsh-product-card-body h3{
        font-size:18px;
    }
    .fsh-product-view-more{
        margin-top:14px;
        font-size:15px;
    }
}
@media(max-width:768px){
    .fsh-products-banner.is-single img,
    .fsh-products-banner-slide img{
        height:44vw;
        min-height:172px;
        max-height:320px;
    }
    .fsh-products-banner-arrow{
        display:none;
    }
    .fsh-products-banner-dots{
        bottom:12px;
        gap:7px;
    }
    .fsh-products-banner-dots button{
        width:8px;
        height:8px;
    }
    .fsh-products-banner-dots button.is-active{
        width:24px;
    }
    .fsh-products-list-section{
        width:calc(100% - 28px);
        padding:20px 0 58px;
    }
    .fsh-products-breadcrumb{
        margin-bottom:30px;
        font-size:13px;
        gap:9px;
    }
    .fsh-products-toolbar{
        margin-bottom:28px;
        gap:16px;
    }
    .fsh-products-toolbar-title{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }
    .fsh-products-toolbar-title h1{
        font-size:28px;
    }
    .fsh-products-toolbar-title p{
        font-size:13px;
        white-space:normal;
    }
    .fsh-products-search{
        width:100%;
        height:42px;
        flex-basis:42px;
    }
    .fsh-products-search button{
        height:42px;
    }
    .fsh-products-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
    }
    .fsh-product-card{
        border-radius:8px;
        box-shadow:0 12px 32px rgba(18,18,23,.045);
    }
    .fsh-product-card:hover{
        transform:none;
        box-shadow:0 12px 32px rgba(18,18,23,.045);
    }
    .fsh-product-card-image img{
        transition:none;
    }
    .fsh-product-card:hover .fsh-product-card-image img{
        transform:none;
    }
    .fsh-product-card-body{
        height:92px;
        padding:12px 12px 11px;
    }
    .fsh-product-card-body h3{
        font-size:14px;
        line-height:1.32;
    }
    .fsh-product-view-more{
        margin-top:10px;
        gap:7px;
        font-size:13px;
    }
    .fsh-product-view-more-icon{
        width:12px;
        height:10px;
    }
    .fsh-products-pagination{
        margin-top:38px;
        gap:9px;
    }
    .fsh-products-page-number,
    .fsh-products-page-gap,
    .fsh-products-page-arrow{
        width:30px;
        height:30px;
        font-size:14px;
    }
    .fsh-products-page-number.is-active{
        width:44px;
        height:44px;
    }
}
@media(max-width:560px){
    .fsh-products-banner.is-single img,
    .fsh-products-banner-slide img{
        height:54vw;
        min-height:168px;
    }
    .fsh-products-banner-intro-inner{
        width:calc(100% - 30px);
    }
    .fsh-products-banner-intro{
        max-width:66%;
    }
}
@media(max-width:420px){
    .fsh-products-banner.is-single img,
    .fsh-products-banner-slide img{
        height:47vw;
        min-height:150px;
    }
    .fsh-products-list-section{
        width:calc(100% - 22px);
    }
    .fsh-products-grid{
        gap:10px;
    }
    .fsh-product-card-body{
        height:84px;
        padding:10px 9px 9px;
    }
    .fsh-product-card-body h3{
        font-size:13px;
    }
    .fsh-product-view-more{
        margin-top:8px;
        font-size:12px;
    }
}

/* 前端产品详情页：首屏产品图片 + 基础信息 */
.fsh-product-detail-page{
    background:#fff;
    min-height:calc(100vh - 105px);
}
.fsh-product-hero{
    width:100%;
    padding:56px 0 100px;
    background:#fff;
}
.fsh-product-hero-inner{
    width:min(1440px,calc(100% - 80px));
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,740px) minmax(360px,1fr);
    gap:64px;
    align-items:start;
}
.fsh-product-gallery{
    min-width:0;
    display:grid;
    grid-template-columns:96px minmax(0,620px);
    gap:24px;
    align-items:start;
}
.fsh-product-thumbs-wrap{
    width:96px;
    display:flex;
    flex-direction:column;
    align-items:center;
    min-width:0;
}
.fsh-product-thumbs{
    width:96px;
    max-height:464px;
    overflow-y:auto;
    overflow-x:hidden;
    display:grid;
    gap:16px;
    padding:0 2px 2px;
    scrollbar-width:none;
}
.fsh-product-thumbs::-webkit-scrollbar{display:none}
.fsh-product-thumb{
    width:92px;
    height:92px;
    border:0;
    padding:0;
    border-radius:10px;
    overflow:hidden;
    background:#6b4100;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:box-shadow .18s ease,transform .18s ease,opacity .18s ease;
}
.fsh-product-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.fsh-product-thumb.is-active{
    box-shadow:0 0 0 2px #6b4100 inset,0 8px 20px rgba(107,65,0,.14);
}
.fsh-product-thumb:hover{
    transform:translateY(-2px);
}
.fsh-product-thumbs-more{
    margin-top:18px;
    width:28px;
    height:28px;
    border:0;
    background:transparent;
    cursor:pointer;
    position:relative;
    padding:0;
}
.fsh-product-thumbs-more::before{
    content:"";
    width:24px;
    height:24px;
    display:block;
    margin:auto;
    background:#6b4100;
    -webkit-mask:url('../icons/products/detail-thumb-more.svg') center/contain no-repeat;
    mask:url('../icons/products/detail-thumb-more.svg') center/contain no-repeat;
}
.fsh-product-main-image{
    width:100%;
    max-width:620px;
    aspect-ratio:1/1;
    border-radius:16px;
    overflow:hidden;
    background:#f7f5f1;
    display:flex;
    align-items:center;
    justify-content:center;
}
.fsh-product-main-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.fsh-product-main-image.is-empty{
    color:#8a8a8a;
    font-size:15px;
}
.fsh-product-summary{
    min-width:0;
    padding-top:18px;
    color:#000;
}
.fsh-product-summary h1{
    margin:0 0 16px;
    font-size:40px;
    line-height:1.16;
    font-weight:500;
    letter-spacing:.02em;
    color:#000;
}
.fsh-product-short-desc{
    margin:0 0 46px;
    color:#000;
    font-size:20px;
    line-height:1.48;
}
.fsh-product-short-desc p{
    margin:0 0 7px;
}
.fsh-product-short-desc p:last-child{margin-bottom:0}
.fsh-product-price{
    margin:0 0 28px;
    color:#000;
    font-size:38px;
    line-height:1.18;
    font-weight:400;
    letter-spacing:.01em;
}
.fsh-product-selling-points{
    list-style:none;
    margin:0 0 40px;
    padding:0;
    display:grid;
    gap:18px;
}
.fsh-product-selling-points li{
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    gap:18px;
    align-items:start;
    color:#000;
}
.fsh-product-point-icon{
    width:24px;
    height:24px;
    display:block;
    margin-top:1px;
    background:#6b4100;
    -webkit-mask:url('../icons/products/detail-check.svg') center/contain no-repeat;
    mask:url('../icons/products/detail-check.svg') center/contain no-repeat;
}
.fsh-product-point-text{
    min-width:0;
    font-size:19px;
    line-height:1.44;
    color:#000;
}
.fsh-product-point-text p{
    margin:0 0 5px;
}
.fsh-product-point-text p:last-child{margin-bottom:0}
.fsh-product-buy-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    align-items:center;
    max-width:100%;
}
.fsh-product-buy-btn{
    min-width:236px;
    height:58px;
    padding:0 34px;
    border-radius:8px;
    background:#6b4100;
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:25px;
    line-height:1;
    font-weight:800;
    letter-spacing:.02em;
    transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.fsh-product-buy-btn:hover{
    background:#563400;
    transform:translateY(-1px);
    box-shadow:0 12px 26px rgba(107,65,0,.2);
}
.fsh-product-detail-empty{
    width:min(760px,calc(100% - 48px));
    margin:0 auto;
    padding:96px 0 120px;
    text-align:center;
}
.fsh-product-detail-empty h1{
    margin:0 0 12px;
    color:#111;
    font-size:34px;
    line-height:1.2;
}
.fsh-product-detail-empty p{
    margin:0 0 24px;
    color:#666;
    font-size:16px;
    line-height:1.7;
}
.fsh-product-detail-empty a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 22px;
    border-radius:999px;
    background:#e21b12;
    color:#fff;
    text-decoration:none;
    font-weight:700;
}

@media(max-width:1540px){
    .fsh-product-hero-inner{
        width:calc(100% - 72px);
        grid-template-columns:minmax(0,700px) minmax(340px,1fr);
        gap:54px;
    }
    .fsh-product-gallery{
        grid-template-columns:88px minmax(0,1fr);
        gap:22px;
    }
    .fsh-product-thumbs-wrap,
    .fsh-product-thumbs{width:88px}
    .fsh-product-thumbs{max-height:424px;gap:14px}
    .fsh-product-thumb{width:84px;height:84px}
    .fsh-product-main-image{max-width:none}
    .fsh-product-summary h1{font-size:38px}
    .fsh-product-short-desc{font-size:19px;margin-bottom:40px}
    .fsh-product-price{font-size:36px;margin-bottom:24px}
    .fsh-product-selling-points{gap:16px;margin-bottom:34px}
    .fsh-product-point-text{font-size:18px}
    .fsh-product-buy-btn{height:54px;font-size:23px;min-width:218px;padding:0 30px}
}
@media(max-width:1180px){
    .fsh-product-hero{padding:46px 0 68px}
    .fsh-product-hero-inner{
        width:calc(100% - 48px);
        grid-template-columns:1fr;
        gap:34px;
    }
    .fsh-product-gallery{
        grid-template-columns:88px minmax(0,1fr);
        max-width:720px;
        margin:0 auto;
        width:100%;
    }
    .fsh-product-summary{
        max-width:720px;
        margin:0 auto;
        width:100%;
        padding-top:0;
    }
}
@media(max-width:768px){
    .fsh-product-detail-page{
        min-height:calc(100vh - 72px);
    }
    .fsh-product-hero{
        padding:22px 0 50px;
    }
    .fsh-product-hero-inner{
        width:calc(100% - 28px);
        gap:24px;
    }
    .fsh-product-gallery{
        display:flex;
        flex-direction:column-reverse;
        gap:12px;
        max-width:none;
    }
    .fsh-product-main-image{
        border-radius:12px;
        aspect-ratio:1/1;
    }
    .fsh-product-thumbs-wrap{
        width:100%;
        display:block;
        position:relative;
    }
    .fsh-product-thumbs{
        width:100%;
        max-height:none;
        overflow-x:auto;
        overflow-y:hidden;
        display:flex;
        gap:9px;
        padding:2px 0 4px;
        scrollbar-width:none;
    }
    .fsh-product-thumb{
        width:68px;
        height:68px;
        flex:0 0 68px;
        border-radius:8px;
    }
    .fsh-product-thumb:hover{transform:none}
    .fsh-product-thumbs-more{
        display:none;
    }
    .fsh-product-summary h1{
        margin-bottom:10px;
        font-size:28px;
        line-height:1.16;
    }
    .fsh-product-short-desc{
        margin-bottom:24px;
        font-size:16px;
        line-height:1.55;
    }
    .fsh-product-price{
        margin-bottom:18px;
        font-size:28px;
    }
    .fsh-product-selling-points{
        gap:12px;
        margin-bottom:26px;
    }
    .fsh-product-selling-points li{
        grid-template-columns:20px minmax(0,1fr);
        gap:10px;
    }
    .fsh-product-point-icon{
        width:20px;
        height:20px;
        margin-top:2px;
    }
    .fsh-product-point-text{
        font-size:15px;
        line-height:1.45;
    }
    .fsh-product-buy-actions{
        width:100%;
        gap:10px;
    }
    .fsh-product-buy-btn{
        width:100%;
        min-width:0;
        height:50px;
        border-radius:7px;
        padding:0 20px;
        font-size:20px;
    }
}
@media(max-width:420px){
    .fsh-product-hero-inner{
        width:calc(100% - 22px);
    }
    .fsh-product-thumb{
        width:62px;
        height:62px;
        flex-basis:62px;
    }
    .fsh-product-summary h1{font-size:26px}
    .fsh-product-short-desc{font-size:15px}
    .fsh-product-price{font-size:26px}
    .fsh-product-point-text{font-size:15px}
}

/* v72：产品前端文案安全换行，避免长标题/长价格/长卖点/按钮文案撑出区块 */
.fsh-products-page,
.fsh-product-detail-page{
    /* clip 只裁掉横向视觉溢出，不会像 hidden 一样把 main 变成纵向滚动容器 */
    overflow-x:clip;
    overflow-y:visible;
}
.fsh-product-card,
.fsh-product-card-link,
.fsh-product-card-body,
.fsh-product-view-more,
.fsh-product-hero-inner,
.fsh-product-gallery,
.fsh-product-summary,
.fsh-product-short-desc,
.fsh-product-price,
.fsh-product-selling-points,
.fsh-product-selling-points li,
.fsh-product-point-text,
.fsh-product-buy-actions,
.fsh-product-buy-btn{
    min-width:0;
    max-width:100%;
}
.fsh-product-card-body h3,
.fsh-product-view-more,
.fsh-product-summary h1,
.fsh-product-short-desc,
.fsh-product-short-desc *,
.fsh-product-price,
.fsh-product-point-text,
.fsh-product-point-text *,
.fsh-product-buy-actions,
.fsh-product-buy-btn{
    overflow-wrap:anywhere;
    word-break:break-word;
    word-wrap:break-word;
    hyphens:auto;
}
.fsh-product-view-more{
    white-space:normal;
    max-width:100%;
}
.fsh-product-buy-btn{
    height:auto;
    min-height:58px;
    line-height:1.22;
    text-align:center;
    white-space:normal;
    padding-top:10px;
    padding-bottom:10px;
}
.fsh-product-card-body h3{
    max-width:100%;
    display:block;
    width:100%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    overflow-wrap:normal;
    word-break:normal;
    word-wrap:normal;
    hyphens:none;
}
.fsh-product-price{
    white-space:normal;
}
@media(max-width:1540px){
    .fsh-product-buy-btn{
        min-height:54px;
    }
}
@media(max-width:768px){
    .fsh-product-buy-btn{
        min-height:50px;
    }
}

/* v73：产品详情页第二屏：产品简介 + 卖点图标 + 内容选项卡 */
.fsh-product-info-section{
    width:100%;
    padding:6px 0 96px;
    background:#fff;
}
.fsh-product-info-inner{
    width:min(1440px,calc(100% - 80px));
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(300px,440px) minmax(0,1fr);
    gap:70px;
    align-items:start;
}
.fsh-product-info-left{
    min-width:0;
    color:#000;
    padding-top:16px;
}
.fsh-product-info-left h2{
    margin:0 0 28px;
    color:#000;
    font-size:28px;
    line-height:1.16;
    font-weight:600;
    letter-spacing:.02em;
}
.fsh-product-intro-copy{
    height:210px;
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:10px;
    color:#000;
    font-size:20px;
    line-height:1.78;
    scrollbar-width:thin;
    scrollbar-color:rgba(107,65,0,.38) rgba(107,65,0,.08);
}
.fsh-product-intro-copy::-webkit-scrollbar{
    width:5px;
}
.fsh-product-intro-copy::-webkit-scrollbar-track{
    background:rgba(107,65,0,.08);
    border-radius:99px;
}
.fsh-product-intro-copy::-webkit-scrollbar-thumb{
    background:rgba(107,65,0,.38);
    border-radius:99px;
}
.fsh-product-intro-copy p{
    margin:0 0 14px;
}
.fsh-product-intro-copy p:last-child{margin-bottom:0}
.fsh-product-intro-copy img{
    max-width:100%;
    height:auto;
}
.fsh-product-icon-carousel{
    position:relative;
    margin-top:40px;
}
.fsh-product-icon-carousel.has-controls{
    padding:0 34px;
}
.fsh-product-icon-points{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 48px) / 3);
    grid-template-columns:none;
    gap:24px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
}
.fsh-product-icon-points::-webkit-scrollbar{display:none}
.fsh-product-icon-point{
    min-width:0;
    text-align:center;
    color:#6b4100;
    scroll-snap-align:start;
}
.fsh-product-icon-nav{
    position:absolute;
    top:50%;
    z-index:2;
    width:26px;
    height:38px;
    border:0;
    background:transparent;
    color:#6b4100;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:translateY(-50%);
    font-size:32px;
    line-height:1;
    font-weight:500;
    padding:0;
}
.fsh-product-icon-nav:hover{
    color:#8a5a0a;
}
.fsh-product-icon-nav:focus-visible{
    outline:2px solid #6b4100;
    outline-offset:2px;
    border-radius:8px;
}
.fsh-product-icon-nav.is-disabled{
    opacity:.28;
    cursor:default;
    pointer-events:none;
}
.fsh-product-icon-nav-prev{left:0}
.fsh-product-icon-nav-next{right:0}
.fsh-product-icon-point-media{
    width:84px;
    height:84px;
    margin:0 auto 14px;
    border:2px solid #7c512c;
    border-radius:50%;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
}
.fsh-product-icon-point-media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.fsh-product-icon-point-text{
    color:#7c512c;
    font-size:20px;
    line-height:1.35;
    font-weight:700;
}
.fsh-product-info-card{
    min-width:0;
    height:550px;
    border-radius:40px;
    background:#efddc9;
    padding:32px 46px 38px;
    color:#000;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.fsh-product-info-tabs{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:end;
    gap:0;
    border-bottom:2px solid rgba(230,188,121,.78);
}
.fsh-product-info-tab{
    min-width:0;
    min-height:62px;
    border:0;
    border-bottom:6px solid transparent;
    background:transparent;
    color:#000;
    cursor:pointer;
    padding:0 16px 22px;
    font-size:24px;
    line-height:1.2;
    font-weight:800;
    text-align:center;
    transition:color .18s ease,border-color .18s ease;
}
.fsh-product-info-tab.is-active{
    color:#6b4100;
    border-bottom-color:#6b4100;
}
.fsh-product-info-tab:focus-visible{
    outline:2px solid #6b4100;
    outline-offset:4px;
    border-radius:8px;
}
.fsh-product-info-panels{
    min-width:0;
    flex:1 1 auto;
    min-height:0;
    margin-top:36px;
    padding-top:0;
    padding-right:8px;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-width:thin;
    scrollbar-color:rgba(107,65,0,.45) rgba(255,255,255,.28);
}
.fsh-product-info-panels::-webkit-scrollbar{
    width:6px;
}
.fsh-product-info-panels::-webkit-scrollbar-track{
    background:rgba(255,255,255,.28);
    border-radius:999px;
}
.fsh-product-info-panels::-webkit-scrollbar-thumb{
    background:rgba(107,65,0,.45);
    border-radius:999px;
}
.fsh-product-info-panels::-webkit-scrollbar-thumb:hover{
    background:rgba(107,65,0,.62);
}
.fsh-product-info-panel{
    min-width:0;
}
.fsh-product-info-richtext{
    min-width:0;
    color:#000;
    font-size:20px;
    line-height:1.78;
}
.fsh-product-info-richtext h1,
.fsh-product-info-richtext h2,
.fsh-product-info-richtext h3,
.fsh-product-info-richtext h4,
.fsh-product-info-richtext h5,
.fsh-product-info-richtext h6{
    margin:0 0 24px;
    color:#000;
    line-height:1.25;
}
.fsh-product-info-richtext h1{font-size:34px}
.fsh-product-info-richtext h2{font-size:30px}
.fsh-product-info-richtext h3{font-size:26px}
.fsh-product-info-richtext p{
    margin:0 0 16px;
}
.fsh-product-info-richtext p:last-child{margin-bottom:0}
.fsh-product-info-richtext ul,
.fsh-product-info-richtext ol{
    margin:0 0 18px 1.2em;
    padding:0;
}
.fsh-product-info-richtext li{
    margin:0 0 10px;
}
.fsh-product-info-richtext img,
.fsh-product-info-richtext video{
    max-width:100%;
    height:auto;
    border-radius:18px;
}
.fsh-product-info-richtext table{
    max-width:100%;
    width:100%;
    border-collapse:collapse;
    table-layout:auto;
}
.fsh-product-info-richtext table td,
.fsh-product-info-richtext table th{
    border:1px solid rgba(107,65,0,.22);
    padding:10px;
    vertical-align:top;
}
.fsh-product-info-empty{
    color:#7c6f63;
    font-size:18px;
    line-height:1.7;
}

/* v73：第二屏长文案/富文本防溢出 */
.fsh-product-info-section,
.fsh-product-info-inner,
.fsh-product-info-left,
.fsh-product-intro-copy,
.fsh-product-intro-copy *,
.fsh-product-icon-carousel,
.fsh-product-icon-points,
.fsh-product-icon-point,
.fsh-product-icon-point-text,
.fsh-product-info-card,
.fsh-product-info-tabs,
.fsh-product-info-tab,
.fsh-product-info-panel,
.fsh-product-info-richtext,
.fsh-product-info-richtext *,
.fsh-product-info-empty{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-word;
    word-wrap:break-word;
    hyphens:auto;
}

@media(max-width:1540px){
    .fsh-product-info-inner{
        width:calc(100% - 72px);
        grid-template-columns:minmax(280px,400px) minmax(0,1fr);
        gap:54px;
    }
    .fsh-product-info-left h2{font-size:28px;margin-bottom:24px}
    .fsh-product-intro-copy{font-size:18px;line-height:1.72;height:210px}
    .fsh-product-icon-point-media{width:76px;height:76px}
    .fsh-product-icon-point-text{font-size:18px}
    .fsh-product-info-card{border-radius:34px;padding:30px 38px 34px}
    .fsh-product-info-tab{font-size:21px;min-height:58px;padding:0 12px 19px}
    .fsh-product-info-richtext{font-size:18px;line-height:1.72}
}
@media(max-width:1180px){
    .fsh-product-info-section{padding:0 0 76px}
    .fsh-product-info-inner{
        width:calc(100% - 48px);
        grid-template-columns:1fr;
        gap:34px;
    }
    .fsh-product-info-left{
        max-width:720px;
        width:100%;
        margin:0 auto;
        padding-top:0;
    }
    .fsh-product-info-card{
        max-width:920px;
        width:100%;
        margin:0 auto;
    }
}
@media(max-width:768px){
    .fsh-product-info-section{padding:0 0 54px}
    .fsh-product-info-inner{
        width:calc(100% - 28px);
        gap:24px;
    }
    .fsh-product-info-left h2{
        font-size:28px;
        line-height:1.18;
        margin-bottom:16px;
    }
    .fsh-product-intro-copy{
        height:210px;
        font-size:15px;
        line-height:1.68;
    }
    .fsh-product-icon-carousel{
        margin-top:24px;
    }
    .fsh-product-icon-carousel.has-controls{
        padding:0 26px;
    }
    .fsh-product-icon-points{
        gap:14px;
        grid-auto-columns:calc((100% - 28px) / 3);
    }
    .fsh-product-icon-nav{
        width:22px;
        height:32px;
        font-size:26px;
    }
    .fsh-product-icon-point-media{
        width:58px;
        height:58px;
        margin-bottom:8px;
    }
    .fsh-product-icon-point-text{
        font-size:13px;
        line-height:1.35;
    }
    .fsh-product-info-card{
        border-radius:22px;
        padding:22px 16px 24px;
    }
    .fsh-product-info-tabs{
        display:flex;
        overflow-x:auto;
        gap:0;
        scrollbar-width:none;
    }
    .fsh-product-info-tabs::-webkit-scrollbar{display:none}
    .fsh-product-info-tab{
        flex:0 0 auto;
        min-height:44px;
        padding:0 18px 12px;
        font-size:16px;
        border-bottom-width:4px;
    }
    .fsh-product-info-panels{
        margin-top:22px;
        padding-right:6px;
    }
    .fsh-product-info-richtext{
        font-size:15px;
        line-height:1.68;
    }
    .fsh-product-info-richtext h1{font-size:24px}
    .fsh-product-info-richtext h2{font-size:22px}
    .fsh-product-info-richtext h3{font-size:20px}
    .fsh-product-info-richtext img,
    .fsh-product-info-richtext video{
        border-radius:12px;
    }
}
@media(max-width:420px){
    .fsh-product-info-inner{width:calc(100% - 22px)}
    .fsh-product-icon-points{gap:10px;grid-auto-columns:calc((100% - 20px) / 3)}
    .fsh-product-icon-carousel.has-controls{padding:0 22px}
    .fsh-product-icon-nav{font-size:24px;width:20px}
    .fsh-product-icon-point-media{width:52px;height:52px}
    .fsh-product-icon-point-text{font-size:12px}
    .fsh-product-info-card{border-radius:18px;padding-left:12px;padding-right:12px}
    .fsh-product-info-tab{font-size:15px;padding-left:14px;padding-right:14px}
}

/* v76：产品详情页成分介绍横向列表 + 图片弹窗 */
.fsh-product-ingredients-section{
    width:100%;
    padding:10px 0 104px;
    background:#fff;
    color:#6b4100;
}
.fsh-product-ingredients-inner{
    width:min(1440px,calc(100% - 80px));
    margin:0 auto;
    min-width:0;
    --fsh-ingredient-card-width:250px;
    --fsh-ingredient-image-height:180px;
    --fsh-ingredient-gap:24px;
}
.fsh-product-ingredients-inner h2{
    margin:0 0 28px;
    color:#6b4100;
    font-size:30px;
    line-height:1.2;
    font-weight:800;
    text-align:center;
    letter-spacing:.04em;
}
.fsh-product-ingredient-carousel{
    position:relative;
    min-width:0;
}
.fsh-product-ingredient-carousel.has-controls{
    padding:0 44px;
}
.fsh-product-ingredient-track {
    grid-auto-flow: column;
    grid-auto-columns: var(--fsh-ingredient-card-width);
    grid-template-columns: none;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    min-width: 0;
}
.fsh-product-ingredient-carousel.has-controls .fsh-product-ingredient-track {
    display: grid;
    gap: var(--fsh-ingredient-gap);
    overflow-x: auto;
    overflow-y: hidden;
}
.fsh-product-ingredient-track::-webkit-scrollbar{display:none}
.fsh-product-ingredient-carousel:not(.has-controls) .fsh-product-ingredient-track{
    display:flex;
    justify-content:center;
    flex-wrap:nowrap;
}
.fsh-product-ingredient-carousel.is-exactly-five .fsh-product-ingredient-track{
    width:100%;
    justify-content:space-between;
    gap:0;
}
.fsh-product-ingredient-carousel.is-less-than-five .fsh-product-ingredient-track{
    justify-content:center;
    gap:clamp(28px,3.2vw,52px);
}
.fsh-product-ingredient-carousel:not(.has-controls) .fsh-product-ingredient-card{
    flex:0 0 var(--fsh-ingredient-card-width);
}
.fsh-product-ingredient-card{
    appearance:none;
    width:var(--fsh-ingredient-card-width);
    max-width:var(--fsh-ingredient-card-width);
    flex:0 0 var(--fsh-ingredient-card-width);
    border:3px solid #6b4100;
    border-radius:20px;
    background:#fff;
    padding:0;
    min-width:0;
    overflow:hidden;
    cursor:pointer;
    color:#6b4100;
    text-align:center;
    scroll-snap-align:start;
    box-shadow:none;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.fsh-product-ingredient-card:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 36px rgba(107,65,0,.12);
    border-color:#7b4a00;
}
.fsh-product-ingredient-card:focus-visible{
    outline:3px solid rgba(107,65,0,.35);
    outline-offset:4px;
}
.fsh-product-ingredient-image{
    display:block;
    width:100%;
    height:var(--fsh-ingredient-image-height);
    background:#000;
    border-bottom:3px solid #6b4100;
    overflow:hidden;
}
.fsh-product-ingredient-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}
.fsh-product-ingredient-title{
    display:block;
    width:100%;
    height:64px;
    padding:0 18px;
    color:#6b4100;
    font-size:22px;
    line-height:64px;
    font-weight:800;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    text-align:center;
}
.fsh-product-ingredient-nav{
    position:absolute;
    top:50%;
    z-index:2;
    width:36px;
    height:56px;
    border:0;
    border-radius:12px;
    background:rgba(255,255,255,.94);
    color:#6b4100;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:translateY(-50%);
    font-size:44px;
    line-height:1;
    font-weight:500;
    padding:0 0 5px;
    box-shadow:0 12px 28px rgba(107,65,0,.12);
}
.fsh-product-ingredient-nav:hover{
    color:#8a5a0a;
    background:#fff;
}
.fsh-product-ingredient-nav:focus-visible{
    outline:2px solid #6b4100;
    outline-offset:2px;
}
.fsh-product-ingredient-nav.is-disabled{
    opacity:.28;
    cursor:default;
    pointer-events:none;
}
.fsh-product-ingredient-nav-prev{left:0}
.fsh-product-ingredient-nav-next{right:0}
.fsh-product-ingredient-modal[hidden]{display:none}
.fsh-product-ingredient-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:36px;
}
.fsh-product-ingredient-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.68);
}
.fsh-product-ingredient-modal-dialog{
    position:relative;
    z-index:1;
    width:min(920px,100%);
    max-height:calc(100vh - 72px);
    border-radius:22px;
    background:#fff;
    padding:22px 24px 26px;
    box-shadow:0 28px 80px rgba(0,0,0,.34);
    display:flex;
    flex-direction:column;
    align-items:center;
}
.fsh-product-ingredient-modal-close {
    position: absolute;
    top: -15px;
    right: -15px;
    z-index: 3;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #6b4100;
    font-size: 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .14);
}
.fsh-product-ingredient-modal-close:hover{
    background:#6b4100;
    color:#fff;
}
.fsh-product-ingredient-modal-media{
    width:100%;
    max-height:calc(100vh - 190px);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:16px;
    background:#f6f1ea;
}
.fsh-product-ingredient-modal-media img{
    display:block;
    max-width:100%;
    max-height:calc(100vh - 190px);
    width:auto;
    height:auto;
    object-fit:contain;
}
.fsh-product-ingredient-modal-title{
    width:100%;
    margin-top:18px;
    color:#6b4100;
    font-size:24px;
    line-height:1.35;
    font-weight:800;
    text-align:center;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-product-ingredient-modal-arrow{
    position:absolute;
    top:50%;
    z-index:3;
    width:44px;
    height:62px;
    border:0;
    border-radius:14px;
    background:rgba(255,255,255,.9);
    color:#6b4100;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:translateY(-50%);
    font-size:48px;
    line-height:1;
    padding:0 0 6px;
    box-shadow:0 12px 28px rgba(0,0,0,.16);
}
.fsh-product-ingredient-modal-arrow:hover{
    background:#6b4100;
    color:#fff;
}
.fsh-product-ingredient-modal-prev{left:34px}
.fsh-product-ingredient-modal-next{right:34px}
body.fsh-product-ingredient-modal-open{
    overflow:hidden;
}

@media(max-width:1540px){
    .fsh-product-ingredients-inner{
        width:calc(100% - 72px);
        --fsh-ingredient-card-width:240px;
        --fsh-ingredient-image-height:168px;
        --fsh-ingredient-gap:20px;
    }
    .fsh-product-ingredient-title{font-size:20px;height:58px;line-height:58px}
}
@media(max-width:1180px){
    .fsh-product-ingredients-section{padding:0 0 78px}
    .fsh-product-ingredients-inner{width:calc(100% - 48px)}
    .fsh-product-ingredient-carousel.has-controls{padding:0 38px}
    .fsh-product-ingredients-inner{
        --fsh-ingredient-card-width:calc((100% - 48px) / 3);
        --fsh-ingredient-image-height:170px;
        --fsh-ingredient-gap:24px;
    }
    .fsh-product-ingredient-carousel:not(.has-controls) .fsh-product-ingredient-track{
        flex-wrap:wrap;
        justify-content:center;
        gap:var(--fsh-ingredient-gap);
    }
}
@media(max-width:768px){
    .fsh-product-ingredients-section{padding:0 0 56px}
    .fsh-product-ingredients-inner{width:calc(100% - 28px)}
    .fsh-product-ingredients-inner h2{
        margin-bottom:18px;
        font-size:24px;
    }
    .fsh-product-ingredient-carousel.has-controls{padding:0 28px}
    .fsh-product-ingredients-inner{
        --fsh-ingredient-card-width:calc((100% - 14px) / 2);
        --fsh-ingredient-image-height:130px;
        --fsh-ingredient-gap:14px;
    }
    .fsh-product-ingredient-card{
        border-width:2px;
        border-radius:14px;
    }
    .fsh-product-ingredient-image{
        border-bottom-width:2px;
    }
    .fsh-product-ingredient-title{
        height:48px;
        padding:0 10px;
        font-size:16px;
        line-height:48px;
    }
    .fsh-product-ingredient-nav{
        width:24px;
        height:42px;
        border-radius:9px;
        font-size:32px;
    }
    .fsh-product-ingredient-modal{
        padding:18px;
    }
    .fsh-product-ingredient-modal-dialog{
        max-height:calc(100vh - 36px);
        border-radius:18px;
        padding:16px 14px 18px;
    }
    .fsh-product-ingredient-modal-media,
    .fsh-product-ingredient-modal-media img{
        max-height:calc(100vh - 154px);
    }
    .fsh-product-ingredient-modal-title{
        margin-top:12px;
        font-size:18px;
    }
    .fsh-product-ingredient-modal-arrow{
        width:34px;
        height:50px;
        border-radius:10px;
        font-size:36px;
    }
    .fsh-product-ingredient-modal-prev{left:16px}
    .fsh-product-ingredient-modal-next{right:16px}
    .fsh-product-ingredient-modal-close{
        width:34px;
        height:34px;
        font-size:26px;
    }
}
@media(max-width:420px){
    .fsh-product-ingredients-inner{width:calc(100% - 22px)}
    .fsh-product-ingredient-carousel.has-controls{padding:0 24px}
    .fsh-product-ingredients-inner{
        --fsh-ingredient-card-width:calc((100% - 10px) / 2);
        --fsh-ingredient-image-height:112px;
        --fsh-ingredient-gap:10px;
    }
    .fsh-product-ingredient-title{font-size:14px;height:44px;line-height:44px}
}

/* v79：产品详情页真实案例图片区块 + 弹窗预览 */
.fsh-product-cases-section{
    width:100%;
    padding:0 0 106px;
    background:#fff;
    color:#000;
}
.fsh-product-cases-inner{
    width:min(1440px,calc(100% - 80px));
    margin:0 auto;
    display:grid;
    grid-template-columns:330px minmax(0,1fr);
    gap:66px;
    align-items:center;
    min-width:0;
}
.fsh-product-cases-copy{
    min-width:0;
    color:#000;
}
.fsh-product-cases-kicker{
    margin:0 0 16px;
    color:#000;
    font-size:24px;
    line-height:1.25;
    font-weight:800;
    letter-spacing:.02em;
    overflow-wrap:anywhere;
}
.fsh-product-cases-copy h2{
    margin:0 0 16px;
    color:#000;
    font-size:34px;
    line-height:1.22;
    font-weight:800;
    letter-spacing:.02em;
    overflow-wrap:anywhere;
}
.fsh-product-cases-desc{
    display:-webkit-box;
    margin:0 0 42px;
    color:#000;
    font-size:16px;
    line-height:1.55;
    font-weight:400;
    overflow:hidden;
    text-overflow:ellipsis;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-product-cases-more{
    appearance:none;
    min-width:238px;
    max-width:100%;
    min-height:58px;
    border:0;
    border-radius:8px;
    background:#6b4100;
    color:#fff;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    padding:0 28px;
    font-size:25px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:.02em;
    transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.fsh-product-cases-more:hover{
    background:#563400;
    transform:translateY(-1px);
    box-shadow:0 12px 26px rgba(107,65,0,.2);
}
.fsh-product-cases-more:focus-visible{
    outline:3px solid rgba(107,65,0,.35);
    outline-offset:4px;
}
.fsh-product-cases-more-icon{
    width:35px;
    height:20px;
    flex:0 0 35px;
    display:block;
    background:currentColor;
    -webkit-mask:url('../icons/products/case-more-arrow.svg') center/contain no-repeat;
    mask:url('../icons/products/case-more-arrow.svg') center/contain no-repeat;
}
.fsh-product-cases-gallery{
    position:relative;
    min-width:0;
    background:#eee6df;
    border-radius:28px;
    padding:40px 50px 46px;
}
.fsh-product-cases-gallery.has-controls{
    margin-left:66px;
    margin-right:66px;
    padding-left:50px;
    padding-right:50px;
}
.fsh-product-case-track{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 76px) / 3);
    grid-template-columns:none;
    gap:38px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    min-width:0;
}
.fsh-product-case-track::-webkit-scrollbar{display:none}
.fsh-product-cases-gallery:not(.has-controls) .fsh-product-case-track{
    display:flex;
    justify-content:center;
    flex-wrap:nowrap;
}
.fsh-product-cases-gallery:not(.has-controls) .fsh-product-case-card{
    flex:0 0 calc((100% - 76px) / 3);
    max-width:calc((100% - 76px) / 3);
}
.fsh-product-case-card{
    appearance:none;
    width:100%;
    aspect-ratio:1.38/1;
    border:0;
    border-radius:10px;
    overflow:hidden;
    background:#000;
    cursor:pointer;
    padding:0;
    scroll-snap-align:start;
    box-shadow:none;
    transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.fsh-product-case-card:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 34px rgba(0,0,0,.14);
}
.fsh-product-case-card:focus-visible{
    outline:3px solid rgba(107,65,0,.4);
    outline-offset:5px;
}
.fsh-product-case-card img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}
.fsh-product-case-nav{
    position:absolute;
    top:50%;
    z-index:2;
    width:52px;
    height:52px;
    border:1px solid rgba(0,0,0,.42);
    border-radius:50%;
    background:#fff;
    color:#1b1b1b;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:translateY(-50%);
    font-size:38px;
    line-height:1;
    font-weight:300;
    padding:0 0 5px;
    box-shadow:none;
    transition:background .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease;
}
.fsh-product-case-nav:hover{
    background:#6b4100;
    color:#fff;
    border-color:#6b4100;
}
.fsh-product-case-nav:focus-visible{
    outline:3px solid rgba(107,65,0,.35);
    outline-offset:4px;
}
.fsh-product-case-nav.is-disabled{
    opacity:.28;
    pointer-events:none;
    cursor:default;
}
.fsh-product-case-nav-prev{left:-60px}
.fsh-product-case-nav-next{right:-60px}
.fsh-product-case-dots{
    position:absolute;
    left:50%;
    bottom:-42px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    min-height:18px;
}
.fsh-product-case-dot{
    appearance:none;
    width:11px;
    height:11px;
    border:0;
    border-radius:50%;
    background:#f1cfae;
    padding:0;
    cursor:pointer;
    transition:background .18s ease,transform .18s ease;
}
.fsh-product-case-dot.is-active{
    background:#6b4100;
    transform:scale(1.08);
}
.fsh-product-case-dot:focus-visible{
    outline:2px solid #6b4100;
    outline-offset:3px;
}
.fsh-product-case-modal[hidden]{display:none}
.fsh-product-case-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:36px;
}
.fsh-product-case-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.72);
}
.fsh-product-case-modal-dialog{
    position:relative;
    z-index:1;
    width:min(1080px,100%);
    max-height:calc(100vh - 72px);
    border-radius:22px;
    background:#fff;
    padding:22px 24px 26px;
    box-shadow:0 28px 80px rgba(0,0,0,.34);
    display:flex;
    flex-direction:column;
    align-items:center;
}
.fsh-product-case-modal-close{
    position:absolute;
    top:12px;
    right:14px;
    z-index:3;
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.92);
    color:#6b4100;
    font-size:30px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 0 4px;
    box-shadow:0 8px 18px rgba(0,0,0,.14);
}
.fsh-product-case-modal-close:hover{
    background:#6b4100;
    color:#fff;
}
.fsh-product-case-modal-media{
    width:100%;
    max-height:calc(100vh - 176px);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:16px;
    background:#f6f1ea;
}
.fsh-product-case-modal-media img{
    display:block;
    max-width:100%;
    max-height:calc(100vh - 176px);
    width:auto;
    height:auto;
    object-fit:contain;
}
.fsh-product-case-modal-count{
    width:100%;
    margin-top:14px;
    color:#6b4100;
    font-size:18px;
    line-height:1.35;
    font-weight:800;
    text-align:center;
}
.fsh-product-case-modal-arrow{
    position:absolute;
    top:50%;
    z-index:3;
    width:44px;
    height:62px;
    border:0;
    border-radius:14px;
    background:rgba(255,255,255,.9);
    color:#6b4100;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:translateY(-50%);
    font-size:48px;
    line-height:1;
    padding:0 0 6px;
    box-shadow:0 12px 28px rgba(0,0,0,.16);
}
.fsh-product-case-modal-arrow:hover{
    background:#6b4100;
    color:#fff;
}
.fsh-product-case-modal-prev{left:34px}
.fsh-product-case-modal-next{right:34px}
body.fsh-product-case-modal-open{
    overflow:hidden;
}
.fsh-product-cases-section,
.fsh-product-cases-inner,
.fsh-product-cases-copy,
.fsh-product-cases-gallery,
.fsh-product-case-track,
.fsh-product-case-card,
.fsh-product-cases-kicker,
.fsh-product-cases-copy h2,
.fsh-product-cases-desc,
.fsh-product-cases-more{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-word;
}

@media(max-width:1540px){
    .fsh-product-cases-inner{
        width:calc(100% - 72px);
        grid-template-columns:300px minmax(0,1fr);
        gap:54px;
    }
    .fsh-product-cases-kicker{font-size:22px}
    .fsh-product-cases-copy h2{font-size:32px}
    .fsh-product-cases-more{min-height:54px;min-width:218px;font-size:23px}
    .fsh-product-cases-gallery{padding:34px 42px 40px;border-radius:26px}
    .fsh-product-cases-gallery.has-controls{margin-left:58px;margin-right:58px;padding-left:42px;padding-right:42px}
    .fsh-product-case-track{gap:30px;grid-auto-columns:calc((100% - 60px) / 3)}
    .fsh-product-cases-gallery:not(.has-controls) .fsh-product-case-card{flex-basis:calc((100% - 60px) / 3);max-width:calc((100% - 60px) / 3)}
    .fsh-product-case-nav-prev{left:-54px}
    .fsh-product-case-nav-next{right:-54px}
}
@media(max-width:1180px){
    .fsh-product-cases-section{padding-bottom:88px}
    .fsh-product-cases-inner{
        width:calc(100% - 48px);
        grid-template-columns:1fr;
        gap:30px;
        align-items:start;
    }
    .fsh-product-cases-copy{
        max-width:720px;
        margin:0 auto;
        width:100%;
    }
    .fsh-product-cases-desc{margin-bottom:28px}
    .fsh-product-cases-gallery,
    .fsh-product-cases-gallery.has-controls{
        width:100%;
        max-width:920px;
        margin:0 auto;
    }
    .fsh-product-cases-gallery.has-controls{
        padding-left:56px;
        padding-right:56px;
    }
    .fsh-product-case-nav-prev{left:14px}
    .fsh-product-case-nav-next{right:14px}
}
@media(max-width:768px){
    .fsh-product-cases-section{padding-bottom:68px}
    .fsh-product-cases-inner{
        width:calc(100% - 28px);
        gap:22px;
    }
    .fsh-product-cases-kicker{
        margin-bottom:10px;
        font-size:19px;
    }
    .fsh-product-cases-copy h2{
        margin-bottom:10px;
        font-size:26px;
    }
    .fsh-product-cases-desc{
        margin-bottom:20px;
        font-size:15px;
        line-height:1.55;
    }
    .fsh-product-cases-more{
        width:100%;
        min-width:0;
        min-height:50px;
        gap:12px;
        font-size:20px;
        padding:0 20px;
    }
    .fsh-product-cases-more-icon{width:30px;height:17px;flex-basis:30px}
    .fsh-product-cases-gallery,
    .fsh-product-cases-gallery.has-controls{
        border-radius:20px;
        padding:22px 16px 30px;
    }
    .fsh-product-case-track{
        grid-auto-columns:100%;
        gap:14px;
    }
    .fsh-product-cases-gallery:not(.has-controls) .fsh-product-case-track{
        display:grid;
        justify-content:initial;
    }
    .fsh-product-cases-gallery:not(.has-controls) .fsh-product-case-card{
        flex-basis:auto;
        max-width:none;
    }
    .fsh-product-case-card{aspect-ratio:1.48/1;border-radius:9px}
    .fsh-product-case-nav{
        width:34px;
        height:34px;
        font-size:28px;
        background:rgba(255,255,255,.92);
    }
    .fsh-product-case-nav-prev{left:8px}
    .fsh-product-case-nav-next{right:8px}
    .fsh-product-case-dots{
        bottom:-30px;
        gap:11px;
    }
    .fsh-product-case-dot{width:9px;height:9px}
    .fsh-product-case-modal{padding:18px}
    .fsh-product-case-modal-dialog{
        max-height:calc(100vh - 36px);
        border-radius:18px;
        padding:16px 14px 18px;
    }
    .fsh-product-case-modal-media,
    .fsh-product-case-modal-media img{
        max-height:calc(100vh - 138px);
    }
    .fsh-product-case-modal-count{
        margin-top:10px;
        font-size:16px;
    }
    .fsh-product-case-modal-arrow{
        width:34px;
        height:50px;
        border-radius:10px;
        font-size:36px;
    }
    .fsh-product-case-modal-prev{left:16px}
    .fsh-product-case-modal-next{right:16px}
    .fsh-product-case-modal-close{
        width:34px;
        height:34px;
        font-size:26px;
    }
}
@media(max-width:420px){
    .fsh-product-cases-inner{width:calc(100% - 22px)}
    .fsh-product-cases-gallery,
    .fsh-product-cases-gallery.has-controls{
        padding-left:12px;
        padding-right:12px;
    }
}

/* v86：产品详情页搭配商品横向卡片 */
.fsh-product-related-section{
    width:100%;
    padding:0 0 112px;
    background:#fff;
    color:#000;
}
.fsh-product-related-inner{
    width:min(1440px,calc(100% - 80px));
    margin:0 auto;
    min-width:0;
    border-radius:42px;
    background:#f1dfcc;
    padding:26px 28px 32px;
    overflow:hidden;
}
.fsh-product-related-inner h2{
    margin:0 0 28px;
    color:#5c371e;
    font-size:34px;
    line-height:1.2;
    font-weight:800;
    text-align:center;
    letter-spacing:.03em;
    overflow-wrap:anywhere;
}
.fsh-product-related-carousel{
    position:relative;
    min-width:0;
}
.fsh-product-related-carousel.has-controls{
    padding:0 48px;
}
.fsh-product-related-track{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 112px) / 5);
    grid-template-columns:none;
    gap:28px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    min-width:0;
}
.fsh-product-related-track::-webkit-scrollbar{display:none}
.fsh-product-related-carousel:not(.has-controls) .fsh-product-related-track{
    display:flex;
    justify-content:center;
    flex-wrap:nowrap;
}
.fsh-product-related-carousel:not(.has-controls) .fsh-product-related-card{
    flex:0 0 calc((100% - 112px) / 5);
    max-width:calc((100% - 112px) / 5);
}
.fsh-product-related-card{
    min-width:0;
    width:100%;
    overflow:hidden;
    border-radius:24px;
    background:#fbf5ee;
    scroll-snap-align:start;
    display:flex;
    flex-direction:column;
    box-shadow:none;
    transition:transform .18s ease,box-shadow .18s ease;
}
.fsh-product-related-card:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 36px rgba(107,65,0,.13);
}
.fsh-product-related-media{
    display:flex;
    width:100%;
    aspect-ratio:1.28/1;
    min-height:156px;
    background:#000;
    color:#fff;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    overflow:hidden;
}
.fsh-product-related-media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    transition:transform .24s ease;
}
.fsh-product-related-card:hover .fsh-product-related-media img{
    transform:scale(1.04);
}
.fsh-product-related-media span{
    font-size:14px;
    color:rgba(255,255,255,.72);
}
.fsh-product-related-body{
    min-width:0;
    padding:22px 20px 24px;
    display:flex;
    flex-direction:column;
    gap:16px;
    flex:1 1 auto;
}
.fsh-product-related-body h3{
    margin:0;
    color:#000;
    font-size:20px;
    line-height:1.25;
    font-weight:800;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.fsh-product-related-body h3 a{
    color:inherit;
    text-decoration:none;
}
.fsh-product-related-body h3 a:hover{
    color:#6b4100;
}
.fsh-product-related-price{
    color:#000;
    font-size:20px;
    line-height:1.2;
    font-weight:800;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.fsh-product-related-buy{
    width:100%;
    min-height:42px;
    margin-top:auto;
    border:1px solid #9a7655;
    border-radius:12px;
    color:#6b4100;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    text-decoration:none;
    font-size:18px;
    line-height:1.15;
    font-weight:800;
    text-align:center;
    overflow-wrap:anywhere;
    word-break:break-word;
    transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.fsh-product-related-buy:hover{
    background:#6b4100;
    border-color:#6b4100;
    color:#fff;
}
.fsh-product-related-nav{
    position:absolute;
    top:50%;
    z-index:2;
    width:40px;
    height:56px;
    border:0;
    border-radius:14px;
    background:rgba(255,255,255,.94);
    color:#6b4100;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:translateY(-50%);
    font-size:42px;
    line-height:1;
    font-weight:400;
    padding:0 0 6px;
    box-shadow:0 12px 28px rgba(107,65,0,.12);
    transition:background .18s ease,color .18s ease,opacity .18s ease;
}
.fsh-product-related-nav:hover{
    background:#6b4100;
    color:#fff;
}
.fsh-product-related-nav:focus-visible{
    outline:3px solid rgba(107,65,0,.35);
    outline-offset:3px;
}
.fsh-product-related-nav.is-disabled{
    opacity:.28;
    cursor:default;
    pointer-events:none;
}
.fsh-product-related-nav-prev{left:0}
.fsh-product-related-nav-next{right:0}
.fsh-product-related-section,
.fsh-product-related-inner,
.fsh-product-related-carousel,
.fsh-product-related-track,
.fsh-product-related-card,
.fsh-product-related-body,
.fsh-product-related-body h3,
.fsh-product-related-price,
.fsh-product-related-buy{
    min-width:0;
    max-width:100%;
}

@media(max-width:1540px){
    .fsh-product-related-inner{
        width:calc(100% - 72px);
        border-radius:38px;
        padding-left:26px;
        padding-right:26px;
    }
    .fsh-product-related-carousel.has-controls{padding:0 44px}
    .fsh-product-related-track{
        grid-auto-columns:calc((100% - 96px) / 5);
        gap:24px;
    }
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-card{
        flex-basis:calc((100% - 96px) / 5);
        max-width:calc((100% - 96px) / 5);
    }
    .fsh-product-related-body{padding:20px 18px 22px;gap:14px}
    .fsh-product-related-body h3,.fsh-product-related-price{font-size:18px}
    .fsh-product-related-buy{font-size:17px}
}
@media(max-width:1180px){
    .fsh-product-related-section{padding-bottom:86px}
    .fsh-product-related-inner{
        width:calc(100% - 48px);
        border-radius:30px;
        padding:24px 22px 28px;
    }
    .fsh-product-related-inner h2{
        margin-bottom:22px;
        font-size:28px;
    }
    .fsh-product-related-carousel.has-controls{padding:0 38px}
    .fsh-product-related-track{
        grid-auto-columns:calc((100% - 44px) / 3);
        gap:22px;
    }
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-track{
        flex-wrap:wrap;
        gap:22px;
    }
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-card{
        flex-basis:calc((100% - 44px) / 3);
        max-width:calc((100% - 44px) / 3);
    }
}
@media(max-width:768px){
    .fsh-product-related-section{padding-bottom:64px}
    .fsh-product-related-inner{
        width:calc(100% - 28px);
        border-radius:24px;
        padding:20px 14px 24px;
    }
    .fsh-product-related-inner h2{
        margin-bottom:18px;
        font-size:24px;
    }
    .fsh-product-related-carousel.has-controls{padding:0 28px}
    .fsh-product-related-track{
        grid-auto-columns:calc((100% - 14px) / 2);
        gap:14px;
    }
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-track{
        gap:14px;
    }
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-card{
        flex-basis:calc((100% - 14px) / 2);
        max-width:calc((100% - 14px) / 2);
    }
    .fsh-product-related-card{border-radius:18px}
    .fsh-product-related-media{min-height:116px}
    .fsh-product-related-body{padding:14px 12px 16px;gap:10px}
    .fsh-product-related-body h3,.fsh-product-related-price{font-size:15px}
    .fsh-product-related-buy{
        min-height:36px;
        border-radius:10px;
        font-size:14px;
        padding:7px 8px;
    }
    .fsh-product-related-nav{
        width:24px;
        height:42px;
        border-radius:9px;
        font-size:32px;
    }
}
@media(max-width:420px){
    .fsh-product-related-inner{width:calc(100% - 22px);padding-left:10px;padding-right:10px}
    .fsh-product-related-carousel.has-controls{padding:0 24px}
    .fsh-product-related-track{
        grid-auto-columns:calc((100% - 10px) / 2);
        gap:10px;
    }
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-track{gap:10px}
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-card{
        flex-basis:calc((100% - 10px) / 2);
        max-width:calc((100% - 10px) / 2);
    }
    .fsh-product-related-body{padding:12px 9px 13px}
    .fsh-product-related-body h3,.fsh-product-related-price{font-size:14px}
    .fsh-product-related-buy{font-size:13px}
}

/* v87：仅优化前端产品详情页整体视觉——更轻、更小、更有留白 */
.fsh-product-detail-page{
    --fsh-detail-ink:#17130f;
    --fsh-detail-muted:#6e665e;
    --fsh-detail-brand:#6b4100;
    --fsh-detail-line:#e8e0d7;
    --fsh-detail-soft:#f7f2ec;
    --fsh-detail-panel:#f2e5d7;
}

/* 首屏：缩小图片和文字，增加左右呼吸感 */
.fsh-product-hero{
    padding:58px 0 112px;
}
.fsh-product-hero-inner{
    grid-template-columns:minmax(0,660px) minmax(340px,1fr);
    gap:86px;
}
.fsh-product-gallery{
    grid-template-columns:78px minmax(0,560px);
    gap:18px;
}
.fsh-product-thumbs-wrap,
.fsh-product-thumbs{
    width:78px;
}
.fsh-product-thumbs{
    max-height:406px;
    gap:12px;
    padding:1px;
}
.fsh-product-thumb{
    width:74px;
    height:74px;
    border-radius:8px;
    background:#f3eee8;
    box-shadow:0 0 0 1px var(--fsh-detail-line) inset;
}
.fsh-product-thumb.is-active{
    box-shadow:0 0 0 1px var(--fsh-detail-brand) inset,0 6px 16px rgba(107,65,0,.09);
}
.fsh-product-thumb:hover{
    transform:translateY(-1px);
}
.fsh-product-thumbs-more{
    margin-top:14px;
    width:24px;
    height:24px;
}
.fsh-product-thumbs-more::before{
    width:20px;
    height:20px;
}
.fsh-product-main-image{
    max-width:560px;
    border:1px solid var(--fsh-detail-line);
    border-radius:12px;
    background:#f8f6f3;
}
.fsh-product-summary{
    padding-top:24px;
    color:var(--fsh-detail-ink);
}
.fsh-product-summary h1{
    margin-bottom:14px;
    color:var(--fsh-detail-ink);
    font-size:34px;
    line-height:1.22;
    font-weight:600;
    letter-spacing:.01em;
}
.fsh-product-short-desc{
    margin-bottom:34px;
    color:var(--fsh-detail-muted);
    font-size:16px;
    line-height:1.7;
}
.fsh-product-price{
    margin-bottom:24px;
    color:var(--fsh-detail-ink);
    font-size:30px;
    line-height:1.25;
    font-weight:600;
}
.fsh-product-selling-points{
    gap:12px;
    margin-bottom:30px;
}
.fsh-product-selling-points li{
    grid-template-columns:18px minmax(0,1fr);
    gap:12px;
}
.fsh-product-point-icon{
    width:18px;
    height:18px;
    margin-top:3px;
}
.fsh-product-point-text{
    color:#39332d;
    font-size:16px;
    line-height:1.58;
}
.fsh-product-buy-actions{
    gap:10px;
}
.fsh-product-buy-btn{
    min-width:178px;
    min-height:44px;
    height:auto;
    padding:11px 24px;
    border:1px solid var(--fsh-detail-brand);
    border-radius:6px;
    font-size:16px;
    line-height:1.25;
    font-weight:700;
    box-shadow:none;
}
.fsh-product-buy-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(107,65,0,.13);
}

/* 产品信息：保留 550px 固定高度，但减轻色块、圆角和字号 */
.fsh-product-info-section{
    padding:10px 0 112px;
}
.fsh-product-info-inner{
    grid-template-columns:minmax(300px,390px) minmax(0,1fr);
    gap:82px;
}
.fsh-product-info-left{
    padding-top:10px;
}
.fsh-product-info-left h2{
    margin-bottom:22px;
    font-size:26px;
    line-height:1.25;
    letter-spacing:.01em;
}
.fsh-product-intro-copy{
    padding-right:8px;
    color:#49423c;
    font-size:16px;
    line-height:1.72;
}
.fsh-product-intro-copy p{
    margin-bottom:12px;
}
.fsh-product-icon-carousel{
    margin-top:34px;
}
.fsh-product-icon-carousel.has-controls{
    padding:0 28px;
}
.fsh-product-icon-points{
    grid-auto-columns:calc((100% - 36px) / 3);
    gap:18px;
}
.fsh-product-icon-point-media{
    width:68px;
    height:68px;
    margin-bottom:10px;
    border:1px solid #9e8064;
}
.fsh-product-icon-point-text{
    color:#6f4c2d;
    font-size:15px;
    line-height:1.42;
    font-weight:600;
}
.fsh-product-icon-nav{
    width:22px;
    height:34px;
    font-size:26px;
}
.fsh-product-info-card{
    height:550px;
    border:1px solid rgba(107,65,0,.06);
    border-radius:24px;
    background:var(--fsh-detail-panel);
    padding:26px 34px 30px;
}
.fsh-product-info-tabs{
    border-bottom:1px solid rgba(107,65,0,.16);
}
.fsh-product-info-tab{
    min-height:50px;
    padding:0 12px 16px;
    border-bottom-width:3px;
    font-size:18px;
    line-height:1.25;
    font-weight:700;
}
.fsh-product-info-panels{
    margin-top:26px;
    padding-right:7px;
}
.fsh-product-info-richtext{
    color:#403a34;
    font-size:16px;
    line-height:1.72;
}
.fsh-product-info-richtext h1{font-size:28px}
.fsh-product-info-richtext h2{font-size:24px}
.fsh-product-info-richtext h3{font-size:21px}
.fsh-product-info-richtext h1,
.fsh-product-info-richtext h2,
.fsh-product-info-richtext h3,
.fsh-product-info-richtext h4,
.fsh-product-info-richtext h5,
.fsh-product-info-richtext h6{
    margin-bottom:18px;
}
.fsh-product-info-richtext p{
    margin-bottom:13px;
}
.fsh-product-info-richtext img,
.fsh-product-info-richtext video{
    border-radius:10px;
}
.fsh-product-info-empty{
    font-size:15px;
}

/* 成分介绍：卡片更轻，边框统一为 1px */
.fsh-product-ingredients-section{
    padding:4px 0 116px;
}
.fsh-product-ingredients-inner{
    --fsh-ingredient-card-width:224px;
    --fsh-ingredient-image-height:156px;
    --fsh-ingredient-gap:30px;
}
.fsh-product-ingredients-inner h2{
    margin-bottom:34px;
    font-size:26px;
    font-weight:700;
    letter-spacing:.025em;
}
.fsh-product-ingredient-carousel.has-controls{
    padding:0 40px;
}
.fsh-product-ingredient-card{
    border:1px solid #b69b7f;
    border-radius:14px;
    box-shadow:none;
}
.fsh-product-ingredient-card:hover{
    transform:translateY(-2px);
    border-color:#8b6846;
    box-shadow:0 12px 28px rgba(65,43,23,.09);
}
.fsh-product-ingredient-image{
    border-bottom:1px solid #d7c7b7;
}
.fsh-product-ingredient-title{
    height:52px;
    padding:0 14px;
    color:#654322;
    font-size:17px;
    line-height:52px;
    font-weight:700;
}
.fsh-product-ingredient-nav{
    width:32px;
    height:44px;
    border:1px solid var(--fsh-detail-line);
    border-radius:10px;
    font-size:30px;
    box-shadow:0 8px 20px rgba(65,43,23,.08);
}

/* 真实案例：缩小标题、按钮、图片框和控制器 */
.fsh-product-cases-section{
    padding-bottom:116px;
}
.fsh-product-cases-inner{
    grid-template-columns:300px minmax(0,1fr);
    gap:72px;
}
.fsh-product-cases-kicker{
    margin-bottom:12px;
    font-size:20px;
    font-weight:700;
}
.fsh-product-cases-copy h2{
    margin-bottom:12px;
    font-size:28px;
    line-height:1.3;
    font-weight:700;
}
.fsh-product-cases-desc{
    margin-bottom:30px;
    color:#5d5650;
    font-size:15px;
    line-height:1.65;
}
.fsh-product-cases-more{
    min-width:176px;
    min-height:44px;
    gap:11px;
    padding:10px 20px;
    border:1px solid var(--fsh-detail-brand);
    border-radius:6px;
    font-size:16px;
    font-weight:700;
}
.fsh-product-cases-more-icon{
    width:26px;
    height:15px;
    flex-basis:26px;
}
.fsh-product-cases-gallery{
    border:1px solid rgba(107,65,0,.04);
    border-radius:22px;
    background:#f2ede7;
    padding:30px 36px 34px;
}
.fsh-product-cases-gallery.has-controls{
    margin-left:54px;
    margin-right:54px;
    padding-left:36px;
    padding-right:36px;
}
.fsh-product-case-track{
    grid-auto-columns:calc((100% - 52px) / 3);
    gap:26px;
}
.fsh-product-cases-gallery:not(.has-controls) .fsh-product-case-card{
    flex-basis:calc((100% - 52px) / 3);
    max-width:calc((100% - 52px) / 3);
}
.fsh-product-case-card{
    border-radius:8px;
}
.fsh-product-case-card:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 26px rgba(0,0,0,.1);
}
.fsh-product-case-nav{
    width:42px;
    height:42px;
    border-color:#cfc5bb;
    font-size:30px;
}
.fsh-product-case-nav-prev{left:-50px}
.fsh-product-case-nav-next{right:-50px}
.fsh-product-case-dots{
    bottom:-36px;
    gap:11px;
}
.fsh-product-case-dot{
    width:8px;
    height:8px;
}

/* 搭配商品：减少色块感，卡片加轻边框并缩小字号 */
.fsh-product-related-section{
    padding-bottom:120px;
}
.fsh-product-related-inner{
    border:1px solid rgba(107,65,0,.05);
    border-radius:28px;
    background:#f3e8dc;
    padding:30px 32px 36px;
}
.fsh-product-related-inner h2{
    margin-bottom:30px;
    font-size:28px;
    font-weight:700;
    letter-spacing:.02em;
}
.fsh-product-related-carousel.has-controls{
    padding:0 40px;
}
.fsh-product-related-track{
    grid-auto-columns:calc((100% - 96px) / 5);
    gap:24px;
}
.fsh-product-related-carousel:not(.has-controls) .fsh-product-related-card{
    flex-basis:calc((100% - 96px) / 5);
    max-width:calc((100% - 96px) / 5);
}
.fsh-product-related-card{
    border:1px solid #eadfd4;
    border-radius:16px;
    background:#fffdfa;
}
.fsh-product-related-card:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(65,43,23,.09);
}
.fsh-product-related-media{
    min-height:142px;
    aspect-ratio:1.32/1;
    background:#f5f1ed;
}
.fsh-product-related-body{
    padding:16px 15px 18px;
    gap:11px;
}
.fsh-product-related-body h3{
    font-size:16px;
    line-height:1.35;
    font-weight:700;
}
.fsh-product-related-price{
    font-size:16px;
    font-weight:700;
}
.fsh-product-related-buy{
    min-height:38px;
    border-color:#b79b7f;
    border-radius:8px;
    padding:7px 10px;
    font-size:14px;
    font-weight:700;
}
.fsh-product-related-nav{
    width:32px;
    height:44px;
    border:1px solid var(--fsh-detail-line);
    border-radius:10px;
    font-size:30px;
    box-shadow:0 8px 20px rgba(65,43,23,.08);
}

/* 弹窗控制器也同步轻量化 */
.fsh-product-ingredient-modal-dialog,
.fsh-product-case-modal-dialog{
    border-radius:16px;
    padding:18px 20px 22px;
}
.fsh-product-ingredient-modal-media,
.fsh-product-case-modal-media{
    border-radius:10px;
}
.fsh-product-ingredient-modal-title{
    margin-top:14px;
    font-size:19px;
}
.fsh-product-case-modal-count{
    font-size:15px;
}
.fsh-product-ingredient-modal-arrow,
.fsh-product-case-modal-arrow{
    width:38px;
    height:52px;
    border-radius:10px;
    font-size:38px;
}

@media(max-width:1540px){
    .fsh-product-hero-inner{
        grid-template-columns:minmax(0,620px) minmax(320px,1fr);
        gap:64px;
    }
    .fsh-product-gallery{
        grid-template-columns:74px minmax(0,1fr);
        gap:16px;
    }
    .fsh-product-thumbs-wrap,
    .fsh-product-thumbs{width:74px}
    .fsh-product-thumbs{max-height:384px;gap:11px}
    .fsh-product-thumb{width:70px;height:70px}
    .fsh-product-main-image{max-width:none}
    .fsh-product-summary h1{font-size:32px}
    .fsh-product-short-desc{font-size:15px;margin-bottom:30px}
    .fsh-product-price{font-size:28px}
    .fsh-product-point-text{font-size:15px}
    .fsh-product-buy-btn{min-width:168px;min-height:42px;font-size:15px;padding:10px 21px}

    .fsh-product-info-inner{
        grid-template-columns:minmax(280px,360px) minmax(0,1fr);
        gap:64px;
    }
    .fsh-product-info-left h2{font-size:25px}
    .fsh-product-intro-copy{font-size:15px}
    .fsh-product-info-card{padding:24px 30px 28px}
    .fsh-product-info-tab{font-size:17px}
    .fsh-product-info-richtext{font-size:15px}

    .fsh-product-ingredients-inner{
        --fsh-ingredient-card-width:210px;
        --fsh-ingredient-image-height:146px;
        --fsh-ingredient-gap:26px;
    }
    .fsh-product-ingredient-title{font-size:16px;height:50px;line-height:50px}

    .fsh-product-cases-inner{
        grid-template-columns:280px minmax(0,1fr);
        gap:58px;
    }
    .fsh-product-cases-kicker{font-size:19px}
    .fsh-product-cases-copy h2{font-size:27px}
    .fsh-product-cases-more{min-width:168px;min-height:42px;font-size:15px}
    .fsh-product-cases-gallery{padding:28px 32px 32px;border-radius:20px}
    .fsh-product-cases-gallery.has-controls{margin-left:50px;margin-right:50px;padding-left:32px;padding-right:32px}
    .fsh-product-case-nav-prev{left:-46px}
    .fsh-product-case-nav-next{right:-46px}

    .fsh-product-related-inner{border-radius:26px;padding:28px 28px 32px}
    .fsh-product-related-inner h2{font-size:27px}
    .fsh-product-related-carousel.has-controls{padding:0 36px}
    .fsh-product-related-track{grid-auto-columns:calc((100% - 80px) / 5);gap:20px}
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-card{
        flex-basis:calc((100% - 80px) / 5);
        max-width:calc((100% - 80px) / 5);
    }
}

@media(max-width:1180px){
    .fsh-product-hero{padding:42px 0 84px}
    .fsh-product-hero-inner{gap:40px}
    .fsh-product-gallery,
    .fsh-product-summary{max-width:680px}

    .fsh-product-info-section{padding-bottom:88px}
    .fsh-product-info-inner{gap:42px}
    .fsh-product-info-left{max-width:680px}
    .fsh-product-info-card{max-width:900px}

    .fsh-product-ingredients-section{padding-bottom:90px}
    .fsh-product-ingredients-inner{
        --fsh-ingredient-card-width:calc((100% - 52px) / 3);
        --fsh-ingredient-image-height:150px;
        --fsh-ingredient-gap:26px;
    }

    .fsh-product-cases-section{padding-bottom:96px}
    .fsh-product-cases-inner{gap:34px}
    .fsh-product-cases-copy{max-width:680px}
    .fsh-product-cases-gallery,
    .fsh-product-cases-gallery.has-controls{max-width:900px}
    .fsh-product-cases-gallery.has-controls{padding-left:48px;padding-right:48px}
    .fsh-product-case-nav-prev{left:10px}
    .fsh-product-case-nav-next{right:10px}

    .fsh-product-related-section{padding-bottom:96px}
    .fsh-product-related-inner{padding:26px 24px 30px}
    .fsh-product-related-track{grid-auto-columns:calc((100% - 40px) / 3);gap:20px}
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-card{
        flex-basis:calc((100% - 40px) / 3);
        max-width:calc((100% - 40px) / 3);
    }
}

@media(max-width:768px){
    .fsh-product-hero{padding:24px 0 66px}
    .fsh-product-hero-inner{gap:26px}
    .fsh-product-main-image{border-radius:10px}
    .fsh-product-thumb{width:58px;height:58px;flex-basis:58px;border-radius:7px}
    .fsh-product-summary h1{font-size:25px;margin-bottom:9px}
    .fsh-product-short-desc{font-size:14px;margin-bottom:22px;line-height:1.62}
    .fsh-product-price{font-size:24px;margin-bottom:17px}
    .fsh-product-selling-points{gap:10px;margin-bottom:23px}
    .fsh-product-selling-points li{grid-template-columns:17px minmax(0,1fr);gap:9px}
    .fsh-product-point-icon{width:17px;height:17px}
    .fsh-product-point-text{font-size:14px}
    .fsh-product-buy-btn{min-height:44px;font-size:15px;border-radius:6px;padding:10px 16px}

    .fsh-product-info-section{padding-bottom:70px}
    .fsh-product-info-inner{gap:28px}
    .fsh-product-info-left h2{font-size:23px;margin-bottom:14px}
    .fsh-product-intro-copy{font-size:14px;line-height:1.65}
    .fsh-product-icon-point-media{width:52px;height:52px;border-width:1px}
    .fsh-product-icon-point-text{font-size:12px}
    .fsh-product-info-card{height:550px;border-radius:18px;padding:20px 14px 22px}
    .fsh-product-info-tab{font-size:14px;padding:0 15px 11px;border-bottom-width:2px}
    .fsh-product-info-panels{margin-top:20px}
    .fsh-product-info-richtext{font-size:14px;line-height:1.65}

    .fsh-product-ingredients-section{padding-bottom:70px}
    .fsh-product-ingredients-inner h2{font-size:23px;margin-bottom:22px}
    .fsh-product-ingredients-inner{
        --fsh-ingredient-card-width:calc((100% - 14px) / 2);
        --fsh-ingredient-image-height:118px;
        --fsh-ingredient-gap:14px;
    }
    .fsh-product-ingredient-card{border-width:1px;border-radius:11px}
    .fsh-product-ingredient-image{border-bottom-width:1px}
    .fsh-product-ingredient-title{height:44px;line-height:44px;font-size:14px}
    .fsh-product-ingredient-nav{width:24px;height:38px;font-size:26px}

    .fsh-product-cases-section{padding-bottom:76px}
    .fsh-product-cases-inner{gap:24px}
    .fsh-product-cases-kicker{font-size:17px;margin-bottom:8px}
    .fsh-product-cases-copy h2{font-size:23px;margin-bottom:8px}
    .fsh-product-cases-desc{font-size:14px;margin-bottom:18px}
    .fsh-product-cases-more{width:auto;min-width:154px;min-height:42px;font-size:15px;padding:9px 16px}
    .fsh-product-cases-gallery,
    .fsh-product-cases-gallery.has-controls{border-radius:16px;padding:18px 12px 25px}
    .fsh-product-case-card{border-radius:7px}
    .fsh-product-case-nav{width:30px;height:30px;font-size:24px}
    .fsh-product-case-dots{bottom:-27px;gap:9px}
    .fsh-product-case-dot{width:7px;height:7px}

    .fsh-product-related-section{padding-bottom:76px}
    .fsh-product-related-inner{border-radius:20px;padding:22px 12px 25px}
    .fsh-product-related-inner h2{font-size:23px;margin-bottom:20px}
    .fsh-product-related-carousel.has-controls{padding:0 25px}
    .fsh-product-related-track{grid-auto-columns:calc((100% - 12px) / 2);gap:12px}
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-card{
        flex-basis:calc((100% - 12px) / 2);
        max-width:calc((100% - 12px) / 2);
    }
    .fsh-product-related-card{border-radius:13px}
    .fsh-product-related-media{min-height:104px}
    .fsh-product-related-body{padding:12px 10px 14px;gap:8px}
    .fsh-product-related-body h3,
    .fsh-product-related-price{font-size:14px}
    .fsh-product-related-buy{min-height:34px;border-radius:7px;font-size:12px;padding:6px 7px}
    .fsh-product-related-nav{width:22px;height:36px;font-size:25px}

    .fsh-product-ingredient-modal-dialog,
    .fsh-product-case-modal-dialog{border-radius:14px;padding:14px 12px 16px}
}

@media(max-width:420px){
    .fsh-product-thumb{width:54px;height:54px;flex-basis:54px}
    .fsh-product-summary h1{font-size:23px}
    .fsh-product-price{font-size:22px}
    .fsh-product-related-inner{padding-left:9px;padding-right:9px}
    .fsh-product-related-track{grid-auto-columns:calc((100% - 9px) / 2);gap:9px}
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-card{
        flex-basis:calc((100% - 9px) / 2);
        max-width:calc((100% - 9px) / 2);
    }
}

/* v88：产品详情页交互动画——平滑切换、渐隐渐显与弹窗缓动 */
.fsh-product-detail-page [data-product-main-image],
.fsh-product-ingredient-modal-image,
.fsh-product-case-modal-image,
.fsh-product-ingredient-modal-title,
.fsh-product-case-modal-count{
    will-change:opacity,transform;
    transition:opacity .22s ease,transform .28s cubic-bezier(.22,.61,.36,1);
}
.fsh-product-detail-page .is-swapping-out{
    opacity:0;
}
.fsh-product-detail-page .is-swapping-out.is-swap-next{
    transform:translateX(-14px) scale(.992);
}
.fsh-product-detail-page .is-swapping-out.is-swap-prev{
    transform:translateX(14px) scale(.992);
}
.fsh-product-detail-page .is-swapping-in{
    opacity:0;
}
.fsh-product-detail-page .is-swapping-in.is-swap-next{
    transform:translateX(14px) scale(.992);
}
.fsh-product-detail-page .is-swapping-in.is-swap-prev{
    transform:translateX(-14px) scale(.992);
}

/* 产品信息选项卡：旧内容淡出，新内容轻微上移淡入 */
.fsh-product-info-tab{
    transition:color .28s ease,border-color .32s ease,background-color .28s ease,transform .28s ease;
}
.fsh-product-info-tab:hover{
    transform:translateY(-1px);
}
.fsh-product-info-panel{
    opacity:1;
    transform:translateY(0);
    transition:opacity .22s ease,transform .28s cubic-bezier(.22,.61,.36,1);
    will-change:opacity,transform;
}
.fsh-product-info-panel.is-leaving{
    opacity:0;
    transform:translateY(7px);
}
.fsh-product-info-panel.is-entering{
    opacity:0;
    transform:translateY(9px);
}

/* 轮播卡片和分页控件使用更柔和的反馈 */
.fsh-product-icon-point,
.fsh-product-ingredient-card,
.fsh-product-case-card,
.fsh-product-related-card{
    transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease,border-color .3s ease,opacity .3s ease;
}
.fsh-product-icon-nav,
.fsh-product-ingredient-nav,
.fsh-product-case-nav,
.fsh-product-related-nav,
.fsh-product-case-dot{
    transition:background-color .28s ease,color .28s ease,border-color .28s ease,opacity .28s ease,transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease;
}
.fsh-product-icon-nav:not(.is-disabled):active,
.fsh-product-ingredient-nav:not(.is-disabled):active,
.fsh-product-case-nav:not(.is-disabled):active,
.fsh-product-related-nav:not(.is-disabled):active{
    transform:translateY(-50%) scale(.94);
}
.fsh-product-case-dot:hover{
    transform:scale(1.18);
}

/* 成分与案例弹窗：遮罩渐显，内容轻微上移缩放弹出，关闭时反向渐隐 */
.fsh-product-ingredient-modal,
.fsh-product-case-modal{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .3s ease,visibility 0s linear .3s;
}
.fsh-product-ingredient-modal.is-open,
.fsh-product-case-modal.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition-delay:0s;
}
.fsh-product-ingredient-modal-backdrop,
.fsh-product-case-modal-backdrop{
    opacity:0;
    transition:opacity .3s ease;
}
.fsh-product-ingredient-modal.is-open .fsh-product-ingredient-modal-backdrop,
.fsh-product-case-modal.is-open .fsh-product-case-modal-backdrop{
    opacity:1;
}
.fsh-product-ingredient-modal-dialog,
.fsh-product-case-modal-dialog{
    opacity:0;
    transform:translateY(20px) scale(.975);
    transform-origin:center center;
    transition:opacity .28s ease,transform .34s cubic-bezier(.2,.8,.2,1);
    will-change:opacity,transform;
}
.fsh-product-ingredient-modal.is-open .fsh-product-ingredient-modal-dialog,
.fsh-product-case-modal.is-open .fsh-product-case-modal-dialog{
    opacity:1;
    transform:translateY(0) scale(1);
}
.fsh-product-ingredient-modal-close,
.fsh-product-case-modal-close,
.fsh-product-ingredient-modal-arrow,
.fsh-product-case-modal-arrow{
    transition:background-color .28s ease,color .28s ease,transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,opacity .28s ease;
}
.fsh-product-ingredient-modal-close:hover,
.fsh-product-case-modal-close:hover{
    transform:rotate(6deg) scale(1.04);
}
.fsh-product-ingredient-modal-arrow:hover,
.fsh-product-case-modal-arrow:hover{
    transform:translateY(-50%) scale(1.045);
}
.fsh-product-ingredient-modal-arrow:active,
.fsh-product-case-modal-arrow:active{
    transform:translateY(-50%) scale(.95);
}

/* 页面滚动到各区块时，仅做克制的淡入上移 */
.fsh-product-motion-enabled .fsh-product-reveal{
    opacity:0;
    transform:translateY(22px);
    transition:opacity .65s ease,transform .72s cubic-bezier(.22,.61,.36,1);
    will-change:opacity,transform;
}
.fsh-product-motion-enabled .fsh-product-reveal.is-visible{
    opacity:1;
    transform:translateY(0);
}

@media(max-width:768px){
    .fsh-product-ingredient-modal-dialog,
    .fsh-product-case-modal-dialog{
        transform:translateY(14px) scale(.985);
    }
    .fsh-product-motion-enabled .fsh-product-reveal{
        transform:translateY(14px);
        transition-duration:.52s,.6s;
    }
}

@media(prefers-reduced-motion:reduce){
    .fsh-product-detail-page *,
    .fsh-product-detail-page *::before,
    .fsh-product-detail-page *::after{
        scroll-behavior:auto !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
        transition-delay:0s !important;
    }
    .fsh-product-motion-enabled .fsh-product-reveal,
    .fsh-product-motion-enabled .fsh-product-reveal.is-visible{
        opacity:1;
        transform:none;
    }
}


/* v89：详情页弹窗统一挂到 body 顶层，避免被区块 transform / overflow / stacking context 遮挡 */
body > .fsh-product-ingredient-modal,
body > .fsh-product-case-modal{
    position:fixed;
    inset:0;
    z-index:2147483000;
    isolation:isolate;
    overflow:auto;
    overscroll-behavior:contain;
}
body > .fsh-product-ingredient-modal .fsh-product-ingredient-modal-backdrop,
body > .fsh-product-case-modal .fsh-product-case-modal-backdrop{
    z-index:0;
}
body > .fsh-product-ingredient-modal .fsh-product-ingredient-modal-dialog,
body > .fsh-product-case-modal .fsh-product-case-modal-dialog{
    z-index:2;
}
@media(prefers-reduced-motion:reduce){
    body > .fsh-product-ingredient-modal,
    body > .fsh-product-ingredient-modal *,
    body > .fsh-product-case-modal,
    body > .fsh-product-case-modal *{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
        transition-delay:0s !important;
    }
}

/* v91：修复产品详情页刷新时 main 自带滚动条，以及窄于 1500px 时页面横向滚动 */
.fsh-product-detail-page{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:clip;
    overflow-y:visible;
}
.fsh-product-detail-page > section,
.fsh-product-hero-inner,
.fsh-product-info-inner,
.fsh-product-ingredients-inner,
.fsh-product-cases-inner,
.fsh-product-related-inner{
    max-width:100%;
    min-width:0;
}
/* 横向轮播只允许轨道自身滚动，不能把页面宽度撑开 */
.fsh-product-ingredient-carousel,
.fsh-product-cases-gallery,
.fsh-product-related-carousel,
.fsh-product-ingredient-track,
.fsh-product-case-track,
.fsh-product-related-track{
    min-width:0;
    max-width:100%;
}


/* v92：产品详情页移动端专项适配（仅影响 768px 及以下） */
@media(max-width:768px){
    .fsh-product-detail-page{
        --fsh-mobile-gutter:16px;
        width:100%;
        max-width:100%;
        overflow-x:clip;
    }
    .fsh-product-hero-inner,
    .fsh-product-info-inner,
    .fsh-product-ingredients-inner,
    .fsh-product-cases-inner,
    .fsh-product-related-inner{
        width:calc(100% - (var(--fsh-mobile-gutter) * 2));
        max-width:none;
        margin-left:auto;
        margin-right:auto;
    }

    /* 首屏：图片优先、缩略图横滑、信息区紧凑但保留呼吸感 */
    .fsh-product-hero{
        padding:16px 0 58px;
    }
    .fsh-product-hero-inner{
        display:block;
    }
    .fsh-product-gallery{
        display:flex;
        flex-direction:column-reverse;
        width:100%;
        gap:10px;
        margin:0;
    }
    .fsh-product-main-image{
        width:100%;
        max-width:none;
        max-height:none;
        aspect-ratio:1/1;
        border-radius:10px;
        background:#f7f4f0;
    }
    .fsh-product-main-image img{
        object-fit:contain;
        object-position:center;
    }
    .fsh-product-thumbs-wrap{
        width:100%;
        min-width:0;
        overflow:hidden;
    }
    .fsh-product-thumbs{
        width:100%;
        max-height:none;
        display:flex;
        gap:8px;
        padding:2px 1px 6px;
        overflow-x:auto;
        overflow-y:hidden;
        scroll-snap-type:x proximity;
        overscroll-behavior-inline:contain;
        -webkit-overflow-scrolling:touch;
    }
    .fsh-product-thumb{
        width:56px;
        height:56px;
        flex:0 0 56px;
        border-radius:7px;
        scroll-snap-align:start;
    }
    .fsh-product-summary{
        width:100%;
        max-width:none;
        margin:24px 0 0;
        padding:0 2px;
    }
    .fsh-product-summary h1{
        margin:0 0 10px;
        font-size:24px;
        line-height:1.28;
        letter-spacing:0;
    }
    .fsh-product-short-desc{
        margin:0 0 20px;
        font-size:14px;
        line-height:1.68;
    }
    .fsh-product-price{
        margin:0 0 18px;
        font-size:24px;
        line-height:1.25;
    }
    .fsh-product-selling-points{
        gap:11px;
        margin-bottom:24px;
    }
    .fsh-product-selling-points li{
        grid-template-columns:17px minmax(0,1fr);
        gap:9px;
    }
    .fsh-product-point-icon{
        width:17px;
        height:17px;
        margin-top:3px;
    }
    .fsh-product-point-text{
        font-size:14px;
        line-height:1.58;
    }
    .fsh-product-buy-actions{
        display:grid;
        grid-template-columns:1fr;
        width:100%;
        gap:10px;
    }
    .fsh-product-buy-btn{
        width:100%;
        min-width:0;
        min-height:44px;
        padding:10px 14px;
        border-radius:7px;
        font-size:15px;
    }

    /* 简介与内容卡：由左右布局改为自然上下布局 */
    .fsh-product-info-section{
        padding:0 0 68px;
    }
    .fsh-product-info-inner{
        display:grid;
        grid-template-columns:1fr;
        gap:26px;
    }
    .fsh-product-info-left{
        width:100%;
        max-width:none;
        margin:0;
        padding:0;
    }
    .fsh-product-info-left h2{
        margin-bottom:14px;
        font-size:22px;
        line-height:1.32;
    }
    .fsh-product-intro-copy{
        height:210px;
        padding-right:7px;
        font-size:14px;
        line-height:1.7;
    }
    .fsh-product-icon-carousel{
        margin-top:26px;
    }
    .fsh-product-icon-carousel.has-controls{
        padding:0 24px;
    }
    .fsh-product-icon-points{
        grid-auto-columns:calc((100% - 20px) / 3);
        gap:10px;
        overscroll-behavior-inline:contain;
        -webkit-overflow-scrolling:touch;
    }
    .fsh-product-icon-point-media{
        width:50px;
        height:50px;
        margin-bottom:8px;
    }
    .fsh-product-icon-point-text{
        font-size:12px;
        line-height:1.4;
    }
    .fsh-product-icon-nav{
        width:20px;
        height:34px;
        font-size:24px;
    }
    .fsh-product-info-card{
        width:100%;
        max-width:none;
        height:550px;
        border-radius:16px;
        padding:18px 14px 20px;
    }
    .fsh-product-info-tabs{
        display:flex;
        grid-template-columns:none;
        align-items:flex-end;
        gap:6px;
        width:100%;
        overflow-x:auto;
        overflow-y:hidden;
        scroll-snap-type:x proximity;
        scrollbar-width:none;
        overscroll-behavior-inline:contain;
        -webkit-overflow-scrolling:touch;
    }
    .fsh-product-info-tabs::-webkit-scrollbar{
        display:none;
    }
    .fsh-product-info-tab{
        flex:0 0 auto;
        min-width:96px;
        min-height:42px;
        padding:0 10px 11px;
        border-bottom-width:2px;
        font-size:14px;
        white-space:nowrap;
        scroll-snap-align:start;
    }
    .fsh-product-info-panels{
        margin-top:18px;
        padding-right:5px;
    }
    .fsh-product-info-richtext,
    .fsh-product-info-empty{
        font-size:14px;
        line-height:1.68;
    }
    .fsh-product-info-richtext h1{font-size:23px}
    .fsh-product-info-richtext h2{font-size:21px}
    .fsh-product-info-richtext h3{font-size:18px}
    .fsh-product-info-richtext h1,
    .fsh-product-info-richtext h2,
    .fsh-product-info-richtext h3,
    .fsh-product-info-richtext h4,
    .fsh-product-info-richtext h5,
    .fsh-product-info-richtext h6{
        margin-bottom:13px;
    }
    .fsh-product-info-richtext p{
        margin-bottom:11px;
    }
    .fsh-product-info-richtext table{
        display:block;
        width:100%;
        max-width:100%;
        overflow-x:auto;
        white-space:nowrap;
        -webkit-overflow-scrolling:touch;
    }
    .fsh-product-info-richtext iframe,
    .fsh-product-info-richtext video,
    .fsh-product-info-richtext img{
        max-width:100% !important;
        height:auto !important;
    }

    /* 成分：手机一屏两项，按钮覆盖两侧，不挤压卡片 */
    .fsh-product-ingredients-section{
        padding:0 0 68px;
    }
    .fsh-product-ingredients-inner h2{
        margin-bottom:20px;
        font-size:22px;
        line-height:1.3;
    }
    .fsh-product-ingredients-inner{
        --fsh-ingredient-card-width:calc((100% - 12px) / 2);
        --fsh-ingredient-image-height:112px;
        --fsh-ingredient-gap:12px;
    }
    .fsh-product-ingredient-carousel.has-controls{
        padding:0;
    }
    .fsh-product-ingredient-carousel.has-controls .fsh-product-ingredient-track{
        padding:0 1px 4px;
        scroll-padding-inline:1px;
        overscroll-behavior-inline:contain;
        -webkit-overflow-scrolling:touch;
    }
    .fsh-product-ingredient-carousel:not(.has-controls) .fsh-product-ingredient-track{
        gap:12px;
    }
    .fsh-product-ingredient-card{
        border-width:1px;
        border-radius:10px;
    }
    .fsh-product-ingredient-image{
        border-bottom-width:1px;
    }
    .fsh-product-ingredient-title{
        height:42px;
        padding:0 8px;
        font-size:13px;
        line-height:42px;
    }
    .fsh-product-ingredient-nav{
        top:calc(50% - 1px);
        width:30px;
        height:42px;
        border:1px solid rgba(107,65,0,.12);
        border-radius:9px;
        background:rgba(255,255,255,.92);
        font-size:29px;
        box-shadow:0 6px 16px rgba(65,43,23,.12);
    }
    .fsh-product-ingredient-nav-prev{left:6px}
    .fsh-product-ingredient-nav-next{right:6px}

    /* 真实案例：文案在上、图片区在下，轮播一屏一张 */
    .fsh-product-cases-section{
        padding:0 0 72px;
    }
    .fsh-product-cases-inner{
        display:grid;
        grid-template-columns:1fr;
        gap:22px;
        align-items:start;
    }
    .fsh-product-cases-copy{
        width:100%;
        max-width:none;
        margin:0;
    }
    .fsh-product-cases-kicker{
        margin-bottom:8px;
        font-size:16px;
        line-height:1.4;
    }
    .fsh-product-cases-copy h2{
        margin-bottom:9px;
        font-size:22px;
        line-height:1.3;
    }
    .fsh-product-cases-desc{
        margin-bottom:17px;
        font-size:14px;
        line-height:1.58;
    }
    .fsh-product-cases-more{
        width:auto;
        min-width:148px;
        min-height:42px;
        padding:9px 16px;
        gap:9px;
        border-radius:7px;
        font-size:14px;
    }
    .fsh-product-cases-more-icon{
        width:24px;
        height:14px;
        flex-basis:24px;
    }
    .fsh-product-cases-gallery,
    .fsh-product-cases-gallery.has-controls{
        width:100%;
        max-width:none;
        margin:0;
        padding:14px 12px 22px;
        border-radius:14px;
    }
    .fsh-product-case-track{
        grid-auto-columns:100%;
        gap:12px;
        overscroll-behavior-inline:contain;
        -webkit-overflow-scrolling:touch;
    }
    .fsh-product-case-card{
        aspect-ratio:1.5/1;
        border-radius:8px;
    }
    .fsh-product-case-nav{
        width:32px;
        height:32px;
        border-width:1px;
        font-size:25px;
        box-shadow:0 5px 14px rgba(0,0,0,.1);
    }
    .fsh-product-case-nav-prev{left:7px}
    .fsh-product-case-nav-next{right:7px}
    .fsh-product-case-dots{
        bottom:-24px;
        gap:8px;
    }
    .fsh-product-case-dot{
        width:7px;
        height:7px;
    }

    /* 搭配商品：两列紧凑展示，轮播轨道可直接触控滑动 */
    .fsh-product-related-section{
        padding:0 0 72px;
    }
    .fsh-product-related-inner{
        padding:20px 12px 24px;
        border-radius:16px;
    }
    .fsh-product-related-inner h2{
        margin-bottom:18px;
        font-size:22px;
        line-height:1.3;
    }
    .fsh-product-related-carousel.has-controls{
        padding:0 24px;
    }
    .fsh-product-related-track{
        grid-auto-columns:calc((100% - 10px) / 2);
        gap:10px;
        overscroll-behavior-inline:contain;
        -webkit-overflow-scrolling:touch;
    }
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-track{
        gap:10px;
    }
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-card{
        flex-basis:calc((100% - 10px) / 2);
        max-width:calc((100% - 10px) / 2);
    }
    .fsh-product-related-card{
        border-radius:11px;
    }
    .fsh-product-related-media{
        min-height:0;
        aspect-ratio:1/1;
    }
    .fsh-product-related-body{
        padding:10px 8px 11px;
        gap:7px;
    }
    .fsh-product-related-body h3{
        display:-webkit-box;
        min-height:2.7em;
        overflow:hidden;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        font-size:13px;
        line-height:1.35;
    }
    .fsh-product-related-price{
        font-size:13px;
    }
    .fsh-product-related-buy{
        min-height:32px;
        padding:6px;
        border-radius:7px;
        font-size:12px;
        line-height:1.25;
    }
    .fsh-product-related-nav{
        width:22px;
        height:38px;
        border-radius:8px;
        font-size:25px;
    }

    /* 两类图片弹窗：适配动态视口与安全边距 */
    body > .fsh-product-ingredient-modal,
    body > .fsh-product-case-modal{
        padding:20px;
        min-height:100dvh;
        align-items:center;
    }
    .fsh-product-ingredient-modal-dialog,
    .fsh-product-case-modal-dialog{
        width:100%;
        max-width:100%;
        max-height:calc(100dvh - 40px);
        padding:13px 12px 15px;
        border-radius:13px;
    }
    .fsh-product-ingredient-modal-media,
    .fsh-product-case-modal-media{
        max-height:calc(100dvh - 132px);
        border-radius:8px;
    }
    .fsh-product-ingredient-modal-media img,
    .fsh-product-case-modal-media img{
        max-height:calc(100dvh - 132px);
    }
    .fsh-product-ingredient-modal-close{
        top:-12px;
        right:-8px;
        width:34px;
        height:34px;
        font-size:26px;
    }
    .fsh-product-case-modal-close{
        top:8px;
        right:8px;
        width:34px;
        height:34px;
        font-size:26px;
    }
    .fsh-product-ingredient-modal-arrow,
    .fsh-product-case-modal-arrow{
        width:32px;
        height:46px;
        border-radius:9px;
        font-size:32px;
    }
    .fsh-product-ingredient-modal-prev,
    .fsh-product-case-modal-prev{left:8px}
    .fsh-product-ingredient-modal-next,
    .fsh-product-case-modal-next{right:8px}
    .fsh-product-ingredient-modal-title{
        margin-top:10px;
        font-size:16px;
    }
    .fsh-product-case-modal-count{
        margin-top:8px;
        font-size:14px;
    }
}

@media(max-width:420px){
    .fsh-product-detail-page{
        --fsh-mobile-gutter:12px;
    }
    .fsh-product-hero{
        padding-top:12px;
        padding-bottom:52px;
    }
    .fsh-product-thumb{
        width:52px;
        height:52px;
        flex-basis:52px;
    }
    .fsh-product-summary{
        margin-top:20px;
    }
    .fsh-product-summary h1{
        font-size:22px;
    }
    .fsh-product-short-desc,
    .fsh-product-point-text{
        font-size:13px;
    }
    .fsh-product-price{
        font-size:22px;
    }
    .fsh-product-info-left h2,
    .fsh-product-ingredients-inner h2,
    .fsh-product-cases-copy h2,
    .fsh-product-related-inner h2{
        font-size:20px;
    }
    .fsh-product-info-card{
        padding-left:11px;
        padding-right:11px;
    }
    .fsh-product-info-tab{
        min-width:88px;
        padding-left:8px;
        padding-right:8px;
        font-size:13px;
    }
    .fsh-product-ingredients-inner{
        --fsh-ingredient-card-width:calc((100% - 8px) / 2);
        --fsh-ingredient-image-height:100px;
        --fsh-ingredient-gap:8px;
    }
    .fsh-product-ingredient-carousel:not(.has-controls) .fsh-product-ingredient-track{
        gap:8px;
    }
    .fsh-product-ingredient-title{
        height:40px;
        line-height:40px;
        font-size:12px;
    }
    .fsh-product-cases-gallery,
    .fsh-product-cases-gallery.has-controls{
        padding-left:9px;
        padding-right:9px;
    }
    .fsh-product-related-inner{
        padding-left:9px;
        padding-right:9px;
    }
    .fsh-product-related-carousel.has-controls{
        padding-left:22px;
        padding-right:22px;
    }
    .fsh-product-related-track{
        grid-auto-columns:calc((100% - 8px) / 2);
        gap:8px;
    }
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-track{
        gap:8px;
    }
    .fsh-product-related-carousel:not(.has-controls) .fsh-product-related-card{
        flex-basis:calc((100% - 8px) / 2);
        max-width:calc((100% - 8px) / 2);
    }
    body > .fsh-product-ingredient-modal,
    body > .fsh-product-case-modal{
        padding:16px;
    }
    .fsh-product-ingredient-modal-dialog,
    .fsh-product-case-modal-dialog{
        max-height:calc(100dvh - 32px);
    }
}

@media(max-width:768px) and (hover:none){
    .fsh-product-thumb:hover,
    .fsh-product-ingredient-card:hover,
    .fsh-product-case-card:hover,
    .fsh-product-related-card:hover,
    .fsh-product-buy-btn:hover,
    .fsh-product-cases-more:hover{
        transform:none;
        box-shadow:none;
    }
}

/* v100：Products 单图 Banner 简介移动端适配 + News 栏目 Banner */
.fsh-news-page{
    min-height:calc(100vh - 105px);
    background:#fff;
    overflow-x:clip;
    overflow-y:visible;
}

@media(max-width:980px){
    .fsh-news-page{
        min-height:calc(100vh - 72px);
    }
}

@media(max-width:768px){
    /* 移动端不沿用 PC 端左对齐与大字号，栏目简介强制缩小并居中。 */
    .fsh-products-banner-intro-wrap{
        padding:10px 0;
    }
    .fsh-products-banner-intro-inner{
        width:calc(100% - 30px);
        justify-content:center;
        text-align:center;
    }
    .fsh-products-banner-intro{
        width:100%;
        max-width:min(92%,520px);
        max-height:calc(100% - 20px);
        margin:0 auto;
        overflow:hidden;
        text-align:center;
    }
    .fsh-products-banner-intro,
    .fsh-products-banner-intro *{
        max-width:100%;
        text-align:center !important;
        overflow-wrap:anywhere;
        word-break:break-word;
    }
    .fsh-products-banner-intro > *,
    .fsh-products-banner-intro > * *{
        font-size:clamp(13px,3.8vw,18px) !important;
        line-height:1.35 !important;
    }
    .fsh-products-banner-intro h1,
    .fsh-products-banner-intro h1 *{
        font-size:clamp(23px,6vw,32px) !important;
        line-height:1.16 !important;
    }
    .fsh-products-banner-intro h2,
    .fsh-products-banner-intro h2 *{
        font-size:clamp(20px,5.4vw,28px) !important;
        line-height:1.2 !important;
    }
    .fsh-products-banner-intro h3,
    .fsh-products-banner-intro h3 *{
        font-size:clamp(17px,4.8vw,24px) !important;
        line-height:1.25 !important;
    }
    .fsh-products-banner-intro > :first-child{
        margin-top:0 !important;
    }
    .fsh-products-banner-intro > :last-child{
        margin-bottom:0 !important;
    }
}

@media(max-width:420px){
    .fsh-products-banner-intro-inner{
        width:calc(100% - 22px);
    }
    .fsh-products-banner-intro{
        max-width:96%;
    }
    .fsh-products-banner-intro > *,
    .fsh-products-banner-intro > * *{
        font-size:clamp(12px,3.7vw,16px) !important;
    }
    .fsh-products-banner-intro h1,
    .fsh-products-banner-intro h1 *{
        font-size:clamp(20px,6.2vw,26px) !important;
    }
    .fsh-products-banner-intro h2,
    .fsh-products-banner-intro h2 *{
        font-size:clamp(18px,5.6vw,23px) !important;
    }
    .fsh-products-banner-intro h3,
    .fsh-products-banner-intro h3 *{
        font-size:clamp(16px,5vw,20px) !important;
    }
}

/* v101：前端 News 列表页 */
.fsh-news-list-section{
    width:min(1440px,calc(100% - 80px));
    margin:0 auto;
    padding:28px 0 96px;
    min-width:0;
}
.fsh-news-breadcrumb{
    margin-bottom:38px;
}
.fsh-news-list{
    display:flex;
    flex-direction:column;
    gap:30px;
}
.fsh-news-card{
    display:grid;
    grid-template-columns:72px 430px minmax(0,1fr);
    align-items:center;
    column-gap:42px;
    min-width:0;
    min-height:274px;
    padding:26px 42px;
    border:1px solid #e8e8e8;
    border-radius:14px;
    background:#fff;
    transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.fsh-news-card:hover{
    border-color:#dedede;
    box-shadow:0 18px 44px rgba(22,22,27,.055);
    transform:translateY(-2px);
}
.fsh-news-date{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    align-self:stretch;
    color:#242429;
    font-style:normal;
    line-height:1.15;
    text-align:center;
}
.fsh-news-date strong{
    display:block;
    margin-bottom:8px;
    color:#e21b12;
    font-size:40px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.045em;
}
.fsh-news-date span{
    display:block;
    font-size:18px;
    line-height:1.45;
    font-weight:500;
}
.fsh-news-cover{
    display:flex;
    align-items:center;
    justify-content:center;
    width:430px;
    height:220px;
    min-width:0;
    overflow:hidden;
    border-radius:12px;
    background:#f3f3f3;
    color:#999;
    text-decoration:none;
}
.fsh-news-cover img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform .36s ease;
}
.fsh-news-card:hover .fsh-news-cover img{
    transform:scale(1.025);
}
.fsh-news-card-content{
    min-width:0;
    padding-right:10px;
}
.fsh-news-category{
    margin-bottom:10px;
    color:#e21b12;
    font-size:14px;
    line-height:1.35;
    font-weight:700;
}
.fsh-news-card-content h2{
    margin:0 0 12px;
    color:#202025;
    font-size:25px;
    line-height:1.22;
    font-weight:850;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-news-card-content h2 a{
    color:inherit;
    text-decoration:none;
    transition:color .18s ease;
}
.fsh-news-card-content h2 a:hover{
    color:#e21b12;
}
.fsh-news-card-content p{
    display:-webkit-box;
    margin:0 0 16px;
    overflow:hidden;
    color:#4e4e54;
    font-size:15px;
    line-height:1.65;
    font-weight:400;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-news-more{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#e21b12;
    font-size:14px;
    line-height:1.3;
    font-weight:700;
    text-decoration:none;
    transition:gap .18s ease,color .18s ease;
}
.fsh-news-more:hover{
    gap:14px;
    color:#c81710;
}
.fsh-news-more span{
    font-size:20px;
    line-height:1;
}
.fsh-news-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    min-height:48px;
    margin-top:58px;
}
.fsh-news-page-number,
.fsh-news-page-gap,
.fsh-news-page-arrow{
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #f0dfdd;
    border-radius:999px;
    background:#fff;
    color:#55545a;
    font-size:14px;
    line-height:1;
    font-weight:600;
    text-decoration:none;
    transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.fsh-news-page-number.is-active{
    border-color:#e21b12;
    background:#e21b12;
    color:#fff;
}
.fsh-news-page-number:not(.is-active):hover,
.fsh-news-page-arrow:not(.is-disabled):hover{
    border-color:#e21b12;
    color:#e21b12;
    transform:translateY(-1px);
}
.fsh-news-page-gap{
    border-color:transparent;
    background:transparent;
    letter-spacing:2px;
}
.fsh-news-page-arrow{
    border-color:#f3f3f3;
    background:#f7f7f7;
    color:#e21b12;
    font-size:17px;
}
.fsh-news-page-arrow.is-disabled{
    opacity:.4;
    pointer-events:none;
}
.fsh-news-empty{
    width:min(680px,100%);
    margin:24px auto 0;
    padding:56px 28px;
    border:1px dashed #dcdcdc;
    border-radius:14px;
    background:#fafafa;
    color:#777;
    text-align:center;
}
.fsh-news-empty strong{
    display:block;
    margin-bottom:10px;
    color:#202025;
    font-size:22px;
}
.fsh-news-empty p{
    margin:0;
    line-height:1.7;
}

/* 先提供可用的新闻详情基础展示，后续可继续按设计稿细化。 */
.fsh-news-detail-section{
    width:min(1100px,calc(100% - 80px));
    margin:0 auto;
    padding:28px 0 100px;
}
.fsh-news-detail-header{
    margin:12px auto 34px;
    text-align:center;
}
.fsh-news-detail-category{
    margin-bottom:12px;
    color:#e21b12;
    font-size:15px;
    font-weight:700;
}
.fsh-news-detail-header h1{
    margin:0 auto 16px;
    max-width:920px;
    color:#202025;
    font-size:clamp(30px,3.2vw,48px);
    line-height:1.2;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
}
.fsh-news-detail-meta{
    display:flex;
    justify-content:center;
    gap:20px;
    color:#8a8a91;
    font-size:14px;
}
.fsh-news-detail-cover{
    width:100%;
    margin:0 auto 42px;
    overflow:hidden;
    border-radius:16px;
    background:#f4f4f4;
}
.fsh-news-detail-cover img{
    display:block;
    width:100%;
    height:auto;
    max-height:620px;
    object-fit:cover;
}
.fsh-news-detail-content{
    color:#33343a;
    font-size:17px;
    line-height:1.9;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-news-detail-content img,
.fsh-news-detail-content video,
.fsh-news-detail-content iframe{
    max-width:100%;
}

@media(max-width:1240px){
    .fsh-news-card{
        grid-template-columns:66px 360px minmax(0,1fr);
        column-gap:30px;
        padding-left:30px;
        padding-right:30px;
    }
    .fsh-news-cover{
        width:360px;
        height:184px;
    }
    .fsh-news-card-content h2{
        font-size:22px;
    }
}

@media(max-width:980px){
    .fsh-news-list-section{
        width:calc(100% - 48px);
        padding-bottom:78px;
    }
    .fsh-news-card{
        grid-template-columns:58px 280px minmax(0,1fr);
        column-gap:22px;
        min-height:220px;
        padding:22px;
    }
    .fsh-news-cover{
        width:280px;
        height:143px;
        border-radius:10px;
    }
    .fsh-news-date strong{
        font-size:32px;
    }
    .fsh-news-date span{
        font-size:15px;
    }
    .fsh-news-category{
        margin-bottom:7px;
        font-size:13px;
    }
    .fsh-news-card-content h2{
        margin-bottom:8px;
        font-size:19px;
    }
    .fsh-news-card-content p{
        margin-bottom:11px;
        font-size:14px;
        line-height:1.55;
    }
    .fsh-news-detail-section{
        width:calc(100% - 48px);
    }
}

@media(max-width:768px){
    .fsh-news-list-section{
        width:calc(100% - 30px);
        padding-top:20px;
        padding-bottom:64px;
    }
    .fsh-news-breadcrumb{
        margin-bottom:26px;
    }
    .fsh-news-list{
        gap:18px;
    }
    .fsh-news-card{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        min-height:0;
        padding:14px;
        border-radius:12px;
        transform:none;
    }
    .fsh-news-card:hover{
        transform:none;
    }
    .fsh-news-date{
        flex-direction:row;
        justify-content:flex-start;
        align-self:auto;
        gap:7px;
        margin:0 0 12px;
        text-align:left;
    }
    .fsh-news-date strong{
        display:inline;
        margin:0;
        font-size:22px;
    }
    .fsh-news-date span{
        display:inline;
        font-size:14px;
        line-height:1;
    }
    .fsh-news-cover{
        width:100%;
        height:auto;
        aspect-ratio:430/220;
        margin-bottom:18px;
        border-radius:9px;
    }
    .fsh-news-card-content{
        padding:0 2px 4px;
    }
    .fsh-news-category{
        margin-bottom:8px;
        font-size:12px;
    }
    .fsh-news-card-content h2{
        margin-bottom:10px;
        font-size:19px;
        line-height:1.3;
    }
    .fsh-news-card-content p{
        margin-bottom:13px;
        font-size:14px;
        line-height:1.6;
    }
    .fsh-news-more{
        font-size:13px;
    }
    .fsh-news-pagination{
        gap:8px;
        margin-top:38px;
    }
    .fsh-news-page-number,
    .fsh-news-page-gap,
    .fsh-news-page-arrow{
        width:36px;
        height:36px;
        font-size:13px;
    }
    .fsh-news-detail-section{
        width:calc(100% - 30px);
        padding-top:20px;
        padding-bottom:70px;
    }
    .fsh-news-detail-header{
        margin-top:4px;
        margin-bottom:24px;
        text-align:left;
    }
    .fsh-news-detail-header h1{
        font-size:27px;
    }
    .fsh-news-detail-meta{
        justify-content:flex-start;
        flex-wrap:wrap;
        gap:8px 15px;
    }
    .fsh-news-detail-cover{
        margin-bottom:28px;
        border-radius:10px;
    }
    .fsh-news-detail-content{
        font-size:15px;
        line-height:1.8;
    }
}

@media(max-width:420px){
    .fsh-news-list-section,
    .fsh-news-detail-section{
        width:calc(100% - 24px);
    }
    .fsh-news-card{
        padding:12px;
    }
    .fsh-news-card-content h2{
        font-size:18px;
    }
    .fsh-news-page-number,
    .fsh-news-page-gap,
    .fsh-news-page-arrow{
        width:34px;
        height:34px;
    }
}

/* v103：新闻详情页、推荐新闻轮播、新闻专用分享 */
.fsh-news-detail-page{
    overflow-x:clip;
}
.fsh-news-detail-page .fsh-news-detail-section{
    width:min(1260px,calc(100% - 80px));
    margin:0 auto;
    padding:28px 0 104px;
    min-width:0;
}
.fsh-news-detail-page .fsh-news-breadcrumb{
    margin-bottom:62px;
}
.fsh-news-detail-article{
    min-width:0;
}
.fsh-news-detail-page .fsh-news-detail-header{
    max-width:980px;
    margin:0 0 64px;
    text-align:left;
}
.fsh-news-detail-page .fsh-news-detail-category{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    margin:0 0 20px;
    padding:5px 22px;
    border-radius:999px;
    background:#fdeaea;
    color:#e21b12;
    font-size:14px;
    line-height:1.3;
    font-weight:700;
}
.fsh-news-detail-page .fsh-news-detail-header h1{
    max-width:980px;
    margin:0 0 26px;
    color:#202025;
    font-size:clamp(36px,3.25vw,56px);
    line-height:1.22;
    font-weight:500;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-news-detail-page .fsh-news-detail-meta{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:18px;
    color:#6f7077;
    font-size:15px;
    line-height:1.4;
}
.fsh-news-detail-page .fsh-news-detail-meta time,
.fsh-news-detail-page .fsh-news-detail-meta > span:not(.fsh-news-meta-divider){
    display:inline-flex;
    align-items:center;
    gap:10px;
}
.fsh-news-meta-divider{
    width:1px;
    height:18px;
    background:#d9d9dd;
}
.fsh-news-meta-icon{
    display:inline-block;
    flex:none;
    object-fit:contain;
    object-position:center;
    vertical-align:middle;
}
.fsh-news-meta-icon.is-calendar{
    width:21px;
    height:22px;
}
.fsh-news-meta-icon.is-eye{
    width:23px;
    height:17px;
}
.fsh-news-detail-page .fsh-news-detail-content{
    width:100%;
    color:#303137;
    font-size:16px;
    line-height:1.9;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-news-detail-page .fsh-news-detail-content > :first-child{margin-top:0}
.fsh-news-detail-page .fsh-news-detail-content > :last-child{margin-bottom:0}
.fsh-news-detail-page .fsh-news-detail-content p{
    margin:0 0 26px;
}
.fsh-news-detail-page .fsh-news-detail-content img{
    display:block;
    max-width:100%;
    height:auto;
    margin:28px 0;
    border-radius:8px;
}
.fsh-news-detail-page .fsh-news-detail-content video,
.fsh-news-detail-page .fsh-news-detail-content iframe{
    display:block;
    max-width:100%;
    height:auto;
    margin:34px auto;
    border-radius:8px;
}
.fsh-news-detail-page .fsh-news-detail-content p:has(> img:only-child),
.fsh-news-detail-page .fsh-news-detail-content figure:has(> img){
    margin-top:0;
    margin-bottom:0;
}
.fsh-news-detail-page .fsh-news-detail-content table{
    width:100%;
    max-width:100%;
    border-collapse:collapse;
}
.fsh-news-recommend-section{
    position:relative;
    margin-top:62px;
    min-width:0;
}
.fsh-news-recommend-viewport{
    width:100%;
    min-width:0;
    overflow:hidden;
}
.fsh-news-recommend-track{
    display:flex;
    align-items:stretch;
    gap:28px;
    min-width:0;
    scroll-snap-type:x mandatory;
}
.fsh-news-recommend-card{
    flex:0 0 calc((100% - 84px) / 4);
    min-width:0;
    aspect-ratio:430/220;
    overflow:hidden;
    border-radius:8px;
    background:#f2f2f2;
    scroll-snap-align:start;
    text-decoration:none;
}
.fsh-news-recommend-card img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform .36s ease,opacity .36s ease;
}
.fsh-news-recommend-card:hover img{
    transform:scale(1.025);
    opacity:.96;
}
.fsh-news-recommend-arrow{
    position:absolute;
    top:50%;
    z-index:3;
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #e6e6e8;
    border-radius:50%;
    background:rgba(255,255,255,.96);
    color:#e21b12;
    font-size:30px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 24px rgba(0,0,0,.07);
    transform:translateY(-50%);
    transition:opacity .2s ease,transform .2s ease,border-color .2s ease;
}
.fsh-news-recommend-arrow.is-prev{left:-60px}
.fsh-news-recommend-arrow.is-next{right:-60px}
.fsh-news-recommend-arrow:hover:not(:disabled){
    border-color:#e21b12;
    transform:translateY(-50%) scale(1.04);
}
.fsh-news-recommend-arrow:disabled{
    opacity:.25;
    cursor:not-allowed;
}
.fsh-news-detail-footer-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:36px;
    margin-top:50px;
    padding-top:4px;
}
.fsh-news-share-block{
    display:flex;
    align-items:center;
    gap:22px;
    min-width:0;
}
.fsh-news-share-label{
    color:#e21b12;
    font-size:14px;
    font-weight:600;
}
.fsh-news-share-icons{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}
.fsh-news-share-icon.social-icon{
    width:34px;
    height:34px;
    padding:7px;
    border-radius:50%;
    background:#f4f4f5;
    transition:transform .2s ease,background .2s ease;
}
.fsh-news-share-icon .social-icon-mask{
    width:20px;
    height:20px;
    filter:none;
    opacity:1;
}
.fsh-news-share-icon:hover{
    background:#ececee;
    transform:translateY(-2px);
}
.fsh-news-adjacent{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:34px;
    margin-left:auto;
}
.fsh-news-adjacent-link{
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:#e21b12;
    font-size:14px;
    line-height:1.3;
    font-weight:600;
    text-decoration:none;
    white-space:nowrap;
    transition:gap .2s ease,color .2s ease;
}
.fsh-news-adjacent-link em{
    font-style:normal;
}
.fsh-news-adjacent-link:hover{
    gap:16px;
    color:#c71912;
}

@media(max-width:1420px){
    .fsh-news-recommend-arrow.is-prev{left:12px}
    .fsh-news-recommend-arrow.is-next{right:12px}
}

@media(max-width:980px){
    .fsh-news-detail-page .fsh-news-detail-section{
        width:calc(100% - 48px);
    }
    .fsh-news-detail-page .fsh-news-breadcrumb{
        margin-bottom:44px;
    }
    .fsh-news-detail-page .fsh-news-detail-header{
        margin-bottom:46px;
    }
    .fsh-news-recommend-track{
        gap:18px;
    }
    .fsh-news-recommend-card{
        flex-basis:calc((100% - 36px) / 3);
    }
}

@media(max-width:768px){
    .fsh-news-detail-page .fsh-news-detail-section{
        width:calc(100% - 30px);
        padding-top:20px;
        padding-bottom:72px;
    }
    .fsh-news-detail-page .fsh-news-breadcrumb{
        margin-bottom:34px;
    }
    .fsh-news-detail-page .fsh-news-detail-header{
        margin-bottom:38px;
    }
    .fsh-news-detail-page .fsh-news-detail-category{
        min-height:27px;
        margin-bottom:16px;
        padding:4px 16px;
        font-size:12px;
    }
    .fsh-news-detail-page .fsh-news-detail-header h1{
        margin-bottom:20px;
        font-size:clamp(28px,8vw,38px);
        line-height:1.26;
    }
    .fsh-news-detail-page .fsh-news-detail-meta{
        gap:12px;
        font-size:13px;
    }
    .fsh-news-meta-divider{
        height:15px;
    }
    .fsh-news-meta-icon.is-calendar{
        width:18px;
        height:19px;
    }
    .fsh-news-meta-icon.is-eye{
        width:20px;
        height:15px;
    }
    .fsh-news-detail-page .fsh-news-detail-content{
        font-size:15px;
        line-height:1.82;
    }
    .fsh-news-detail-page .fsh-news-detail-content p{
        margin-bottom:22px;
    }
    .fsh-news-detail-page .fsh-news-detail-content img{
        margin:22px 0;
        border-radius:6px;
    }
    .fsh-news-detail-page .fsh-news-detail-content video,
    .fsh-news-detail-page .fsh-news-detail-content iframe{
        margin:26px auto;
        border-radius:6px;
    }
    .fsh-news-recommend-section{
        margin-top:44px;
    }
    .fsh-news-recommend-viewport{
        overflow-x:auto;
        scrollbar-width:none;
        scroll-behavior:smooth;
        -webkit-overflow-scrolling:touch;
    }
    .fsh-news-recommend-viewport::-webkit-scrollbar{display:none}
    .fsh-news-recommend-track{
        gap:14px;
    }
    .fsh-news-recommend-card{
        flex-basis:calc((100% - 14px) / 2);
        border-radius:7px;
    }
    .fsh-news-recommend-arrow{
        width:36px;
        height:36px;
        font-size:26px;
    }
    .fsh-news-recommend-arrow.is-prev{left:6px}
    .fsh-news-recommend-arrow.is-next{right:6px}
    .fsh-news-detail-footer-row{
        align-items:flex-start;
        flex-direction:column;
        gap:30px;
        margin-top:38px;
    }
    .fsh-news-adjacent{
        width:100%;
        margin-left:0;
        justify-content:space-between;
        gap:16px;
    }
    .fsh-news-adjacent-link{
        font-size:13px;
    }
}

@media(max-width:420px){
    .fsh-news-detail-page .fsh-news-detail-section{
        width:calc(100% - 24px);
    }
    .fsh-news-detail-page .fsh-news-detail-meta{
        flex-wrap:wrap;
    }
    .fsh-news-recommend-card{
        flex-basis:82%;
    }
    .fsh-news-share-block{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
    }
    .fsh-news-adjacent{
        flex-wrap:wrap;
    }
}

/* v114：前端 Factory 环境轮播按钮与动效优化（延续 v113 页面） */
.fsh-factory-page{
    width:100%;
    overflow-x:clip;
    background:#fff;
    color:#242428;
}
.fsh-factory-shell{
    width:min(1440px,calc(100% - 80px));
    min-width:0;
    margin:0 auto;
    padding:28px 0 118px;
}
.fsh-factory-breadcrumb{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:24px;
    margin:0 0 58px;
    color:#a9a9ad;
    font-size:15px;
    line-height:1.4;
    font-weight:500;
}
.fsh-factory-breadcrumb a{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#9f9fa4;
    text-decoration:none;
    transition:color .18s ease;
}
.fsh-factory-breadcrumb a:hover{color:#e21b12}
.fsh-factory-breadcrumb-home-icon{
    width:15px;
    height:15px;
    display:inline-block;
    flex:0 0 15px;
    background:#c8c8cc;
    -webkit-mask:url('../icons/products/home.svg') center/contain no-repeat;
    mask:url('../icons/products/home.svg') center/contain no-repeat;
}
.fsh-factory-breadcrumb a:hover .fsh-factory-breadcrumb-home-icon{background:#e21b12}
.fsh-factory-breadcrumb-separator{
    color:#c7c7cc;
    font-size:19px;
    line-height:1;
}
.fsh-factory-intro{
    display:grid;
    grid-template-columns:430px minmax(0,1fr);
    gap:80px;
    align-items:center;
    min-width:0;
}
.fsh-factory-intro.has-gallery-only{
    grid-template-columns:minmax(0,1fr);
}
.fsh-factory-intro.has-gallery-only .fsh-factory-gallery{
    width:min(920px,100%);
    margin:0 auto;
}
.fsh-factory-intro.has-copy-only{
    grid-template-columns:minmax(0,720px);
}
.fsh-factory-intro-copy{
    min-width:0;
    padding:16px 0 26px;
}
.fsh-factory-kicker{
    margin:0 0 20px;
    color:#e21b12;
    font-size:14px;
    line-height:1.35;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.01em;
    overflow-wrap:anywhere;
}
.fsh-factory-intro-copy h1{
    margin:0 0 28px;
    color:#26262a;
    font-size:clamp(32px,2.2vw,40px);
    line-height:1.12;
    font-weight:800;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-factory-rich-copy{
    max-width:420px;
    color:#4d4d52;
    font-size:16px;
    line-height:1.72;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-factory-rich-copy > :first-child{margin-top:0}
.fsh-factory-rich-copy > :last-child{margin-bottom:0}
.fsh-factory-rich-copy p{margin:0 0 22px}
.fsh-factory-rich-copy h1,
.fsh-factory-rich-copy h2,
.fsh-factory-rich-copy h3,
.fsh-factory-rich-copy h4{
    margin:28px 0 14px;
    line-height:1.3;
}
.fsh-factory-rich-copy ul,
.fsh-factory-rich-copy ol{
    margin:16px 0;
    padding-left:1.35em;
}
.fsh-factory-rich-copy img,
.fsh-factory-rich-copy video{
    display:block;
    max-width:100%;
    height:auto;
    margin:22px 0;
    border-radius:8px;
}
.fsh-factory-rich-copy a{color:#e21b12}
.fsh-factory-action{
    width:max-content;
    min-width:158px;
    max-width:100%;
    min-height:54px;
    margin-top:38px;
    padding:13px 25px 13px 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    border-radius:999px;
    background:#e21b12;
    color:#fff;
    font-size:15px;
    line-height:1.2;
    font-weight:600;
    text-decoration:none;
    transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
    overflow-wrap:anywhere;
}
.fsh-factory-action:hover{
    background:#c91811;
    transform:translateY(-2px);
    box-shadow:0 12px 26px rgba(226,27,18,.2);
}
.fsh-factory-action-arrow{
    flex:0 0 auto;
    font-size:20px;
    line-height:1;
    transition:transform .22s ease;
}
.fsh-factory-action:hover .fsh-factory-action-arrow{transform:translateX(4px)}
.fsh-factory-gallery{
    min-width:0;
    user-select:none;
}
.fsh-factory-gallery-viewport{
    width:100%;
    aspect-ratio:920/600;
    overflow:hidden;
    border-radius:10px;
    background:#f2f3f4;
    touch-action:pan-y pinch-zoom;
}
.fsh-factory-gallery.is-carousel .fsh-factory-gallery-viewport{cursor:grab}
.fsh-factory-gallery.is-carousel.is-dragging .fsh-factory-gallery-viewport{cursor:grabbing}
.fsh-factory-gallery-track{
    width:100%;
    height:100%;
    display:flex;
    will-change:transform;
    transform:translate3d(0,0,0);
    transition:transform .5s cubic-bezier(.22,.7,.2,1);
}
.fsh-factory-gallery.is-dragging .fsh-factory-gallery-track{transition:none}
.fsh-factory-gallery-slide{
    flex:0 0 100%;
    width:100%;
    height:100%;
    min-width:0;
    margin:0;
    overflow:hidden;
}
.fsh-factory-gallery-slide img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    pointer-events:none;
}
.fsh-factory-gallery-dots{
    min-height:18px;
    margin-top:17px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
}
.fsh-factory-gallery-dots button{
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#d8d8dc;
    cursor:pointer;
    transition:width .2s ease,background .2s ease,transform .2s ease;
}
.fsh-factory-gallery-dots button:hover{background:#aaaab0}
.fsh-factory-gallery-dots button.is-active{
    width:20px;
    border-radius:999px;
    background:#e21b12;
}
.fsh-factory-environment{
    margin-top:118px;
    min-width:0;
}
.fsh-factory-environment-heading{
    max-width:980px;
    margin:0 auto 58px;
    text-align:center;
}
.fsh-factory-environment-heading .fsh-factory-kicker{
    margin-bottom:18px;
}
.fsh-factory-environment-heading h2{
    margin:0;
    color:#29292d;
    font-size:clamp(30px,2.15vw,40px);
    line-height:1.2;
    font-weight:800;
    letter-spacing:-.03em;
    overflow-wrap:anywhere;
}
.fsh-factory-heading-line{
    width:38px;
    height:3px;
    display:block;
    margin:25px auto 0;
    border-radius:999px;
    background:#e21b12;
}
.fsh-factory-environment-carousel{
    --fsh-factory-env-slide:min(920px,calc(100vw - 160px));
    position:relative;
    width:100%;
    min-width:0;
    user-select:none;
}
.fsh-factory-environment-stage{
    position:relative;
    width:100%;
    min-width:0;
    overflow:visible;
}
.fsh-factory-environment-viewport{
    position:relative;
    z-index:0;
    isolation:isolate;
    width:100%;
    min-width:0;
    overflow:hidden;
    touch-action:pan-y pinch-zoom;
    cursor:grab;
}
.fsh-factory-environment-carousel.is-single .fsh-factory-environment-viewport{cursor:default}
.fsh-factory-environment-carousel.is-dragging .fsh-factory-environment-viewport{cursor:grabbing}
.fsh-factory-environment-track{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:24px;
    will-change:transform;
    transform:translate3d(0,0,0);
    transform-style:preserve-3d;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    transition:transform .76s cubic-bezier(.22,.72,.18,1);
}
.fsh-factory-environment-carousel.is-dragging .fsh-factory-environment-track{transition:none}

.fsh-factory-environment-carousel.is-ready:not(.is-dragging):not(.is-instant) .fsh-factory-environment-track{
    transition:transform .76s cubic-bezier(.22,.72,.18,1);
}
.fsh-factory-environment-carousel.is-instant .fsh-factory-environment-track,
.fsh-factory-environment-carousel.is-instant .fsh-factory-environment-slide,
.fsh-factory-environment-carousel.is-instant .fsh-factory-environment-slide::after,
.fsh-factory-environment-carousel.is-instant .fsh-factory-environment-slide img{
    transition:none !important;
}
.fsh-factory-environment-slide{
    position:relative;
    flex:0 0 var(--fsh-factory-env-slide);
    width:var(--fsh-factory-env-slide);
    height:auto;
    aspect-ratio:920/600;
    margin:0;
    overflow:hidden;
    border-radius:10px;
    background:#d9d9dc;
    transform:translateZ(0) scale(.875);
    transform-origin:center center;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    box-shadow:0 8px 24px rgba(24,24,27,.035);
    transition:transform .68s cubic-bezier(.22,.78,.22,1),box-shadow .68s ease;
}
.fsh-factory-environment-slide::after{
    content:"";
    position:absolute;
    z-index:2;
    inset:0;
    border-radius:inherit;
    background:rgba(18,18,22,.38);
    opacity:1;
    pointer-events:none;
    transition:opacity .68s cubic-bezier(.22,.78,.22,1);
}
.fsh-factory-environment-slide.is-leaving{
    transform:translateZ(0) scale(.94);
}
.fsh-factory-environment-slide.is-leaving::after{
    opacity:.16;
}
.fsh-factory-environment-slide.is-active{
    z-index:3;
    transform:translateZ(0) scale(1);
    box-shadow:0 16px 42px rgba(24,24,27,.08);
}
.fsh-factory-environment-slide.is-active::after{
    opacity:0;
}
.fsh-factory-environment-slide img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    pointer-events:none;
    transform:translateZ(0) scale(1.025);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    transition:transform .82s cubic-bezier(.22,.78,.22,1);
}
.fsh-factory-environment-slide.is-leaving img{
    transform:translateZ(0) scale(1.01);
}
.fsh-factory-environment-slide.is-active img{
    transform:translateZ(0) scale(1);
}
.fsh-factory-environment-arrow{
    position:absolute;
    top:50%;
    z-index:60;
    width:52px;
    height:52px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.82);
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:#e21b12;
    font-size:21px;
    line-height:1;
    cursor:pointer;
    pointer-events:auto;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    box-shadow:0 10px 30px rgba(20,20,24,.14),inset 0 0 0 1px rgba(239,239,241,.9);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    transform:translateY(-50%) translateZ(0);
    transition:transform .28s cubic-bezier(.22,1,.36,1),background .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.fsh-factory-environment-arrow span{
    display:block;
    line-height:1;
    transform:translateX(0);
    transition:transform .28s cubic-bezier(.22,1,.36,1);
    pointer-events:none;
}
.fsh-factory-environment-arrow.is-prev{left:-25px}
.fsh-factory-environment-arrow.is-next{right:-25px}
.fsh-factory-environment-arrow:hover{
    border-color:rgba(226,27,18,.28);
    background:#e21b12;
    color:#fff;
    transform:translateY(-50%) scale(1.07) translateZ(0);
    box-shadow:0 14px 34px rgba(226,27,18,.24),inset 0 0 0 1px rgba(255,255,255,.22);
}
.fsh-factory-environment-arrow.is-prev:hover span{transform:translateX(-3px)}
.fsh-factory-environment-arrow.is-next:hover span{transform:translateX(3px)}
.fsh-factory-environment-arrow:active,
.fsh-factory-environment-arrow.is-clicked{
    transform:translateY(-50%) scale(.94) translateZ(0);
    box-shadow:0 7px 18px rgba(226,27,18,.2),inset 0 0 0 1px rgba(255,255,255,.25);
}
.fsh-factory-environment-arrow:focus-visible{
    outline:3px solid rgba(226,27,18,.2);
    outline-offset:4px;
}
.fsh-factory-environment-description{
    min-height:28px;
    max-width:920px;
    margin:18px auto 0;
    color:#29292d;
    font-size:16px;
    line-height:1.6;
    font-weight:500;
    text-align:center;
    overflow-wrap:anywhere;
    opacity:1;
    transform:translateY(0);
    transition:opacity .24s ease,transform .32s cubic-bezier(.22,1,.36,1);
}
.fsh-factory-environment-description.is-changing{
    opacity:0;
    transform:translateY(7px);
}
.fsh-factory-empty{
    min-height:420px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.fsh-factory-empty h1{
    margin:0 0 14px;
    font-size:36px;
}
.fsh-factory-empty p{
    margin:0;
    color:#77777d;
    font-size:16px;
}

@media(max-width:1500px){
    .fsh-factory-environment-arrow.is-prev{left:18px}
    .fsh-factory-environment-arrow.is-next{right:18px}
}
@media(max-width:1260px){
    .fsh-factory-intro{
        grid-template-columns:minmax(320px,38%) minmax(0,1fr);
        gap:48px;
    }
    .fsh-factory-intro-copy h1{font-size:32px}
    .fsh-factory-rich-copy{font-size:15px}
}
@media(max-width:980px){
    .fsh-factory-shell{
        width:calc(100% - 48px);
        padding-bottom:92px;
    }
    .fsh-factory-breadcrumb{margin-bottom:44px}
    .fsh-factory-intro{
        grid-template-columns:minmax(0,1fr);
        gap:44px;
    }
    .fsh-factory-intro-copy{
        width:min(720px,100%);
        padding:0;
    }
    .fsh-factory-rich-copy{max-width:none}
    .fsh-factory-gallery{width:100%}
    .fsh-factory-environment{margin-top:94px}
    .fsh-factory-environment-carousel{
        --fsh-factory-env-slide:min(760px,calc(100vw - 96px));
    }
}
@media(max-width:768px){
    .fsh-factory-shell{
        width:calc(100% - 30px);
        padding:20px 0 74px;
    }
    .fsh-factory-breadcrumb{
        margin-bottom:34px;
        font-size:13px;
    }
    .fsh-factory-intro{gap:34px}
    .fsh-factory-kicker{
        margin-bottom:14px;
        font-size:12px;
    }
    .fsh-factory-intro-copy h1{
        margin-bottom:20px;
        font-size:clamp(28px,8vw,36px);
        line-height:1.18;
    }
    .fsh-factory-rich-copy{
        font-size:15px;
        line-height:1.76;
    }
    .fsh-factory-rich-copy p{margin-bottom:18px}
    .fsh-factory-action{
        min-width:148px;
        min-height:50px;
        margin-top:28px;
        padding:12px 22px;
        font-size:14px;
    }
    .fsh-factory-gallery-viewport{border-radius:8px}
    .fsh-factory-gallery-dots{margin-top:13px}
    .fsh-factory-environment{margin-top:76px}
    .fsh-factory-environment-heading{margin-bottom:36px}
    .fsh-factory-environment-heading h2{
        font-size:clamp(27px,7.2vw,34px);
        line-height:1.24;
    }
    .fsh-factory-heading-line{margin-top:20px}
    .fsh-factory-environment-carousel{
        --fsh-factory-env-slide:calc(100vw - 54px);
    }
    .fsh-factory-environment-viewport{
        overflow:hidden;
    }
    .fsh-factory-environment-slide{border-radius:8px}
    .fsh-factory-environment-arrow{
        top:50%;
        width:42px;
        height:42px;
        font-size:18px;
    }
    .fsh-factory-environment-arrow.is-prev{left:8px}
    .fsh-factory-environment-arrow.is-next{right:8px}
    .fsh-factory-environment-description{
        min-height:24px;
        margin-top:14px;
        padding:0 8px;
        font-size:14px;
    }
}
@media(max-width:420px){
    .fsh-factory-shell{width:calc(100% - 24px)}
    .fsh-factory-environment-carousel{
        --fsh-factory-env-slide:calc(100vw - 40px);
    }
    .fsh-factory-environment-track{gap:14px}
    .fsh-factory-environment-arrow{
        width:38px;
        height:38px;
    }
    .fsh-factory-environment-arrow.is-prev{left:3px}
    .fsh-factory-environment-arrow.is-next{right:3px}
}
@media(prefers-reduced-motion:reduce){
    .fsh-factory-gallery-track,
    .fsh-factory-environment-track,
    .fsh-factory-environment-slide,
    .fsh-factory-environment-slide::after,
    .fsh-factory-environment-slide img,
    .fsh-factory-environment-arrow,
    .fsh-factory-environment-arrow span,
    .fsh-factory-environment-description,
    .fsh-factory-action,
    .fsh-factory-action-arrow{
        transition:none !important;
    }
    .fsh-factory-environment-carousel.is-ready:not(.is-dragging):not(.is-instant) .fsh-factory-environment-track{
        transition:transform .32s ease-out !important;
    }
}

/* v119：前端 Culture 企业文化页面 */
.fsh-culture-page{
    width:100%;
    overflow-x:clip;
    background:#fbfaf7;
    color:#242428;
}
.fsh-culture-shell{
    width:min(1440px,calc(100% - 80px));
    min-width:0;
    margin:0 auto;
    padding:18px 0 118px;
}
.fsh-culture-breadcrumb{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:24px;
    margin:0 0 70px;
    color:#a7a7ab;
    font-size:15px;
    line-height:1.4;
    font-weight:500;
}
.fsh-culture-breadcrumb a{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#9f9fa4;
    text-decoration:none;
    transition:color .18s ease;
}
.fsh-culture-breadcrumb a:hover{color:#e21b12}
.fsh-culture-breadcrumb-home-icon{
    width:15px;
    height:15px;
    display:inline-block;
    flex:0 0 15px;
    background:#c8c8cc;
    -webkit-mask:url('../icons/products/home.svg') center/contain no-repeat;
    mask:url('../icons/products/home.svg') center/contain no-repeat;
}
.fsh-culture-breadcrumb a:hover .fsh-culture-breadcrumb-home-icon{background:#e21b12}
.fsh-culture-breadcrumb-separator{
    color:#c7c7cc;
    font-size:19px;
    line-height:1;
}
.fsh-culture-heading{
    max-width:980px;
    margin:0 auto 58px;
    text-align:center;
}
.fsh-culture-kicker{
    margin:0 0 20px;
    color:#e21b12;
    font-size:16px;
    line-height:1.35;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.005em;
    overflow-wrap:anywhere;
}
.fsh-culture-heading h1{
    margin:0;
    color:#242428;
    font-size:clamp(34px,2.55vw,42px);
    line-height:1.18;
    font-weight:800;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
}
.fsh-culture-heading-line{
    width:44px;
    height:3px;
    display:block;
    margin:30px auto 0;
    border-radius:999px;
    background:#e21b12;
}
.fsh-culture-carousel{
    --fsh-culture-visible:4;
    --fsh-culture-gap:34px;
    position:relative;
    width:100%;
    min-width:0;
    outline:none;
}
.fsh-culture-stage{
    position:relative;
    min-width:0;
}
.fsh-culture-viewport{
    width:100%;
    overflow:hidden;
    padding:4px 0 20px;
    touch-action:pan-y;
    cursor:grab;
}
.fsh-culture-carousel.is-dragging .fsh-culture-viewport{cursor:grabbing}
.fsh-culture-track{
    width:100%;
    display:flex;
    align-items:stretch;
    gap:var(--fsh-culture-gap);
    transform:translate3d(0,0,0);
    transition:transform .68s cubic-bezier(.22,.78,.22,1);
    will-change:transform;
    backface-visibility:hidden;
}
.fsh-culture-track.is-centered{justify-content:center}
.fsh-culture-track.is-no-transition{transition:none !important}
.fsh-culture-card{
    position:relative;
    flex:0 0 calc((100% - 102px) / 4);
    min-width:0;
    min-height:360px;
    padding:43px 39px 40px;
    overflow:hidden;
    border:1px solid rgba(32,32,36,.035);
    border-radius:13px;
    background:#fff;
    box-shadow:0 9px 24px rgba(40,34,25,.075);
    transform:translateZ(0);
    transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
    user-select:none;
}
.fsh-culture-card:hover{
    transform:translateY(-5px);
    border-color:rgba(226,27,18,.09);
    box-shadow:0 18px 38px rgba(40,34,25,.11);
}
.fsh-culture-icon{
    width:70px;
    height:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 0 34px;
    padding:16px;
    overflow:hidden;
    border-radius:50%;
    background:#e91d24;
}
.fsh-culture-card:nth-child(even) .fsh-culture-icon{background:#ffc400}
.fsh-culture-icon img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    pointer-events:none;
    user-select:none;
}
.fsh-culture-card h2{
    position:relative;
    z-index:2;
    margin:0 0 15px;
    color:#26262a;
    font-size:22px;
    line-height:1.28;
    font-weight:800;
    letter-spacing:-.025em;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-culture-card-rich{
    position:relative;
    z-index:2;
    max-width:245px;
    padding-bottom:58px;
    color:#6a6a6e;
    font-size:17px;
    line-height:1.62;
    overflow-wrap:anywhere;
    word-break:break-word;
    user-select:text;
}
.fsh-culture-card-rich > :first-child{margin-top:0}
.fsh-culture-card-rich > :last-child{margin-bottom:0}
.fsh-culture-card-rich p{margin:0 0 8px}
.fsh-culture-card-rich h1,
.fsh-culture-card-rich h2,
.fsh-culture-card-rich h3,
.fsh-culture-card-rich h4{
    margin:16px 0 8px;
    font-size:1.05em;
    line-height:1.4;
}
.fsh-culture-card-rich ul,
.fsh-culture-card-rich ol{
    margin:9px 0;
    padding-left:1.25em;
}
.fsh-culture-card-rich img,
.fsh-culture-card-rich video{
    display:block;
    max-width:100%;
    height:auto;
    margin:12px 0;
    border-radius:7px;
}
.fsh-culture-card-rich a{color:#e21b12}
.fsh-culture-card-line{
    position:absolute;
    left:40px;
    bottom:57px;
    z-index:2;
    width:30px;
    height:3px;
    border-radius:999px;
    background:#e21b12;
}
.fsh-culture-card-number{
    position:absolute;
    right:31px;
    bottom:31px;
    z-index:1;
    color:rgba(233,29,36,.13);
    font-size:55px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.055em;
}
.fsh-culture-card:nth-child(even) .fsh-culture-card-number{color:rgba(255,196,0,.19)}
.fsh-culture-arrow{
    position:absolute;
    top:50%;
    z-index:12;
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid rgba(226,27,18,.1);
    border-radius:50%;
    background:rgba(255,255,255,.96);
    color:#e21b12;
    box-shadow:0 10px 28px rgba(30,25,20,.14);
    transform:translateY(-50%);
    cursor:pointer;
    transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease,opacity .22s ease;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
}
.fsh-culture-arrow.is-prev{left:-24px}
.fsh-culture-arrow.is-next{right:-24px}
.fsh-culture-arrow span{
    display:block;
    font-size:20px;
    line-height:1;
    transition:transform .22s ease;
}
.fsh-culture-arrow:hover:not(:disabled){
    background:#e21b12;
    color:#fff;
    box-shadow:0 13px 30px rgba(226,27,18,.24);
}
.fsh-culture-arrow.is-prev:hover:not(:disabled) span{transform:translateX(-3px)}
.fsh-culture-arrow.is-next:hover:not(:disabled) span{transform:translateX(3px)}
.fsh-culture-arrow:active:not(:disabled){transform:translateY(-50%) scale(.92)}
.fsh-culture-arrow:focus-visible{outline:3px solid rgba(226,27,18,.2);outline-offset:3px}
.fsh-culture-arrow:disabled{
    opacity:.32;
    cursor:not-allowed;
    box-shadow:0 6px 18px rgba(30,25,20,.08);
}
.fsh-culture-arrow[hidden]{display:none !important}
.fsh-culture-status{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
.fsh-culture-empty{
    min-height:420px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    text-align:center;
}
.fsh-culture-empty h1{margin:0 0 12px;font-size:38px}
.fsh-culture-empty p{margin:0;color:#77777b;font-size:16px}

@media(max-width:1490px){
    .fsh-culture-arrow.is-prev{left:14px}
    .fsh-culture-arrow.is-next{right:14px}
}
@media(max-width:1179px){
    .fsh-culture-carousel{--fsh-culture-visible:3;--fsh-culture-gap:26px}
    .fsh-culture-card{flex-basis:calc((100% - 52px) / 3);padding-left:34px;padding-right:34px}
}
@media(max-width:899px){
    .fsh-culture-shell{width:min(100% - 48px,1440px);padding-bottom:92px}
    .fsh-culture-breadcrumb{margin-bottom:54px}
    .fsh-culture-heading{margin-bottom:44px}
    .fsh-culture-carousel{--fsh-culture-visible:2;--fsh-culture-gap:22px}
    .fsh-culture-card{flex-basis:calc((100% - 22px) / 2);min-height:340px}
}
@media(max-width:619px){
    .fsh-culture-shell{width:calc(100% - 28px);padding-top:16px;padding-bottom:72px}
    .fsh-culture-breadcrumb{margin-bottom:42px;font-size:14px}
    .fsh-culture-heading{margin-bottom:34px}
    .fsh-culture-kicker{margin-bottom:14px;font-size:13px}
    .fsh-culture-heading h1{font-size:clamp(28px,8vw,34px);line-height:1.22}
    .fsh-culture-heading-line{margin-top:21px}
    .fsh-culture-carousel{--fsh-culture-visible:1;--fsh-culture-gap:16px}
    .fsh-culture-stage{overflow:visible}
    .fsh-culture-viewport{overflow:visible;padding-bottom:0;cursor:default;touch-action:auto}
    .fsh-culture-carousel.is-dragging .fsh-culture-viewport{cursor:default}
    .fsh-culture-track{display:grid;grid-template-columns:1fr;gap:16px;transform:none !important;transition:none !important;will-change:auto;backface-visibility:visible}
    .fsh-culture-track.is-centered{justify-content:stretch}
    .fsh-culture-card{width:100%;flex:0 0 auto;min-height:330px;padding:34px 30px 34px;border-radius:11px;user-select:auto}
    .fsh-culture-icon{width:64px;height:64px;margin-bottom:27px;padding:14px}
    .fsh-culture-card h2{font-size:21px}
    .fsh-culture-card-rich{max-width:none;font-size:16px;padding-bottom:54px}
    .fsh-culture-card-line{left:31px;bottom:49px}
    .fsh-culture-card-number{right:25px;bottom:25px;font-size:50px}
    .fsh-culture-arrow{display:none !important}
}
@media(prefers-reduced-motion:reduce){
    .fsh-culture-track{
        transition:transform .32s ease-out !important;
    }
    .fsh-culture-card,
    .fsh-culture-arrow,
    .fsh-culture-arrow span{
        transition:none !important;
    }
}
.fsh-culture-carousel:not(.is-ready) .fsh-culture-arrow{
    opacity:0;
    pointer-events:none;
}

/* v126：前端 About us 完整页面 */
.fsh-about-page{
    width:100%;
    overflow-x:clip;
    background:#fbfaf7;
    color:#242428;
}
.fsh-about-shell{
    width:min(1440px,calc(100% - 80px));
    min-width:0;
    margin:0 auto;
    padding:18px 0 118px;
}
.fsh-about-breadcrumb{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:24px;
    margin:0 0 68px;
    color:#a7a7ab;
    font-size:15px;
    line-height:1.4;
    font-weight:500;
}
.fsh-about-breadcrumb a{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#9f9fa4;
    text-decoration:none;
    transition:color .18s ease;
}
.fsh-about-breadcrumb a:hover{color:#e21b12}
.fsh-about-breadcrumb-home-icon{
    width:15px;
    height:15px;
    display:inline-block;
    flex:0 0 15px;
    background:#c8c8cc;
    -webkit-mask:url('../icons/products/home.svg') center/contain no-repeat;
    mask:url('../icons/products/home.svg') center/contain no-repeat;
}
.fsh-about-breadcrumb a:hover .fsh-about-breadcrumb-home-icon{background:#e21b12}
.fsh-about-breadcrumb-separator{
    color:#c7c7cc;
    font-size:19px;
    line-height:1;
}
.fsh-about-kicker{
    margin:0 0 17px;
    color:#e21b12;
    font-size:14px;
    line-height:1.35;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.005em;
    overflow-wrap:anywhere;
}
.fsh-about-story{
    min-width:0;
    padding-bottom:72px;
    border-bottom:1px solid #e8e6e1;
}
.fsh-about-story-heading{
    display:grid;
    grid-template-columns:minmax(300px,470px) minmax(0,1fr);
    gap:72px;
    align-items:start;
    min-width:0;
}
.fsh-about-story-title-wrap{min-width:0}
.fsh-about-story-title-wrap h1{
    max-width:520px;
    margin:0;
    color:#222226;
    font-size:20px;
    line-height:1.08;
    font-weight:800;
    letter-spacing:-.04em;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-about-rich-copy{
    min-width:0;
    color:#535358;
    font-size:16px;
    line-height:1.76;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-about-rich-copy > :first-child{margin-top:0}
.fsh-about-rich-copy > :last-child{margin-bottom:0}
.fsh-about-rich-copy p{margin:0 0 20px}
.fsh-about-rich-copy h1,
.fsh-about-rich-copy h2,
.fsh-about-rich-copy h3,
.fsh-about-rich-copy h4{
    margin:27px 0 13px;
    color:#29292d;
    line-height:1.3;
}
.fsh-about-rich-copy ul,
.fsh-about-rich-copy ol{
    margin:16px 0;
    padding-left:1.35em;
}
.fsh-about-rich-copy blockquote{
    margin:18px 0;
    padding:5px 0 5px 18px;
    border-left:3px solid #e21b12;
    color:#66666b;
}
.fsh-about-rich-copy img,
.fsh-about-rich-copy video{
    display:block;
    max-width:100%;
    height:auto;
    margin:22px 0;
    border-radius:8px;
}
.fsh-about-rich-copy table{max-width:100%;border-collapse:collapse}
.fsh-about-rich-copy th,
.fsh-about-rich-copy td{padding:9px 12px;border:1px solid #dedde0}
.fsh-about-rich-copy a{color:#e21b12}
.fsh-about-story-copy{padding-top:1px}

.fsh-about-icon-carousel{
    --fsh-about-icon-gap:24px;
    position:relative;
    width:100%;
    min-width:0;
    margin-top:58px;
}
.fsh-about-icon-stage{position:relative;min-width:0}
.fsh-about-icon-viewport{
    width:100%;
    min-width:0;
    overflow:hidden;
    touch-action:pan-y;
    cursor:grab;
}
.fsh-about-icon-carousel.is-dragging .fsh-about-icon-viewport{cursor:grabbing}
.fsh-about-icon-track{
    display:flex;
    align-items:stretch;
    gap:var(--fsh-about-icon-gap);
    width:100%;
    transform:translate3d(0,0,0);
    transition:transform .56s cubic-bezier(.22,.72,.18,1);
    will-change:transform;
}
.fsh-about-icon-track.is-no-transition{transition:none !important}
.fsh-about-icon-item{
    position:relative;
    flex:0 0 calc((100% - 72px) / 4);
    min-width:0;
    min-height:92px;
    display:flex;
    align-items:center;
    gap:22px;
    padding:4px 26px 4px 0;
}
.fsh-about-icon-item::after{
    content:"";
    position:absolute;
    top:10px;
    right:-12px;
    bottom:10px;
    width:1px;
    background:#e8e6e2;
}
.fsh-about-icon-item:last-child::after{display:none}
.fsh-about-icon-image{
    width:68px;
    height:68px;
    flex:0 0 68px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:15px;
    overflow:hidden;
    border-radius:50%;
    background:#e51f25;
}
.fsh-about-icon-item:nth-child(even) .fsh-about-icon-image{background:#ffc400}
.fsh-about-icon-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    pointer-events:none;
    user-select:none;
}
.fsh-about-icon-copy{min-width:0}
.fsh-about-icon-copy h2{
    margin:0 0 5px;
    color:#222226;
    font-size:19px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:-.02em;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-about-icon-copy p{
    margin:0;
    color:#85858a;
    font-size:14px;
    line-height:1.45;
    overflow-wrap:anywhere;
}
.fsh-about-icon-arrow{
    position:absolute;
    top:50%;
    z-index:6;
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid rgba(226,27,18,.12);
    border-radius:50%;
    background:rgba(255,255,255,.97);
    color:#e21b12;
    box-shadow:0 9px 25px rgba(35,31,26,.12);
    transform:translateY(-50%);
    cursor:pointer;
    transition:background .2s ease,color .2s ease,transform .2s ease,opacity .2s ease;
}
.fsh-about-icon-arrow.is-prev{left:-22px}
.fsh-about-icon-arrow.is-next{right:-22px}
.fsh-about-icon-arrow:hover:not(:disabled){background:#e21b12;color:#fff}
.fsh-about-icon-arrow:disabled{opacity:.28;cursor:not-allowed}
.fsh-about-icon-arrow[hidden]{display:none !important}
.fsh-about-carousel-status{
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
.fsh-about-icon-carousel:not(.is-ready) .fsh-about-icon-arrow{opacity:0;pointer-events:none}

.fsh-about-related-list{min-width:0}
.fsh-about-related-item{
    display:grid;
    grid-template-columns:minmax(320px,560px) minmax(0,1fr);
    gap:76px;
    align-items:center;
    min-width:0;
    padding:82px 0;
    border-bottom:1px solid #e8e6e1;
}
.fsh-about-related-item.is-image-left .fsh-about-related-gallery{order:-1}
.fsh-about-related-item.has-copy-only{grid-template-columns:minmax(0,760px)}
.fsh-about-related-item.has-media-only{grid-template-columns:minmax(0,1fr)}
.fsh-about-related-item.has-media-only .fsh-about-related-gallery{width:min(920px,100%);margin:0 auto}
.fsh-about-related-copy{min-width:0}
.fsh-about-related-copy h2{
    max-width:590px;
    margin:0 0 27px;
    color:#222226;
    font-size:30px;
    line-height:1.13;
    font-weight:800;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.fsh-about-related-copy .fsh-about-rich-copy{max-width:560px}
.fsh-about-action{
    width:max-content;
    min-width:176px;
    max-width:100%;
    min-height:54px;
    margin-top:34px;
    padding:13px 25px 13px 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    border-radius:999px;
    background:#e21b12;
    color:#fff;
    font-size:15px;
    line-height:1.2;
    font-weight:600;
    text-decoration:none;
    transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.fsh-about-action:hover{
    background:#c91811;
    transform:translateY(-2px);
    box-shadow:0 12px 26px rgba(226,27,18,.2);
}
.fsh-about-action-arrow{font-size:20px;line-height:1;transition:transform .2s ease}
.fsh-about-action:hover .fsh-about-action-arrow{transform:translateX(4px)}
.fsh-about-related-gallery{
    min-width:0;
    user-select:none;
}
.fsh-about-related-gallery-viewport{
    width:100%;
    aspect-ratio:920/600;
    overflow:hidden;
    border-radius:10px;
    background:#efefef;
    touch-action:pan-y pinch-zoom;
}
.fsh-about-related-gallery.is-carousel .fsh-about-related-gallery-viewport{cursor:grab}
.fsh-about-related-gallery.is-dragging .fsh-about-related-gallery-viewport{cursor:grabbing}
.fsh-about-related-gallery-track{
    width:100%;
    height:100%;
    display:flex;
    transform:translate3d(0,0,0);
    transition:transform .54s cubic-bezier(.22,.72,.18,1);
    will-change:transform;
}
.fsh-about-related-gallery.is-dragging .fsh-about-related-gallery-track{transition:none}
.fsh-about-related-gallery-slide{
    flex:0 0 100%;
    width:100%;
    height:100%;
    min-width:0;
    margin:0;
}
.fsh-about-related-gallery-slide img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    pointer-events:none;
    user-select:none;
}
.fsh-about-related-gallery-dots{
    min-height:18px;
    margin-top:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
}
.fsh-about-related-gallery-dots button{
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:999px;
    background:#d3d2d0;
    cursor:pointer;
    transition:width .2s ease,background .2s ease;
}
.fsh-about-related-gallery-dots button.is-active{width:21px;background:#e21b12}

.fsh-about-endorsement{
    min-width:0;
    padding-top:82px;
}
.fsh-about-endorsement h2{
    margin:0 0 23px;
    color:#222226;
    font-size:clamp(32px,2.2vw,42px);
    line-height:1.15;
    font-weight:800;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
}
.fsh-about-endorsement-copy{max-width:1180px}
.fsh-about-endorsement-gallery{
    position:relative;
    width:100%;
    min-width:0;
    margin-top:42px;
    user-select:none;
}
.fsh-about-endorsement-viewport{
    width:100%;
    aspect-ratio:1440/320;
    overflow:hidden;
    border-radius:10px;
    background:#efefef;
    touch-action:pan-y pinch-zoom;
}
.fsh-about-endorsement-gallery.is-carousel .fsh-about-endorsement-viewport{cursor:grab}
.fsh-about-endorsement-gallery.is-dragging .fsh-about-endorsement-viewport{cursor:grabbing}
.fsh-about-endorsement-track{
    width:100%;
    height:100%;
    display:flex;
    transform:translate3d(0,0,0);
    transition:transform .56s cubic-bezier(.22,.72,.18,1);
    will-change:transform;
}
.fsh-about-endorsement-gallery.is-dragging .fsh-about-endorsement-track{transition:none}
.fsh-about-endorsement-slide{
    flex:0 0 100%;
    width:100%;
    height:100%;
    min-width:0;
    margin:0;
}
.fsh-about-endorsement-slide img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    pointer-events:none;
    user-select:none;
}
.fsh-about-endorsement-arrow{
    position:absolute;
    top:50%;
    z-index:6;
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid rgba(255,255,255,.7);
    border-radius:50%;
    background:rgba(18,18,20,.34);
    color:#fff;
    box-shadow:0 9px 24px rgba(0,0,0,.16);
    transform:translateY(-50%);
    cursor:pointer;
    transition:background .2s ease,transform .2s ease;
}
.fsh-about-endorsement-arrow.is-prev{left:22px}
.fsh-about-endorsement-arrow.is-next{right:22px}
.fsh-about-endorsement-arrow:hover{background:#e21b12;transform:translateY(-50%) scale(1.04)}
.fsh-about-empty{
    min-height:420px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    text-align:center;
}
.fsh-about-empty h1{margin:0 0 12px;font-size:38px}
.fsh-about-empty p{margin:0;color:#77777b;font-size:16px}

@media(max-width:1490px){
    .fsh-about-icon-arrow.is-prev{left:10px}
    .fsh-about-icon-arrow.is-next{right:10px}
}
@media(max-width:1179px){
    .fsh-about-story-heading{grid-template-columns:minmax(280px,400px) minmax(0,1fr);gap:52px}
    .fsh-about-icon-item{flex-basis:calc((100% - 48px) / 3)}
    .fsh-about-related-item{grid-template-columns:minmax(280px,440px) minmax(0,1fr);gap:52px}
}
@media(max-width:899px){
    .fsh-about-shell{width:min(100% - 48px,1440px);padding-bottom:92px}
    .fsh-about-breadcrumb{margin-bottom:52px}
    .fsh-about-story-heading{grid-template-columns:1fr;gap:28px}
    .fsh-about-story-title-wrap h1{max-width:720px}
    .fsh-about-icon-item{flex-basis:calc((100% - 24px) / 2)}
    .fsh-about-related-item{
        grid-template-columns:1fr;
        gap:38px;
        padding:68px 0;
    }
    .fsh-about-related-item.is-image-left .fsh-about-related-gallery{order:initial}
    .fsh-about-related-copy .fsh-about-rich-copy{max-width:none}
    .fsh-about-related-gallery{width:100%}
    .fsh-about-endorsement{padding-top:68px}
    .fsh-about-endorsement-viewport{aspect-ratio:16/5}
}
@media(max-width:619px){
    .fsh-about-shell{width:calc(100% - 28px);padding-top:16px;padding-bottom:72px}
    .fsh-about-breadcrumb{margin-bottom:40px;font-size:14px}
    .fsh-about-story{padding-bottom:54px}
    .fsh-about-kicker{margin-bottom:13px;font-size:13px}
    .fsh-about-story-title-wrap h1,
    .fsh-about-endorsement h2{font-size:clamp(27px,8vw,34px);line-height:1.18}
    .fsh-about-related-copy h2{font-size:30px;line-height:1.18}
    .fsh-about-rich-copy{font-size:15px;line-height:1.72}
    .fsh-about-icon-carousel{--fsh-about-icon-gap:16px;margin-top:42px}
    .fsh-about-icon-viewport{overflow:visible;touch-action:auto;cursor:auto}
    .fsh-about-icon-carousel.is-dragging .fsh-about-icon-viewport{cursor:auto}
    .fsh-about-icon-track{display:grid;grid-template-columns:1fr;gap:16px;width:100%;transform:none !important;transition:none !important;will-change:auto}
    .fsh-about-icon-item{width:100%;flex:none;min-height:84px;padding:16px 18px;gap:17px;border-radius:16px;background:#fff;box-shadow:0 12px 28px rgba(35,31,26,.06)}
    .fsh-about-icon-item::after{display:none}
    .fsh-about-icon-image{width:60px;height:60px;flex-basis:60px;padding:13px}
    .fsh-about-icon-copy h2{font-size:18px}
    .fsh-about-icon-arrow{display:none !important}
    .fsh-about-related-item{padding:54px 0;gap:29px}
    .fsh-about-related-copy h2{margin-bottom:21px}
    .fsh-about-action{min-width:158px;min-height:50px;margin-top:27px;padding:11px 22px 11px 24px}
    .fsh-about-related-gallery-viewport{border-radius:8px;aspect-ratio:4/3}
    .fsh-about-related-gallery-dots{margin-top:13px}
    .fsh-about-endorsement{padding-top:54px}
    .fsh-about-endorsement-copy{font-size:15px}
    .fsh-about-endorsement-gallery{margin-top:30px}
    .fsh-about-endorsement-viewport{aspect-ratio:3/1;border-radius:8px}
    .fsh-about-endorsement-arrow{width:40px;height:40px}
    .fsh-about-endorsement-arrow.is-prev{left:10px}
    .fsh-about-endorsement-arrow.is-next{right:10px}
}
@media(max-width:420px){
    .fsh-about-endorsement-viewport{aspect-ratio:2.35/1}
}
@media(prefers-reduced-motion:reduce){
    .fsh-about-icon-track,
    .fsh-about-related-gallery-track,
    .fsh-about-endorsement-track{transition-duration:.2s !important}
    .fsh-about-action,
    .fsh-about-icon-arrow,
    .fsh-about-endorsement-arrow{transition:none !important}
}

/* About us story title: fixed size requested for all breakpoints. */
#fsh-about-story-title{font-size:20px}

/* v131: 联系我们前端参考图布局 */
.fsh-contact-page{
    background:#fffdfa;
    color:#202024;
}
.fsh-contact-shell{
    width:min(1440px,calc(100% - 64px));
    margin:0 auto;
    padding:24px 0 104px;
}
.fsh-contact-breadcrumb{
    display:flex;
    align-items:center;
    gap:11px;
    margin:0 0 48px;
    color:#96969a;
    font-size:14px;
    line-height:1.4;
}
.fsh-contact-breadcrumb a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:inherit;
    text-decoration:none;
    transition:color .2s ease;
}
.fsh-contact-breadcrumb a:hover{color:#e21b12}
.fsh-contact-breadcrumb svg{
    width:14px;
    height:14px;
    fill:currentColor;
    opacity:.72;
}
.fsh-contact-main{
    display:grid;
    grid-template-columns:minmax(0,1.28fr) minmax(360px,.92fr);
    gap:70px;
    align-items:stretch;
}
.fsh-contact-form-panel,
.fsh-contact-info-panel{
    min-width:0;
}
.fsh-contact-form-panel{
    padding:0 60px 0 0;
}
.fsh-contact-info-panel{
    border-left:1px solid #eee5df;
    padding:38px 0 18px 68px;
}
.fsh-contact-kicker{
    margin:0 0 14px;
    color:#e21b12;
    font-size:14px;
    font-weight:800;
    line-height:1.35;
    text-transform:uppercase;
}
.fsh-contact-form-panel h1,
.fsh-contact-info-panel h2{
    margin:0;
    color:#202024;
    font-weight:800;
    line-height:1.16;
    letter-spacing:-.035em;
}
.fsh-contact-form-panel h1{font-size:36px}
.fsh-contact-info-panel h2{font-size:34px;font-weight:400}
.fsh-contact-form{
    margin-top:34px;
}
.fsh-contact-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 12px;
}
.fsh-contact-field{
    display:block;
    min-width:0;
}
.fsh-contact-field.is-full{grid-column:1/-1}
.fsh-contact-sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
.fsh-contact-form input,
.fsh-contact-form textarea{
    display:block;
    width:100%;
    border:1px solid #f0d8d1;
    border-radius:11px;
    background:#fff;
    color:#25252a;
    font:inherit;
    font-size:15px;
    line-height:1.5;
    outline:none;
    transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.fsh-contact-form input{
    height:52px;
    padding:0 20px;
}
.fsh-contact-form textarea{
    min-height:158px;
    padding:15px 20px;
    resize:vertical;
}
.fsh-contact-form input::placeholder,
.fsh-contact-form textarea::placeholder{
    color:#949499;
    opacity:1;
}
.fsh-contact-form input:hover,
.fsh-contact-form textarea:hover{border-color:#ebc1b8}
.fsh-contact-form input:focus,
.fsh-contact-form textarea:focus{
    border-color:#e21b12;
    background:#fff;
    box-shadow:0 0 0 3px rgba(226,27,18,.08);
}
.fsh-contact-submit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:28px;
    min-width:178px;
    min-height:48px;
    margin-top:30px;
    border:0;
    border-radius:999px;
    background:#e21b12;
    color:#fff;
    padding:12px 24px 12px 28px;
    font:inherit;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    box-shadow:none;
    transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.fsh-contact-submit b{
    font-size:19px;
    font-weight:500;
    line-height:1;
    transition:transform .2s ease;
}
.fsh-contact-submit:hover{
    background:#c9140d;
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(226,27,18,.18);
}
.fsh-contact-submit:hover b{transform:translateX(3px)}
.fsh-contact-submit:disabled{
    opacity:.62;
    cursor:wait;
    transform:none;
    box-shadow:none;
}
.fsh-contact-form-status{
    min-height:22px;
    margin-top:12px;
    font-size:14px;
    line-height:1.55;
}
.fsh-contact-form-status.is-success{color:#087a49}
.fsh-contact-form-status.is-error{color:#b91c1c}
.fsh-contact-honeypot{
    position:absolute!important;
    left:-9999px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
}
.fsh-contact-info-list{
    display:flex;
    flex-direction:column;
    gap:31px;
    margin-top:38px;
}
.fsh-contact-info-row{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:17px;
    align-items:start;
}
.fsh-contact-info-icon{
    display:flex;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#fcebe5;
    color:#e21b12;
}
.fsh-contact-info-icon svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.fsh-contact-info-icon img{
    display:block;
    width:21px;
    height:21px;
    object-fit:contain;
}
.fsh-contact-info-row>div{min-width:0;padding-top:1px}
.fsh-contact-info-row strong{
    display:block;
    margin:0 0 3px;
    color:#28282c;
    font-size:16px;
    font-weight:800;
    line-height:1.35;
}
.fsh-contact-info-row a,
.fsh-contact-info-row p{
    display:block;
    margin:0;
    color:#303034;
    font-size:15px;
    line-height:1.55;
    text-decoration:none;
    word-break:break-word;
}
.fsh-contact-info-row a:hover{color:#e21b12}
.fsh-contact-map-section{
    overflow:hidden;
    margin-top:76px;
    border:1px solid #f0ddd6;
    border-radius:12px;
    background:#f2f4f4;
}
.fsh-contact-map-section iframe{
    display:block;
    width:100%;
    min-height:280px;
    border:0;
}
@media(max-width:1180px){
    .fsh-contact-main{
        grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
        gap:46px;
    }
    .fsh-contact-info-panel{padding-left:46px}
}
@media(max-width:900px){
    .fsh-contact-shell{width:min(100% - 44px,1440px);padding-bottom:82px}
    .fsh-contact-breadcrumb{margin-bottom:38px}
    .fsh-contact-main{grid-template-columns:1fr;gap:52px}
    .fsh-contact-form-panel{padding-right:0}
    .fsh-contact-info-panel{
        border-top:1px solid #eee5df;
        border-left:0;
        padding:46px 0 0;
    }
    .fsh-contact-info-list{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:30px 24px;
    }
    .fsh-contact-map-section{margin-top:58px}
}
@media(max-width:620px){
    .fsh-contact-shell{width:calc(100% - 28px);padding:18px 0 64px}
    .fsh-contact-breadcrumb{margin-bottom:34px;font-size:13px}
    .fsh-contact-main{gap:44px}
    .fsh-contact-kicker{margin-bottom:10px;font-size:12px}
    .fsh-contact-form-panel h1{font-size:31px}
    .fsh-contact-info-panel h2{font-size:29px}
    .fsh-contact-form{margin-top:27px}
    .fsh-contact-form-grid{grid-template-columns:1fr;gap:14px}
    .fsh-contact-field.is-full{grid-column:auto}
    .fsh-contact-form input{height:50px;padding:0 16px}
    .fsh-contact-form textarea{min-height:145px;padding:14px 16px}
    .fsh-contact-submit{width:100%;margin-top:22px}
    .fsh-contact-info-panel{padding-top:38px}
    .fsh-contact-info-list{grid-template-columns:1fr;gap:25px;margin-top:30px}
    .fsh-contact-map-section{margin-top:46px;border-radius:9px}
    .fsh-contact-map-section iframe{min-height:250px}
}
@media(prefers-reduced-motion:reduce){
    .fsh-contact-submit,
    .fsh-contact-submit b,
    .fsh-contact-form input,
    .fsh-contact-form textarea{transition:none!important}
}


/* v136: 联系我们栏目 Banner 始终作为页面第一屏内容。 */
.fsh-contact-page > .fsh-contact-banner{
    display:block;
    width:100%;
    margin:0;
    position:relative;
    z-index:1;
}

/* v143：首页第一屏后台轮播内容接入 */
.fsh-home-page{
    width:100%;
    min-width:0;
    overflow:hidden;
    background:#fff;
}
.fsh-home-hero{
    position:relative;
    width:100%;
    min-width:0;
    overflow:hidden;
    background:#f7f2e8;
    isolation:isolate;
}
.fsh-home-hero-viewport{
    position:relative;
    width:100%;
    aspect-ratio:1920/895;
    min-height:620px;
    max-height:none;
    overflow:hidden;
    touch-action:pan-y;
}
.fsh-home-hero.is-carousel .fsh-home-hero-viewport{cursor:grab}
.fsh-home-hero.is-dragging .fsh-home-hero-viewport{cursor:grabbing}
.fsh-home-hero-track{
    display:flex;
    width:100%;
    height:100%;
    transition:transform .68s cubic-bezier(.22,.61,.36,1);
    will-change:transform;
}
.fsh-home-hero-track.is-no-transition{transition:none !important}
.fsh-home-hero-slide{
    position:relative;
    flex:0 0 100%;
    width:100%;
    height:100%;
    min-width:0;
    overflow:hidden;
}
.fsh-home-hero-picture{
    position:absolute;
    inset:0;
    z-index:0;
    display:block;
    width:100%;
    height:100%;
}
.fsh-home-hero-picture img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    user-select:none;
    -webkit-user-drag:none;
}
.fsh-home-hero-content-shell{
    position:relative;
    z-index:2;
    width:min(calc(100% - 112px),1720px);
    height:100%;
    margin:0 auto;
    pointer-events:none;
}
.fsh-home-hero-content{
    width:min(45%,720px);
    height:100%;
    padding-top:clamp(54px,5.1vw,98px);
    padding-bottom:clamp(42px,4.1vw,76px);
    display:grid;
    grid-template-rows:minmax(42px,auto) minmax(clamp(206px,18vw,310px),auto) minmax(clamp(106px,8.2vw,146px),auto) minmax(58px,auto);
    align-content:start;
    color:#1e1e1f;
    pointer-events:auto;
}
.fsh-home-hero-label-slot,
.fsh-home-hero-copy-slot,
.fsh-home-hero-icons-slot,
.fsh-home-hero-actions-slot{min-width:0}
.fsh-home-hero-label-slot{display:flex;align-items:flex-start}
.fsh-home-hero-label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    margin:0;
    padding:8px 21px;
    border-radius:11px;
    background:#ffc400;
    color:#fff;
    font-size:clamp(14px,1vw,18px);
    line-height:1.15;
    font-weight:500;
    letter-spacing:.01em;
}
.fsh-home-hero-copy-slot{
    padding-top:clamp(17px,1.45vw,28px);
    overflow:visible;
}
.fsh-home-hero-rich-copy{
    max-width:680px;
    color:#1f2022;
    font-size:clamp(16px,1.02vw,20px);
    line-height:1.48;
    overflow-wrap:anywhere;
}
.fsh-home-hero-rich-copy > :first-child{margin-top:0}
.fsh-home-hero-rich-copy > :last-child{margin-bottom:0}
.fsh-home-hero-rich-copy p{margin:0 0 .38em}
.fsh-home-hero-rich-copy h1,
.fsh-home-hero-rich-copy h2,
.fsh-home-hero-rich-copy h3,
.fsh-home-hero-rich-copy h4{
    margin:0 0 .22em;
    color:inherit;
    font-weight:400;
    line-height:1.18;
}
.fsh-home-hero-rich-copy h1{font-size:clamp(38px,3.05vw,58px)}
.fsh-home-hero-rich-copy h2{font-size:clamp(32px,2.55vw,49px)}
.fsh-home-hero-rich-copy h3{font-size:clamp(27px,2.05vw,39px)}
.fsh-home-hero-rich-copy h4{font-size:clamp(22px,1.55vw,30px)}
.fsh-home-hero-rich-copy ul,
.fsh-home-hero-rich-copy ol{margin:.4em 0;padding-left:1.35em}
.fsh-home-hero-rich-copy blockquote{margin:.5em 0;padding-left:15px;border-left:3px solid rgba(226,27,18,.65)}
.fsh-home-hero-rich-copy img,
.fsh-home-hero-rich-copy video{display:block;max-width:100%;height:auto}
.fsh-home-hero-rich-copy table{max-width:100%;border-collapse:collapse}
.fsh-home-hero-rich-copy th,
.fsh-home-hero-rich-copy td{padding:6px 9px;border:1px solid rgba(31,32,34,.18)}
.fsh-home-hero-rich-copy a{color:#e21b12}
.fsh-home-hero-icons-slot{
    display:flex;
    align-items:flex-start;
    min-width:0;
}
.fsh-home-hero-icons{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(118px,1fr);
    grid-template-columns:repeat(var(--fsh-home-icon-count,4),minmax(118px,1fr));
    gap:clamp(15px,2.15vw,42px);
    width:min(100%,700px);
    padding:4px 0 8px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    -ms-overflow-style:none;
}
.fsh-home-hero-icons::-webkit-scrollbar{display:none}
.fsh-home-hero-icon-item{
    min-width:0;
    text-align:center;
    color:#222326;
}
.fsh-home-hero-icon-image{
    width:clamp(46px,3.1vw,60px);
    height:clamp(46px,3.1vw,60px);
    margin:0 auto 8px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.fsh-home-hero-icon-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    user-select:none;
    -webkit-user-drag:none;
}
.fsh-home-hero-icon-item h2{
    margin:0;
    color:#1f2022;
    font-size:clamp(14px,.92vw,18px);
    line-height:1.25;
    font-weight:700;
    overflow-wrap:anywhere;
}
.fsh-home-hero-icon-item p{
    margin:5px 0 0;
    color:#35363a;
    font-size:clamp(12px,.78vw,15px);
    line-height:1.3;
    font-weight:400;
    overflow-wrap:anywhere;
}
.fsh-home-hero-actions-slot{display:flex;align-items:end}
.fsh-home-hero-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    width:100%;
}
.fsh-home-hero-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    min-width:clamp(180px,12vw,235px);
    min-height:clamp(52px,3.2vw,62px);
    padding:12px 25px 12px 30px;
    border-radius:999px;
    background:#e21b12;
    color:#fff;
    text-decoration:none;
    font-size:clamp(14px,.9vw,17px);
    line-height:1.15;
    font-weight:500;
    box-shadow:0 10px 24px rgba(226,27,18,.15);
    transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.fsh-home-hero-action:hover{
    background:#c9140c;
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(226,27,18,.22);
}
.fsh-home-hero-action-arrow{font-size:22px;line-height:1;transition:transform .2s ease}
.fsh-home-hero-action:hover .fsh-home-hero-action-arrow{transform:translateX(4px)}
.fsh-home-hero-arrow{
    position:absolute;
    z-index:6;
    top:50%;
    width:46px;
    height:46px;
    margin-top:-23px;
    border:1px solid rgba(255,255,255,.68);
    border-radius:999px;
    background:rgba(20,20,20,.28);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 0 3px;
    font-size:34px;
    line-height:1;
    cursor:pointer;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    transition:background .2s ease,transform .2s ease,opacity .2s ease;
}
.fsh-home-hero-arrow.is-prev{left:22px}
.fsh-home-hero-arrow.is-next{right:22px}
.fsh-home-hero-arrow:hover{background:#e21b12;transform:scale(1.04)}
.fsh-home-hero-dots{
    position:absolute;
    z-index:7;
    left:50%;
    bottom:20px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.42);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}
.fsh-home-hero-dots button{
    width:9px;
    height:9px;
    border:0;
    border-radius:999px;
    padding:0;
    background:rgba(30,30,30,.34);
    cursor:pointer;
    transition:width .22s ease,background .22s ease;
}
.fsh-home-hero-dots button.is-active{width:26px;background:#e21b12}

@media(max-width:1500px){
    .fsh-home-hero-content-shell{width:calc(100% - 76px)}
    .fsh-home-hero-content{width:min(48%,660px)}
    .fsh-home-hero-icons{gap:22px}
}
@media(max-width:1180px) and (min-width:768px){
    .fsh-home-hero-viewport{aspect-ratio:auto;min-height:650px;max-height:none}
    .fsh-home-hero-content-shell{width:calc(100% - 64px)}
    .fsh-home-hero-content{
        width:min(52%,590px);
        padding-top:56px;
        padding-bottom:46px;
        grid-template-rows:minmax(42px,auto) minmax(240px,auto) minmax(120px,auto) minmax(56px,auto);
    }
    .fsh-home-hero-rich-copy h1{font-size:40px}
    .fsh-home-hero-rich-copy h2{font-size:34px}
    .fsh-home-hero-icons{grid-auto-columns:minmax(108px,1fr);grid-template-columns:repeat(var(--fsh-home-icon-count,4),minmax(108px,1fr));gap:14px}
    .fsh-home-hero-arrow.is-prev{left:12px}
    .fsh-home-hero-arrow.is-next{right:12px}
}
@media(max-width:767px){
    .fsh-home-hero-viewport{
        aspect-ratio:auto;
        min-height:calc(100svh - 72px);
        max-height:none;
        height:auto;
    }
    .fsh-home-hero-slide{min-height:calc(100svh - 72px)}
    .fsh-home-hero-picture img{object-position:center center}
    .fsh-home-hero-content-shell{
        width:calc(100% - 30px);
        min-height:calc(100svh - 72px);
        margin:0 auto;
    }
    .fsh-home-hero-content{
        width:100%;
        min-height:calc(100svh - 72px);
        height:auto;
        padding:clamp(44px,8vh,76px) 0 72px;
        grid-template-rows:minmax(42px,auto) minmax(clamp(205px,31vh,285px),auto) minmax(126px,auto) minmax(58px,auto);
        text-align:center;
        align-content:start;
    }
    .fsh-home-hero-label-slot{justify-content:center}
    .fsh-home-hero-label{min-height:36px;padding:7px 18px;border-radius:10px;font-size:14px}
    .fsh-home-hero-copy-slot{padding-top:18px}
    .fsh-home-hero-rich-copy{max-width:620px;margin:0 auto;font-size:15px;line-height:1.55;text-align:center}
    .fsh-home-hero-rich-copy h1{font-size:clamp(32px,10vw,44px);line-height:1.16}
    .fsh-home-hero-rich-copy h2{font-size:clamp(28px,8.5vw,38px);line-height:1.18}
    .fsh-home-hero-rich-copy h3{font-size:clamp(24px,7.4vw,33px)}
    .fsh-home-hero-rich-copy h4{font-size:clamp(21px,6.2vw,28px)}
    .fsh-home-hero-rich-copy ul,
    .fsh-home-hero-rich-copy ol{display:inline-block;text-align:left}
    .fsh-home-hero-icons-slot{justify-content:center}
    .fsh-home-hero-icons{
        width:100%;
        grid-auto-columns:minmax(96px,34vw);
        grid-template-columns:none;
        gap:16px;
        justify-content:safe center;
        padding:3px 2px 10px;
    }
    .fsh-home-hero-icon-image{width:48px;height:48px;margin-bottom:7px}
    .fsh-home-hero-icon-item h2{font-size:14px}
    .fsh-home-hero-icon-item p{font-size:12px;margin-top:4px}
    .fsh-home-hero-actions-slot{align-items:start;justify-content:center}
    .fsh-home-hero-actions{justify-content:center;gap:10px}
    .fsh-home-hero-action{min-width:170px;min-height:50px;padding:11px 23px;border-radius:999px;font-size:14px;gap:14px}
    .fsh-home-hero-arrow{width:40px;height:40px;margin-top:-20px;font-size:29px;background:rgba(20,20,20,.2)}
    .fsh-home-hero-arrow.is-prev{left:8px}
    .fsh-home-hero-arrow.is-next{right:8px}
    .fsh-home-hero-dots{bottom:16px;padding:6px 9px}
}
@media(max-width:480px){
    .fsh-home-hero-content-shell{width:calc(100% - 24px)}
    .fsh-home-hero-content{
        padding-top:42px;
        grid-template-rows:minmax(40px,auto) minmax(220px,auto) minmax(122px,auto) minmax(56px,auto);
    }
    .fsh-home-hero-icons{grid-auto-columns:minmax(90px,38vw);gap:12px}
    .fsh-home-hero-arrow{opacity:.78}
}
@media(prefers-reduced-motion:reduce){
    .fsh-home-hero-track,
    .fsh-home-hero-action,
    .fsh-home-hero-action-arrow,
    .fsh-home-hero-arrow,
    .fsh-home-hero-dots button{transition:none !important}
}


/* v144：首页轮播图标单行、富文本样式保真与移动端等比缩小 */
.fsh-home-hero-icons-slot {
    padding-top: clamp(12px, 1.05vw, 20px);
    padding-bottom: clamp(12px, 1.05vw, 20px);
}
.fsh-home-hero-icon-item h2,
.fsh-home-hero-icon-item p {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: normal;
    word-break: keep-all;
}
@media (min-width: 768px) {
    .fsh-home-hero-rich-copy {
        font-size: 16px;
        line-height: 1.5;
    }
    .fsh-home-hero-rich-copy p {
        margin-block: revert;
    }
    .fsh-home-hero-rich-copy h1,
    .fsh-home-hero-rich-copy h2,
    .fsh-home-hero-rich-copy h3,
    .fsh-home-hero-rich-copy h4 {
        margin-block: revert;
        font-size: revert;
        font-weight: revert;
        line-height: revert;
        color: inherit;
    }
    .fsh-home-hero-rich-copy ul,
    .fsh-home-hero-rich-copy ol,
    .fsh-home-hero-rich-copy blockquote {
        margin-block: revert;
    }
}
@media (max-width: 767px) {
    .fsh-home-hero-copy-slot {
        display: flex;
        justify-content: center;
    }
    .fsh-home-hero-rich-copy {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        text-align: center;
        zoom: .82;
    }
    .fsh-home-hero-rich-copy p {
        margin-block: revert;
    }
    .fsh-home-hero-rich-copy h1,
    .fsh-home-hero-rich-copy h2,
    .fsh-home-hero-rich-copy h3,
    .fsh-home-hero-rich-copy h4 {
        margin-block: revert;
        font-size: revert;
        font-weight: revert;
        line-height: revert;
        color: inherit;
    }
    .fsh-home-hero-icons-slot {
        padding-top: 10px;
        padding-bottom: 12px;
    }
}
@supports not (zoom: 1) {
    @media (max-width: 767px) {
        .fsh-home-hero-rich-copy {
            width: 121.951%;
            max-width: 121.951%;
            transform: scale(.82);
            transform-origin: top center;
        }
    }
}


/* v149：首页产品推荐 */
.fsh-visually-hidden{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
.fsh-home-products{
    background:#fbfaf7;
    color:#17171b;
    overflow:hidden;
}
.fsh-home-products-inner{
    width:min(1680px,calc(100% - 80px));
    margin:0 auto;
    padding:108px 0 94px;
}
.fsh-home-products-head{
    min-height:90px;
    margin-bottom:48px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
}
.fsh-home-products-heading{
    min-width:0;
}
.fsh-home-products-label{
    margin:0 0 18px;
    color:#e21b12;
    font-size:16px;
    line-height:1.2;
    font-weight:700;
    text-transform:uppercase;
}
.fsh-home-products-heading h2{
    margin:0;
    color:#202024;
    font-size:clamp(32px,2.05vw,40px);
    line-height:1.16;
    font-weight:900;
    letter-spacing:-.035em;
}
.fsh-home-products-controls{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:16px;
    padding-bottom:1px;
}
.fsh-home-products-controls[hidden]{display:none!important}
.fsh-home-products-arrow{
    width:66px;
    height:66px;
    flex:0 0 66px;
    border:0;
    border-radius:999px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#f9e5da;
    color:#e21b12;
    font-size:23px;
    line-height:1;
    cursor:pointer;
    transition:background .2s ease,color .2s ease,transform .2s ease,opacity .2s ease;
}
.fsh-home-products-arrow:hover:not(:disabled){
    background:#e21b12;
    color:#fff;
    transform:translateY(-2px);
}
.fsh-home-products-arrow:disabled{
    opacity:.42;
    cursor:default;
}
.fsh-home-products-viewport{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    -ms-overflow-style:none;
    outline:none;
    touch-action:pan-x pan-y;
}
.fsh-home-products-viewport::-webkit-scrollbar{display:none}
.fsh-home-products-viewport:focus-visible{
    box-shadow:0 0 0 3px rgba(226,27,18,.16);
    border-radius:14px;
}
.fsh-home-products-track{
    --fsh-home-products-gap:34px;
    display:flex;
    align-items:stretch;
    gap:var(--fsh-home-products-gap);
    width:100%;
    min-width:100%;
}
.fsh-home-product-card{
    flex:0 0 calc(20% - 27.2px);
    width:calc(20% - 27.2px);
    min-width:0;
    scroll-snap-align:start;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 18px 48px rgba(48,35,25,.045);
    transition:transform .22s ease,box-shadow .22s ease;
}
.fsh-home-product-card:hover{
    transform:translateY(-5px);
    box-shadow:0 26px 62px rgba(48,35,25,.09);
}
.fsh-home-product-card-link{
    display:block;
    height:100%;
    color:inherit;
    text-decoration:none;
    -webkit-tap-highlight-color:rgba(226,27,18,.08);
}
.fsh-home-product-card-image{
    width:100%;
    aspect-ratio:1 / .965;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#f4f1ec;
    color:#999;
    font-size:13px;
}
.fsh-home-product-card-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .3s ease;
    user-select:none;
    -webkit-user-drag:none;
}
.fsh-home-product-card:hover .fsh-home-product-card-image img{
    transform:scale(1.045);
}
.fsh-home-product-card-body{
    min-height:122px;
    padding:27px 29px 25px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
}
.fsh-home-product-card-body h3{
    width:100%;
    margin:0;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    color:#18181c;
    font-size:18px;
    line-height:1.28;
    font-weight:900;
    letter-spacing:-.025em;
    text-transform:uppercase;
}
.fsh-home-product-more{
    margin-top:18px;
    display:inline-flex;
    align-items:center;
    gap:13px;
    color:#e21b12;
    font-size:16px;
    line-height:1.2;
    font-weight:700;
}
.fsh-home-product-more-arrow{
    font-size:20px;
    line-height:1;
    transition:transform .2s ease;
}
.fsh-home-product-card:hover .fsh-home-product-more-arrow{
    transform:translateX(4px);
}
.fsh-home-products-footer{
    margin-top:58px;
    display:flex;
    justify-content:center;
}
.fsh-home-products-all{
    min-width:232px;
    min-height:60px;
    padding:12px 28px;
    border:2px solid #e21b12;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    color:#e21b12;
    background:transparent;
    text-decoration:none;
    font-size:16px;
    line-height:1.2;
    font-weight:500;
    transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.fsh-home-products-all:hover{
    background:#e21b12;
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 12px 26px rgba(226,27,18,.16);
}
@media(max-width:1399px){
    .fsh-home-products-inner{width:calc(100% - 64px)}
    .fsh-home-products-track{--fsh-home-products-gap:28px}
    .fsh-home-product-card{
        flex-basis:calc(25% - 21px);
        width:calc(25% - 21px);
    }
}
@media(max-width:1099px){
    .fsh-home-products-inner{width:calc(100% - 48px);padding:82px 0 76px}
    .fsh-home-products-head{margin-bottom:38px}
    .fsh-home-products-track{--fsh-home-products-gap:24px}
    .fsh-home-product-card{
        flex-basis:calc(33.333333% - 16px);
        width:calc(33.333333% - 16px);
    }
    .fsh-home-products-arrow{width:56px;height:56px;flex-basis:56px}
}
@media(max-width:767px){
    .fsh-home-products-inner{
        width:100%;
        padding:62px 0 58px;
    }
    .fsh-home-products-head{
        min-height:0;
        margin:0 18px 30px;
        align-items:flex-start;
    }
    .fsh-home-products-label{margin-bottom:12px;font-size:13px}
    .fsh-home-products-heading h2{font-size:28px;line-height:1.2}
    .fsh-home-products-controls{display:none!important}
    .fsh-home-products-viewport{
        padding:0 18px 8px;
        scroll-padding-inline:18px;
    }
    .fsh-home-products-track{
        --fsh-home-products-gap:16px;
        min-width:0;
        padding-right:0;
    }
    .fsh-home-products-track .fsh-home-product-card:last-child{
        margin-right:18px;
    }
    .fsh-home-product-card{
        flex-basis:min(78vw,250px);
        width:min(78vw,310px);
    }
    .fsh-home-product-card-body{min-height:112px;padding:23px 22px 22px}
    .fsh-home-product-card-body h3{font-size:16px}
    .fsh-home-product-more{margin-top:15px;font-size:14px}
    .fsh-home-products-footer{margin-top:38px;padding:0 18px}
    .fsh-home-products-all{min-width:210px;min-height:54px;font-size:14px}
}
@media(max-width:420px){
    .fsh-home-product-card{flex-basis:min(78vw,250px);width:min(78vw,310px)}
}
@media(prefers-reduced-motion:reduce){
    .fsh-home-products-viewport{scroll-behavior:auto}
    .fsh-home-products-arrow,
    .fsh-home-product-card,
    .fsh-home-product-card-image img,
    .fsh-home-product-more-arrow,
    .fsh-home-products-all{transition:none!important}
}


/* Homepage: Showcase us */
.fsh-home-showcase{
    position:relative;
    background:#fff;
    color:#1d1d22;
    overflow:hidden;
}
.fsh-home-showcase-main{
    min-height:672px;
    display:grid;
    grid-template-columns:46% 54%;
    align-items:stretch;
}
.fsh-home-showcase-copy-side{
    min-width:0;
    display:flex;
    align-items:flex-start;
    background:#fff;
}
.fsh-home-showcase-copy{
    width:100%;
    max-width:none;
    padding:104px clamp(52px,5vw,112px) 150px max(40px,calc((100vw - 1680px)/2));
}
.fsh-home-showcase-label{
    margin:0 0 18px;
    color:#e21b12;
    font-size:16px;
    line-height:1.2;
    font-weight:700;
    text-transform:uppercase;
}
.fsh-home-showcase-copy h2{
    max-width:650px;
    margin:0;
    color:#202024;
    font-size:clamp(34px,2.15vw,43px);
    line-height:1.08;
    font-weight:900;
    letter-spacing:-.038em;
}
.fsh-home-showcase-rich-copy{
    max-width:670px;
    margin-top:38px;
    color:#55555a;
    font-size:17px;
    line-height:1.75;
    overflow-wrap:anywhere;
}
.fsh-home-showcase-rich-copy > :first-child{margin-top:0}
.fsh-home-showcase-rich-copy > :last-child{margin-bottom:0}
.fsh-home-showcase-rich-copy p{margin:0 0 .72em}
.fsh-home-showcase-rich-copy h1,
.fsh-home-showcase-rich-copy h2,
.fsh-home-showcase-rich-copy h3,
.fsh-home-showcase-rich-copy h4{
    margin:.7em 0 .35em;
    color:#202024;
    line-height:1.25;
    font-weight:800;
    letter-spacing:-.02em;
}
.fsh-home-showcase-rich-copy h1{font-size:30px}
.fsh-home-showcase-rich-copy h2{font-size:27px}
.fsh-home-showcase-rich-copy h3{font-size:23px}
.fsh-home-showcase-rich-copy h4{font-size:20px}
.fsh-home-showcase-rich-copy ul,
.fsh-home-showcase-rich-copy ol{margin:.7em 0;padding-left:1.35em}
.fsh-home-showcase-rich-copy blockquote{margin:.8em 0;padding-left:16px;border-left:3px solid #e21b12}
.fsh-home-showcase-rich-copy img,
.fsh-home-showcase-rich-copy video{display:block;max-width:100%;height:auto}
.fsh-home-showcase-rich-copy table{max-width:100%;border-collapse:collapse}
.fsh-home-showcase-rich-copy th,
.fsh-home-showcase-rich-copy td{padding:7px 10px;border:1px solid #e3e3e3}
.fsh-home-showcase-rich-copy a{color:#e21b12}
.fsh-home-showcase-action{
    min-width:246px;
    min-height:65px;
    margin-top:50px;
    padding:14px 33px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    background:#e21b12;
    color:#fff;
    text-decoration:none;
    font-size:17px;
    line-height:1.2;
    font-weight:500;
    transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.fsh-home-showcase-action:hover{
    background:#c9160f;
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(226,27,18,.22);
}
.fsh-home-showcase-action span:last-child{
    font-size:22px;
    line-height:1;
    transition:transform .2s ease;
}
.fsh-home-showcase-action:hover span:last-child{transform:translateX(4px)}
.fsh-home-showcase-gallery{
    position:relative;
    min-width:0;
    min-height:672px;
    overflow:hidden;
    background:#eef3f6;
}
.fsh-home-showcase-gallery-viewport,
.fsh-home-showcase-gallery-track,
.fsh-home-showcase-gallery-slide{
    width:100%;
    height:100%;
    min-height:672px;
}
.fsh-home-showcase-gallery-viewport{
    overflow:hidden;
    touch-action:pan-y pinch-zoom;
    cursor:grab;
}
.fsh-home-showcase-gallery.is-single .fsh-home-showcase-gallery-viewport{cursor:default}
.fsh-home-showcase-gallery.is-dragging .fsh-home-showcase-gallery-viewport{cursor:grabbing}
.fsh-home-showcase-gallery-track{
    display:flex;
    transition:transform .55s cubic-bezier(.22,.61,.36,1);
    will-change:transform;
}
.fsh-home-showcase-gallery-track.is-no-transition{transition:none!important}
.fsh-home-showcase-gallery-slide{
    flex:0 0 100%;
    margin:0;
    overflow:hidden;
}
.fsh-home-showcase-gallery-slide img{
    display:block;
    width:100%;
    height:100%;
    min-height:672px;
    object-fit:cover;
    object-position:center;
    user-select:none;
    -webkit-user-drag:none;
}
.fsh-home-showcase-gallery-dots{
    position:absolute;
    left:50%;
    bottom:28px;
    z-index:3;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:9px;
    padding:8px 11px;
    border-radius:999px;
    background:rgba(255,255,255,.86);
    box-shadow:0 8px 24px rgba(20,35,45,.12);
    backdrop-filter:blur(8px);
}
.fsh-home-showcase-gallery-dots button{
    width:8px;
    height:8px;
    border:0;
    border-radius:999px;
    padding:0;
    background:#c8c8c8;
    cursor:pointer;
    transition:width .2s ease,background .2s ease;
}
.fsh-home-showcase-gallery-dots button.is-active{width:26px;background:#e21b12}
.fsh-home-showcase-icons-outer{
    position:relative;
    z-index:5;
    width:min(1680px,calc(100% - 80px));
    margin:-65px auto 64px;
    pointer-events:none;
}
.fsh-home-showcase-icons{
    position:relative;
    width:74%;
    min-width:0;
    border-radius:14px;
    background:#fff;
    box-shadow:0 20px 55px rgba(42,42,42,.075);
    pointer-events:auto;
}
.fsh-home-showcase-icon-controls{
    position:absolute;
    right:0;
    top:-54px;
    display:flex;
    align-items:center;
    gap:10px;
}
.fsh-home-showcase-icon-controls[hidden]{display:none!important}
.fsh-home-showcase-icon-controls button{
    width:42px;
    height:42px;
    border:0;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#f9e5da;
    color:#e21b12;
    font-size:17px;
    line-height:1;
    cursor:pointer;
    transition:background .2s ease,color .2s ease,opacity .2s ease;
}
.fsh-home-showcase-icon-controls button:hover:not(:disabled){background:#e21b12;color:#fff}
.fsh-home-showcase-icon-controls button:disabled{opacity:.42;cursor:default}
.fsh-home-showcase-icon-viewport{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    -ms-overflow-style:none;
    outline:none;
    border-radius:14px;
}
.fsh-home-showcase-icon-viewport::-webkit-scrollbar{display:none}
.fsh-home-showcase-icon-viewport:focus-visible{box-shadow:0 0 0 3px rgba(226,27,18,.15)}
.fsh-home-showcase-icon-track{
    display:flex;
    align-items:stretch;
    width:100%;
    min-width:100%;
}
.fsh-home-showcase-icon-item{
    position:relative;
    flex:0 0 calc(100% / var(--fsh-home-showcase-desktop-count,4));
    width:calc(100% / var(--fsh-home-showcase-desktop-count,4));
    min-width:0;
    min-height:134px;
    padding:30px 31px;
    display:flex;
    align-items:center;
    gap:17px;
    scroll-snap-align:start;
}
.fsh-home-showcase-icon-item:not(:last-child)::after{
    content:"";
    position:absolute;
    top:31px;
    right:0;
    bottom:31px;
    width:1px;
    background:#e6e6e6;
}
.fsh-home-showcase-icon-image{
    width:68px;
    height:68px;
    flex:0 0 68px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:15px;
    overflow:hidden;
    background:#e21b12;
}
.fsh-home-showcase-icon-item:nth-child(even) .fsh-home-showcase-icon-image{background:#f7c600}
.fsh-home-showcase-icon-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    user-select:none;
    -webkit-user-drag:none;
}
.fsh-home-showcase-icon-copy{min-width:0}
.fsh-home-showcase-icon-copy h3{
    margin:0;
    overflow:hidden;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    color:#1d1d22;
    font-size:18px;
    line-height:1.18;
    font-weight:800;
    letter-spacing:-.025em;
}
.fsh-home-showcase-icon-copy p{
    margin:8px 0 0;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    color:#77777c;
    font-size:14px;
    line-height:1.25;
}
.fsh-home-showcase.without-gallery .fsh-home-showcase-main{
    display:block;
    min-height:0;
}
.fsh-home-showcase.without-copy .fsh-home-showcase-main{
    display:block;
    min-height:0;
}
.fsh-home-showcase.without-copy .fsh-home-showcase-gallery,
.fsh-home-showcase.without-copy .fsh-home-showcase-gallery-viewport,
.fsh-home-showcase.without-copy .fsh-home-showcase-gallery-track,
.fsh-home-showcase.without-copy .fsh-home-showcase-gallery-slide,
.fsh-home-showcase.without-copy .fsh-home-showcase-gallery-slide img{
    min-height:640px;
}
.fsh-home-showcase.without-gallery .fsh-home-showcase-copy{
    max-width:1050px;
    padding-bottom:130px;
}
.fsh-home-showcase.without-icons .fsh-home-showcase-copy{padding-bottom:104px}
.fsh-home-showcase.without-icons .fsh-home-showcase-icons-outer{display:none}
.fsh-home-showcase.without-copy.without-gallery .fsh-home-showcase-icons-outer{margin-top:64px}
@media(max-width:1399px){
    .fsh-home-showcase-copy{padding-left:32px;padding-right:54px}
    .fsh-home-showcase-icons-outer{width:calc(100% - 64px)}
    .fsh-home-showcase-icons{width:82%}
    .fsh-home-showcase-icon-item{padding:27px 23px;gap:14px}
    .fsh-home-showcase-icon-image{width:60px;height:60px;flex-basis:60px}
    .fsh-home-showcase-icon-copy h3{font-size:16px}
    .fsh-home-showcase-icon-copy p{font-size:13px}
}
@media(max-width:1099px){
    .fsh-home-showcase-main{min-height:570px;grid-template-columns:48% 52%}
    .fsh-home-showcase-copy{padding:78px 38px 130px 24px}
    .fsh-home-showcase-copy h2{font-size:34px}
    .fsh-home-showcase-rich-copy{margin-top:28px;font-size:15px;line-height:1.68}
    .fsh-home-showcase-action{min-width:210px;min-height:58px;margin-top:35px;font-size:15px}
    .fsh-home-showcase-gallery,
    .fsh-home-showcase-gallery-viewport,
    .fsh-home-showcase-gallery-track,
    .fsh-home-showcase-gallery-slide,
    .fsh-home-showcase-gallery-slide img{min-height:570px}
    .fsh-home-showcase-icons-outer{width:calc(100% - 48px);margin-top:-54px}
    .fsh-home-showcase-icons{width:94%}
    .fsh-home-showcase-icon-item{
        flex-basis:calc(100% / var(--fsh-home-showcase-tablet-count,3));
        width:calc(100% / var(--fsh-home-showcase-tablet-count,3));
        min-height:120px;
    }
}
@media(max-width:767px){
    .fsh-home-showcase-main{display:flex;min-height:0;flex-direction:column}
    .fsh-home-showcase-copy-side{order:1}
    .fsh-home-showcase-copy{
        max-width:none;
        padding:62px 18px 46px;
    }
    .fsh-home-showcase-label{margin-bottom:12px;font-size:13px}
    .fsh-home-showcase-copy h2{font-size:30px;line-height:1.16}
    .fsh-home-showcase-rich-copy{margin-top:24px;font-size:14px;line-height:1.65}
    .fsh-home-showcase-rich-copy h1{font-size:25px}
    .fsh-home-showcase-rich-copy h2{font-size:23px}
    .fsh-home-showcase-rich-copy h3{font-size:21px}
    .fsh-home-showcase-rich-copy h4{font-size:18px}
    .fsh-home-showcase-action{min-width:205px;min-height:54px;margin-top:31px;padding:12px 25px;font-size:14px}
    .fsh-home-showcase-gallery{order:2;min-height:0;aspect-ratio:4 / 3}
    .fsh-home-showcase-gallery-viewport,
    .fsh-home-showcase-gallery-track,
    .fsh-home-showcase-gallery-slide,
    .fsh-home-showcase-gallery-slide img,
    .fsh-home-showcase.without-copy .fsh-home-showcase-gallery,
    .fsh-home-showcase.without-copy .fsh-home-showcase-gallery-viewport,
    .fsh-home-showcase.without-copy .fsh-home-showcase-gallery-track,
    .fsh-home-showcase.without-copy .fsh-home-showcase-gallery-slide,
    .fsh-home-showcase.without-copy .fsh-home-showcase-gallery-slide img{min-height:0;height:100%}
    .fsh-home-showcase-gallery-dots{bottom:14px}
    .fsh-home-showcase-icons-outer{
        width:100%;
        margin:0;
        padding:26px 0 58px;
        background:#fff;
    }
    .fsh-home-showcase-icons{
        width:100%;
        border-radius:0;
        box-shadow:none;
    }
    .fsh-home-showcase-icon-controls{display:none!important}
    .fsh-home-showcase-icon-viewport{
        overflow:visible;
        padding:0 18px 8px;
        scroll-padding-inline:0;
        scroll-snap-type:none;
        border-radius:0;
    }
    .fsh-home-showcase-icon-track{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        min-width:0;
        width:100%;
        padding-right:0;
        gap:14px;
    }
    .fsh-home-showcase-icon-item{
        flex:none;
        width:auto;
        min-width:0;
        min-height:112px;
        padding:20px 14px;
        flex-direction:column;
        align-items:flex-start;
        justify-content:flex-start;
        gap:12px;
        border:1px solid #efefef;
        border-radius:12px;
        box-shadow:0 12px 34px rgba(32,32,32,.055);
        scroll-snap-align:none;
    }
    .fsh-home-showcase-icon-item::after{display:none}
    .fsh-home-showcase-icon-image{width:52px;height:52px;flex:0 0 52px;padding:12px}
    .fsh-home-showcase-icon-copy{width:100%}
    .fsh-home-showcase-icon-copy h3{font-size:16px}
    .fsh-home-showcase-icon-copy p{font-size:13px}
    .fsh-home-showcase.without-gallery .fsh-home-showcase-copy,
    .fsh-home-showcase.without-icons .fsh-home-showcase-copy{padding-bottom:62px}
}
@media(prefers-reduced-motion:reduce){
    .fsh-home-showcase-action,
    .fsh-home-showcase-action span:last-child,
    .fsh-home-showcase-gallery-track,
    .fsh-home-showcase-gallery-dots button,
    .fsh-home-showcase-icon-controls button,
    .fsh-home-showcase-icon-viewport{transition:none!important;scroll-behavior:auto}
}


/* Homepage: Recommended solutions */
.fsh-home-solution{
    position:relative;
    overflow:hidden;
    background:#fff;
    color:#1d1d22;
}
.fsh-home-solution-inner{
    width:min(calc(100% - 80px),1680px);
    margin:0 auto;
    padding:100px 0 84px;
    display:grid;
    grid-template-columns:minmax(0,3.4fr) minmax(280px,1fr);
    align-items:center;
    gap:92px;
}
.fsh-home-solution-gallery{
    position:relative;
    min-width:0;
    padding:80px 0 74px;
}
.fsh-home-solution-gallery::before{
    content:"";
    position:absolute;
    z-index:0;
    inset:0 8% 0 7%;
    border-radius:14px;
    background:#fbfaf7;
}
.fsh-home-solution-gallery-viewport{
    position:relative;
    z-index:1;
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    overscroll-behavior-inline:contain;
    cursor:grab;
    touch-action:pan-y pinch-zoom;
}
.fsh-home-solution-gallery-viewport::-webkit-scrollbar{display:none}
.fsh-home-solution-gallery-viewport:focus-visible{
    outline:none;
    box-shadow:0 0 0 3px rgba(226,27,18,.14);
    border-radius:12px;
}
.fsh-home-solution-gallery.is-dragging .fsh-home-solution-gallery-viewport{
    cursor:grabbing;
    scroll-snap-type:none;
    user-select:none;
}
.fsh-home-solution-gallery-track{
    position:relative;
    z-index:1;
    width:100%;
    min-width:0;
    display:flex;
    gap:24px;
}
.fsh-home-solution-gallery.image-count-1 .fsh-home-solution-gallery-track,
.fsh-home-solution-gallery.image-count-2 .fsh-home-solution-gallery-track{justify-content:center}
.fsh-home-solution-image{
    flex:0 0 calc((100% - 48px)/3);
    width:calc((100% - 48px)/3);
    min-width:0;
    margin:0;
    aspect-ratio:1.225 / 1;
    overflow:hidden;
    border-radius:12px;
    background:#f1f1f1;
    scroll-snap-align:start;
    box-shadow:0 14px 34px rgba(30,30,30,.055);
}
.fsh-home-solution-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}
.fsh-home-solution-image:hover img{transform:scale(1.025)}
.fsh-home-solution-controls{
    position:absolute;
    z-index:3;
    right:9%;
    bottom:16px;
    display:flex;
    align-items:center;
    gap:10px;
}
.fsh-home-solution-controls[hidden]{display:none!important}
.fsh-home-solution-controls button{
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:50%;
    background:#fff;
    color:#e21b12;
    font:700 18px/1 Arial,sans-serif;
    box-shadow:0 8px 22px rgba(32,32,32,.08);
    cursor:pointer;
    transition:background-color .2s ease,color .2s ease,opacity .2s ease,transform .2s ease;
}
.fsh-home-solution-controls button:hover:not(:disabled){
    background:#e21b12;
    color:#fff;
    transform:translateY(-1px);
}
.fsh-home-solution-controls button:disabled{opacity:.38;cursor:default}
.fsh-home-solution-copy{
    min-width:0;
    align-self:center;
    padding-right:8px;
}
.fsh-home-solution-label{
    margin:0 0 20px;
    color:#e21b12;
    font-size:16px;
    line-height:1.2;
    font-weight:700;
    text-transform:uppercase;
}
.fsh-home-solution-copy h2{
    max-width:390px;
    margin:0;
    color:#202024;
    font-size:42px;
    line-height:1.04;
    font-weight:800;
    letter-spacing:-.032em;
    overflow-wrap:anywhere;
}
.fsh-home-solution-action{
    width:min(100%,248px);
    min-height:66px;
    margin-top:48px;
    padding:15px 31px 15px 38px;
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    border:1px solid #e21b12;
    border-radius:999px;
    background:#e21b12;
    color:#fff;
    font-size:17px;
    line-height:1.2;
    text-decoration:none;
    box-shadow:0 12px 26px rgba(226,27,18,.1);
    transition:background-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease;
}
.fsh-home-solution-action span:last-child{
    flex:0 0 auto;
    font-size:22px;
    line-height:1;
    transition:transform .22s ease;
}
.fsh-home-solution-action:hover{
    background:#fff;
    color:#e21b12;
    transform:translateY(-2px);
    box-shadow:0 15px 30px rgba(226,27,18,.13);
}
.fsh-home-solution-action:hover span:last-child{transform:translateX(4px)}
.fsh-home-solution.without-gallery .fsh-home-solution-inner{
    display:block;
    width:min(calc(100% - 48px),760px);
    text-align:center;
}
.fsh-home-solution.without-gallery .fsh-home-solution-copy{padding:0}
.fsh-home-solution.without-gallery .fsh-home-solution-copy h2{max-width:none}
.fsh-home-solution.without-copy .fsh-home-solution-inner{
    display:block;
}
.fsh-home-solution.without-copy .fsh-home-solution-gallery{max-width:1320px;margin:0 auto}

@media(max-width:1500px){
    .fsh-home-solution-inner{
        width:calc(100% - 64px);
        grid-template-columns:minmax(0,3fr) minmax(260px,1fr);
        gap:62px;
    }
    .fsh-home-solution-gallery-track{gap:20px}
    .fsh-home-solution-image{
        flex-basis:calc((100% - 40px)/3);
        width:calc((100% - 40px)/3);
    }
    .fsh-home-solution-copy h2{font-size:38px}
}
@media(max-width:1100px){
    .fsh-home-solution-inner{
        width:calc(100% - 48px);
        padding:88px 0 78px;
        grid-template-columns:minmax(0,2.15fr) minmax(245px,1fr);
        gap:40px;
    }
    .fsh-home-solution-gallery{padding:62px 0 66px}
    .fsh-home-solution-gallery::before{inset:0 7%}
    .fsh-home-solution-gallery-track{gap:18px}
    .fsh-home-solution-gallery.image-count-2 .fsh-home-solution-gallery-track{justify-content:flex-start}
    .fsh-home-solution-image{
        flex-basis:calc((100% - 18px)/2);
        width:calc((100% - 18px)/2);
    }
    .fsh-home-solution-copy h2{font-size:33px;line-height:1.08}
    .fsh-home-solution-action{min-height:58px;margin-top:42px;font-size:15px}
    .fsh-home-solution-controls{right:8%;bottom:13px}
    .fsh-home-solution-controls button{width:38px;height:38px}
}
@media(max-width:767px){
    .fsh-home-solution-inner{
        width:100%;
        padding:0px 18px 0px;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }
    .fsh-home-solution-copy{
        order:1;
        padding:0 0 38px;
    }
    .fsh-home-solution-label{margin-bottom:13px;font-size:13px}
    .fsh-home-solution-copy h2{max-width:420px;font-size:30px;line-height:1.12}
    .fsh-home-solution-action{
        width:min(100%,220px);
        min-height:54px;
        margin-top:31px;
        padding:12px 25px 12px 28px;
        font-size:14px;
    }
    .fsh-home-solution-gallery{
        order:2;
        width:100%;
        padding:45px 0 48px;
    }
    .fsh-home-solution-gallery::before{inset:0 -18px;border-radius:0}
    .fsh-home-solution-gallery-viewport{
        overflow:visible;
        margin:0;
        padding:0;
        scroll-padding-inline:0;
        scroll-snap-type:none;
        overscroll-behavior-inline:auto;
        cursor:default;
        touch-action:auto;
    }
    .fsh-home-solution-gallery.is-dragging .fsh-home-solution-gallery-viewport{cursor:default}
    .fsh-home-solution-gallery-track{
        width:100%;
        min-width:0;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
        padding-right:0;
    }
    .fsh-home-solution-gallery.image-count-1 .fsh-home-solution-gallery-track,
    .fsh-home-solution-gallery.image-count-2 .fsh-home-solution-gallery-track{justify-content:stretch}
    .fsh-home-solution-image{
        flex:none;
        width:100%;
        border-radius:10px;
        aspect-ratio:1.18 / 1;
        scroll-snap-align:none;
    }
    .fsh-home-solution-image:last-child:nth-child(odd){grid-column:1 / -1}
    .fsh-home-solution-controls{display:none!important}
    .fsh-home-solution.without-gallery .fsh-home-solution-inner,
    .fsh-home-solution.without-copy .fsh-home-solution-inner{width:100%;padding-left:18px;padding-right:18px}
    .fsh-home-solution.without-copy .fsh-home-solution-gallery{padding-top:45px}
}
@media(prefers-reduced-motion:reduce){
    .fsh-home-solution-gallery-viewport{scroll-behavior:auto!important}
    .fsh-home-solution-image img,
    .fsh-home-solution-controls button,
    .fsh-home-solution-action,
    .fsh-home-solution-action span:last-child{transition:none!important}
}


/* Homepage: Certificate showcase */
.fsh-home-certificates{
    position:relative;
    overflow:hidden;
    background:#f5f4f1;
    color:#1d1d22;
}
.fsh-home-certificates-inner{
    width:min(calc(100% - 80px),1680px);
    margin:0 auto;
    padding:92px 0 98px;
}
.fsh-home-certificates-head{
    max-width:760px;
}
.fsh-home-certificates-label{
    margin:0 0 18px;
    color:#e21b12;
    font-size:16px;
    line-height:1.2;
    font-weight:700;
    text-transform:uppercase;
}
.fsh-home-certificates-head h2{
    margin:0;
    color:#202024;
    font-size:42px;
    line-height:1.05;
    font-weight:800;
    letter-spacing:-.032em;
    overflow-wrap:anywhere;
}
.fsh-home-certificates-stage{
    position:relative;
    margin-top:56px;
    padding:18px 74px 50px;
}
.fsh-home-certificates-stage::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:18px;
    height:18px;
    border-radius:2px;
    background:linear-gradient(180deg,#f4f4f4 0%,#e6e6e6 100%);
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}
.fsh-home-certificates-viewport{
    position:relative;
    z-index:1;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scroll-snap-type:x proximity;
    scroll-behavior:smooth;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y pinch-zoom;
    cursor:grab;
}
.fsh-home-certificates-viewport::-webkit-scrollbar{display:none}
.fsh-home-certificates-viewport:focus-visible{
    outline:none;
    box-shadow:0 0 0 3px rgba(226,27,18,.14);
    border-radius:14px;
}
.fsh-home-certificates-stage.is-dragging .fsh-home-certificates-viewport{
    cursor:grabbing;
    user-select:none;
}
.fsh-home-certificates-track{
    position:relative;
    z-index:1;
    min-width:100%;
    display:flex;
    align-items:flex-end;
    gap:56px;
    padding:0 0 18px;
    will-change:transform;
}
.fsh-home-certificates-stage.is-not-scrollable .fsh-home-certificates-track{justify-content:center}
.fsh-home-certificate-card{
    flex:0 0 258px;
    width:258px;
    margin:0;
    scroll-snap-align:center;
    scroll-snap-stop:normal;
}
.fsh-home-certificate-card-button{
    display:block;
    width:100%;
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    text-align:left;
    cursor:zoom-in;
}
.fsh-home-certificate-card-button:focus-visible{
    outline:none;
}
.fsh-home-certificate-card-frame{
    display:block;
    min-height:344px;
    padding:4px;
    background:#fff;
    border:2px solid #c8a57d;
    box-shadow:0 18px 34px rgba(32,32,32,.08);
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.fsh-home-certificate-card-button:hover .fsh-home-certificate-card-frame,
.fsh-home-certificate-card-button:focus-visible .fsh-home-certificate-card-frame{
    transform:translateY(-4px);
    border-color:#e21b12;
    box-shadow:0 24px 46px rgba(32,32,32,.14);
}
.fsh-home-certificates-stage.is-dragging .fsh-home-certificate-card-button{
    cursor:grabbing;
}
.fsh-home-certificates-stage.is-dragging .fsh-home-certificate-card-frame{
    transform:none!important;
}
.fsh-home-certificate-card-frame img{
    display:block;
    width:100%;
    height:332px;
    object-fit:contain;
    background:#fff;
}
.fsh-home-certificates-controls{
    position:absolute;
    inset:50% 0 auto;
    z-index:3;
    transform:translateY(-52%);
    pointer-events:none;
}
.fsh-home-certificates-controls[hidden]{display:none!important}
.fsh-home-certificates-controls button{
    position:absolute;
    pointer-events:auto;
    width:54px;
    height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.74);
    color:#e21b12;
    font:700 24px/1 Arial,sans-serif;
    box-shadow:0 12px 28px rgba(34,34,34,.08);
    cursor:pointer;
    transition:background-color .2s ease,color .2s ease,opacity .2s ease,transform .2s ease;
}
.fsh-home-certificates-controls .is-prev{left:0}
.fsh-home-certificates-controls .is-next{right:0}
.fsh-home-certificates-controls button:hover:not(:disabled){
    background:#e21b12;
    color:#fff;
    transform:translateY(-1px);
}
.fsh-home-certificates-controls button:disabled{opacity:.36;cursor:default}
body.fsh-certificate-lightbox-open{overflow:hidden}
.fsh-home-certificate-lightbox[hidden]{display:none!important}
.fsh-home-certificate-lightbox{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:34px;
    background:rgba(10,10,12,.78);
    backdrop-filter:blur(8px);
}
.fsh-home-certificate-lightbox-panel{
    position:relative;
    max-width:min(1100px,94vw);
    max-height:86vh;
    display:flex;
    align-items:center;
    justify-content:center;
}
.fsh-home-certificate-lightbox-panel img{
    display:block;
    max-width:100%;
    max-height:86vh;
    width:auto;
    height:auto;
    object-fit:contain;
    background:#fff;
    box-shadow:0 28px 70px rgba(0,0,0,.34);
}
.fsh-home-certificate-lightbox-close{
    position:fixed;
    top:22px;
    right:22px;
    z-index:2;
    width:46px;
    height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.92);
    color:#202024;
    font:400 30px/1 Arial,sans-serif;
    cursor:pointer;
    box-shadow:0 14px 34px rgba(0,0,0,.2);
    transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
.fsh-home-certificate-lightbox-close:hover,
.fsh-home-certificate-lightbox-close:focus-visible{
    background:#e21b12;
    color:#fff;
    outline:none;
    transform:rotate(90deg);
}
.fsh-home-certificates.without-gallery .fsh-home-certificates-inner{
    width:min(calc(100% - 48px),760px);
    text-align:center;
}

@media(max-width:1500px){
    .fsh-home-certificates-inner{width:calc(100% - 64px)}
    .fsh-home-certificates-stage{padding-left:58px;padding-right:58px}
    .fsh-home-certificates-track{gap:42px}
    .fsh-home-certificate-card{flex-basis:232px;width:232px}
    .fsh-home-certificate-card-frame{min-height:320px}
    .fsh-home-certificate-card-frame img{height:308px}
}
@media(max-width:1100px){
    .fsh-home-certificates-inner{
        width:calc(100% - 48px);
        padding:84px 0 88px;
    }
    .fsh-home-certificates-head h2{font-size:34px;line-height:1.08}
    .fsh-home-certificates-stage{margin-top:44px;padding:10px 42px 46px}
    .fsh-home-certificates-track{gap:28px}
    .fsh-home-certificate-card{flex-basis:208px;width:208px}
    .fsh-home-certificate-card-frame{min-height:296px}
    .fsh-home-certificate-card-frame img{height:284px}
    .fsh-home-certificates-controls button{width:48px;height:48px;font-size:22px}
}
@media(max-width:767px){
    .fsh-home-certificates-inner{
        width:100%;
        padding:70px 18px 80px;
    }
    .fsh-home-certificates-label{margin-bottom:13px;font-size:13px}
    .fsh-home-certificates-head h2{font-size:30px;line-height:1.12}
    .fsh-home-certificates-stage{margin-top:34px;padding:0 0 38px}
    .fsh-home-certificates-stage::after{left:-18px;right:-18px;bottom:14px;height:14px;border-radius:0}
    .fsh-home-certificates-viewport{
        margin:0 -18px;
        padding:0 18px;
        scroll-padding-inline:18px;
    }
    .fsh-home-certificates-track{gap:18px;padding-right:18px}
    .fsh-home-certificate-card{flex:0 0 min(66vw,248px);width:min(66vw,248px)}
    .fsh-home-certificate-card-frame{min-height:250px;padding:3px}
    .fsh-home-certificate-card-frame img{height:240px}
    .fsh-home-certificates-controls{display:none!important}
    .fsh-home-certificate-lightbox{padding:18px}
    .fsh-home-certificate-lightbox-panel{max-width:96vw;max-height:82vh}
    .fsh-home-certificate-lightbox-panel img{max-height:82vh}
    .fsh-home-certificate-lightbox-close{top:14px;right:14px;width:42px;height:42px;font-size:28px}
    .fsh-home-certificates.without-gallery .fsh-home-certificates-inner{width:100%;padding-left:18px;padding-right:18px}
}
@media(prefers-reduced-motion:reduce){
    .fsh-home-certificates-viewport{scroll-behavior:auto!important}
    .fsh-home-certificates-controls button,
    .fsh-home-certificate-card-frame,
    .fsh-home-certificate-lightbox-close{transition:none!important}
}


/* v153：首页轮播图图标移动端改为两行展示 */
@media (max-width: 767px) {
    .fsh-home-hero-icons-slot {
        justify-content: center;
    }
    .fsh-home-hero-icons {
        width: min(100%, 380px);
        max-width: 100%;
        grid-auto-flow: row;
        grid-auto-columns: initial;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 16px;
        justify-content: center;
        overflow-x: visible;
        padding: 4px 0 12px;
    }
    .fsh-home-hero-icon-item {
        min-width: 0;
    }
}
@media (max-width: 480px) {
    .fsh-home-hero-icons {
        width: min(100%, 330px);
        gap: 10px 12px;
    }
}


/* v160：首页证书展示滑动手感优化，PC/移动端点击均可弹出大图 */
.fsh-home-certificates-viewport {
    scroll-snap-type: x proximity;
    touch-action: pan-x pan-y pinch-zoom;
}
.fsh-home-certificates-stage.is-dragging .fsh-home-certificates-viewport {
    scroll-snap-type: none;
}
.fsh-home-certificate-card {
    scroll-snap-stop: normal;
}
.fsh-home-certificate-card-button {
    -webkit-tap-highlight-color: transparent;
}


/* v161：首页证书展示修复最后一屏回弹，首尾证书吸附到边缘 */
.fsh-home-certificate-card:first-child{scroll-snap-align:start}
.fsh-home-certificate-card:last-child{scroll-snap-align:end}

@media (max-width: 520px) {
    .fsh-main-nav {
        left: 0px;
        right: 0px;
    }
}

/* v177: Header inquiry popup */
html.fsh-inquiry-open,
body.fsh-inquiry-open{
    overflow:hidden;
}
.fsh-inquiry-modal[hidden]{display:none!important}
.fsh-inquiry-modal{
    position:fixed;
    inset:0;
    z-index:1000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
}
.fsh-inquiry-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.52);
    backdrop-filter:blur(1px);
}
.fsh-inquiry-dialog{
    position:relative;
    z-index:1;
    width:min(100%,820px);
    max-height:min(86vh,760px);
    overflow:auto;
    background:#fff;
    border-radius:18px;
    box-shadow:0 32px 90px rgba(15,23,42,.28);
    padding:0;
    outline:none;
    -webkit-overflow-scrolling:touch;
}
.fsh-inquiry-close{
    position:absolute;
    right:28px;
    top:28px;
    z-index:3;
    width:42px;
    height:42px;
    border:2px solid #ded8d8;
    border-radius:999px;
    background:#fff;
    color:#d2cdcd;
    font-size:34px;
    line-height:34px;
    font-weight:300;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:border-color .18s ease,color .18s ease,transform .18s ease;
}
.fsh-inquiry-close:hover{
    color:#e21b12;
    border-color:#e21b12;
    transform:rotate(90deg);
}
.fsh-inquiry-form-panel{
    width:100%;
    padding:64px 66px 58px;
    background:#fff;
}
.fsh-inquiry-form-panel h2{
    margin:0 0 34px;
    color:#18181f;
    font-size:36px;
    line-height:1.15;
    font-weight:900;
    letter-spacing:-.03em;
}
.fsh-inquiry-form{
    margin-top:0;
}
.fsh-inquiry-form .fsh-contact-submit{
    margin-top:34px;
}
@media (max-width: 767px){
    .fsh-inquiry-modal{
        padding:16px;
        align-items:flex-start;
        overflow:auto;
    }
    .fsh-inquiry-dialog{
        width:100%;
        max-height:none;
        margin:18px 0;
        border-radius:16px;
    }
    .fsh-inquiry-close{
        right:16px;
        top:16px;
        width:36px;
        height:36px;
        font-size:28px;
    }
    .fsh-inquiry-form-panel{
        padding:42px 18px 26px;
    }
    .fsh-inquiry-form-panel h2{
        font-size:30px;
        padding-right:42px;
        margin-bottom:24px;
    }
    .fsh-inquiry-form .fsh-contact-form-grid{
        grid-template-columns:1fr;
        gap:14px;
    }
    .fsh-inquiry-form .fsh-contact-field.is-full{
        grid-column:auto;
    }
    .fsh-inquiry-form .fsh-contact-submit{
        width:100%;
        margin-top:22px;
    }
}
