 *,*::before,*::after{
    margin:0;
    padding:0;
    box-sizing:border-box
}
 a{
    display:block;
    color:inherit;
    text-decoration:none
}
 :root{
    --primary:#0056b3;
    --dark:#0a2540;
    --orange:#ff6b35;
    --white:#ffffff;
    --gray-bg:#f7fafc;
    --light-blue:#e8f4f8;
    --gray-line:#e2e8f0;
    --text:#4a5568;
    --text-dark:#1a1a1a;
    --shadow:0 4px 12px rgba(0,0,0,0.08);
    --shadow-lg:0 12px 40px rgba(0,0,0,0.14)
}
 html{
    scroll-behavior:smooth
}
 body{
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
    line-height:1.6;
    color:var(--dark);
    overflow-x:hidden
}
 img{
    display:block;
    max-width:100%
}
 .container{
    max-width:1400px;
    margin:0 auto;
    padding:0 32px
}
 header{
    background:var(--white);
    box-shadow:var(--shadow);
    position:sticky;
    top:0;
    z-index:1000;
    transition:box-shadow 0.3s ease
}
 .hd{
    padding:16px 32px;
    display:flex;
    justify-content:space-between;
    align-items:center
}
 .logo{
    text-decoration:none;
    display:flex;
    align-items:center
}
 .logo img,.logo-img{
    height:40px;
    width:auto;
    display:block
}
 nav > ul{
    list-style:none;
    display:flex;
    gap:40px;
    align-items:center
}
 nav > ul > li{
    position:relative
}
 nav a{
    text-decoration:none;
    color:var(--dark);
    font-weight:500;
    font-size:16px;
    position:relative;
    transition:color 0.25s
}

 nav a:hover::after,nav a.active::after{
    width:100%
}
 .nav-item--has-dropdown > a{
    display:flex;
    align-items:center;
    gap:6.4px
}
 .nav-item--has-dropdown > a::before{
    content:'';
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:18px
}
 .nav-caret{
    width:8px;
    height:8px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    transition:transform 0.25s ease;
    flex-shrink:0
}
 .nav-item--has-dropdown:hover .nav-caret{
    transform:rotate(225deg) translateY(-1px)
}
 .nav-dropdown{
    position:absolute;
    top:calc(100% + 14px);
    left:0;
    min-width:210px;
    padding:11.2px 0;
    background:var(--white);
    border:1px solid var(--gray-line);
    border-radius:10px;
    box-shadow:0 16px 34px rgba(10,37,64,0.12);
    display:flex;
    flex-direction:column;
    gap:0;
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    pointer-events:none;
    transition:opacity 0.22s ease,transform 0.22s ease,visibility 0.22s ease;
    z-index:20
}
 .nav-item--has-dropdown:hover .nav-dropdown{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto
}
 .nav-dropdown li{
    list-style:none
}
 .nav-dropdown a{
    padding:11.2px 16px;
    font-size:14px;
    font-weight:500;
    color:var(--text-dark);
    white-space:nowrap
}
 .nav-dropdown a::after{
    display:none
}
 .nav-dropdown a:hover,.nav-dropdown a.active{
    background:var(--gray-bg);
    color:var(--primary)
}
 .hd-right{
    display:flex;
    align-items:center;
    gap:16px
}
 .btn-quote{
    background:var(--primary);
    color:var(--white);
    padding:11.2px 25.6px;
    border-radius:5px;
    font-weight:600;
    text-decoration:none;
    white-space:nowrap;
    transition:background 0.25s,transform 0.25s;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px
}
 .btn-quote:hover{
    background:var(--dark);
    transform:translateY(-2px)
}
 .search-btn{
    background:none;
    border:2px solid var(--gray-line);
    width:42px;
    height:42px;
    border-radius:5px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:border-color 0.2s,background 0.2s;
    flex-shrink:0
}
 .search-btn:hover{
    border-color:var(--primary);
    background:var(--light-blue)
}
 .search-btn svg{
    width:18px;
    height:18px;
    stroke:var(--dark);
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:opacity 0.2s
}
 .search-container{
    display:flex;
    align-items:center;
    position:relative
}
 .search-box{
    position:absolute;
    top:0;
    right:42px;
    width:0;
    height:42px;
    background:var(--white);
    border-radius:5px 0 0 5px;
    display:flex;
    align-items:center;
    overflow:hidden;
    opacity:0;
    transition:all 0.3s ease;
    pointer-events:none;
    z-index:-1
}
 .search-box.active{
    width:250px;
    opacity:1;
    pointer-events:all;
    border:2px solid var(--primary);
    border-right:none;
    z-index:1
}
 .search-btn.active{
    border-color:var(--primary);
    background:var(--light-blue);
    border-radius:0 5px 5px 0
}
 .search-btn .close-icon{
    display:none;
    opacity:0
}
 .search-btn.active .search-icon{
    display:none;
    opacity:0
}
 .search-btn.active .close-icon{
    display:block;
    opacity:1
}
 .search-box input{
    flex:1;
    height:100%;
    border:none;
    padding:0 16px;
    font-size:16px;
    outline:none;
    background:transparent;
    color:var(--dark)
}
 .search-box input::placeholder{
    color:var(--text)
}
 header.search-open nav,header.search-open .btn-quote{
    opacity:0;
    pointer-events:none
}
 header.search-open nav{
    visibility:hidden
}
 header.search-open .btn-quote{
    visibility:hidden
}
 header nav,header .btn-quote{
    transition:opacity 0.25s ease,visibility 0.25s ease
}
 .mob-btn,.mobile-menu-btn{
    display:none;
    background:none;
    border:none;
    font-size:24px;
    cursor:pointer;
    color:var(--dark)
}
 #mob-overlay,#mobileOverlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.5);
    z-index:1998
}
 #mob-overlay.on,#mob-overlay.active,#mobileOverlay.active{
    display:block
}
 #mob-drawer,#mobileMenu{
    position:fixed;
    top:0;
    right:-100%;
    width:280px;
    height:100vh;
    background:var(--white);
    z-index:1999;
    padding:32px 24px;
    transition:right 0.3s ease;
    overflow-y:auto
}
 #mob-drawer.on,#mob-drawer.active,#mobileMenu.active{
    right:0
}
 .mob-close,.mobile-menu-close{
    background:none;
    border:none;
    font-size:24px;
    cursor:pointer;
    display:block;
    margin-left:auto;
    margin-bottom:32px;
    color:var(--dark)
}
 .mob-nav,.mobile-nav-list{
    list-style:none
}
 .mob-subnav{
    list-style:none;
    margin:2.4px 0 8px;
    padding:0 0 0 16px;
    border-left:1px solid var(--gray-line);
    display:none
}
 .mob-nav li.open > .mob-subnav{
    display:block
}
 .mob-nav li.has-subnav > a{
    padding-right:48px
}
 .mob-subnav-toggle{
    position:absolute;
    right:0;
    top:50%;
    width:32px;
    height:32px;
    border:none;
    background:transparent;
    color:currentColor;
    cursor:pointer;
    transform:translateY(-50%)
}
.mob-nav li.has-subnav.open .mob-subnav-toggle{
    top: 9%;
}
 .mob-nav li.has-subnav{
    position:relative
}
 .mob-subnav-toggle::before{
    content:'';
    position:absolute;
    left:50%;
    top:50%;
    width:8px;
    height:8px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:translate(-50%,-60%) rotate(45deg);
    transition:transform 0.2s ease
}
 .mob-nav li.open > .mob-subnav-toggle::before{
    transform:translate(-50%,-35%) rotate(225deg)
}
 .mob-subnav li a{
    padding:11.2px 0;
    font-size:14px;
    color:var(--text);
    border-bottom:1px solid var(--gray-line)
}
 .mob-nav li a,.mobile-nav-list li a{
    display:block;
    padding:14.4px 0;
    text-decoration:none;
    color:var(--dark);
    font-weight:500;
    font-size:16px;
    border-bottom:1px solid var(--gray-line);
    transition:color 0.2s
}
 .mob-nav li a:hover,.mob-nav li a.active,.mobile-nav-list li a:hover,.mobile-nav-list li a.active{
    color:var(--primary)
}
 .mob-cta,.mobile-cta{
    margin-top:24px
}
 .mob-cta a,.mobile-cta a{
    display:block;
    text-align:center;
    background:var(--primary);
    color:var(--white);
    padding:12.8px;
    border-radius:5px;
    font-weight:600;
    text-decoration:none;
    transition:background 0.2s
}
 .mob-cta a:hover,.mobile-cta a:hover{
    background:var(--dark)
}
 .banner,.page-banner{
    height:300px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:var(--white);
    position:relative;
    overflow:hidden;
    background:none
}
 .banner-media,.banner-overlay{
    position:absolute;
    inset:0
}
 .banner-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}
 .banner-overlay{
    background:linear-gradient(rgba(10,37,64,.72),rgba(10,37,64,.72))
}
 .banner h1,.page-banner h1,.banner-content h1,.banner-content .h1{
    font-size:45px;
    font-weight:800;
    letter-spacing:0.02em;
    margin-bottom:8px;
    text-shadow:0 2px 8px rgba(0,0,0,0.3)
}
 .banner p,.page-banner p,.banner-content p{
    font-size:18px;
    opacity:0.88;
    margin:0 auto;
    max-width: 80%;
}
 .banner-content{
    position:relative;
    z-index:1
}
 .bc,.breadcrumb-bar{
    background:var(--white);
    border-bottom:1px solid var(--gray-line)
}
 .bc-inner,.breadcrumb-container{
    padding:12.8px 32px;
    display:flex;
    align-items:center;
    gap:8px;
    font-size:15px;
    color:var(--text)
}
 .bc-inner a,.breadcrumb-container a{
    color:var(--text);
    text-decoration:none;
    display: inline-block;
    transition:color 0.2s
}
 .bc-inner a:hover,.breadcrumb-container a:hover{
    color:var(--primary)
}
 .bc-sep,.breadcrumb-sep{
    color:var(--gray-line);
    font-size:14px
}
 .bc-cur,.breadcrumb-current{
    color:var(--primary);
    font-weight:500
}
 footer{
    background:var(--dark);
    color:rgba(255,255,255,0.8);
    padding-top:64px
}
 .ft{
    padding:0 32px 48px;
    display:grid;
    grid-template-columns:1.5fr 1fr 1.5fr 1.5fr;
    gap:48px
}
 .ft-col h4{
    color:var(--white);
    font-size: 18px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.06em;
    margin-bottom:19.2px
}
 .ft-col p{
    display: flex;
}
 .ft-col p, .ft-col p > a{
    font-size: 16px;
    line-height:1.8;
    margin-bottom:9.6px
}
 .ft-col .footer-contact-link{
    display:inline;
    font-size:inherit;
    margin-bottom:0;
    color:rgba(255,255,255,0.8);
    text-decoration:underline;
    text-underline-offset:3px
 }
 .ft-col .footer-contact-link:hover{
    color:var(--white)
 }
 .ft-col a{
    display:block;
    color:rgba(255,255,255,0.72);
    text-decoration:none;
    font-size:14px;
    margin-bottom:8.8px;
    transition:color 0.2s
}
 .ft-col a:hover{
    color:var(--white)
}
 .ft-bottom{
    border-top:1px solid rgba(255,255,255,0.1);
    padding:22.4px 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:16px
}
 .ft-bottom p,.ft-bottom span{
    font-size:14px;
    color:rgba(255,255,255,0.55)
}
 .ft-bottom-r{
    display:flex;
    gap:24px
}
 .ft-bottom-r a{
    color:rgba(255,255,255,0.55);
    text-decoration:none;
    font-size:14px;
    transition:color 0.2s
}
 .ft-bottom-r a:hover{
    color:var(--white)
}
 .footer-container{
    padding:0 32px 48px;
    display:grid;
    grid-template-columns:1.5fr 1fr 1.5fr 1.5fr;
    gap:48px
}
 .footer-section h4{
    color:var(--white);
    font-size:16px;
    font-weight:700;
    margin-bottom:20px;
    text-transform:uppercase;
    letter-spacing:0.06em
}
 .footer-section p{
    font-size:14px;
    line-height:1.8;
    margin-bottom:12px
}
 .footer-section a{
    display:block;
    color:rgba(255,255,255,0.75);
    text-decoration:none;
    font-size:14px;
    margin-bottom:9.6px;
    transition:color 0.2s
}
 .footer-section a:hover{
    color:var(--white)
}
 .footer-bottom{
    border-top:1px solid rgba(255,255,255,0.12);
    padding:24px 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:16px
}
 .footer-bottom p,.footer-bottom span{
    font-size:14px;
    color:rgba(255,255,255,0.6)
}
 .footer-bottom-right{
    display:flex;
    align-items:center;
    gap:24px
}
 .footer-bottom-right a{
    color:rgba(255,255,255,0.6);
    text-decoration:none;
    font-size:14px;
    transition:color 0.2s
}
 .footer-bottom-right a:hover{
    color:var(--white)
}
 .tag{
    display:inline-flex;
    align-items:center;
    gap:7.2px;
    font-size:14px;
    font-weight:700;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--primary);
    margin-bottom:9.6px
}
 .tag::before{
    content:'';
    width:20px;
    height:2px;
    background:var(--orange);
    flex-shrink:0
}
 h2.ttl{
    font-size:37px;
    font-weight:800;
    color:var(--dark);
    line-height:1.25
}
 p.sub{
    font-size:16px;
    color:var(--text);
    line-height:1.8;
    margin-top:14.4px
}
 .btn-primary{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--primary);
    color:var(--white);
    padding:12.8px 28px;
    border-radius:5px;
    font-weight:600;
    text-decoration:none;
    transition:background 0.25s,transform 0.25s
}
 .btn-primary:hover{
    background:#0047a0;
    transform:translateY(-2px)
}
 .btn-ghost{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:transparent;
    color:rgba(255,255,255,0.85);
    padding:12.8px 28px;
    border-radius:5px;
    border:2px solid rgba(255,255,255,0.3);
    font-weight:600;
    text-decoration:none;
    transition:all 0.25s
}
 .btn-ghost:hover{
    border-color:var(--white);
    color:var(--white)
}
.hero{
    background:rgb(0 0 0 / 80%);
    color:var(--white);
    min-height:calc(100vh - 80px);
    padding:3rem 2rem;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center
}
.hero::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:url('/res/bns/images/2026-01-26-10-35-01-hero-bg.png') center/cover no-repeat;
    opacity:0.8
}
.hero-media,.premium-railings-media,.about-services-media{
    position:absolute;
    inset:0;
}
.hero-media img,.premium-railings-media img,.about-services-media img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.hero-container{
    max-width:1400px;
    margin:0 auto;
    padding:0 2rem;
    position:relative;
    z-index:1;
    width:100%;
    text-align:left
}
 .hero-content{
    max-width:800px;
}
 .hero-content h1{
    font-size:48px;
    font-weight:800;
    line-height:1.2;
    margin-bottom:24px
}
 .hero-content p{
    font-size:20px;
    margin-bottom:32px;
    opacity:0.95;
    max-width:700px
}
 .trust-badges{
    display:flex;
    gap:16px;
    margin-bottom:32px;
    flex-wrap:wrap;
    justify-content:flex-start
}
 .trust-badge{
    display:flex;
    align-items:center;
    gap:6.4px;
    background:rgba(255,255,255,0.1);
    padding:8px 16px;
    border-radius:5px;
    backdrop-filter:blur(10px);
    font-size:14px
}
 .trust-badge svg{
    width:20px;
    height:20px
}
.hero-buttons{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    justify-content:flex-start
}
.hero-swiper{
    width:100%;
    min-height:100vh;
}
.hero-cta{
    background:var(--primary);
    color:var(--white);
    padding:14px 32px;
    border-radius:5px;
    font-weight:700;
    font-size:16px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:all 0.3s ease;
    border:none;
    cursor:pointer;
    min-height:48px
}
 .hero-cta:hover{
    background:#e85a2a;
    transform:translateY(-3px);
    box-shadow:var(--shadow-lg)
}
 .hero-cta-secondary{
    background:transparent;
    color:var(--white);
    padding:14px 32px;
    border:2px solid var(--white);
    border-radius:5px;
    font-weight:700;
    font-size:16px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:all 0.3s ease;
    min-height:48px
}
 .hero-cta-secondary:hover{
    background:var(--white);
    color:var(--dark)
}
 .section-container{
}
 .section-header{
    text-align:center;
    margin-bottom:64px
}
 .section-header h2{
    font-size:40px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:16px
}
 .section-header p{
    font-size:18px;
    color:var(--text);
    max-width:1000px;
    margin:0 auto
}
 .products{
    padding:96px 32px;
    background:var(--gray-bg)
}
 .products-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:32px
}
 .product-card{
    background:var(--white);
    border-radius:10px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:all 0.3s ease
}
 .product-card:hover{
    transform:translateY(-10px);
    box-shadow:var(--shadow-lg)
}
 .product-image{
    width:100%;
    height:250px;
    overflow:hidden
}
 .product-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 0.3s ease
}
 .product-card:hover .product-image img{
    transform:scale(1.1)
}
 .product-content{
    padding:24px;
    text-align:center
}
 .product-content h3{
    font-size: 20px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:12px;
    line-height:1.4;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:2.8em
}
 .product-content p{
    color:var(--text);
    margin-bottom:16px;
    font-size: 16px;
    line-height:1.7;
    display:-webkit-box;
    -webkit-line-clamp:2;
    line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:3.4em
}
 .product-specs{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:16px
}
 .spec-tag{
    background:var(--light-blue);
    color:var(--primary);
    padding:6.4px 12.8px;
    border-radius:4px;
    font-size:14px;
    font-weight:600
}
 .product-cta{
    width:auto;
    min-width:120px;
    background:var(--white);
    color:var(--primary);
    padding:9.6px 20px;
    border:2px solid var(--primary);
    border-radius:5px;
    font-weight:600;
    font-size:14px;
    cursor:pointer;
    transition:all 0.3s ease
}
 .product-cta:hover{
    background:var(--primary);
    color:var(--white)
}
 .why-choose{
    padding:96px 32px;
    background:var(--white)
}
 .advantages-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:32px
}
 .advantage-card{
    text-align:center;
    padding:40px 24px;
    background:var(--gray-bg);
    border-radius:10px;
    transition:all 0.3s ease
}
 .advantage-card:hover{
    transform:translateY(-5px);
    background:var(--light-blue)
}
 .advantage-icon{
    width:70px;
    height:70px;
    margin:0 auto 24px;
    background:linear-gradient(135deg,var(--primary),var(--dark));
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center
}
 .advantage-icon svg{
    width:35px;
    height:35px;
    fill:var(--white)
}
 .advantage-card h3{
    font-size:21px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:16px
}
 .advantage-card p{
    color:var(--text);
    line-height:1.7
}
 .applications{
    padding:96px 32px;
    background:var(--gray-bg)
}
 .applications-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px
}
 .application-card{
    background:var(--white);
    border-radius:12px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:all 0.3s ease
}
 .application-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-lg)
}
 .app-image{
    width:100%;
    height:320px;
    overflow:hidden
}
 .app-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 0.3s ease
}
 .application-card:hover .app-image img{
    transform:scale(1.05)
}
 .app-content{
    padding:32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    background:var(--white)
}
 .app-content h3{
    font-size:18px;
    font-weight:700;
    color:var(--dark);
    margin:0;
    flex:1;
    line-height:1.4;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:2.8em
 }
 .app-content p{
    flex:0 0 100%;
    margin:0;
    color:var(--text);
    font-size:16px;
    line-height:1.7;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:3.4em
}
 .app-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--white);
    background:var(--primary);
    text-decoration:none;
    font-weight:600;
    font-size:14px;
    padding:9.6px 16px;
    border-radius:5px;
    transition:all 0.3s ease;
    white-space:nowrap;
    flex-shrink:0
}
 .app-cta:hover{
    background:var(--dark)
}
 .factory{
    padding:96px 32px;
    background:var(--white)
}
 .factory-content{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:stretch
}
 .factory-info h3{
    font-size:32px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:16px
}
 .factory-stats{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:48px 64px;
    margin-top:48px
}
 .factory-images{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr 1fr;
    gap:16px;
    height:100%
}
 .factory-images img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:8px
}
 .other-projects{
    padding:96px 32px;
    background:var(--gray-bg)
}
 .other-projects .container{
    max-width:1000px
}
 .projects-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px
}
 .project-card{
    background:var(--white);
    border-radius:10px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:all 0.3s ease
}
 .project-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-lg)
}
 .project-image{
    width:100%;
    height:220px;
    overflow:hidden;
    background:var(--light-blue)
}
 .project-image img{
    width:100%;
    height:100%;
    object-fit:cover
}
 .project-content{
    padding:24px;
    text-align:center
}
 .project-content h3{
    font-size:19px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:8px;
    line-height:1.4;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:2.8em
}
 .project-content p{
    color:var(--text);
    font-size:15px;
    line-height:1.7;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:3.4em
}
 .projects-cta{
    text-align:center;
    margin-top:48px
}
 .projects-more-btn{
    display:inline-block;
    background:var(--white);
    color:var(--primary);
    padding:14px 40px;
    border-radius:5px;
    font-weight:700;
    text-decoration:none;
    border:2px solid var(--primary);
    transition:all 0.3s ease
}
 .projects-more-btn:hover{
    background:var(--primary);
    color:var(--white);
    transform:translateY(-2px);
    box-shadow:var(--shadow-lg)
}
 .premium-railings{
    padding:96px 32px;
    position:relative
}
 .premium-railings::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:rgba(255,255,255,0.92);
    z-index:1
}
 .premium-railings > .container{
    position:relative;
    z-index:1
}
 .railings-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px
}
 .railing-item{
    background:var(--white);
    border-radius:12px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:all 0.3s ease
}
 .railing-item:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-lg)
}
 .railing-image{
    width:100%;
    height:220px;
    overflow:hidden;
    background:var(--light-blue)
}
 .railing-image img{
    width:100%;
    height:100%;
    object-fit:cover
}
 .railing-content{
    padding:24px;
    text-align:center
}
 .railing-content h3{
    font-size:20px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:12px;
    line-height:1.4;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:2.8em
}
 .railing-content p{
    color:var(--text);
    font-size:15px;
    line-height:1.7;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:3.4em
}
 .about{
    padding:96px 32px;
    background:var(--gray-bg);
    color:var(--text)
}
 .about-header{
    max-width:1400px;
    margin:0 auto 48px;
    text-align:center
}
 .about-header h2{
    font-size:40px;
    font-weight:700;
    margin-bottom:16px;
    color:var(--dark)
}
 .about-header p{
    font-size:18px;
    line-height:1.7;
    color:var(--text)
}
 .about-cards{
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr;
    gap:32px
}
 .about-card{
    background:var(--white);
    padding:32px;
    border-radius:12px;
    color:var(--text)
}
 .about-card h3{
    font-size:18px;
    font-weight:700;
    color:var(--primary);
    margin-bottom:16px;
    display:flex;
    align-items:center;
    gap:8px
}
 .about-card h3::before{
    content:'';
    width:4px;
    height:20px;
    background:var(--orange);
    border-radius:2px
}
 .about-card p{
    font-size:15px;
    line-height:1.7;
    color:var(--text)
}
 .about-card.feature{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    border:2px solid var(--light-blue)
}
 .about-card.feature h3{
    color:var(--dark);
    font-size:19px
}
 .about-card.feature p{
    flex:1
}
 .about-card.feature .cta-btn{
    background:var(--primary);
    color:var(--white);
    padding:12px 28px;
    border-radius:5px;
    font-weight:600;
    text-decoration:none;
    white-space:nowrap;
    transition:all 0.3s ease
}
 .about-card.feature .cta-btn:hover{
    background:var(--dark)
}
 .stats-row{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px
}
 .stat-box{
    background:var(--white);
    padding:24px;
    border-radius:10px;
    text-align:center;
    box-shadow:var(--shadow);
    display:flex;
    align-items:baseline;
    gap:8px;
    position:relative
}
 .stat-number{
    font-size:32px;
    font-weight:800;
    color:var(--primary);
    margin-bottom:4px;
    line-height:1
}
 .stat-label{
    font-size:14px;
    color:var(--text)
}
 .trust{
    padding:96px 32px;
    background:var(--gray-bg)
}
 .export-regions{
    text-align:center
}
 .export-regions h3{
    font-size:29px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:32px
}
 .regions-list{
    display:flex;
    justify-content:center;
    gap:24px;
    flex-wrap:wrap
}
 .region-tag{
    background:var(--white);
    padding:16px 24px;
    border-radius:30px;
    box-shadow:var(--shadow);
    font-weight:600;
    color:var(--dark)
}
 .regions-map{
    width:100%;
    display:flex;
    justify-content:center
}
 .regions-map img{
    max-width:1200px;
    width:100%;
    height:auto;
    border-radius:10px;
    margin-top:32px;
    box-shadow:var(--shadow);
    display:block
}
 .contact-section{
    padding:96px 32px;
    background:var(--white)
}
 .contact-wrapper{
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:48px
}
 .contact-info{
    background:linear-gradient(135deg,var(--dark) 0%,var(--primary) 100%);
    color:var(--white);
    padding:48px;
    border-radius:15px;
    box-shadow:var(--shadow-lg)
}
 .contact-info h2{
    font-size:32px;
    font-weight:700;
    margin-bottom:24px
}
 .contact-info p{
    margin-bottom:24px;
    opacity:0.95;
    line-height:1.7
}
 .contact-details{
    margin-top:32px
}
 .contact-item{
    display:flex;
    align-items:flex-start;
    gap:16px;
    margin-bottom:24px
}
 .contact-item svg{
    width:24px;
    height:24px;
    flex-shrink:0;
    margin-top:4px
}
 .contact-item h4{
    font-size:16px;
    font-weight:600;
    margin-bottom:4px
}
 .contact-item p{
    margin-bottom:0;
    font-size:15px;
    opacity:0.9
}
 .contact-item a{
    color:var(--white);
    text-decoration:none;
    transition:opacity 0.3s ease
}
 .contact-item a:hover{
    opacity:0.8
}
 .form-container{
    background:var(--gray-bg);
    padding:48px;
    border-radius:15px;
    box-shadow:var(--shadow-lg)
}
 .form-container h2{
    font-size:32px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:8px
}
 .form-subtitle{
    color:var(--text);
    margin-bottom:32px
}
 .form-group{
    margin-bottom:24px
}
 .form-group label{
    display:block;
    font-weight:600;
    color:var(--text-dark);
    margin-bottom:8px
}
 .form-group input,.form-group select,.form-group textarea{
    width:100%;
    padding:14px 16px;
    border:2px solid var(--gray-line);
    border-radius:5px;
    font-size:16px;
    font-family:inherit;
    transition:border-color 0.3s ease
}
 .form-group input:focus,.form-group select:focus,.form-group textarea:focus{
    outline:none;
    border-color:var(--primary)
}
 .form-group textarea{
    resize:vertical;
    min-height:120px
}
 .form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px
}
 .submit-btn{
    width:100%;
    background:var(--primary);
    color:var(--white);
    padding:16px;
    border:none;
    border-radius:5px;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
    transition:all 0.3s ease;
    min-height:50px;
    display:flex;
    align-items:center;
    justify-content:center
}
 .submit-btn:hover{
    background:var(--dark);
    transform:translateY(-2px)
}
 .privacy-note{
    text-align:center;
    margin-top:16px;
    font-size:14px;
    color:var(--text)
}
 .form-success{
    display:none;
    text-align:center;
    padding:32px;
    background:#d4edda;
    color:#155724;
    border-radius:5px;
    margin-top:16px
}
 .form-success.show{
    display:block
}
 .error-message{
    color:#dc3545;
    font-size:14px;
    margin-top:4px;
    display:none
}
 .form-group.error input,.form-group.error select,.form-group.error textarea{
    border-color:#dc3545
}
 .form-group.error .error-message{
    display:block
}
.floating-cta{
    display:none;
    position:fixed;
    bottom:20px;
    right:20px;
    z-index:999;
    background:var(--orange);
    color:var(--white);
    padding:16px 24px;
    border-radius:50px;
    font-weight:700;
    text-decoration:none;
    box-shadow:var(--shadow-lg);
    animation:pulse 2s infinite
}

.side-contact-bar{
    position:fixed;
    right:18px;
    bottom:138px;
    z-index:1190;
    display:grid;
    gap:10px;
}
.side-contact-bar .sc-item{
    width:42px;
    height:42px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.14);
    background:#0a5ec2;
    color:#fff;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 22px rgba(10,37,64,.2);
    cursor:pointer;
    transition:transform .2s ease, background .2s ease, opacity .2s ease;
    padding:0;
}
.side-contact-bar .sc-item .sc-icon{
    width:20px;
    height:20px;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.side-contact-bar .sc-item:hover{
    transform:translateY(-2px);
    background:#094f9f;
}
.side-contact-bar .sc-phone{ background:#0a5ec2; }
.side-contact-bar .sc-email{ background:#144f9a; }
.side-contact-bar .sc-whatsapp{ background:#128c7e; }
.side-contact-bar .sc-whatsapp:hover{ background:#0d6f65; }
.side-contact-bar .sc-top{
    background:#0a2540;
    opacity:0;
    pointer-events:none;
}
.side-contact-bar .sc-top.show{
    opacity:1;
    pointer-events:auto;
}

@media (max-width: 767px){
    .side-contact-bar{
        right:12px;
        bottom:84px;
        gap:8px;
    }
    .side-contact-bar .sc-item{
        width:38px;
        height:38px;
        border-radius:9px;
    }
    .side-contact-bar .sc-item .sc-icon{
        width:18px;
        height:18px;
    }
}
 @keyframes pulse{
    0%,100%{
        transform:scale(1)
    }
     50%{
        transform:scale(1.05)
    }
}
.cta-button{
    background:var(--primary);
    color:var(--white) !important;
    padding:12px 28px;
    border-radius:5px;
    font-weight:600;
    transition:all 0.3s ease;
    border:none;
    cursor:pointer;
    text-decoration:none !important;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center
}
 .cta-button:hover{
    background:var(--dark);
    transform:translateY(-2px);
    box-shadow:var(--shadow-lg)
}
 .cta-button::after{
    display:none !important
}
 .nav-menu{
    display:flex;
    align-items:center;
    gap:40px;
    list-style:none
}
 .nav-menu a{
    text-decoration:none;
    color:var(--text-dark);
    font-weight:500;
    font-size:16px;
    transition:color 0.3s ease;
    position:relative
}
 .nav-menu a:hover{
    color:var(--primary)
}
 .nav-menu a::after{
    content:'';
    position:absolute;
    bottom:-5px;
    left:0;
    width:0;
    height:2px;
    background:var(--primary);
    transition:width 0.3s ease
}
 .nav-menu a:hover::after{
    width:100%
}
 .nav-actions{
    display:flex;
    align-items:center;
    gap:16px
}
 .header-container{
    padding:16px 32px;
    display:flex;
    justify-content:space-between;
    align-items:center
}
 .mobile-menu{
    position:fixed;
    top:0;
    left:-100%;
    width:80%;
    max-width:400px;
    height:100vh;
    background:var(--white);
    z-index:1001;
    transition:left 0.3s ease;
    padding:32px;
    box-shadow:var(--shadow-lg)
}
 .mobile-menu.active{
    left:0
}
 .mobile-overlay{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100vh;
    background:rgba(0,0,0,0.5);
    z-index:1000
}
 .mobile-overlay.active{
    display:block
}
 .mobile-nav{
    list-style:none;
    margin-top:48px
}
 .mobile-nav li{
    margin-bottom:24px
}
 .mobile-nav a{
    text-decoration:none;
    color:var(--text-dark);
    font-size:19px;
    font-weight:600;
    display:block
}
 .cert-image{
    height:150px;
    object-fit:contain
}
 .page-banner{
    height:300px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:var(--white);
    position:relative;
    overflow:hidden
}
 .intro{
    padding:96px 32px 0;
    background:var(--white)
}
 .intro-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:stretch;
    grid-template-rows:auto auto;
    margin-bottom:64px
}
 .intro-imgs{
    position:relative;
    display:flex;
    flex-direction:column;
    align-self:stretch
}
 .img-main{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:14px;
    box-shadow:var(--shadow-lg);
    display:block;
    flex:1;
    min-height:0
}
 .img-badge{
    position:absolute;
    bottom:-28px;
    right:-28px;
    background:var(--primary);
    color:var(--white);
    border-radius:14px;
    padding:22.4px 28.8px;
    box-shadow:var(--shadow-lg);
    text-align:center
}
 .img-badge strong{
    display:block;
    font-size:38px;
    font-weight:800;
    line-height:1
}
 .img-badge span{
    font-size:14px;
    opacity:.85;
    white-space:nowrap
}
 .intro-right{
    padding-top:8px
}
 .intro-right .sub{
    max-width:100%;
    margin-bottom:24px
}
 .intro-body{
    margin-bottom:32px
}
 .intro-body h4{
    font-size:16px;
    font-weight:700;
    color:var(--dark);
    margin:20px 0 8px
}
 .intro-body h4:first-child{
    margin-top:0
}
 .intro-body p{
    font-size:14px;
    color:var(--text);
    line-height:1.8;
    margin-bottom:9.6px
}
 .intro-body ul{
    padding-left:20px;
    margin:8px 0 16px;
    display:flex;
    flex-direction:column;
    gap:6.4px
}
 .intro-body ul li{
    font-size:14px;
    color:var(--text);
    line-height:1.7
}
 .timeline{
    list-style:none;
    position:relative;
    padding-left:32px
}
 .timeline::before{
    content:'';
    position:absolute;
    left:7px;
    top:6px;
    bottom:6px;
    width:2px;
    background:var(--gray-line)
}
 .timeline li{
    position:relative;
    margin-bottom:28px
}
 .timeline li::before{
    content:'';
    position:absolute;
    left:-1.1200px;
    top:6px;
    width:12px;
    height:12px;
    border-radius:50%;
    background:var(--primary);
    border:3px solid var(--white);
    box-shadow:0 0 0 2px var(--primary)
}
 .timeline li strong{
    display:block;
    font-size:15px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:4px
}
 .timeline li p{
    font-size:14px;
    color:var(--text);
    line-height:1.65
}
 .about-stats-full{
    background:var(--gray-bg);
    padding:48px 32px
}
 .about-stats-full .stats-row{
}
 .about-stats-row{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--gray-line);
    overflow:hidden;
    margin-top:0;
    margin-bottom:64px;
    box-shadow:var(--shadow);
    width:100%
}
 .stat{
    background:var(--white);
    padding:24px 16px;
    text-align:center
}
 .stat strong{
    display:block;
    font-size:32px;
    font-weight:800;
    color:var(--primary);
    line-height:1;
    margin-bottom:4.8px
}
 .stat span{
    font-size: 16px;
    color:var(--text)
}
 .culture{
    background:var(--gray-bg);
    padding:96px 32px
}
 .culture-inner{
}
 .culture-hd{
    text-align:center;
    margin-bottom:64px
}
 .culture-hd .tag{
    justify-content:center
}
 .culture-hd .sub{
    max-width:600px;
    margin:12.8px auto 0
}
 .culture-cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px
}
 .culture-card{
    background:var(--white);
    border-radius:16px;
    padding:40px 32px;
    box-shadow:0 2px 16px rgba(10,37,64,.07);
    border:1px solid rgba(10,37,64,.07);
    transition:transform .25s,box-shadow .25s;
    display:flex;
    flex-direction:column;
    gap:16px
}
 .culture-card:hover{
    transform:translateY(-4px);
    box-shadow:0 8px 32px rgba(10,37,64,.13)
}
 .culture-card-icon{
    width:56px;
    height:56px;
    border-radius:14px;
    background:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0
}
 .culture-card-icon svg{
    width:26px;
    height:26px;
    stroke:var(--white)
}
 .culture-card h3{
    font-size: 20px;
    font-weight:700;
    color:var(--dark);
    margin:0
}
 .culture-card p{
    font-size: 16px;
    color:var(--text);
    line-height:1.75;
    margin:0
}
 .mvv-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    margin-bottom:2px;
    border-radius:14px;
    overflow:hidden;
    box-shadow:var(--shadow)
}
 .mvv-row:last-child{
    margin-bottom:0
}
 .mvv-row.reverse{
    direction:rtl
}
 .mvv-row.reverse > *{
    direction:ltr
}
 .mvv-img{
    width:100%;
    height:280px;
    object-fit:cover
}
 .mvv-body{
    background:var(--white);
    padding:48px 56px;
    display:flex;
    flex-direction:column;
    justify-content:center
}
 .mvv-row.reverse .mvv-body{
    background:var(--white)
}
 .mvv-row.reverse .mvv-body .ttl{
    color:var(--dark)
}
 .mvv-row.reverse .mvv-body .sub{
    color:var(--text)
}
 .mvv-icon-wrap{
    width:52px;
    height:52px;
    background:var(--primary);
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:20px
}
 .mvv-icon-wrap svg{
    width:26px;
    height:26px;
    stroke:var(--white);
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .mvv-body .ttl{
    font-size:29px
}
 .val-chips{
    display:flex;
    flex-wrap:wrap;
    gap:9.6px;
    margin-top:20px
}
 .chip{
    padding:7.2px 16px;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    background:var(--primary);
    color:var(--white);
    border:1px solid var(--primary)
}
 .mvv-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px
}
 .mvv-card{
    background:var(--white);
    border-radius:14px;
    overflow:hidden;
    box-shadow:var(--shadow);
    display:flex;
    flex-direction:column;
    transition:transform .3s,box-shadow .3s
}
 .mvv-card:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 40px rgba(10,37,64,.14)
}
 .mvv-card-img{
    width:100%;
    height:200px;
    overflow:hidden
}
 .mvv-card-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s
}
 .mvv-card:hover .mvv-card-img img{
    transform:scale(1.04)
}
 .mvv-card-body{
    padding:28px 32px;
    display:flex;
    flex-direction:column;
    flex:1
}
 .mvv-card-label{
    font-size:14px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--primary);
    margin:12px 0 6.4px
}
 .mvv-card-title{
    font-size:20px;
    font-weight:800;
    color:var(--dark);
    margin-bottom:10.4px
}
 .mvv-card-desc{
    font-size:14px;
    color:var(--text);
    line-height:1.75;
    flex:1
}
 .about-features{
    display:flex;
    flex-direction:column;
    gap:13.6px;
    margin-bottom:40px
}
 .about-feat-item{
    display:flex;
    align-items:flex-start;
    gap:14.4px
}
 .about-feat-icon{
    width:26px;
    height:26px;
    border-radius:50%;
    background:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    margin-top:3.2px;
    font-size:14px;
    color:var(--white);
    font-weight:700;
    line-height:1
}
 .about-feat-icon svg{
    display:none
}
 .about-feat-txt strong{
    display:block;
    font-size:15px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:3.2px
}
 .about-feat-txt p{
    font-size:14px;
    color:var(--text);
    line-height:1.65;
    margin:0
}
 .services{
    padding:96px 32px;
    background:var(--gray-bg)
}
 .svc-wrap{
    max-width:1200px;
    margin:0 auto
}
 .sec-hd{
    text-align:center;
    margin-bottom:56px
}
 .sec-hd .ttl{
    font-size:35px;
    margin-bottom:12px
}
 .sec-hd .sub{
    max-width:640px;
    margin:0 auto;
    color:var(--text)
}
 .svc-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px
}
 .svc-card{
    background:var(--white);
    border-radius:12px;
    padding:32px 28px;
    border:1px solid var(--gray-line);
    transition:box-shadow .25s,transform .25s,border-color .25s
}
 .svc-card:hover{
    box-shadow:var(--shadow-lg);
    transform:translateY(-4px);
    border-color:var(--primary)
}
 .svc-card-num{
    font-size:32px;
    font-weight:800;
    color:var(--gray-line);
    line-height:1;
    margin-bottom:16px;
    transition:color .25s
}
 .svc-card:hover .svc-card-num{
    color:var(--primary)
}
 .svc-card-title{
    font-size:17px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:9.6px
}
 .svc-card-desc{
    font-size:14px;
    color:var(--text);
    line-height:1.7
}
 .factory-hero{
    position:relative;
    min-height:600px;
    display:flex;
    align-items:stretch;
    overflow:hidden
}
 .factory-hero-bg{
    position:absolute;
    inset:0;
    z-index:0
}
 .factory-hero-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center
}
 .factory-hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(10,37,64,.88) 0%,rgba(10,37,64,.65) 60%,rgba(10,37,64,.45) 100%)
}
 .factory-hero-inner{
    position:relative;
    z-index:1;
    max-width:1200px;
    margin:0 auto;
    padding:96px 32px;
    width:100%;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:64px
}
 .factory-hero-text h2{
    font-size:42px;
    font-weight:800;
    color:var(--white);
    margin-bottom:16px;
    line-height:1.2
}
 .factory-hero-text p{
    font-size:17px;
    color:rgba(255,255,255,.8);
    max-width:600px;
    line-height:1.75;
    margin-bottom:32px
}
 .factory-hero-cta{
    display:flex;
    gap:16px;
    flex-wrap:wrap
}
 .btn-ghost-light{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:12px 28px;
    border-radius:8px;
    font-size:15px;
    font-weight:600;
    border:2px solid rgba(255,255,255,.6);
    color:var(--white);
    text-decoration:none;
    transition:all .25s;
    background:transparent
}
 .btn-ghost-light:hover{
    border-color:var(--white);
    background:rgba(255,255,255,.12)
}
 .factory-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px
}
 .factory-stat{
    background:rgba(255,255,255,.1);
    backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.18);
    border-radius:12px;
    padding:28px 24px;
    text-align:center;
    transition:background .25s
}
 .factory-stat:hover{
    background:rgba(255,255,255,.18)
}
 .factory-stat-num{
    font-size:35px;
    font-weight:800;
    color:var(--white);
    line-height:1;
    margin-bottom:8px
}
 .factory-stat-label{
    font-size:14px;
    color:rgba(255,255,255,.7);
    line-height:1.4
}
 .factory-video-sec{
    background:var(--white);
    padding:96px 32px
}
 .factory-video-inner{
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center
}
 .factory-video-left h2{
    font-size:35px;
    font-weight:800;
    color:var(--dark);
    line-height:1.25;
    margin-bottom:16px
}
 .factory-video-left > p{
    font-size:15px;
    color:var(--text);
    line-height:1.75;
    margin-bottom:32px
}
 .factory-video-stats{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px
}
 .fv-stat{
    background:var(--gray-bg);
    border-radius:12px;
    padding:20px 24px;
    display:flex;
    flex-direction:column;
    gap:4.8px;
    border-left:3px solid var(--primary)
}
 .fv-num{
    font-size:26px;
    font-weight:800;
    color:var(--primary);
    line-height:1
}
 .fv-label{
    font-size:14px;
    color:var(--text);
    line-height:1.4
}
 .factory-video-right{
    position:relative
}
 .factory-video-player{
    position:relative;
    width:100%;
    padding-bottom:56.25%;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 16px 48px rgba(10,37,64,.18)
}
 .factory-video-player iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:none
}
 .video-sec{
    padding:96px 32px;
    background:var(--dark)
}
 .video-inner{
}
 .video-hd{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:end;
    margin-bottom:48px
}
 .video-hd .tag{
    color:rgba(255,255,255,.6)
}
 .video-hd .ttl{
    color:var(--white)
}
 .video-hd .sub{
    color:rgba(255,255,255,.72)
}
 .video-hd-right{
    display:flex;
    flex-direction:column;
    gap:16px;
    justify-content:flex-end
}
 .fact-row{
    display:flex;
    align-items:center;
    gap:12px
}
 .fact-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--orange);
    flex-shrink:0
}
 .fact-row p{
    font-size:14px;
    color:rgba(255,255,255,.72);
    line-height:1.5
}
 .video-player{
    position:relative;
    border-radius:16px;
    overflow:hidden;
    cursor:pointer;
    aspect-ratio:16/9;
    box-shadow:0 20px 60px rgba(0,0,0,.5)
}
 .video-player img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s,opacity .3s
}
 .video-player:hover img{
    transform:scale(1.03);
    opacity:.85
}
 .v-overlay{
    position:absolute;
    inset:0;
    background:rgba(10,37,64,.35);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .3s
}
 .video-player:hover .v-overlay{
    background:rgba(10,37,64,.5)
}
 .play-ring{
    width:90px;
    height:90px;
    border-radius:50%;
    background:rgba(255,255,255,.95);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 32px rgba(0,0,0,.3);
    transition:transform .3s
}
 .video-player:hover .play-ring{
    transform:scale(1.1)
}
 .play-ring svg{
    width:34px;
    height:34px;
    fill:var(--primary);
    margin-left:5px
}
 .v-caption{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:24px 32px;
    background:linear-gradient(transparent,rgba(10,37,64,.9));
    color:var(--white)
}
 .v-caption strong{
    display:block;
    font-size:17px;
    font-weight:700
}
 .v-caption span{
    font-size:14px;
    opacity:.75
}
 .video-cta{
    display:flex;
    gap:16px;
    margin-top:40px;
    flex-wrap:wrap
}
 .v-modal{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.9);
    z-index:9999;
    align-items:center;
    justify-content:center
}
 .v-modal.on{
    display:flex
}
 .v-modal-inner{
    position:relative;
    width:90%;
    max-width:900px
}
 .v-modal-close{
    position:absolute;
    top:-44px;
    right:0;
    background:none;
    border:none;
    color:var(--white);
    font-size:32px;
    cursor:pointer;
    opacity:.8
}
 .v-modal-close:hover{
    opacity:1
}
 .v-modal-frame{
    aspect-ratio:16/9;
    background:#000;
    border-radius:10px;
    overflow:hidden
}
 .v-modal-frame iframe{
    width:100%;
    height:100%;
    border:none
}
 .intro-detail-blocks{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    margin:24px 0 28px
}
 .intro-detail-block{
    background:var(--gray-bg);
    border-radius:12px;
    padding:20px 24px;
    border-left:3px solid var(--primary)
}
 .intro-detail-block h4{
    font-size:15px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:9.6px
}
 .intro-detail-block p{
    font-size:14px;
    color:var(--text);
    line-height:1.7;
    margin-bottom:8px
}
 .intro-grade-list{
    list-style:none;
    padding:0;
    margin:8px 0 0;
    display:flex;
    flex-direction:column;
    gap:5.6px
}
 .intro-grade-list li{
    font-size:14px;
    color:var(--text);
    line-height:1.6;
    padding-left:16px;
    position:relative
}
 .intro-grade-list li::before{
    content:'\2022';
    position:absolute;
    left:0;
    color:var(--primary);
    font-weight:700
}
 .intro-ref{
    background:rgba(0,102,204,.06);
    border-radius:8px;
    padding:12px 16px;
    font-size:14px !important;
    color:var(--text) !important;
    border-left:3px solid var(--primary);
    margin-top:8px !important
}
 .mvv-sec{
    background:var(--gray-bg);
    padding:96px 32px
}
 .mvv-sec-inner{
    max-width:1200px;
    margin:0 auto
}
 .mvv-sec-hd{
    text-align:center;
    margin-bottom:56px
}
 .mvv-sec-hd h2{
    font-size:35px;
    font-weight:800;
    color:var(--dark);
    margin-bottom:12px
}
 .mvv-sec-hd p{
    font-size:15px;
    color:var(--text);
    max-width:600px;
    margin:0 auto;
    line-height:1.7
}
 .mvv-cards-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px
}
 .mvv-card-item{
    background:var(--white);
    border-radius:16px;
    padding:40px 32px;
    box-shadow:0 4px 20px rgba(10,37,64,.07);
    transition:transform .25s,box-shadow .25s;
    border-top:4px solid var(--primary)
}
 .mvv-card-item:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 36px rgba(10,37,64,.12)
}
 .mvv-card-icon{
    width:52px;
    height:52px;
    background:rgba(0,102,204,.1);
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:20px
}
 .mvv-card-icon svg{
    width:24px;
    height:24px;
    stroke:var(--primary)
}
 .mvv-card-item h3{
    font-size:19px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:12px
}
 .mvv-card-item p{
    font-size:14px;
    color:var(--text);
    line-height:1.75
}
 .perf-video-sec{
    background:var(--gray-bg);
    padding:96px 32px
}
 .perf-video-inner{
    max-width:1200px
}
 .perf-video-hd{
    text-align:center;
    margin-bottom:56px
}
 .perf-video-hd h2{
    font-size:35px;
    font-weight:800;
    color:var(--dark);
    margin-bottom:12px
}
 .perf-video-hd p{
    font-size:15px;
    color:var(--text);
    max-width:640px;
    margin:0 auto;
    line-height:1.7
}
 .perf-video-swiper,.about-services-swiper{
    overflow:hidden
}
 .about-swiper-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:24px
}
 .about-swiper-toolbar--dark{
    margin-bottom:32px
}
 .about-swiper-nav{
    display:flex;
    gap:12px
}
 .about-swiper-btn{
    width:44px;
    height:44px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.28);
    background:rgba(255,255,255,.1);
    position:relative;
    cursor:pointer;
    transition:background .25s,transform .25s,border-color .25s
}
 .about-swiper-btn:hover{
    background:rgba(255,255,255,.18);
    border-color:rgba(255,255,255,.5);
    transform:translateY(-2px)
}
 .about-swiper-btn::before{
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    width:10px;
    height:10px;
    border-top:2px solid var(--white);
    border-right:2px solid var(--white)
}
 .about-services-prev::before,.perf-video-prev::before{
    transform:translate(-35%,-50%) rotate(-135deg)
}
 .about-services-next::before,.perf-video-next::before{
    transform:translate(-65%,-50%) rotate(45deg)
}
 .about-services-pagination,.perf-video-pagination{
    position:static !important;
    width:auto !important
}
 .about-services-pagination .swiper-pagination-bullet,.perf-video-pagination .swiper-pagination-bullet{
    width:9px;
    height:9px;
    background:rgba(255,255,255,.28);
    opacity:1
}
 .about-services-pagination .swiper-pagination-bullet-active,.perf-video-pagination .swiper-pagination-bullet-active{
    background:#f59b5f
}
 .perf-video-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px
}
 .perf-video-card{
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 4px 20px rgba(10,37,64,.08);
    border:1px solid var(--border);
    background:var(--white);
    cursor:pointer;
    transition:transform .25s,box-shadow .25s
}
 .perf-video-card:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 40px rgba(10,37,64,.16)
}
 .perf-video-thumb{
    position:relative;
    width:100%;
    padding-bottom:56.25%;
    background:#111;
    overflow:hidden
}
 .perf-video-thumb img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s
}
 .perf-video-card:hover .perf-video-thumb img{
    transform:scale(1.05)
}
 .perf-play-btn{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(10,37,64,.18);
    transition:background .25s
}
 .perf-video-card:hover .perf-play-btn{
    background:rgba(10,37,64,.55)
}
 .perf-play-btn svg{
    width:24px;
    height:24px;
    fill:var(--primary);
    margin-left:3px;
    transition:transform .25s
}
 .perf-play-btn::before{
    content:'';
    position:absolute;
    width:50px;
    height:50px;
    border-radius:50%;
    background:rgba(255,255,255,.96);
    box-shadow:0 14px 34px rgba(0,0,0,.24)
}
 .perf-play-btn > *{
    position:relative;
    z-index:1
}
 .perf-video-card:hover .perf-play-btn svg{
    transform:scale(1.12)
}
 .perf-video-info{
    padding:20px 24px 24px
}
 .perf-video-info h3{
    font-size: 18px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:8px
}
 .perf-video-info p{
    font-size: 16px;
    color:var(--text);
    line-height:1.65;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    overflow:hidden
}
 .perf-modal{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.82);
    z-index:9000;
    align-items:center;
    justify-content:center
}
 .perf-modal.open{
    display:flex
}
 .perf-modal-inner{
    position:relative;
    width:90%;
    max-width:900px;
    background:#000;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 24px 80px rgba(0,0,0,.6)
}
 .perf-modal-close{
    position:absolute;
    top:12px;
    right:12px;
    z-index:10;
    background:rgba(255,255,255,.15);
    border:none;
    color:#fff;
    font-size:22px;
    width:36px;
    height:36px;
    border-radius:50%;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s
}
 .perf-modal-close:hover{
    background:rgba(255,255,255,.3)
}
 .perf-modal-frame{
    position:relative;
    width:100%;
    padding-bottom:56.25%
}
 .perf-modal-frame iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:none
}
 .about-services-sec{
    padding:96px 0;
    position:relative;
    overflow:hidden
}
 .about-services-sec::before{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.45);
    pointer-events:none;
    z-index:1
}
 .about-services-sec .container{
    position:relative;
    z-index:2
}
 .about-services-inner{
    max-width:1200px;
    padding:0 32px;
    position:relative;
    z-index:1
}
 .about-services-hd{
    text-align:center;
    margin-bottom:56px
}
 .about-services-hd h2{
    font-size:35px;
    font-weight:800;
    color:var(--white);
    margin-bottom:12px
}
 .about-services-hd p{
    font-size:16px;
    color:rgba(255,255,255,.7);
    max-width:560px;
    margin:0 auto;
    line-height:1.7
}
 .about-services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-bottom:48px
}
 .about-svc-card{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.25);
    border-radius:16px;
    padding:32px 28px;
    transition:background .25s,transform .25s,border-color .25s,box-shadow .25s;
    display:flex;
    flex-direction:column;
    gap:14.4px;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    box-shadow:0 4px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.15)
}
 .about-svc-card:hover{
    background:rgba(255,255,255,.16);
    border-color:rgba(255,255,255,.45);
    box-shadow:0 8px 32px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.2);
    transform:translateY(-4px)
}
 .about-svc-icon{
    width:62px;
    height:62px;
    border-radius:18px;
    background:var(--primary);
    border:1px solid rgba(255,255,255,.42);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    box-shadow:0 10px 28px rgba(0,0,0,.24)
}
 .about-svc-icon svg{
    width:28px;
    height:28px;
    stroke:#fff
}
 .about-svc-card h3{
    font-size: 18px;
    font-weight:700;
    color:var(--white);
    margin:0
}
 .about-svc-card p{
    font-size: 16px;
    color:rgba(255,255,255,.85);
    line-height:1.75;
    margin:0;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
    line-clamp:4;
    overflow:hidden
}
 .about-services-cta{
    display:flex;
    gap:16px;
    justify-content:center;
    flex-wrap:wrap;
    margin-top:32px
}
 .home-rebuild-page{
    font-family:"Manrope",sans-serif;
    background:radial-gradient(circle at top left,rgba(214,101,33,0.12),transparent 30%),linear-gradient(180deg,#f6f1e7 0%,#f9f7f2 35%,#f2f4f7 100%);
    color:#132235
}
 .home-shell{
    position:relative;
    overflow:clip
}
 .home-shell::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background-image:linear-gradient(rgba(19,34,53,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(19,34,53,0.03) 1px,transparent 1px);
    background-size:72px 72px;
    mask-image:linear-gradient(180deg,rgba(0,0,0,0.75),transparent 88%)
}
 .home-kicker{
    font-size:14px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    font-weight:800;
    color:#a54d1f;
    margin-bottom:14.4px
}
 .home-module{
    padding:96px 0;
    position:relative
}
 .home-module--band{
    background:rgba(255,255,255,0.6);
    border-top:1px solid rgba(19,34,53,0.08);
    border-bottom:1px solid rgba(19,34,53,0.08)
}
 .home-module--dark{
    background:#132235;
    color:#f4efe8
}
 .home-module--world{
    background:linear-gradient(180deg,rgba(255,255,255,0.74),rgba(240,244,248,0.96))
}
 .home-module__head{
    margin-bottom:44px;
    max-width:760px
}
 .home-module__head h2,.home-contact-reset h2,.home-hero-block h1,.home-cta-banner h2{
    font-family:"Cormorant Garamond",serif;
    line-height:1;
    letter-spacing:-0.02em
}
 .home-module__head h2{
    font-size:clamp(40px,4vw,64px);
    margin-bottom:14.4px
}
 .home-module__head p:last-child{
    color:#526172;
    max-width:680px
}
 .home-module__head--split{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
    max-width:none
}
 .home-inline-link{
    color:#132235;
    text-decoration:none;
    font-size:15px;
    font-weight:800;
    letter-spacing:0.08em;
    text-transform:uppercase;
    border-bottom:2px solid rgba(19,34,53,0.45);
    padding-bottom:3.2px
}
 .home-inline-link--light{
    color:#f4efe8;
    border-bottom-color:rgba(244,239,232,0.55)
}
 .home-hero-block{
    min-height:calc(100vh - 80px);
    display:flex;
    align-items:center;
    padding:64px 0;
    background:linear-gradient(135deg,rgba(19,34,53,0.94),rgba(19,34,53,0.7)),url("images/2026-01-26-10-35-01-hero-bg.png") center/cover no-repeat
}
 .home-hero-block__inner{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(320px,0.8fr);
    gap:35.2px;
    align-items:end
}
 .home-hero-block__copy,.home-hero-block__panel{
    position:relative;
    z-index:1
}
 .home-hero-block h1{
    color:#f7f3ed;
    font-size:clamp(56px,7vw,104px);
    margin-bottom:20px
}
 .home-hero-block__text{
    color:rgba(247,243,237,0.78);
    font-size:17px;
    max-width:660px
}
 .home-hero-block__actions{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    margin-top:32px
}
 .home-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:15.2px 25.6px;
    text-decoration:none;
    border-radius:999px;
    font-weight:800;
    letter-spacing:0.04em;
    transition:transform 0.25s ease,box-shadow 0.25s ease,background 0.25s ease
}
 .home-button:hover{
    transform:translateY(-3px)
}
 .home-button--primary{
    background:linear-gradient(135deg,#d96a2b,#f0a24f);
    color:#132235;
    box-shadow:0 20px 40px rgba(217,106,43,0.32)
}
 .home-button--ghost{
    background:rgba(255,255,255,0.06);
    color:#f7f3ed;
    border:1px solid rgba(255,255,255,0.18);
    backdrop-filter:blur(12px)
}
 .home-highlight-card,.home-metric-card,.home-story-card,.home-stat-card,.home-media-card,.home-project-card,.home-feature-card,.home-application-card,.home-solution-tile,.home-world-map,.home-tag-card,.home-contact-item,.home-cta-banner{
    text-decoration:none;
    color:inherit;
    transition:transform 0.28s ease,box-shadow 0.28s ease,border-color 0.28s ease,background 0.28s ease
}
 .home-highlight-card:hover,.home-metric-card:hover,.home-story-card:hover,.home-stat-card:hover,.home-media-card:hover,.home-project-card:hover,.home-feature-card:hover,.home-application-card:hover,.home-solution-tile:hover,.home-world-map:hover,.home-tag-card:hover,.home-contact-item:hover,.home-cta-banner:hover{
    transform:translateY(-6px)
}
 .home-highlight-card{
    display:block;
    padding:27.2px;
    border-radius:28px;
    background:linear-gradient(180deg,rgba(255,255,255,0.14),rgba(255,255,255,0.05));
    border:1px solid rgba(255,255,255,0.16);
    color:#f7f3ed;
    box-shadow:0 24px 60px rgba(0,0,0,0.22);
    margin-bottom:16px
}
 .home-highlight-card__eyebrow,.home-stat-card__meta,.home-media-card__meta,.home-project-card__meta,.home-feature-card__meta,.home-application-card__meta,.home-story-card__label{
    display:block;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-weight:800;
    margin-bottom:9.6px;
    color:#d96a2b
}
 .home-highlight-card strong{
    display:block;
    font-size:22px;
    margin-bottom:10.4px
}
 .home-highlight-card p{
    color:rgba(247,243,237,0.78)
}
 .home-hero-block__metrics{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14.4px
}
 .home-metric-card{
    display:flex;
    flex-direction:column;
    gap:6.4px;
    padding:19.2px 16px;
    border-radius:20px;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.12);
    text-align:center;
    color:#f7f3ed
}
 .home-metric-card strong{
    font-size:29px
}
 .home-metric-card span{
    color:rgba(247,243,237,0.72);
    font-size:14px
}
 .home-intro-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:20px
}
 .home-story-card{
    display:block;
    padding:32px;
    border-radius:28px;
    background:#132235;
    color:#f4efe8;
    min-height:100%;
    box-shadow:0 18px 48px rgba(19,34,53,0.18)
}
 .home-story-card h3{
    font-size:clamp(28.8px,2.5vw,41.6px);
    line-height:1.08;
    margin-bottom:16px;
    font-family:"Cormorant Garamond",serif
}
 .home-story-card p{
    color:rgba(244,239,232,0.76)
}
 .home-stat-stack{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px
}
 .home-stat-card{
    display:block;
    padding:22.4px;
    border-radius:22px;
    background:rgba(255,255,255,0.78);
    border:1px solid rgba(19,34,53,0.08);
    box-shadow:0 14px 34px rgba(19,34,53,0.08)
}
 .home-stat-card strong{
    display:block;
    font-size:32px;
    line-height:1;
    margin-bottom:8.8px
}
 .home-media-card,.home-project-card{
    display:flex;
    flex-direction:column;
    min-height:100%;
    border-radius:24px;
    overflow:hidden;
    background:rgba(255,255,255,0.86);
    border:1px solid rgba(19,34,53,0.08);
    box-shadow:0 18px 40px rgba(19,34,53,0.08)
}
 .home-project-card{
    background:rgba(255,255,255,0.08);
    border-color:rgba(255,255,255,0.12);
    color:#f4efe8
}
 .home-media-card__index{
    position:absolute;
    top:16px;
    left:16px;
    z-index:2;
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:rgba(19,34,53,0.9);
    color:#f7f3ed;
    font-weight:800
}
 .home-media-card__image,.home-project-card__visual{
    position:relative;
    height:280px;
    overflow:hidden
}
 .home-media-card__image img,.home-project-card__visual img,.home-application-card img,.home-world-map img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 0.45s ease
}
 .home-media-card:hover img,.home-project-card:hover img,.home-application-card:hover img,.home-world-map:hover img{
    transform:scale(1.05)
}
 .home-media-card__body,.home-project-card__body{
    padding:24px
}
 .home-project-card__body p:last-child{
    color:rgba(244,239,232,0.72)
}
 .home-uniform-grid{
    display:grid;
    gap:16px
}
 .home-uniform-grid--three{
    grid-template-columns:repeat(3,1fr)
}
 .home-feature-card,.home-application-card,.home-solution-tile,.home-tag-card{
    border-radius:22px;
    background:rgba(255,255,255,0.82);
    border:1px solid rgba(19,34,53,0.08);
    box-shadow:0 16px 34px rgba(19,34,53,0.07)
}
 .home-feature-card{
    display:block;
    padding:24px
}
 .home-feature-card h3{
    margin-bottom:9.6px;
    font-size:19px
}
 .home-feature-card p{
    color:#526172
}
 .home-application-card{
    display:grid;
    grid-template-columns:140px 1fr;
    overflow:hidden;
    min-height:180px
}
 .home-application-card img{
    min-height:100%
}
 .home-application-card > div{
    padding:19.2px
}
 .home-solution-matrix{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px
}
 .home-solution-tile{
    display:block;
    padding:22.4px
}
 .home-solution-tile span{
    display:block;
    font-size:14px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:#a54d1f;
    font-weight:800;
    margin-bottom:12.8px
}
 .home-solution-tile strong{
    line-height:1.45
}
 .home-world-layout{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:17.6px
}
 .home-world-map{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:28px;
    min-height:440px;
    box-shadow:0 18px 40px rgba(19,34,53,0.1)
}
 .home-world-map__badge{
    position:absolute;
    left:19.2px;
    bottom:19.2px;
    padding:11.2px 15.2px;
    border-radius:999px;
    background:rgba(19,34,53,0.9);
    color:#f4efe8;
    font-size:14px;
    font-weight:700
}
 .home-world-tags{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px
}
 .home-tag-card{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:100px;
    padding:16px;
    font-size:16px;
    font-weight:800
}
 .home-contact-reset .contact-wrapper{
    background:linear-gradient(135deg,rgba(19,34,53,0.96),rgba(34,56,82,0.92));
    border-radius:32px;
    padding:32px;
    box-shadow:0 22px 58px rgba(19,34,53,0.18)
}
 .home-contact-reset .contact-info h2,.home-contact-reset .contact-info p,.home-contact-reset .contact-item h4,.home-contact-reset .contact-item p{
    color:#f4efe8
}
 .home-contact-item{
    border:1px solid rgba(255,255,255,0.14);
    background:rgba(255,255,255,0.06);
    border-radius:18px
}
 .home-contact-reset .form-container{
    background:rgba(255,255,255,0.96);
    border-radius:24px;
    padding:32px
}
 .home-contact-reset .privacy-note{
    color:#526172
}
 .home-module--cta{
    padding-top:16px;
    padding-bottom:96px
}
 .home-cta-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:32px 35.2px;
    border-radius:28px;
    background:linear-gradient(135deg,#d96a2b,#f0a24f);
    color:#132235;
    box-shadow:0 24px 54px rgba(217,106,43,0.24)
}
 .home-cta-banner h2{
    font-size:clamp(32px,3.4vw,56px)
}
 .home-cta-banner__action{
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.12em;
    white-space:nowrap
}
 .home-rebuild-page .floating-cta{
    background:#d96a2b;
    color:#132235;
    font-weight:800
}


  .list_products_bottom{
    padding: 30px;
    /* margin-top: 50px; */
}
  .list_products_bottom h2{
    font-size:36px;
    font-weight: 600
}
  .list_products_bottom h3{
    font-size:20px;
    font-weight: 700
}
  .list_products_bottom h4{
    font-size:24px;
    font-weight: 700
}
  .list_products_bottom p{
    font-size:16px;
    line-height:24px
}
  .list_products_bottom .h1, .list_products_bottom .h2, .list_products_bottom .h3, .list_products_bottom h1, .list_products_bottom h2, .list_products_bottom h3{
    margin-top:20px;
    margin-bottom:20px
}
  .list_products_bottom .h4, .list_products_bottom .h5, .list_products_bottom .h6, .list_products_bottom h4, .list_products_bottom h5, .list_products_bottom h6{
    margin-top:10px;
    margin-bottom:10px
}
  .list_products_bottom p{
    margin:0 0 15px
}
  .list_products_bottom ol, .list_products_bottom ul{
    margin-top:0;
    margin-bottom:10px
}
  .list_products_bottom ul{
    padding-left:.2rem
}
  .list_products_bottom ul li{
    list-style:disc
}
  .list_products_bottom ol li{
    list-style:decimal
}
  .list_products_bottom blockquote{
    padding:10px 20px;
    margin:0 0 20px;
    border-left:5px solid #eee
}
  .list_products_bottom .img_box{
    overflow:hidden
}
  .list_products_bottom table{
    border-color:#dcdcdc
}
  .list_products_bottom table tr td{
    font-size:16px;
    padding:12px;
    padding-left:30px
}
 .products-page{
    padding:40px 32px 64px;
    display:grid;
    grid-template-columns:260px 1fr;
    gap:32px;
    align-items:start
}
 .sidebar{
    background:var(--white);
    border-radius:10px;
    box-shadow:var(--shadow);
    overflow:hidden;
    position:sticky;
    top:90px
}
 .sidebar-title{
    background:var(--dark);
    color:var(--white);
    padding:16px 24px;
    font-size:16px;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase
}
 .category-list{
    list-style:none;
    padding:8px 0
}
 .category-list li a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 24px;
    text-decoration:none;
    color:var(--text-dark);
    font-size:15px;
    font-weight:500;
    border-left:3px solid transparent;
    transition:all 0.2s ease
}
 .category-list li a:hover{
    background:var(--light-blue);
    color:var(--primary);
    border-left-color:var(--primary)
}
 .category-list li a.active{
    background:var(--light-blue);
    color:var(--primary);
    border-left-color:var(--primary);
    font-weight:700
}
 .category-count{
    background:var(--gray-line);
    color:var(--text);
    font-size:14px;
    font-weight:600;
    padding:3.2px 8.8px;
    border-radius:20px;
    min-width:24px;
    text-align:center;
    transition:all 0.2s
}
 .category-list li a.active .category-count,.category-list li a:hover .category-count{
    background:var(--primary);
    color:var(--white)
}
 .sidebar-divider{
    height:1px;
    background:var(--gray-line);
    margin:4px 24px
}
 .sidebar-cta{
    margin:16px 24px 24px;
    background:linear-gradient(135deg,var(--primary),var(--dark));
    border-radius:8px;
    padding:20px;
    color:var(--white);
    text-align:center
}
 .sidebar-cta p{
    font-size:14px;
    opacity:0.9;
    margin-bottom:12px;
    line-height:1.5
}
 .sidebar-cta a{
    display:inline-block;
    background:var(--orange);
    color:var(--white);
    text-decoration:none;
    padding:9.6px 20px;
    border-radius:5px;
    font-weight:700;
    font-size:14px;
    transition:opacity 0.2s
}
 .sidebar-cta a:hover{
    opacity:0.88
}
 .products-content{
    min-width:0
}
 .sidebar .cat-nav{
    margin-bottom:24px
}
 .sidebar .cat-nav-item{
    border-left:none;
    border-bottom:1px solid var(--gray-line);
    font-size: 16px;
}
 .sidebar .cat-nav-item:last-child{
    border-bottom:none
}
 .sidebar .cat-nav-item:hover{
    border-bottom-color:var(--gray-line)
}
 .sidebar .cat-nav-item::after{
    display:none
}
 .sidebar .cat-nav-item.active{
    border-left:none;
    background:rgba(0,86,179,.06)
}
 .sidebar .sidebar-contact{
    margin:0
}
 .content-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:24px;
    flex-wrap:wrap;
    gap:12px
}
 .content-toolbar-left{
    display:flex;
    align-items:center;
    gap:12px
}
 .results-count{
    font-size:15px;
    color:var(--text)
}
 .results-count strong{
    color:var(--text-dark)
}
 .sort-select{
    padding:8px 16px;
    border:1px solid var(--gray-line);
    border-radius:5px;
    font-size:14px;
    color:var(--text-dark);
    background:var(--white);
    cursor:pointer;
    outline:none;
    transition:border-color 0.2s
}
 .sort-select:focus{
    border-color:var(--primary)
}
 .products-grid-inner{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-bottom:40px
}
 .product-card-inner{
    background:var(--white);
    border-radius:10px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:all 0.3s ease;
    display:flex;
    flex-direction:column
}
 .product-card-inner > a{
    display:contents;
    color:inherit;
    text-decoration:none
}
 .product-card-inner:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-lg)
}
 .product-image-inner{
    width:100%;
    /*height:220px;*/
    overflow:hidden;
    position:relative
}
 .product-image-inner img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 0.4s ease
}
 .product-card-inner:hover .product-image-inner img{
    transform:scale(1.08)
}
 .pagination-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6.4px;
    margin-top:32px;
    flex-wrap:wrap
}
 .page-btn{
    min-width:40px;
    height:40px;
    border-radius:6px;
    border:2px solid var(--gray-line);
    background:var(--white);
    color:var(--text);
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:all 0.2s;
    padding:0 8px
}
 .page-btn:hover:not(.disabled){
    border-color:var(--primary);
    color:var(--primary)
}
 .page-btn.active{
    background:var(--primary);
    border-color:var(--primary);
    color:var(--white);
    cursor:default
}
 .page-btn.disabled{
    opacity:0.4;
    cursor:not-allowed;
    pointer-events:none
}
 .page-btn.arrow{
    font-size:16px;
    color:var(--text)
}
 .page-btn.arrow:hover:not(.disabled){
    color:var(--primary)
}
.page-ellipsis{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:40px;
    height:40px;
    color:var(--text);
    font-size:14px;
    user-select:none
}
.inside-pagination{
    margin-top:32px;
}
.inside-pagination ul{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex-wrap:wrap;
    padding:0;
    margin:0;
    list-style:none;
}
.inside-pagination ul li{
    margin:0;
    padding:0;
}
.inside-pagination ul li a,
.inside-pagination ul li span{
    min-width:40px;
    height:40px;
    padding:0 12px;
    border-radius:6px;
    border:2px solid var(--gray-line);
    background:var(--white);
    color:var(--text);
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:all 0.2s ease;
    box-sizing:border-box;
}
.inside-pagination ul li a:hover{
    border-color:var(--primary);
    color:var(--primary);
}
.inside-pagination ul li.active a,
.inside-pagination ul li.active span{
    background:var(--primary);
    border-color:var(--primary);
    color:var(--white);
}
.inside-pagination ul li.pre-page a,
.inside-pagination ul li.next-page a{
    min-width:44px;
    font-size:16px;
}
.inside-pagination ul li.disabled a,
.inside-pagination ul li.disabled span{
    opacity:0.4;
    cursor:not-allowed;
    pointer-events:none;
}
.page-body{
    padding:48px 32px;
    display:grid;
    grid-template-columns:260px 1fr;
    gap:40px;
    align-items:start
}
 .solutions-sidebar{
    position:sticky;
    top:90px
}
 .cat-nav{
    background:var(--white);
    border:1px solid var(--gray-line);
    border-radius:10px;
    overflow:hidden;
    margin-bottom:32px;
    box-shadow:var(--shadow)
}
 .cat-nav-title{
    background:var(--dark);
    color:var(--white);
    padding:15px;
    font-size: 16px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase
}
 .cat-nav-item{
    display:flex;
    align-items:center;
    gap:13.6px;
    padding:14.4px 24px;
    border-bottom:1px solid var(--gray-line);
    cursor:pointer;
    text-decoration:none;
    color:var(--text);
    font-size:14px;
    font-weight:500;
    border-left:3px solid transparent;
    transition:background .2s,color .2s,border-color .2s
}
 .cat-nav-item:last-child{
    border-bottom:none
}
 .cat-nav-item:hover{
    background:var(--gray-bg);
    color:var(--primary);
    border-left-color:rgba(0,86,179,.3)
}
 .cat-nav-item.active{
    background:rgba(0,86,179,.06);
    color:var(--primary);
    font-weight:700;
    border-left-color:var(--primary)
}
 .cat-nav-item.active .cat-icon-wrap{
    background:var(--primary)
}
 .cat-nav-item.active .cat-icon-wrap svg{
    stroke:var(--white)
}
 .cat-icon-wrap{
    width:32px;
    height:32px;
    border-radius:8px;
    background:var(--gray-bg);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    transition:background .2s
}
 .cat-icon-wrap svg{
    width:15px;
    height:15px;
    stroke:var(--text);
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:stroke .2s
}
 .sidebar-contact{
    background:var(--dark);
    color:var(--white);
    border-radius:10px;
    padding:28px
}
 .sidebar-contact h4{
    font-size: 18px;
    font-weight:700;
    margin-bottom:16px
}
 .sidebar-contact p{
    font-size: 16px;
    color:rgba(255,255,255,.75);
    line-height:1.7;
    margin-bottom:20px
}
 .sc-row{
    display:flex;
    align-items:center;
    gap:9.6px;
    margin-bottom:12px;
    font-size: 16px;
    color:rgba(255,255,255,.82)
}
 .sc-row .sc-link{
    color:inherit;
    /* text-decoration:underline; */
    text-underline-offset:3px
 }
 .sc-row .sc-link:hover{
    color:var(--white)
 }
 .sc-row svg{
    width:14px;
    height:14px;
    stroke:var(--orange);
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex-shrink:0
}
 .sidebar-contact a.sc-btn{
    display:block;
    text-align:center;
    background:var(--orange);
    color:var(--white);
    padding:12px;
    border-radius:6px;
    font-weight:700;
    text-decoration:none;
    font-size:14px;
    margin-top:20px;
    transition:background .25s,transform .25s
}
 .sidebar-contact a.sc-btn:hover{
    background:#e55a25;
    transform:translateY(-2px)
}
 .section-heading{
    margin-bottom:32px;
    padding-bottom:16px;
    border-bottom:2px solid var(--gray-line)
}
 .section-heading h2{
    font-size:29px;
    font-weight:800;
    margin-bottom:4.8px
}
 .section-heading p{
    font-size: 16px;
    color:var(--text)
}
 .app-card{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:0;
    background:var(--white);
    border:1px solid var(--gray-line);
    border-radius:12px;
    overflow:hidden;
    margin-bottom:28px;
    box-shadow:var(--shadow);
    transition:box-shadow .3s,transform .3s
}
 .app-card > a{
    display:contents;
    color:inherit;
    text-decoration:none
}
 .app-card:nth-of-type(odd){
    grid-template-columns:1fr 340px
}
 .app-card:nth-of-type(odd) .app-card-img{
    grid-column:2
}
 .app-card:nth-of-type(odd) .app-card-body{
    grid-column:1;
    grid-row:1
}
 .app-card:hover{
    box-shadow:0 12px 40px rgba(0,0,0,.14);
    transform:translateY(-3px)
}
 .app-card-img{
    position:relative;
    overflow:hidden
}
 .app-card-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s;
    min-height:260px
}
 .app-card:hover .app-card-img img{
    transform:scale(1.04)
}
 .app-card-badge{
    position:absolute;
    top:16px;
    left:16px;
    background:var(--primary);
    color:var(--white);
    font-size:14px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    padding:4.8px 12px;
    border-radius:20px
}
 .app-card-body{
    padding:32px 36px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start
}
 .app-card-body h3{
    font-size: 20px;
    font-weight:800;
    line-height:1.4;
    margin-bottom:12px;
    color:var(--dark);
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:2.8em
}
 .app-card-body p{
    font-size: 16px;
    color:var(--text);
    line-height:1.8;
    margin-bottom:20px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp: 4;
    overflow:hidden;
    min-height:3.6em
}
 .feat-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:20px
}
 .feat-tag{
    padding:4.8px 12.8px;
    border-radius:20px;
    background:var(--gray-bg);
    color:var(--text);
    font-size:14px;
    font-weight:600;
    border:1px solid var(--gray-line)
}
 .read-more{
    display:inline-flex;
    align-items:center;
    gap:7.2px;
    color:var(--primary);
    font-weight:700;
    font-size:14px;
    text-decoration:none;
    border:2px solid var(--primary);
    padding:8.8px 20px;
    border-radius:6px;
    transition:background .25s,color .25s,transform .25s;
    align-self:flex-start;
    margin-top:auto
}
 .read-more:hover{
    background:var(--primary);
    color:var(--white);
    transform:translateX(4px)
}
 .read-more svg{
    width:14px;
    height:14px;
    stroke:currentColor;
    fill:none;
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .25s
}
 .read-more:hover svg{
    transform:translateX(3px)
}
 .section-divider{
    height:3px;
    background:linear-gradient(to right,var(--primary),transparent);
    border-radius:2px;
    margin:48px 0 32px
}
 .cta-banner{
    background:linear-gradient(135deg,var(--primary) 0%,#003d82 100%);
    padding:80px 32px;
    text-align:center;
    color:var(--white)
}
 .cta-banner h2{
    font-size:38px;
    font-weight:800;
    margin-bottom:16px
}
 .cta-banner p{
    font-size:17px;
    opacity:.88;
    max-width:600px;
    margin:0 auto 40px;
    line-height:1.7
}
 .cta-btns{
    display:flex;
    gap:20px;
    justify-content:center;
    flex-wrap:wrap
}
 .cta-btn-white{
    background:var(--white);
    color:var(--primary);
    padding:14.4px 35.2px;
    border-radius:6px;
    font-weight:700;
    text-decoration:none;
    font-size:16px;
    transition:transform .25s,box-shadow .25s;
    display:inline-flex;
    align-items:center;
    gap:8px
}
 .cta-btn-white:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 24px rgba(0,0,0,.2)
}
 .cta-btn-ghost{
    background:transparent;
    color:var(--white);
    padding:14.4px 35.2px;
    border-radius:6px;
    font-weight:700;
    text-decoration:none;
    font-size:16px;
    border:2px solid rgba(255,255,255,.6);
    transition:all .25s;
    display:inline-flex;
    align-items:center;
    gap:8px
}
 .cta-btn-ghost:hover{
    background:rgba(255,255,255,.15);
    border-color:var(--white);
    transform:translateY(-3px)
}
 .cta-btn-white svg,.cta-btn-ghost svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    fill:none;
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .cat-group{
    padding:64px 0
}
 .cat-group:nth-child(even){
    background:var(--gray-bg)
}
 .cat-group-inner{
    padding:0 32px
}
 .cat-group .container{
    padding-left:32px;
    padding-right:32px
}
 .cat-header{
    margin-bottom:40px;
    padding-bottom:24px;
    border-bottom:2px solid var(--gray-line);
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px
}
 .cat-header-left{
    flex:1
}
 .cat-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(0,86,179,.08);
    color:var(--primary);
    font-size:14px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:4.8px 13.6px;
    border-radius:20px;
    border:1px solid rgba(0,86,179,.15);
    margin-bottom:12px
}
 .cat-label svg{
    width:13px;
    height:13px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .cat-header h2{
    font-size:30px;
    font-weight:800;
    color:var(--dark);
    margin-bottom:8px
}
 .cat-header p{
    font-size: 16px;
    color:var(--text);
    line-height:1.75;
    /* max-width:600px; */
}
 .cat-count{
    flex-shrink:0;
    font-size:14px;
    color:var(--text);
    background:var(--white);
    border:1px solid var(--gray-line);
    padding:6.4px 16px;
    border-radius:20px;
    white-space:nowrap
}
 .cat-group:nth-child(even) .cat-count{
    background:var(--gray-bg)
}
 .case-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height: 310px;
    border-radius:14px;
    overflow:hidden;
    box-shadow:var(--shadow);
    margin-bottom:28px;
    background:var(--white);
    transition:box-shadow .3s,transform .3s
}
 .case-row > a{
    display:contents;
    color:inherit;
    text-decoration:none
}
 .case-row:hover{
    box-shadow:var(--shadow-lg);
    transform:translateY(-4px)
}
 .case-row.reverse{
    direction:rtl
}
 .case-row.reverse > *{
    direction:ltr
}
 .case-row.reverse > a{
    direction:rtl
}
 .case-row.reverse > a > *{
    direction:ltr
}
 .case-row-img{
    position:relative;
    overflow:hidden
}
 .case-row-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s ease;
    max-height: 350px;
}
 .case-row:hover .case-row-img img{
    transform:scale(1.05)
}
 .case-row-img-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to right,transparent 60%,rgba(10,37,64,.35))
}
 .case-row.reverse .case-row-img-overlay{
    background:linear-gradient(to left,transparent 60%,rgba(10,37,64,.35))
}
 .case-row-img-badge{
    position:absolute;
    top:20px;
    left:20px;
    background:var(--primary);
    color:var(--white);
    font-size:14px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
    padding:4.48px 11.2px;
    border-radius:20px
}
 .case-row.reverse .case-row-img-badge{
    left:auto;
    right:20px
}
 .case-row-img-meta{
    position:absolute;
    bottom:20px;
    left:20px;
    display:flex;
    gap:12px
}
 .case-row.reverse .case-row-img-meta{
    left:auto;
    right:20px
}
 .case-meta-tag{
    background:rgba(255,255,255,.18);
    backdrop-filter:blur(6px);
    color:var(--white);
    font-size:14px;
    font-weight:500;
    padding:4px 11.2px;
    border-radius:20px;
    display:flex;
    align-items:center;
    gap:4.8px;
    border:1px solid rgba(255,255,255,.25)
}
 .case-meta-tag svg{
    width:11px;
    height:11px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .case-row-body{
    padding:40px 48px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:var(--white)
}
 .case-row-body .case-num{
    font-size:14px;
    font-weight:700;
    color:var(--primary);
    letter-spacing:.1em;
    text-transform:uppercase;
    margin-bottom:9.6px;
    opacity:.7
}
 .case-row-body h3{
    font-size: 20px;
    font-weight:800;
    color:var(--dark);
    margin-bottom:14.4px;
    line-height:1.35;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
 .case-row-body p{
    font-size: 16px;
    color:var(--text);
    line-height:1.8;
    margin-bottom:24px
}
 .case-specs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:28px
}
 .case-spec{
    background:rgba(0,86,179,.06);
    color:var(--primary);
    font-size:14px;
    font-weight:600;
    padding:4px 12px;
    border-radius:20px;
    border:1px solid rgba(0,86,179,.12)
}
 .btn-view-more{
    display:inline-flex;
    align-items:center;
    gap:8.8px;
    background:var(--primary);
    color:var(--white);
    padding:12px 25.6px;
    border-radius:7px;
    font-weight:700;
    font-size:14px;
    text-decoration:none;
    transition:background .25s,transform .25s,gap .25s;
    align-self:flex-start
}
 .btn-view-more:hover{
    background:var(--dark);
    transform:translateX(3px);
    gap:13.6px
}
 .btn-view-more svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    fill:none;
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex-shrink:0
}
 .cases-contact{
    background:var(--dark);
    padding:80px 32px
}
 .cases-contact-inner{
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:64px;
    align-items:start
}
 .cases-contact .contact-info h2{
    font-size:32px;
    font-weight:800;
    margin-bottom:16px;
    color:var(--white)
}
 .cases-contact .contact-info p{
    font-size:15px;
    color:rgba(255,255,255,.72);
    line-height:1.8;
    margin-bottom:32px
}
 .contact-detail{
    display:flex;
    align-items:flex-start;
    gap:16px;
    margin-bottom:24px
}
 .cd-icon{
    width:44px;
    height:44px;
    background:rgba(255,255,255,.1);
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0
}
 .cd-icon svg{
    width:20px;
    height:20px;
    stroke:rgba(255,255,255,.85);
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .cd-text strong{
    display:block;
    font-size:14px;
    font-weight:700;
    margin-bottom:2.4px;
    color:var(--white)
}
 .cd-text span{
    font-size:14px;
    color:rgba(255,255,255,.65)
}
 .contact-badges{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:32px
}
 .contact-badge{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.15);
    border-radius:8px;
    padding:9.6px 16px;
    font-size:14px;
    font-weight:600;
    color:rgba(255,255,255,.85);
    display:flex;
    align-items:center;
    gap:6.4px
}
 .contact-badge svg{
    width:14px;
    height:14px;
    stroke:#48bb78;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .contact-form-box{
    background:var(--white);
    border-radius:14px;
    padding:40px;
    box-shadow:var(--shadow-lg)
}
 .contact-form-box h3{
    font-size:21px;
    font-weight:800;
    margin-bottom:6.4px
}
 .contact-form-box > p{
    font-size:14px;
    color:var(--text);
    margin-bottom:28px
}
 .form-field{
    margin-bottom:16px
}
 .form-field label{
    display:block;
    font-size:14px;
    font-weight:600;
    color:var(--dark);
    margin-bottom:6.4px
}
 .form-field input,.form-field select,.form-field textarea{
    width:100%;
    border:1.5px solid var(--gray-line);
    border-radius:7px;
    padding:11.2px 16px;
    font-size:14px;
    color:var(--dark);
    outline:none;
    transition:border-color .2s,box-shadow .2s;
    font-family:inherit;
    background:var(--white)
}
 .form-field input:focus,.form-field select:focus,.form-field textarea:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(0,86,179,.1)
}
 .form-field textarea{
    resize:vertical;
    min-height:110px
}
 .form-submit{
    width:100%;
    background:var(--primary);
    color:var(--white);
    border:none;
    border-radius:7px;
    padding:14.4px;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:background .25s,transform .25s;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px
}
 .form-submit:hover{
    background:var(--dark);
    transform:translateY(-2px)
}
 .form-submit svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    fill:none;
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .news-section{
    padding:56px 32px 80px;
    background:var(--gray-bg)
}
 .news-container{
}
 .news-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:32px;
    flex-wrap:wrap;
    gap:16px
}
 .news-count{
    font-size:15px;
    color:var(--text)
}
 .news-count strong{
    color:var(--dark);
    font-weight:700
}
 .toolbar-right{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap
}
 .cat-tabs{
    display:flex;
    gap:8px;
    flex-wrap:wrap
}
 .cat-tab{
    padding:7.2px 16px;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    border:2px solid var(--gray-line);
    background:var(--white);
    color:var(--text);
    transition:all .2s;
    white-space:nowrap
}
 .cat-tab:hover{
    border-color:var(--primary);
    color:var(--primary)
}
 .cat-tab.active{
    background:var(--primary);
    border-color:var(--primary);
    color:var(--white)
}
 .news-sort-select{
    padding:7.2px 32px 7.2px 13.6px;
    border:2px solid var(--gray-line);
    border-radius:6px;
    font-size:14px;
    color:var(--text);
    background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 9.6px center;
    appearance:none;
    cursor:pointer;
    outline:none;
    transition:border-color .2s
}
 .news-sort-select:focus{
    border-color:var(--primary)
}
 .news-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px
}
 .news-card{
    background:var(--white);
    border-radius:12px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:transform .3s,box-shadow .3s;
    display:flex;
    flex-direction:column
}
 .news-card > a{
    display:contents;
    color:inherit;
    text-decoration:none
}
 .news-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-lg)
}
 .card-img-wrap{
    position:relative;
    overflow:hidden;
    aspect-ratio:16/10
}
 .card-img-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s
}
 .news-card:hover .card-img-wrap img{
    transform:scale(1.05)
}
 .card-badge{
    position:absolute;
    top:13.6px;
    left:13.6px;
    padding:4.8px 12.8px;
    border-radius:30px;
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em
}
 .badge-news{
    background:var(--primary);
    color:var(--white)
}
 .badge-industry{
    background:#17a2b8;
    color:var(--white)
}
 .badge-project{
    background:var(--orange);
    color:var(--white)
}
 .badge-product{
    background:#28a745;
    color:var(--white)
}
 .card-body{
    padding:24px;
    flex:1;
    display:flex;
    flex-direction:column
}
 .card-meta{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:12px
}
 .card-date,.card-views{
    font-size:14px;
    color:var(--text);
    display:flex;
    align-items:center;
    gap:5.6px
}
 .card-date svg,.card-views svg{
    width:13px;
    height:13px;
    stroke:var(--text);
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex-shrink:0
}
 .card-title{
    font-size: 18px;
    font-weight:700;
    color:var(--dark);
    line-height:1.4;
    margin-bottom:10.4px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden
}
 .card-excerpt{
    font-size: 16px;
    color:var(--text);
    line-height:1.7;
    flex:1;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden
}
 .card-footer{
    margin-top:20px;
    padding-top:16px;
    border-top:1px solid var(--gray-line);
    display:flex;
    align-items:center;
    justify-content:space-between
}
 .news-read-more{
    font-size:14px;
    font-weight:600;
    color:var(--primary);
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:4.8px;
    transition:gap .2s
}
 .news-read-more:hover{
    gap:8.8px
}
 .news-read-more svg{
    width:14px;
    height:14px;
    stroke:var(--primary);
    fill:none;
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .card-share{
    display:flex;
    gap:8px
}
 .share-btn{
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--gray-bg);
    border:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s
}
 .share-btn:hover{
    background:var(--primary)
}
 .share-btn:hover svg{
    stroke:var(--white)
}
 .share-btn svg{
    width:13px;
    height:13px;
    stroke:var(--text);
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:48px;
    flex-wrap:wrap
}
 .pg-btn{
    min-width:40px;
    height:40px;
    border-radius:6px;
    border:2px solid var(--gray-line);
    background:var(--white);
    color:var(--text);
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all .2s;
    padding:0 8px
}
 .pg-btn:hover:not(:disabled){
    border-color:var(--primary);
    color:var(--primary)
}
 .pg-btn.active{
    background:var(--primary);
    border-color:var(--primary);
    color:var(--white)
}
 .pg-btn:disabled{
    opacity:.4;
    cursor:not-allowed
}
 .pg-btn svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    fill:none;
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .pg-dots{
    color:var(--text);
    font-size:14px;
    padding:0 4px
}
 .inquiry-section{
    padding:80px 32px;
    background:var(--white)
}
 .inquiry-inner{
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:80px;
    align-items:start
}
 .inq-tag{
    display:inline-flex;
    align-items:center;
    gap:7.2px;
    font-size:14px;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--primary);
    margin-bottom:9.6px
}
 .inq-tag::before{
    content:'';
    width:20px;
    height:2px;
    background:var(--orange)
}
 .inq-title{
    font-size:35px;
    font-weight:800;
    color:var(--dark);
    line-height:1.25;
    margin-bottom:16px
}
 .inq-desc{
    font-size:16px;
    color:var(--text);
    line-height:1.8;
    margin-bottom:32px
}
 .inq-contacts{
    display:flex;
    flex-direction:column;
    gap:16px
}
 .inq-contact-item{
    display:flex;
    align-items:flex-start;
    gap:14px
}
 .inq-icon{
    width:44px;
    height:44px;
    background:var(--gray-bg);
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0
}
 .inq-icon svg{
    width:20px;
    height:20px;
    stroke:var(--primary);
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .inq-contact-text strong{
    display:block;
    font-size:14px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:2.4px
}
 .inq-contact-text span{
    font-size:14px;
    color:var(--text)
}
 .resp-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#e8f8f0;
    color:#1a7a4a;
    border-radius:30px;
    padding:7.2px 16px;
    font-size:14px;
    font-weight:600;
    margin-top:28px
}
 .resp-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#28a745;
    animation:resp-pulse 1.8s infinite
}
 @keyframes resp-pulse{
    0%,100%{
        opacity:1;
        transform:scale(1)
    }
     50%{
        opacity:.6;
        transform:scale(1.3)
    }
}
.inq-form-wrap{
    background:var(--gray-bg);
    border-radius:16px;
    padding:40px;
    box-shadow:var(--shadow)
}
 .inq-form-wrap h3{
    font-size:21px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:28px
}
 .inq-form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}
 .inq-form-group{
    display:flex;
    flex-direction:column;
    gap:6.4px;
    margin-bottom:16px
}
 .inq-form-group label{
    font-size:14px;
    font-weight:600;
    color:var(--dark)
}
 .inq-form-group label span{
    color:var(--orange);
    margin-left:2px
}
 .form-control{
    width:100%;
    padding:12px 16px;
    border:2px solid var(--gray-line);
    border-radius:8px;
    font-size:15px;
    color:var(--dark);
    background:var(--white);
    outline:none;
    transition:border-color .2s,box-shadow .2s;
    font-family:inherit
}
 .form-control:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(0,86,179,.1)
}
 .form-control::placeholder{
    color:#a0aec0
}
 textarea.form-control{
    resize:vertical;
    min-height:120px
}
 select.form-control{
    appearance:none;
    background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 14.4px center;
    padding-right:40px;
    cursor:pointer
}
 .form-check{
    display:flex;
    align-items:flex-start;
    gap:9.6px;
    margin-bottom:20px
}
 .form-check input[type="checkbox"]{
    width:16px;
    height:16px;
    margin-top:2px;
    accent-color:var(--primary);
    flex-shrink:0;
    cursor:pointer
}
 .form-check label{
    font-size:14px;
    color:var(--text);
    line-height:1.5;
    cursor:pointer
}
 .form-check a{
    color:var(--primary)
}
 .inq-submit-btn{
    width:100%;
    padding:15.2px;
    background:var(--primary);
    color:var(--white);
    border:none;
    border-radius:8px;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9.6px;
    transition:background .25s,transform .25s
}
 .inq-submit-btn:hover{
    background:var(--dark);
    transform:translateY(-2px)
}
 .inq-submit-btn svg{
    width:18px;
    height:18px;
    stroke:var(--white);
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .inq-form-success{
    display:none;
    text-align:center;
    padding:32px
}
 .inq-form-success .success-icon{
    width:64px;
    height:64px;
    background:#e8f8f0;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 16px
}
 .inq-form-success .success-icon svg{
    width:32px;
    height:32px;
    stroke:#28a745;
    fill:none;
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .inq-form-success h4{
    font-size:19px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:8px
}
 .inq-form-success p{
    font-size:15px;
    color:var(--text)
}
 .dl-page{
    padding:56px 32px 80px;
    display:grid;
    grid-template-columns:280px 1fr;
    gap:40px;
    align-items:start
}
 .dl-main{
    min-width:0
}
 .dl-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
    margin-bottom:32px;
    padding-bottom:24px;
    border-bottom:1px solid var(--gray-line)
}
 .dl-section-head-left .tag{
    display:inline-flex;
    align-items:center;
    gap:7.2px;
    font-size:14px;
    font-weight:700;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--primary);
    margin-bottom:8px
}
 .dl-section-head-left .tag::before{
    content:'';
    width:20px;
    height:2px;
    background:var(--orange)
}
 .dl-section-head-left h2{
    font-size:30px;
    font-weight:800;
    color:var(--dark);
    line-height:1.25;
    margin-bottom:8px
}
 .dl-section-head-left p{
    font-size: 16px;
    color:var(--text);
    line-height:1.7;
    max-width:560px
}
 .dl-section-head-right{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:9.6px;
    flex-shrink:0
}
 .dl-total-count{
    font-size:14px;
    color:var(--text);
    white-space:nowrap
}
 .dl-total-count strong{
    color:var(--dark)
}
 .dl-sort-select{
    padding:8px 14.4px;
    border:1px solid var(--gray-line);
    border-radius:6px;
    font-size:14px;
    color:var(--dark);
    background:var(--white);
    cursor:pointer;
    outline:none;
    transition:border-color 0.2s
}
 .dl-sort-select:hover,.dl-sort-select:focus{
    border-color:var(--primary)
}
 .dl-list{
    display:flex;
    flex-direction:column;
    gap:0;
    border:1px solid var(--gray-line);
    border-radius:12px;
    overflow:hidden;
    background:var(--white);
    box-shadow:var(--shadow)
}
 .dl-item{
    display:flex;
    align-items:center;
    gap:19.2px;
    padding:16px 22.4px;
    border-bottom:1px solid var(--gray-line);
    transition:background 0.18s
}
 .dl-item > a{
    display:contents;
    color:inherit;
    text-decoration:none
}
 .dl-item:last-child{
    border-bottom:none
}
 .dl-item:hover{
    background:rgba(0,86,179,0.03)
}
 .dl-item-icon{
    width:44px;
    height:50px;
    border-radius:8px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3.2px;
    flex-shrink:0
}
 .dl-icon-pdf{
    background:rgba(220,53,69,0.08);
    border:1px solid rgba(220,53,69,0.2)
}
 .dl-icon-pdf svg{
    width:20px;
    height:20px;
    stroke:#dc3545;
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .dl-icon-cert{
    background:rgba(255,193,7,0.1);
    border:1px solid rgba(255,193,7,0.3)
}
 .dl-icon-cert svg{
    width:20px;
    height:20px;
    stroke:#d4a017;
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .dl-icon-cad{
    background:rgba(0,86,179,0.08);
    border:1px solid rgba(0,86,179,0.2)
}
 .dl-icon-cad svg{
    width:20px;
    height:20px;
    stroke:var(--primary);
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .dl-icon-ext{
    font-size:14px;
    font-weight:800;
    letter-spacing:0.05em;
    text-transform:uppercase
}
 .dl-icon-pdf .dl-icon-ext{
    color:#dc3545
}
 .dl-icon-cert .dl-icon-ext{
    color:#d4a017
}
 .dl-icon-cad .dl-icon-ext{
    color:var(--primary)
}
 .dl-item-title{
    flex:1;
    font-size: 16px;
    font-weight:600;
    color:var(--dark);
    line-height:1.4;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    transition:color 0.2s;
    margin:0
}
 .dl-item:hover .dl-item-title{
    color:var(--primary)
}
 .dl-item-action{
    display:flex;
    align-items:center;
    gap:16px;
    flex-shrink:0
}
 .dl-download-count{
    display:flex;
    align-items:center;
    gap:4.8px;
    font-size:14px;
    color:var(--text);
    white-space:nowrap;
    opacity:0.7
}
 .dl-download-count svg{
    width:13px;
    height:13px;
    stroke:var(--text);
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .dl-btn{
    display:inline-flex;
    align-items:center;
    gap:6.4px;
    background:var(--primary);
    color:var(--white);
    padding:8px 17.6px;
    border-radius:6px;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    white-space:nowrap;
    transition:background 0.2s,transform 0.2s,box-shadow 0.2s
}
 .dl-btn:hover{
    background:#0047a0;
    transform:translateY(-1px);
    box-shadow:0 4px 12px rgba(0,86,179,0.28)
}
 .dl-btn svg{
    width:14px;
    height:14px;
    stroke:currentColor;
    fill:none;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .dl-btn.downloading{
    background:#28a745;
    pointer-events:none
}
 .dl-empty{
    text-align:center;
    padding:80px 32px;
    color:var(--text)
}
 .dl-empty svg{
    width:56px;
    height:56px;
    stroke:var(--gray-line);
    fill:none;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
    margin:0 auto 20px
}
 .dl-empty h3{
    font-size:19px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:8px
}
 .dl-empty p{
    font-size:15px;
    line-height:1.7;
    max-width:400px;
    margin:0 auto
}
 .dl-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6.4px;
    margin-top:40px;
    padding-top:32px;
    border-top:1px solid var(--gray-line)
}
 .dl-pg-btn{
    min-width:40px;
    height:40px;
    padding:0 12px;
    border:1px solid var(--gray-line);
    border-radius:6px;
    background:var(--white);
    color:var(--dark);
    font-size:14px;
    font-weight:500;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all 0.2s
}
 .dl-pg-btn:hover:not(:disabled){
    border-color:var(--primary);
    color:var(--primary);
    background:rgba(0,86,179,0.06)
}
 .dl-pg-btn.active{
    background:var(--primary);
    color:var(--white);
    border-color:var(--primary);
    font-weight:700
}
 .dl-pg-btn:disabled{
    opacity:0.35;
    cursor:not-allowed
}
 .dl-pg-arrow svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    fill:none;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .dl-pg-dots{
    color:var(--text);
    font-size:14px;
    padding:0 4px;
    line-height:40px
}
 .ct-top{
    padding:80px 0;
    background:var(--white)
}
 .ct-top-wrap{
    padding:0 32px;
    display:grid;
    grid-template-columns:1fr 1.15fr;
    gap:64px;
    align-items:start
}
 .ct-info-col h2{
    font-size:32px;
    font-weight:800;
    color:var(--dark);
    margin:8px 0 12px
}
 .ct-info-lead{
    color:var(--text);
    font-size:15px;
    line-height:1.7;
    margin-bottom:32px
}
 .ct-info-list{
    list-style:none;
    padding:0;
    margin:0 0 40px;
    display:flex;
    flex-direction:column;
    gap:17.6px
}
 .ct-info-list li{
    display:flex;
    align-items:flex-start;
    gap:16px
}
 .ct-info-icon{
    width:40px;
    height:40px;
    background:rgba(0,86,179,0.08);
    border:1px solid rgba(0,86,179,0.15);
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0
}
 .ct-info-icon svg{
    width:18px;
    height:18px;
    stroke:var(--primary);
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .ct-info-text{
    display:flex;
    flex-direction:column;
    gap:2.4px;
    padding-top:3.2px
}
 .ct-info-text strong{
    font-size:14px;
    font-weight:700;
    color:var(--dark);
    text-transform:uppercase;
    letter-spacing:0.05em
}
 .ct-info-text span{
    font-size:15px;
    color:var(--text);
    line-height:1.5
}
 .ct-social h4{
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.07em;
    color:var(--dark);
    margin-bottom:13.6px
}
 .ct-social-icons{
    display:flex;
    flex-wrap:wrap;
    gap:9.6px
}
 .ct-social-btn{
    display:inline-flex;
    align-items:center;
    gap:6.4px;
    padding:7.2px 14.4px;
    border-radius:6px;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    transition:opacity 0.2s,transform 0.2s;
    color:var(--white)
}
 .ct-social-btn:hover{
    opacity:0.88;
    transform:translateY(-1px)
}
 .ct-social-btn svg{
    width:14px;
    height:14px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .ct-social-linkedin{
    background:#0077b5
}
 .ct-social-facebook{
    background:#1877f2
}
 .ct-social-youtube{
    background:#ff0000
}
 .ct-social-whatsapp{
    background:#25d366
}
 .ct-social-alibaba{
    background:#ff6a00
}
 .ct-social-wechat{
    background:#07c160
}
 .ct-form-card{
    background:var(--white);
    border:1px solid var(--gray-line);
    border-radius:16px;
    padding:40px;
    box-shadow:0 4px 24px rgba(0,0,0,0.07)
}
 .ct-form-header{
    margin-bottom:28.8px
}
 .ct-form-header h3{
    font-size:24px;
    font-weight:800;
    color:var(--dark);
    margin:6.4px 0 8px
}
 .ct-form-header p{
    font-size:14px;
    color:var(--text);
    line-height:1.6
}
 .ct-form{
    display:flex;
    flex-direction:column;
    gap:16px
}
 .ct-form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}
 .ct-form-group{
    display:flex;
    flex-direction:column;
    gap:6.4px
}
 .ct-form-group label{
    font-size:14px;
    font-weight:600;
    color:var(--dark)
}
 .req{
    color:#e53e3e
}
 .ct-form-group input,.ct-form-group select,.ct-form-group textarea{
    padding:10.4px 14.4px;
    border:1.5px solid var(--gray-line);
    border-radius:8px;
    font-size:14px;
    color:var(--dark);
    background:var(--white);
    transition:border-color 0.2s,box-shadow 0.2s;
    font-family:inherit;
    outline:none;
    width:100%;
    box-sizing:border-box
}
 .ct-form-group input:focus,.ct-form-group select:focus,.ct-form-group textarea:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(0,86,179,0.1)
}
 .ct-form-group textarea{
    resize:vertical;
    min-height:110px
}
 .ct-submit-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:var(--primary);
    color:var(--white);
    border:none;
    padding:13.6px 32px;
    border-radius:8px;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    transition:background 0.2s,transform 0.2s,box-shadow 0.2s;
    margin-top:4px
}
 .ct-submit-btn:hover{
    background:#0047a0;
    transform:translateY(-1px);
    box-shadow:0 6px 18px rgba(0,86,179,0.3)
}
 .ct-submit-btn svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .ct-form-note{
    display:flex;
    align-items:center;
    gap:6.4px;
    font-size:14px;
    color:var(--text);
    opacity:0.75;
    margin:0
}
 .ct-form-note svg{
    width:13px;
    height:13px;
    stroke:var(--text);
    fill:none;
    stroke-width:2;
    flex-shrink:0
}
 .ct-form-success{
    text-align:center;
    padding:48px 24px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px
}
 .ct-form-success.is-hidden{
    display:none
}
 .ct-form-success svg{
    width:56px;
    height:56px;
    stroke:#28a745;
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .ct-form-success h4{
    font-size:21px;
    font-weight:800;
    color:var(--dark);
    margin:0
}
 .ct-form-success p{
    font-size:14px;
    color:var(--text);
    line-height:1.6;
    margin:0
}
 .ct-form-success button{
    margin-top:8px;
    background:var(--primary);
    color:var(--white);
    border:none;
    padding:10.4px 24px;
    border-radius:7px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    transition:background 0.2s
}
 .ct-form-success button:hover{
    background:#0047a0
}
 .ct-team{
    padding:80px 0;
    background:var(--gray-bg)
}
 .ct-team-wrap{
    /* max-width:1200px; */
    padding:0 32px
}
 .ct-section-head{
    text-align:center;
    margin-bottom:48px
}
 .ct-section-head h2{
    font-size:32px;
    font-weight:800;
    color:var(--dark);
    margin:8px 0 12px
}
 .ct-section-head p{
    font-size:16px;
    color:var(--text);
    margin:0 auto;
    line-height:1.7
}
 .ct-team-swiper .swiper-wrapper{
    align-items:stretch
}
 .ct-team-swiper .swiper-slide{
    height:auto
}
 .ct-person{
    background:var(--white);
    border:1px solid var(--gray-line);
    border-radius:14px;
    padding:32px 24px;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:20px;
    box-shadow:var(--shadow);
    transition:box-shadow 0.25s,transform 0.25s;
    height:100%
}
 .ct-person:hover{
    box-shadow:0 8px 28px rgba(0,86,179,0.12);
    transform:translateY(-3px)
}
 .ct-person-avatar{
    position:relative
}
 .ct-person-avatar img{
    width:80px;
    height:80px;
    border-radius:50%;
    border:3px solid var(--white);
    box-shadow:0 2px 12px rgba(0,86,179,0.15);
    object-fit:cover;
    display:block
}
 .ct-avatar-placeholder{
    width:80px;
    height:80px;
    border-radius:50%;
    background:linear-gradient(135deg,#e8f0fe,#c7d9f8);
    border:3px solid var(--white);
    box-shadow:0 2px 12px rgba(0,86,179,0.15);
    display:flex;
    align-items:center;
    justify-content:center
}
 .ct-avatar-placeholder svg{
    width:36px;
    height:36px;
    stroke:var(--primary);
    fill:none;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .ct-person-badge{
    position:absolute;
    bottom:2px;
    right:2px;
    font-size:14px;
    font-weight:700;
    padding:2.4px 7.2px;
    border-radius:20px;
    color:var(--white);
    letter-spacing:0.04em
}
 .ct-person-badge.online{
    background:#28a745
}
 .ct-person-badge.busy{
    background:#fd7e14
}
 .ct-person-info{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4.8px
}
 .ct-person-info h4{
    font-size:17px;
    font-weight:800;
    color:var(--dark);
    margin:0
}
 .ct-person-title{
    font-size:14px;
    color:var(--primary);
    font-weight:600;
    margin:0
}
 .ct-person-region{
    font-size:14px;
    color:var(--text);
    margin:0 0 8px
}
 .ct-person-contacts{
    list-style:none;
    padding:0;
    margin:0 0 16px;
    width:100%;
    display:flex;
    flex-direction:column;
    gap:7.2px;
    border-top:1px solid var(--gray-line);
    padding-top:13.6px
}
 .ct-person-contacts li{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6.4px;
    font-size:16px;
    color:var(--text)
}
 .ct-person-contacts svg{
    width:13px;
    height:13px;
    stroke:var(--primary);
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex-shrink:0
}
 .ct-person-btn{
    display:inline-flex;
    align-items:center;
    gap:5.6px;
    background:var(--primary);
    color:var(--white);
    padding:8.8px 20.8px;
    border-radius:7px;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    transition:background 0.2s,transform 0.2s
}
 .ct-person-btn:hover{
    background:#0047a0;
    transform:translateY(-1px)
}
 .ct-team-pagination{
    display:flex;
    justify-content:center;
    gap:8.8px;
    margin-top:24px
}
 .ct-team-pagination .swiper-pagination-bullet{
    width:9px;
    height:9px;
    margin:0 !important;
    background:rgba(0,86,179,0.2);
    opacity:1
}
 .ct-team-pagination .swiper-pagination-bullet-active{
    background:var(--primary)
}
 .ct-map-section{
    padding:80px 0 0;
    background:var(--white)
}
 .ct-map-section-wrap{
    /* max-width:1200px; */
    padding:0 32px 48px
}
 .ct-map-full{
    border-radius:14px;
    overflow:hidden;
    border:1px solid var(--gray-line);
    box-shadow:var(--shadow)
}
 .ct-map-full iframe{
    border:0;
    display:block;
    width:100%
}
 .ct-branches{
    padding:80px 0;
    background:var(--gray-bg)
}
 .ct-branches-wrap{
    /* max-width:1200px; */
    padding:0 32px
}
 .ct-branches-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px
}
 .ct-branch-card{
    background:var(--white);
    border:1px solid var(--gray-line);
    border-radius:14px;
    padding:29.6px 24px 25.6px;
    box-shadow:var(--shadow);
    transition:box-shadow 0.25s,transform 0.25s,border-color 0.25s;
    position:relative;
    overflow:hidden;
    height:100%
}
 .ct-branch-card:hover{
    box-shadow:0 8px 28px rgba(0,86,179,0.12);
    transform:translateY(-3px);
    border-color:rgba(0,86,179,0.22)
}
 .ct-branch-card h4{
    font-size:18px;
    font-weight:800;
    color:var(--dark);
    margin:0 0 16px;
    line-height:1.35
}
 .ct-branch-details{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:13.6px;
    border-top:1px solid var(--gray-line);
    padding-top:16px
}
 .ct-branch-details li{
    display:flex;
    align-items:flex-start;
    gap:8.8px;
    font-size:15px;
    color:var(--text);
    line-height:1.5
}
 .ct-branch-details svg{
    width:15px;
    height:15px;
    stroke:var(--primary);
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex-shrink:0;
    margin-top:2.4px
}
 .product-detail-main{
    background:var(--white)
}
 .product-category-bar{
    background:#f4f7fb;
    border-bottom:1px solid var(--gray-line);
    padding:14px 0
}
 .product-category-bar .container{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center
}
 .cat-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 14px;
    border:1px solid var(--gray-line);
    border-radius:999px;
    background:var(--white);
    color:var(--text);
    font-size:14px;
    font-weight:600;
    transition:color 0.2s,border-color 0.2s,background 0.2s
}
 .cat-tag:hover,.cat-tag.active{
    color:var(--primary);
    border-color:rgba(0,86,179,0.24);
    background:rgba(0,86,179,0.06)
}
 .cat-sep{
    font-size:14px;
    color:#94a3b8
}
 .product-main{
    padding:48px 0 56px
}
 .product-main-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:48px;
    align-items:start
}
 .product-gallery{
    position:sticky;
    top:108px
}
 .gallery-main{
    position:relative;
    aspect-ratio:1 / 1;
    border:1px solid var(--gray-line);
    border-radius:18px;
    overflow:hidden;
    background:#f8fafc;
    margin-bottom:14px
}
 .gallery-main .swiper-wrapper,.gallery-main .swiper-slide{
    height:100%
}
 .gallery-main img{
    width:100%;
    height:100%;
    object-fit:contain
}
 .gallery-badge{
    position:absolute;
    top:18px;
    left:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 14px;
    border-radius:999px;
    background:var(--primary);
    color:var(--white);
    font-size:14px;
    font-weight:700
}
 .gallery-zoom-btn{
    position:absolute;
    right:18px;
    bottom:18px;
    z-index:5;
    width:42px;
    height:42px;
    border:1px solid var(--gray-line);
    border-radius:10px;
    background:rgba(255,255,255,0.96);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer
}
 .gallery-zoom-btn svg,.product-cta-row svg,.product-contact-item svg,.download-btn svg,.download-icon svg,.section-header-row svg{
    width:18px;
    height:18px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .gallery-thumbs-bar{
    display:flex;
    align-items:center;
    gap:12px
}
 .gallery-thumbs-viewport{
    flex:1;
    overflow:hidden
}
 .gallery-thumbs{
    width:100%
}
 .gallery-thumbs .swiper-wrapper{
    width:100%
}
 .gallery-thumbs-nav{
    width:38px;
    height:38px;
    flex:0 0 38px;
    border:1px solid var(--gray-line);
    border-radius:999px;
    background:#fff;
    color:var(--dark);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:border-color 0.2s ease,color 0.2s ease,background 0.2s ease,opacity 0.2s ease
}
 .gallery-thumbs-nav:hover{
    border-color:var(--orange);
    color:var(--orange)
}
 .gallery-thumbs-nav:disabled{
    opacity:0.45;
    cursor:default
}
 .gallery-thumb{
    border:1px solid transparent;
    border-radius:12px;
    background:#f8fafc;
    overflow:hidden;
    aspect-ratio:1 / 1;
    cursor:pointer;
    padding:0;
    box-sizing:border-box
}
 .gallery-thumbs .swiper-slide-thumb-active{
    border-color:var(--orange)
}
 .gallery-thumb img{
    width:100%;
    height:100%;
    object-fit:contain
}
 .gallery-thumbs-nav svg{
    width:18px;
    height:18px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .product-cat-label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 14px;
    border-radius:999px;
    background:rgba(255,107,53,0.1);
    color:var(--orange);
    font-size:14px;
    font-weight:700;
    margin-bottom:14px
}
 .product-title{
    font-size:34px;
    line-height:1.25;
    color:var(--dark);
    margin-bottom:8px
}
 .product-sku{
    font-size:14px;
    color:#64748b;
    margin-bottom:18px
}
 .product-sku span{
    color:var(--dark);
    font-weight:700
}
 .product-stock{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:14px;
    font-weight:700;
    color:#16a34a;
    margin-bottom:22px
}
 .product-stock-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#16a34a;
    box-shadow:0 0 0 5px rgba(22,163,74,0.14)
}
 .product-short-desc{
    font-size: 16px;
    line-height:1.8;
    color:var(--text);
    padding-bottom:24px;
    margin-bottom:24px;
    border-bottom:1px solid var(--gray-line)
}
 .product-spec-table{
    width:100%;
    border-collapse:collapse;
    margin-bottom:24px
}
 .product-spec-table tr{
    border-bottom:1px solid var(--gray-line)
}
 .product-spec-table td{
    padding:10px 0;
    font-size:14px;
    vertical-align:top
}
 .product-spec-table td:first-child{
    width:42%;
    color:#64748b;
    font-weight:600
}
 .product-spec-table td:last-child{
    color:var(--dark);
    font-weight:700
}
 .product-options-wrap{
    margin-bottom:22px
}
 .product-option-label{
    font-size:14px;
    font-weight:700;
    color:#64748b;
    margin-bottom:10px;
    text-transform:uppercase;
    letter-spacing:0.04em
}
 .product-option-btns{
    display:flex;
    flex-wrap:wrap;
    gap:10px
}
 .product-option-btn{
    border:1px solid var(--gray-line);
    background:var(--white);
    color:var(--text);
    padding:10px 16px;
    border-radius:10px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    transition:color 0.2s,border-color 0.2s,background 0.2s
}
 .product-option-btn.active,.product-option-btn:hover{
    color:var(--primary);
    border-color:rgba(0,86,179,0.28);
    background:rgba(0,86,179,0.06)
}
 .product-cta-row{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin:30px 0 24px
}
 .btn-primary-product,.btn-secondary-product{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:50px;
    padding:0 22px;
    border-radius:12px;
    font-size:15px;
    font-weight:700
}
 .btn-primary-product{
    background:var(--primary);
    color:var(--white)
}
 .btn-secondary-product{
    background:#f4f7fb;
    color:var(--dark);
    border:1px solid var(--gray-line)
}
 .product-contact-strip{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
}
 .product-contact-item{
    display:flex;
    gap:12px;
    align-items:flex-start;
    color:var(--text);
    font-size: 15px;
    line-height:1.7
}
 .product-contact-item span{
    display: flex;
    gap: 10px;
}
 .product-contact-item svg{
    color:var(--primary);
    flex-shrink:0;
    margin-top:2px
}
 .product-contact-item strong{
    color:var(--dark)
}
 .product-contact-link{
    color:inherit;
    /* text-decoration:underline; */
    text-underline-offset:3px
 }
 .product-contact-link:hover{
    color:var(--primary)
 }
 .product-detail-main .product-tabs-section{
    padding:8px 0 56px
}
 .product-detail-main .product-editor-content{
    padding:34px;
    border:1px solid var(--gray-line);
    border-radius:18px;
    background:var(--white);
    box-shadow:var(--shadow)
}
 .product-detail-main .product-editor-content h2,.product-detail-main .product-detail-section-title,.product-detail-main .section-header-row h2{
    font-size:28px;
    line-height:1.3;
    color:var(--dark);
    margin-bottom:18px
}
 .product-detail-main .product-editor-content h3{
    font-size:20px;
    line-height:1.45;
    color:var(--dark);
    margin:22px 0 12px
}
 .product-detail-main .product-editor-content p,.product-detail-main .product-editor-content li,.product-detail-main .product-editor-content td,.product-detail-main .product-editor-content th{
    font-size: 16px;
    line-height:1.8;
    color:var(--text)
}
.product-detail-main .product-editor-content td:nth-child(1){
    font-weight: bold;
}
 .product-detail-main .product-editor-content ul{
    padding-left:22px;
    margin:0 0 18px
}
 .product-detail-main .product-editor-content li{
    margin-bottom:8px
}
 .product-detail-main .product-editor-content table{
    width:100%;
    border-collapse:collapse
}
 .product-detail-main .product-editor-content th,.product-detail-main .product-editor-content td{
    padding:12px 14px;
    border:1px solid var(--gray-line);
    text-align:left
}
 .product-detail-main .product-editor-content th{
    background:#f8fafc;
    color:var(--dark);
    font-weight:700
}
 .product-detail-main .product-editor-content hr{
    border:0;
    border-top:1px solid var(--gray-line);
    margin:28px 0
}
 .product-detail-main .product-editor-media{
    width:100%
}
 .product-detail-main .product-editor-figure{
    margin:0
}
 .product-detail-main .product-editor-figure figcaption{
    margin-top:10px;
    font-size: 16px;
    line-height:1.7;
    color:#64748b;
    text-align:left
}
 .product-detail-main .product-editor-gallery{
    display:grid;
    gap:18px;
    margin:24px 0 12px
}
 .product-detail-main .product-editor-gallery--two{
    grid-template-columns:repeat(2,minmax(0,1fr))
}
 .product-detail-main .product-editor-gallery--three{
    grid-template-columns:repeat(3,minmax(0,1fr))
}
 .product-detail-main .product-copy-flow{
    display:grid;
    gap:32px
}
 .product-detail-main .product-copy-section{
    padding-bottom:28px;
    border-bottom:1px solid rgba(226,232,240,0.9)
}
 .product-detail-main .product-copy-section:last-child{
    padding-bottom:0;
    border-bottom:0
}
 .product-detail-main .product-copy-section--compact{
    max-width:980px
}
 .product-detail-main .product-video-frame-wrap{
    margin:0 0 16px;
    border-radius:16px;
    overflow:hidden;
    background:#000
}
 .product-detail-main .product-video-frame{
    width:100%;
    height:480px;
    border:0;
    display:block
}
 .product-detail-main .product-detail-section-title{
    margin-top:32px
}
 .product-detail-main .product-tab-panel{
    border:1px solid var(--gray-line);
    border-radius:18px;
    background:var(--white);
    overflow:hidden
}
 .product-detail-main .product-downloads-list{
    display:grid
}
 .product-detail-main .download-item{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:16px;
    align-items:center;
    padding:20px 22px;
    border-bottom:1px solid var(--gray-line);
    transition:background 0.2s
}
 .product-detail-main .download-item:last-child{
    border-bottom:0
}
 .product-detail-main .download-item:hover{
    background:#f8fafc
}
 .product-detail-main .download-icon{
    width:52px;
    height:52px;
    border-radius:14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--primary)
}
 .product-detail-main .download-icon{
    background:#fef2f2;
    color:#dc2626
}
 .product-detail-main .download-info .name{
    font-size:16px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:4px
}
 .product-detail-main .download-info .meta{
    font-size:14px;
    color:#64748b
}
 .product-detail-main .download-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--primary);
    font-size:14px;
    font-weight:700
}
 .product-detail-main .product-inquiry-label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-bottom:12px;
    color:var(--orange);
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.04em
}
 .product-detail-main .inquiry-section .container,.product-detail-main .related-section .container{
}
 .product-detail-main .inquiry-section{
    padding:64px 0;
    background:linear-gradient(180deg,#f8fafc 0%,#eef3f8 100%)
}
 .product-detail-main .inquiry-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,50%);
    gap:36px;
    align-items:start
}
 .product-detail-main .inquiry-info h2{
    font-size:34px;
    line-height:1.25;
    color:var(--dark);
    margin-bottom:14px
}
 .product-detail-main .inquiry-info > p{
    font-size: 16px;
    line-height:1.8;
    color:var(--text)
}
 .product-detail-main .inquiry-highlights{
    display:grid;
    gap:14px;
    margin-top:24px
}
 .product-detail-main .inquiry-highlight-item{
    display:grid;
    grid-template-columns:56px 1fr;
    gap:14px;
    padding:18px;
    border-radius:16px;
    background:rgba(255,255,255,0.78);
    border:1px solid rgba(255,255,255,0.6)
}
 .product-detail-main .inquiry-highlight-icon{
    width:56px;
    height:56px;
    background: #e8f4f8;
    color: var(--primary);
    color:var(--orange);
    display:inline-flex;
    align-items:center;
    justify-content:center
}
 .product-detail-main .inquiry-highlight-icon svg,.product-detail-main .form-submit-btn svg,.product-detail-main .check-circle svg{
    width:20px;
    height:20px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round
}
 .product-detail-main .inquiry-highlight-text .title{
    font-size: 18px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:4px
}
 .product-detail-main .inquiry-highlight-text .desc{
    font-size: 16px;
    line-height:1.7;
    color:var(--text)
}
 .product-detail-main .inquiry-form-card{
    background:#f4f6f9;
    border-radius:20px;
    padding:32px;
    border:1px solid var(--gray-line);
    box-shadow:var(--shadow)
}
 .product-detail-main .inquiry-form-title{
    font-size: 24px;
    font-weight:800;
    color:var(--dark);
    margin-bottom:4px
}
 .product-detail-main .inquiry-form-sub{
    font-size: 14px;
    color:#64748b;
    margin-bottom:24px
}
 .product-detail-main .inquiry-form{
    display:flex;
    flex-direction:column;
    gap:14px
}
 .product-detail-main .form-row-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px
}
 .product-detail-main .form-group{
    display:flex;
    flex-direction:column;
    gap:5px;
    margin-bottom:0
}
 .product-detail-main .form-group label{
    font-size:14px;
    font-weight:700;
    color:#475569;
    letter-spacing:0.06em;
    margin-bottom:0
}
 .product-detail-main .form-group label .req{
    color:var(--orange)
}
 .product-detail-main .form-group input,.product-detail-main .form-group select,.product-detail-main .form-group textarea{
    padding:11px 14px;
    border:1.5px solid var(--gray-line);
    border-radius:8px;
    font-size:14px;
    color:var(--dark);
    background:var(--white);
    transition:border-color 0.2s;
    outline:none;
    font-family:inherit
}
 .product-detail-main .form-group input:focus,.product-detail-main .form-group select:focus,.product-detail-main .form-group textarea:focus{
    border-color:var(--primary)
}
 .product-detail-main .form-group textarea{
    resize:vertical;
    min-height:90px
}
 .product-detail-main .form-submit-btn{
    width:100%;
    padding:14px;
    background:var(--primary);
    color:var(--white);
    font-size:15px;
    font-weight:700;
    border:0;
    border-radius:10px;
    cursor:pointer;
    transition:background 0.2s,transform 0.2s;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px
}
 .product-detail-main .form-submit-btn:hover{
    background:var(--swiper-theme-color);
    transform:translateY(-1px)
}
 .product-detail-main .form-submit-btn svg{
    color:var(--white)
}
 .product-detail-main .form-success{
    display:none;
    text-align:center;
    padding:24px
}
 .product-detail-main .form-success:not(.is-hidden){
    display:block
}
 .product-detail-main .form-success .check-circle{
    width:56px;
    height:56px;
    background:#dcfce7;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 14px;
    color:#16a34a
}
 .product-detail-main .form-success h4{
    font-size:17px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:6px
}
 .product-detail-main .form-success p{
    font-size:14px;
    color:var(--text)
}
 .product-detail-main .product-form-success.is-hidden{
    display:none
}
 .product-detail-main .related-section{
    padding:64px 0 72px;
    background:#f4f6f9
}
 .product-detail-main .section-header-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:32px
}
 .product-detail-main .section-header-row a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--primary);
    font-size:15px;
    font-weight:700
}
 .product-detail-main .related-grid{
    margin-bottom:0
}
 .product-detail-main .related-grid.products-grid-inner{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px
}
 .lightbox-overlay{
    position:fixed;
    inset:0;
    background:rgba(10,37,64,0.82);
    z-index:1400;
    display:none;
    align-items:center;
    justify-content:center
}
 .lightbox-overlay.open{
    display:flex
}
 .lightbox-img{
    max-width:min(88vw,980px);
    max-height:82vh;
    object-fit:contain;
    border-radius:16px;
    background:var(--white)
}
 .lightbox-close,.lightbox-prev,.lightbox-next{
    position:absolute;
    border:0;
    background:rgba(255,255,255,0.16);
    color:var(--white);
    cursor:pointer
}
 .lightbox-close{
    top:22px;
    right:22px;
    width:46px;
    height:46px;
    border-radius:50%;
    font-size:22px
}
.lightbox-prev,.lightbox-next{
    top:50%;
    transform:translateY(-50%);
    width:54px;
    height:54px;
    border-radius:50%;
    font-size:28px
}
.lightbox-prev{
    left:24px
}
.lightbox-next{
    right:24px
}
 @media (min-width:1200px){
    .about-swiper-toolbar{
        display:none
    }
     .about-services-swiper,.perf-video-swiper{
        overflow:visible
    }
     .about-services-swiper .swiper-wrapper{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:24px;
        transform:none !important
    }
     .perf-video-swiper .swiper-wrapper{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:32px;
        transform:none !important
    }
     .about-services-swiper .swiper-slide,.perf-video-swiper .swiper-slide{
        width:auto !important;
        height:auto;
        margin-right:0 !important
    }
}
@media (max-width:1100px){
    .home-hero-block__inner,.home-intro-grid,.home-world-layout{
        grid-template-columns:1fr
    }
     .home-uniform-grid--three,.home-solution-matrix{
        grid-template-columns:repeat(2,1fr)
    }
     .app-card,.app-card > a{
        grid-template-columns:280px 1fr
    }
}
@media (max-width:1024px){
    .ft{
        grid-template-columns:1fr 1fr;
        gap:32px
    }
     .footer-container{
        grid-template-columns:repeat(2,1fr);
        gap:32px
    }
     .intro-wrap,.services-inner{
        grid-template-columns:1fr;
        gap:48px;
        margin-bottom: 30px;
    }
     .img-badge{
        right: -10px;
        bottom:-20px;
        padding: 10px 20px;
        border-radius: 10px;
    }
 .img-badge strong{
    font-size: 20px;
}
     .svc-right{
        height:360px
    }
     .mvv-row{
        grid-template-columns:1fr
    }
     .mvv-img{
        height:220px
    }
     .video-hd{
        grid-template-columns:1fr;
        gap:32px
    }
     .mvv-grid{
        grid-template-columns:1fr 1fr
    }
     .culture-cards{
        grid-template-columns:repeat(2,1fr)
    }
     .factory-stats{
        grid-template-columns:repeat(2,1fr)
    }
     .about-services-grid{
        grid-template-columns:repeat(2,1fr)
    }
     .factory-video-inner{
        grid-template-columns:1fr;
        gap:40px
    }
     .products-page{
        grid-template-columns:220px 1fr;
        gap:24px;
        padding:32px 24px 48px
    }
     .products-grid-inner{
        grid-template-columns:repeat(2,1fr)
    }
     .product-main-grid,.product-detail-main .inquiry-grid{
        grid-template-columns:1fr
    }
 .product-detail-main .inquiry-info h2{
    font-size: 26px;
}
 .product-detail-main .inquiry-highlight-text .title{
}
 .product-detail-main .inquiry-highlight-text .desc{
}
     .product-gallery{
        position:static;
        margin-bottom: 40px;
    }
     .product-cta-row > a{
        flex:1 1 calc(50% - 7px)
    }
     .product-detail-main .related-grid.products-grid-inner{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
     .product-detail-main .product-video-frame{
        height:420px
    }
     .news-grid{
        grid-template-columns:repeat(2,1fr)
    }
     .card-meta{
        flex-wrap:wrap;
        gap:8px 14.4px
    }
     .inquiry-inner{
        grid-template-columns:1fr;
        gap:48px
    }
     .hero{
        min-height:auto;
        padding:64px 32px 48px
    }
     .hero-content h1{
        font-size:32px
    }
     .hero-content p{
        font-size:16px
    }
     .contact-wrapper{
        grid-template-columns:1fr;
        gap:32px
    }
     .factory-content{
        grid-template-columns:1fr
    }
     .form-row{
        grid-template-columns:1fr;
        gap: 0;
    }
     .form-group{
    margin-bottom: 10px;
    }
 .form-group label{
    font-size: 14px;
}
     .applications-grid{
        grid-template-columns:repeat(2,1fr)
    }
     .railings-list{
        grid-template-columns:repeat(2,1fr)
    }
     .projects-grid{
        grid-template-columns:repeat(2,1fr)
    }
     .dl-page{
        grid-template-columns:240px 1fr;
        gap:32px
    }
     .ct-top-wrap{
        grid-template-columns:1fr;
        gap:48px
    }
     .ct-branches-grid{
        grid-template-columns:repeat(2,1fr)
    }
}
@media (max-width:900px){
    .page-body{
        grid-template-columns:1fr
    }
     .solutions-sidebar{
        position:static;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:24px
    }
     .cat-nav{
        margin-bottom:0
    }
     .app-card,.app-card > a{
        grid-template-columns:240px 1fr
    }
     .app-card:nth-of-type(even),.app-card:nth-of-type(odd){
        grid-template-columns:1fr 240px;
        display: flex;
        flex-wrap: wrap;
    }
    .app-card-body h3,.app-card-body p{
        min-height: auto;
    }
     .product-detail-main .download-item{
        grid-template-columns:auto 1fr
    }
     .product-detail-main .download-btn{
        grid-column:1 / -1
    }
     .case-row,.case-row.reverse,.case-row > a,.case-row.reverse > a{
        grid-template-columns:1fr;
        direction:ltr
    }
     .case-row-img{
        min-height:240px
    }
     .case-row-img-overlay{
        background:linear-gradient(to bottom,transparent 60%,rgba(10,37,64,.35)) !important
    }
     .case-row-img-badge{
        left:20px !important;
        right:auto !important
    }
     .case-row-img-meta{
        left:20px !important;
        right:auto !important
    }
     .case-row-body{
        padding:28px 24px
    }
     .cat-header{
        flex-direction:column;
        align-items:flex-start;
        gap:12px
    }
     .cases-contact-inner{
        grid-template-columns:1fr;
        gap:40px
    }
}
@media (max-width:768px){
    nav{
        display:none
    }
 .hd.container{
    padding: 10px;
}
     .container{
        padding: 20px;
    }
 .mob-subnav{
    margin: 0;
    border: 0;
}
 .mob-subnav li a{
    font-size: 15px;
}
 .mob-nav li a, .mobile-nav-list li a{
  padding: 10px 0;
 }
 .btn-quote{
    padding: 5px 10px;
    font-size: 15px;
    min-height: unset;
}
 .mob-cta{
    display: none;
}
 .mob-close, .mobile-menu-close{
    font-size: 30px;
    margin-bottom: 0;
}
 .form-group input, .form-group select, .form-group textarea{
    padding: 10px 15px;
}
     .mob-btn,.mobile-menu-btn{
        display:block
    }
 .hero-buttons{
}
 .hero-cta,.hero-cta-secondary{
    padding: 8px 15px;
    min-height: unset;
    display: block;
}
     .search-container{
        display:none
    }
     .banner h1,.page-banner h1,.banner-content h1,.banner-content .h1{
        font-size:32px
    }
     h2.ttl{
        font-size:30px
    }
     .ft{
        grid-template-columns:1fr;
        gap:24px;
        padding: 20px;
    }
    .ft-col:nth-child(2),
    .ft-col:nth-child(2){
        display:none
    }
     .ft-bottom{
        flex-direction:column;
        text-align:center;
        padding: 20px;
    }
    .ft-bottom-r{
    gap: 10px;
}
     .footer-container{
        grid-template-columns:1fr;
        gap:32px
    }
     .footer-bottom{
        flex-direction:column;
        text-align:center
    }
     .footer-bottom-right{
        flex-wrap:wrap;
        justify-content:center;
        gap:16px
    }
     .about-stats-row{
        grid-template-columns:repeat(2,1fr);
        margin-bottom: 0;
    }
     .mvv-body{
        padding:32px 28px
    }
     .svc-right{
        display:none
    }
     .services-inner{
        grid-template-columns:1fr
    }
     .intro,.culture,.services,.video-sec{
        padding:64px 20px
    }
      .intro .container,.culture .container,.services .container,.video-sec .container,.perf-video-sec .container{
        padding: 0;
    }
 .perf-video-sec{
    padding: 40px 20px;
}
 .culture-card{
    padding: 20px;
}
     .mvv-grid{
        grid-template-columns:1fr
    }
     .culture-cards{
        grid-template-columns:1fr
    }
 .perf-video-hd{
    margin-bottom: 30px;
}
     .factory-stats{
        grid-template-columns:repeat(2,1fr)
    }
    .about-services-pagination .swiper-pagination-bullet, .perf-video-pagination .swiper-pagination-bullet{
    background: #d8d8d8;
}
     .about-services-pagination .swiper-pagination-bullet-active,.perf-video-pagination .swiper-pagination-bullet-active{
    background:#f59b5f
}
 .about-swiper-nav{
    display: none;
}
     .about-services-grid{
        grid-template-columns:1fr
    }
     .about-services-sec{
        padding:64px 0
    }
     .about-swiper-toolbar{
        flex-direction:column;
        align-items:flex-start
    }
     .home-module{
        padding:64px 0
    }
     .home-module__head--split,.home-cta-banner{
        flex-direction:column;
        align-items:start
    }
     .home-hero-block{
        min-height:auto
    }
     .home-hero-block__metrics,.home-stat-stack,.home-uniform-grid--three,.home-solution-matrix,.home-world-tags{
        grid-template-columns:1fr
    }
     .home-application-card{
        grid-template-columns:1fr
    }
     .home-application-card img{
        height:220px
    }
     .home-world-map{
        min-height:320px
    }
     .home-contact-reset .contact-wrapper,.home-contact-reset .form-container{
        padding:22.4px
    }
     .products-page,.page-body,.dl-page{
        /* grid-template-columns:1fr; */
        /* padding:24px 16px 48px; */
        padding: 20px;
        display: flex;
        /* flex-wrap: wrap; */
        flex-direction: column-reverse;
    }
    .cat-group .container{
        padding: 20px;
    }
     .sidebar{
        position:static
    }
     .cat-nav-title{
        padding:14px 18px
    }
     .cat-nav-item,.sidebar .cat-nav-item{
        padding:14px 18px;
        font-size:14px
    }
     .sidebar-contact{
        padding:22px 20px
    }
     .products-grid-inner{
        grid-template-columns:repeat(2,1fr);
        gap:16px
    }
     .product-main{
        padding:36px 0 42px;
        padding-bottom: 0;
    }
.product-content p{
    min-height: auto;
}
 .product-main .container{
    overflow: hidden;
}
     .product-main-grid{
        display: block;
    }
     .gallery-main img{
    }
     .gallery-thumbs-bar{
        gap:8px
    }
     .gallery-thumbs-nav{
        width:34px;
        height:34px;
        flex-basis:34px
    }
     .gallery-thumb{
    border-radius: 5px;
    }
     .product-cta-row{
        gap:10px;
        margin:24px 0 20px
    }
     .product-contact-strip{
        grid-template-columns:1fr
    }
     .product-contact-item{
        gap:10px
    }
     .product-contact-item span{
        min-width:0;
        word-break:break-word
    }
     .product-title{
        font-size:28px
    }
     .product-detail-main .product-editor-content{
        padding:24px 20px
    }
     .product-detail-main .product-editor-content h2,.product-detail-main .product-detail-section-title,.product-detail-main .section-header-row h2{
        font-size:24px
    }
     .product-detail-main .product-video-frame{
        height:320px
    }
     .product-detail-main .section-header-row{
        flex-direction:column;
        align-items:flex-start
    }
     .product-detail-main .related-grid.products-grid-inner{
        grid-template-columns:1fr
    }
     .product-detail-main .form-row-2{
        grid-template-columns:1fr
    }
     .product-detail-main .inquiry-form-card{
        padding:24px 20px
    }
     .product-detail-main .product-editor-gallery--three{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
     .news-grid{
        grid-template-columns:1fr
    }
     .news-section{
        padding:44px 16px 56px
    }
 .news-section .container{
    padding: 0;
}
     .card-body{
        padding:20px
    }
     .card-footer{
        margin-top:16px;
        padding-top:13.6px
    }
     .inq-form-row{
        grid-template-columns:1fr
    }
     .cat-tabs{
        display:none
    }
     .inquiry-section{
        padding:48px 20px
    }
 .product-detail-main .inquiry-section{
    padding-top: 40px;
    padding-bottom: 30px;
}
 .product-detail-main .related-section{
    padding: 40px 0;
}
     *{
        -webkit-tap-highlight-color:transparent;
        -webkit-touch-callout:none
    }
     a,button{
        -webkit-user-select:none;
        user-select:none
    }
     input,textarea{
        -webkit-user-select:text;
        user-select:text
    }
     .nav-menu{
        display:none
    }
     .nav-actions{
        display:none
    }
     .mobile-menu-btn{
        display:block
    }
     .floating-cta{
        display:block
    }
     .hero{
        padding:48px 16px 32px
    }
     .hero-content h1{
        font-size:24px;
        margin-bottom:12px;
        line-height:1.3
    }
     .hero-content p{
        font-size:14px;
        margin-bottom:16px;
        line-height:1.5
    }
     .trust-badges{
        justify-content:center;
        gap:8px
    }
     .trust-badge{
        padding:6.4px 12px;
    }
     .applications-grid{
        grid-template-columns:1fr
    }
     .app-content{
        flex-direction:column;
        align-items:flex-start;
        padding: 20px;
    }
     .premium-railings .section-header h2,.premium-railings .section-header p{
        /* color:#ffffff; */
    }
     .railings-list{
        grid-template-columns:1fr
    }
     .projects-grid{
        grid-template-columns:1fr
    }
     .products-grid{
        grid-template-columns:1fr
    }
    .project-content h3,.project-content p{
    min-height: auto;
}
 .product-content{
    padding: 20px;
}
 .product-content h3{
    font-size: 18px;
    margin-bottom: 0;
    min-height: auto;
}
     .advantages-grid{
        grid-template-columns:1fr
    }
     .stats-row{
        grid-template-columns:repeat(2,1fr)
    }
     .stat-box{
        flex-direction:column
    }
     .about-header{
        max-width:100%
    }
     .about-header h2{
        font-size:28px
    }
     .about-header p{
        font-size:15px
    }
     .about-card.feature{
        flex-direction:column;
        text-align:center
    }
     .about-card.feature .cta-btn{
        width:100%
    }
     .about,.products,.why-choose,.applications,.factory,.other-projects,.premium-railings,.trust,.contact-section{
        padding:64px 20px;
        padding-bottom: 0;
    }
 .products .container{
    padding: 0;
}
 .why-choose,.other-projects,.premium-railings,.trust,.contact-section{
    padding-bottom: 64px;
}
 .trust .container,.contact-section .container,.applications .container,.why-choose .container,.other-projects .container,.premium-railings > .container{
    padding: 0;
}
 form-group{}
     .contact-info{
        padding:24px 16px
    }
     .form-container{
        padding:20px 12px
    }
     .region-tag{
        padding: 7px 15px;
        font-size:14px
    }
     .regions-list{
        gap: 10px;
    }
     .logo-img{
        height:32px
    }
     .product-cta{
        padding:10px;
    }
     .dl-page{
        grid-template-columns:1fr;
        padding:32px 16px 64px
    }
     .downloads-page .sidebar{
        position:static
    }
     .dl-section-head{
        flex-direction:column;
        align-items:flex-start;
        gap:16px
    }
     .dl-section-head-right{
        align-items:flex-start;
        flex-direction:row;
        align-items:center
    }
     .dl-item{
        flex-wrap:wrap;
        gap:16px
    }
     .dl-item-action{
        flex-direction:row;
        width:100%;
        justify-content:space-between;
        border-top:1px solid var(--gray-line);
        padding-top:12px
    }
     .dl-item-title{
        white-space:normal
    }
     .ct-form-row{
        grid-template-columns:1fr
    }
     .ct-branches-grid{
        grid-template-columns:1fr
    }
     .ct-section-head h2,.ct-info-col h2{
        font-size:26px
    }
     .ct-form-card{
        padding:24px
    }
 .banner, .page-banner{
    height: auto;
    padding: 40px 20px;
}
 .ct-top,.ct-team,.ct-map-section,.ct-branches{
    padding: 40px 0;
}
 footer{
    padding-top: 40px;
}
}
@media (max-width:680px){
    .solutions-sidebar{
        grid-template-columns:1fr
    }
     .app-card,.app-card > a{
        grid-template-columns:1fr
    }
     .app-card:nth-of-type(even){
        grid-template-columns:1fr
    }
     .app-card:nth-of-type(even) .app-card-img,.app-card:nth-of-type(even) .app-card-body{
        grid-column:auto;
        grid-row:auto
    }
     .app-card-img img{
        min-height:200px
    }
     .app-card-body{
        padding:24px
    }
     .cta-banner h2{
        font-size:29px
    }
     .page-body{
        padding:32px 20px
    }
     .cat-group{
        padding:40px 0
    }
     .cat-group-inner{
        padding:0 20px
    }
}
@media (max-width:480px){
    .banner h1,.page-banner h1,.banner-content h1,.banner-content .h1{
        font-size:26px
    }
     .container,.breadcrumb-container{
        /* padding-left:12px; */
        /* padding-right:12px; */
    }
     h2.ttl{
        font-size:25px
    }
     .bc-inner,.breadcrumb-container{
        padding:12px 16px
    }
     .play-ring{
        width:68px;
        height:68px
    }
     .products-grid-inner{
        grid-template-columns:1fr;
    }
     .products-page{
        /* padding: 20px; */
        /* display: flex; */
        /* flex-wrap: wrap; */
        /* flex-direction: column-reverse; */
    }
     .product-category-bar .container{
        gap:8px
    }
     .gallery-main{
        border-radius:16px
    }
     .gallery-main img{
        /* padding: 0; */
    }
     .gallery-thumbs-bar{
        gap:6px
    }
     .gallery-thumbs-nav{
        width:30px;
        height:30px;
        flex-basis:30px
    }
     .product-title{
        font-size:24px
    }
     .btn-primary-product,.btn-secondary-product{
        width:100%
    }
     .product-cta-row > a{
        flex-basis:100%
    }
     .product-detail-main .product-editor-content{
        padding:20px 16px
    }
     .product-detail-main .product-editor-content h3{
        font-size:18px
    }
     .product-detail-main .product-video-frame{
        height:240px
    }
     .product-detail-main .download-item{
        padding:18px 16px
    }
     .lightbox-prev,.lightbox-next{
        width:44px;
        height:44px;
        font-size:24px
    }
     .product-detail-main .product-editor-gallery--two,.product-detail-main .product-editor-gallery--three{
        grid-template-columns:1fr
    }
     .card-title{
        font-size:16px
    }
     .card-meta{
        gap:7.2px 12px
    }
     .inq-form-wrap{
        padding:24px
    }
     .hero-content h1{
        font-size:20px
    }
     .hero-content p{
        font-size:14px
    }
     .section-header h2{
        font-size:24px
    }
     .cert-image{
        height:120px
    }
     .dl-item-icon{
        width:50px;
        height:56px
    }
     .dl-section-head-left h2{
        font-size:24px
    }
     .dl-btn{
        padding:8.8px 16px
    }
}

.hero-swiper,
.hero-swiper .swiper-wrapper,
.hero-swiper .swiper-slide {
    min-height:100vh;
}

.hero-swiper .swiper-wrapper {
    align-items:stretch;
}

.hero-slide {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:flex-start;
}

.hero-pagination {
    position:absolute;
    left:0;
    right:0;
    bottom:2rem !important;
    z-index:3;
    text-align:center;
}

.hero-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: rgba(255, 255, 255, 0.45);
    opacity: 1;
}

.hero-pagination .swiper-pagination-bullet-active {
    background: #fff;
}



.loading-box{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,0.72);
    backdrop-filter:blur(2px);
    z-index:9999;
}
.loading-box img{
    width:56px;
    height:56px;
    object-fit:contain;
    display:block;
}

/* ======================= show_news article detail ======================= */
.show_news{
    padding:48px 0 72px;
    background:linear-gradient(180deg,#f5f9ff 0%,#ffffff 45%,#f8fbff 100%);
}
.show_news .show_news_layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:32px;
    align-items:start;
}
.show_news .show_news_article{
    background:#fff;
    border:1px solid #e8eef8;
    border-radius:18px;
    box-shadow:0 12px 36px rgba(10,37,64,.08);
    overflow:hidden;
}
.show_news .show_news_top{
    padding:34px 36px 20px;
    border-bottom:1px solid #edf2fb;
}
.show_news .show_news_top h1{
    margin:0;
    color:#0a2540;
    font-size:40px;
    line-height:1.22;
    letter-spacing:-.02em;
}
.show_news .show_news_top p{
    margin:18px 0 0;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}
.show_news .show_news_top p span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:7px 12px;
    border-radius:999px;
    background:#f4f8ff;
    color:#355072;
    font-size:13px;
    border:1px solid #e1ebfa;
}
.show_news .show_news_top p span img{
    width:16px;
    height:16px;
    object-fit:contain;
}
.show_news .show_news_content{
    padding:30px 36px;
    color:#20334c;
    font-size:17px;
    line-height:1.9;
}
.show_news .show_news_content h2,
.show_news .show_news_content h3,
.show_news .show_news_content h4{
    color:#0a2540;
    line-height:1.35;
    margin:1.4em 0 .7em;
}
.show_news .show_news_content img{
    max-width:100%;
    height:auto;
    border-radius:12px;
}
.show_news .show_news_content table{
    width:100%;
    border-collapse:collapse;
}
.show_news .show_news_content table th,
.show_news .show_news_content table td{
    border:1px solid #e5edf9;
    padding:10px 12px;
}
.show_news .show_share{
    margin:0 36px;
    padding:20px 0;
    border-top:1px dashed #d8e4f6;
    border-bottom:1px dashed #d8e4f6;
    display:flex;
    align-items:center;
    gap:14px;
}
.show_news .show_share > p{
    margin:0;
    color:#0a2540;
    font-weight:700;
}
.show_news .show_pagination{
    padding:24px 36px 32px;
    display:grid;
    gap:10px;
}
.show_news .show_pagination p{
    margin:0;
}
.show_news .show_pagination a{
    display:block;
    border:1px solid #dbe7f8;
    border-radius:12px;
    padding:12px 14px;
    color:#19314e;
    text-decoration:none;
    background:#f8fbff;
    transition:all .22s ease;
}
.show_news .show_pagination a span{
    display:block;
    color:#5c7698;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:4px;
}
.show_news .show_pagination a:hover{
    border-color:#0a5ec2;
    transform:translateY(-1px);
    background:#eef5ff;
}
.show_news .show_news_side .sidebar_box{
    position:sticky;
    top:96px;
    display:grid;
    gap:18px;
}
.show_news .show_news_side .sn-card{
    background:#fff;
    border:1px solid #e2ecfb;
    border-radius:16px;
    padding:18px;
    box-shadow:0 10px 28px rgba(10,37,64,.06);
}
.show_news .show_news_side .sn-card h2{
    margin:0 0 12px;
    font-size:18px;
    color:#0a2540;
    letter-spacing:.01em;
}
.show_news .sn-cat-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:8px;
}
.show_news .sn-cat-list li a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    text-decoration:none;
    color:#233f5e;
    border:1px solid #dfeafb;
    background:#f8fbff;
    border-radius:10px;
    padding:10px 12px;
    transition:.2s ease;
}
.show_news .sn-cat-list li a:hover,
.show_news .sn-cat-list li a.active{
    background:#edf4ff;
    color:#0a5ec2;
    border-color:#b9d5fb;
}
.show_news .sn-news-list{
    display:grid;
    gap:10px;
}
.show_news .sn-news-item{
    display:block;
    text-decoration:none;
    border:1px solid #e3edf9;
    border-radius:10px;
    padding:10px 12px;
    background:#fff;
    transition:.2s ease;
}
.show_news .sn-news-item:hover{
    border-color:#bad5f8;
    background:#f6faff;
}
.show_news .sn-news-date{
    display:block;
    font-size:12px;
    color:#7390b0;
    margin-bottom:6px;
}
.show_news .sn-news-item strong{
    color:#133150;
    font-size:14px;
    line-height:1.5;
}
.show_news .sn-product-list{
    display:grid;
    gap:10px;
}
.show_news .sn-product-item{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    gap:10px;
    align-items:center;
    text-decoration:none;
    border:1px solid #e3edf9;
    border-radius:10px;
    padding:8px;
    background:#fff;
    transition:.2s ease;
}
.show_news .sn-product-item:hover{
    border-color:#bad5f8;
    background:#f6faff;
}
.show_news .sn-product-thumb{
    width:72px;
    height:72px;
    border-radius:8px;
    overflow:hidden;
    display:block;
}
.show_news .sn-product-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.show_news .sn-product-text{
    /* color:#133150; */
    font-size: 18px;
    line-height:1.5;
}
.show_news .sn-card-contact p{
    margin:0 0 12px;
    color:#4f6d8f;
    font-size:14px;
    line-height:1.7;
}
.show_news .sn-contact-lines{
    display:grid;
    gap:8px;
    margin-bottom:12px;
}
.show_news .sn-contact-lines a,
.show_news .sn-contact-lines span{
    font-size:13px;
    line-height:1.6;
    color:#24415f;
    text-decoration:none;
}
.show_news .sn-sales-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:8px 0 14px;
}
.show_news .sn-sales-item{
    border:1px solid #e3edf9;
    border-radius:10px;
    padding:8px 6px;
    text-decoration:none;
    display:grid;
    justify-items:center;
    gap:6px;
    color:#133150;
    background:#fff;
}
.show_news .sn-sales-avatar{
    width:44px;
    height:44px;
    border-radius:50%;
    overflow:hidden;
    display:block;
}
.show_news .sn-sales-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.show_news .sn-sales-name{
    font-size:12px;
    line-height:1.3;
    text-align:center;
}
.show_news .sn-contact-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    border-radius:10px;
    padding:11px 14px;
    background:#0a5ec2;
    color:#fff;
    text-decoration:none;
    font-weight:700;
    transition:.2s ease;
}
.show_news .sn-contact-btn:hover{
    background:#094f9f;
}
.show_news .show_news_side .category,
.show_news .show_news_side .left_recommend_pro,
.show_news .show_news_side .left_contact{
    background:#fff;
    border:1px solid #e5edf9;
    border-radius:14px;
    padding:18px;
    box-shadow:0 10px 30px rgba(10,37,64,.06);
}
.show_news .show_news_side .category h2,
.show_news .show_news_side .left_recommend_pro h2,
.show_news .show_news_side .left_contact .top h2{
    margin:0 0 14px;
    font-size:18px;
    color:#0a2540;
}
.show_news .show_news_side .category .item a{
    display:block;
    color:#23405f;
    text-decoration:none;
    padding:10px 12px;
    border-radius:10px;
    transition:.2s;
}
.show_news .show_news_side .category .item a:hover,
.show_news .show_news_side .category .item a.active{
    background:#edf4ff;
    color:#0a5ec2;
}
.show_news .left_contact_box .item + .item{
    margin-top:10px;
}
.show_news .left_contact_box .item a,
.show_news .left_contact_box .item{
    display:flex;
    align-items:flex-start;
    gap:12px;
    color:#24415f;
    text-decoration:none;
}
.show_news .left_contact_box .icon img{
    width:20px;
    height:20px;
    object-fit:contain;
}
.show_news .left_contact_box .txt h4{
    margin:0;
    font-size:14px;
    color:#0a2540;
}
.show_news .left_contact_box .txt p{
    margin:3px 0 0;
    font-size:13px;
    line-height:1.6;
}
@media (max-width:1199px){
    .show_news .show_news_layout{
        grid-template-columns:1fr;
    }
    .show_news .show_news_side .sidebar_box{
        position:static;
    }
}
@media (max-width:767px){
    .show_news{
        padding:24px 0 44px;
    }
    .show_news .show_news_top,
    .show_news .show_news_content,
    .show_news .show_pagination{
        padding-left:16px;
        padding-right:16px;
    }
    .show_news .show_news_top h1{
        font-size:28px;
    }
    .show_news .show_share{
        margin:0 16px;
        flex-wrap:wrap;
    }
}

/* ======================= show_news full page (lhs blog-detail style) ======================= */
.show_news{
    padding:48px 0 72px;
    background:linear-gradient(180deg,#f4f8ff 0%,#ffffff 42%,#f8fbff 100%);
}
.show_news .sn-page{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:30px;
    align-items:start;
}
.show_news .sn-main{
    min-width:0;
}
.show_news .sn-article{
    background:#fff;
    /* border:1px solid #e4edf9; */
    border-radius: 10px;
    /* box-shadow:0 12px 32px rgba(10,37,64,.08); */
    overflow:hidden;
}
.show_news .sn-article-head{
    padding: 30px 20px;
    box-shadow: unset;
    z-index: 2;
}
.show_news .sn-article-head h1{
    margin:0;
    color:#0a2540;
    font-size: 26px;
}
.show_news .sn-meta{
    margin-top: 30px;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.show_news .sn-meta span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size: 16px;
    /* color:#4e6887; */
    /* border:1px solid #dce8f8; */
    /* background:#f5f9ff; */
    /* border-radius:999px; */
    /* padding:7px 12px; */
}
.show_news .sn-meta img{
    width: 20px;
    height: 20px;
    object-fit:contain;
}
.show_news .sn-hero{
    margin: 0 20px;
    /* border-radius:14px; */
    overflow:hidden;
    /* background:#edf3ff; */
}
.show_news .sn-hero img{
    width:100%;
    height:auto;
    display:block;
}
.show_news .sn-content{
    padding:28px 36px;
    color:#20334c;
    font-size:17px;
    line-height:1.9;
}
.show_news .sn-content a{
    display: inline-block;
    color: var(--swiper-theme-color);
}
.show_news .sn-content h2,
.show_news .sn-content h3,
.show_news .sn-content h4{
    color:#0a2540;
    line-height:1.35;
    margin:1.4em 0 .7em;
}
.show_news .sn-content img{
    max-width:100%;
    height:auto;
    border-radius:12px;
}
.show_news .sn-content table{
    width:100%;
    border-collapse:collapse;
}
.show_news .sn-content th,
.show_news .sn-content td{
    border:1px solid #e3ecf9;
    padding:10px 12px;
}
.show_news .sn-content ul,
.show_news .sn-content ol{
    margin-left: 20px;
}
.show_news .sn-share{
    margin:0 36px;
    border-top:1px dashed #d8e4f6;
    border-bottom:1px dashed #d8e4f6;
    padding:16px 0;
    display:flex;
    align-items:center;
    gap:12px;
}
.show_news .sn-share p{
    margin:0;
    font-weight:700;
    color:#0a2540;
}
.show_news .sn-section{
    padding:22px 36px 6px;
}
.show_news .sn-section + .sn-section{
    padding-top:8px;
}
.show_news .sn-section-head{
    margin-bottom:12px;
}
.show_news .sn-section-head h3{
    margin:0;
    font-size:22px;
    color:#0a2540;
}
.show_news .sn-related-grid{
    display:grid;
    gap:10px;
}
.show_news .sn-related-item{
    display:block;
    text-decoration:none;
    border:1px solid #e3edf9;
    border-radius: 10px;
    padding: 15px;
    transition:.2s ease;
}
.show_news .sn-related-item:hover{
    border-color:#b8d4f7;
    background:#f6faff;
}
.show_news .sn-related-date{
    display:block;
    font-size: 14px;
    color:#708dad;
    margin-bottom:5px;
}
.show_news .sn-related-item strong{
    color:#153252;
    font-size: 16px;
    line-height:1.55;
}
.show_news .sn-product-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.show_news .sn-product-card{
    text-decoration:none;
    border:1px solid #e3edf9;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
    transition:.2s ease;
}
.show_news .sn-product-card:hover{
    border-color:#b8d4f7;
    background:#f6faff;
}
.show_news .sn-product-image{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
}
.show_news .sn-product-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.show_news .sn-product-title{
    display:block;
    padding:10px;
    color:#153252;
    font-size:14px;
    line-height:1.5;
}
.show_news .sn-prev-next{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap: 10px;
    padding: 20px;
}
.show_news .sn-prev-next a{
    display:block;
    border:1px solid #dce8f8;
    border-radius:12px;
    text-decoration:none;
    padding:12px 14px;
    color:#173553;
    background:#f8fbff;
    transition:.2s ease;
}
.show_news .sn-prev-next a:hover{
    border-color:#b8d4f7;
    background:#eff6ff;
}
.show_news .sn-prev-next em{
    display:block;
    font-style:normal;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#6c88aa;
    margin-bottom:4px;
}
.show_news .sn-prev-next span{
    display:block;
    font-size:14px;
    line-height:1.5;
}
.show_news .sn-side{
    min-width:0;
    position:sticky;
    top:96px;
    align-self:start;
}
.show_news .sn-card{
    /* background:#fff; */
    /* border:1px solid #e4edf9; */
    /* border-radius: 10px; */
    /* box-shadow:0 10px 30px rgba(10,37,64,.06); */
    /* padding:18px; */
}
.show_news .sn-side .sn-card + .sn-card{
    margin-top:16px;
}
.show_news .sn-card h3{
    margin:0 0 12px;
    font-size:18px;
    color:#0a2540;
}
.show_news .sn-contact-list,
.show_news .sn-link-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:8px;
}
.show_news .sn-contact-list li,
.show_news .sn-link-list li a{
    border:1px solid #e1ebfa;
    border-radius:10px;
    background:#f8fbff;
    padding:10px 12px;
    color:#294766;
    text-decoration:none;
    display:block;
}
.show_news .sn-contact-list li strong{
    display:block;
    color:#0a2540;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:4px;
}
.show_news .sn-contact-list li a,
.show_news .sn-contact-list li span{
    color:#294766;
    text-decoration:none;
    font-size:13px;
    line-height:1.6;
}
.show_news .sn-link-list li a:hover{
    border-color:#b8d4f7;
    background:#eff6ff;
    color:#0a5ec2;
}
.show_news .sn-newsletter p{
    margin:0 0 12px;
    font-size:13px;
    color:#587493;
    line-height:1.7;
}
.show_news .sn-newsletter form{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
}
.show_news .sn-newsletter input{
    width:100%;
    border:1px solid #d6e4f8;
    border-radius:10px;
    padding:10px 12px;
    font-size:14px;
    outline:none;
}
.show_news .sn-newsletter button{
    border:none;
    border-radius:10px;
    background:#0a5ec2;
    color:#fff;
    font-weight:700;
    padding:10px 12px;
    cursor:pointer;
}
.show_news .sn-newsletter button:hover{
    background:#094f9f;
}
.show_news .sn-toc-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:8px;
}
.show_news .sn-toc-item a{
    display:block;
    text-decoration:none;
    /* color:#274564; */
    border:1px solid #dfeafb;
    background:#f8fbff;
    border-radius:10px;
    padding:9px 12px;
    font-size: 16px;
    line-height:1.5;
    transition:.2s ease;
}
.show_news .sn-toc-item.sub a{
    margin-left:14px;
    font-size:12px;
}
.show_news .sn-toc-item a:hover{
    border-color:#b8d4f7;
    background:#eef5ff;
    color:#0a5ec2;
}
.show_news .sn-toc-fab{
    display:none;
}
.show_news .sn-toc-mask{
    display:none;
}
body.sn-toc-open{
    overflow:hidden;
}

 .page_quotation{
    padding-top:90px
}
 .page_quotation .auto-container{
    display:block
}
 .page_quotation .page_quotation_head{
    text-align:center;
    margin-bottom:90px
}
 .page_quotation .page_quotation_head h1{
    font-size:40px;
    font-weight: 700;
    margin-bottom:10px
}
 .page_quotation .page_quotation_head p{
    font-size:18px;
    color:#999;
    max-width:65%;
    margin:auto
}
 .page_quotation .page_quotation_box{
    display:flex;
    gap:50px;
    align-items:flex-start
}
 .page_quotation .page_quotation_box .left{
    flex:1.4
}
 .page_quotation .page_quotation_box .left .left_head,.page_quotation .page_quotation_box .right .left_head{
    margin-bottom:30px;
    font-size:20px;
    font-weight: 700;
}
 .page_quotation .page_quotation_box .left .item_box .item{
    background:rgba(255,255,255,.9);
    border-radius:12px;
    padding:20px 25px;
    margin-bottom:15px;
    display:flex;
    align-items:center;
    box-shadow:var(--card-shadow);
    transition:transform .3s ease;
    backdrop-filter:blur(5px)
}
 .page_quotation .page_quotation_box .left .item_box .item:hover{
    transform:translateY(-3px);
    background:#fff
}
 .page_quotation .page_quotation_box .left .item_box .item .img{
    width:85px;
    height:85px;
    background:#f0f4f8;
    border-radius:100vh;
    margin-right:25px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #f5f5fa;
    flex-shrink:0;
    overflow:hidden
}
 .page_quotation .page_quotation_box .left .item_box .item .text{
    flex-grow:1
}
 .page_quotation .page_quotation_box .left .item_box .item .text h3{
    margin:0 0 6px 0;
    font-size:18px;
    line-height:24px
}
 .page_quotation .page_quotation_box .left .item_box .item .text p{
    margin:0;
    font-size:13px;
    color:var(--text-muted)
}
 .page_quotation .page_quotation_box .left .item_box .item .other{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:15px;
    margin-left:20px
}
 .page_quotation .page_quotation_box .left .item_box .item .other input{
    width:20px;
    height:20px;
    accent-color:var(--primary)
}
 .page_quotation .page_quotation_box .left .item_box .item .other input::checked{
    accent-color:var(--primary)
}
 .page_quotation .page_quotation_box .left .item_box .item .other .remove-btn{
    color:var(--primary);
    cursor:pointer;
    text-decoration:underline
}
 .page_quotation .page_quotation_box .left .list-footer{
    background:rgba(255,255,255,.5);
    padding:15px 25px;
    border-radius:12px;
    display:flex;
    justify-content:space-between;
    font-size:18px;
    margin-top:25px;
}
 .page_quotation .page_quotation_box .left .list-footer div span{
    cursor:pointer
}
 .page_quotation .page_quotation_box .left .list-footer div span:last-child{
    color:var(--color);
    margin-left:25px
}
 .page_quotation .page_quotation_box .right{
    flex:1;
    position:sticky;
    top:40px
}
 .page_quotation .page_quotation_box .right .from{
    margin-bottom:22px;
    background:rgba(255,255,255,.95);
    border-radius:20px;
    padding:40px;
    box-shadow:0 20px 40px rgba(0,0,0,.1)
}
 .page_quotation .page_quotation_box .right .from .input{
    display:flex;
    gap:25px 10px;
    flex-wrap:wrap;
    margin-bottom:20px
}
 .page_quotation .page_quotation_box .right .from .input>div{
    flex:0 0 100%
}
 .page_quotation .page_quotation_box .right .from .textarea_box{
    margin-bottom:20px
}
.page_quotation .page_quotation_box .right .from button{
    border: 0;
    cursor: pointer;
}
 .page_quotation .page_quotation_box .right .from .product.hide{
    display: none;
}
 .page_quotation .page_quotation_box .right .from .input>div p,.page_quotation .page_quotation_box .right .from .textarea_box p{
    font-size:16px;
    line-height:normal;
    margin-bottom:10px
}
 .page_quotation .page_quotation_box .right .from .input>div p span,.page_quotation .page_quotation_box .right .from .textarea_box p span{
    color:red
}
 .page_quotation .page_quotation_box .right .from .input>div input,.page_quotation .page_quotation_box .right .from .textarea_box textarea{
    width:100%;
    padding:15px 30px;
    border:1px solid #d7d7d7;
    border-radius:4px;
    font-size:16px;
    color:#999;
    font-family: initial;
    line-height: normal;
}
 .page_quotation .page_quotation_box .right .from .textarea_box textarea{
    height:130px;
    line-height: 1.5;
}
 .page_quotation .page_quotation_box .right .from .submit .btn_effect4 .btn-outline{
    background:0 0;
    border:2px solid var(--primary);
    color:var(--primary)
}
 .page_quotation .page_quotation_box .right .from .submit .btn_effect4 .btn_small_list{
    padding:6px 30px
}
 .page_quotation .page_quotation_box .right .from .submit .btn_effect4:last-child .btn_small_list{
    border-color:var(--primary);
    background:var(--primary)
}
 .page_quotation .page_quotation_box .right .from .submit .btn_effect4:last-child .btn_small_list.hover{
    background:#fff;
    color:var(--primary)
}
@media (max-width:1199px){
    .show_news .sn-page{
        grid-template-columns:1fr;
    }
    .show_news .sn-side{
        position:static;
        top:auto;
    }
}
@media (max-width:767px){
    .show_news{
        padding:24px 0 44px;
    }
    .show_news .sn-article-head,
    .show_news .sn-content,
    .show_news .sn-section,
    .show_news .sn-prev-next{
        /* padding-left:16px; */
        /* padding-right:16px; */
        padding: 0;
        background: unset;
    }
    .show_news .sn-article{
    background: unset;
}
    .show_news .sn-article-head h1{
        font-size: 20px;
    }
    .show_news .sn-meta{
    margin: 20px 0;
}
    .show_news .sn-hero{
    margin: 0;
}
    .show_news .sn-share{
        /* margin-left:16px; */
        /* margin-right:16px; */
        /* margin: 0; */
        margin: 20px 0;
    }
    .show_news .sn-product-grid,
    .show_news .sn-prev-next{
        grid-template-columns:1fr;
    }
    .show_news .sn-toc-fab{
        display:flex;
        align-items:center;
        justify-content:center;
        position:fixed;
        right: 12px;
        top: 360px;
        width: 38px;
        height: 38px;
        border:none;
        border-radius: 9px;
        background:#0a5ec2;
        color:#fff;
        font-size:20px;
        font-weight:700;
        box-shadow:0 12px 28px rgba(10,37,64,.28);
        z-index:1195;
    }
    .show_news .sn-toc-mask{
        display:block;
        position:fixed;
        inset:0;
        background:rgba(6,21,40,.42);
        opacity:0;
        visibility:hidden;
        transition:opacity .22s ease, visibility .22s ease;
        z-index:1190;
    }
    .show_news .sn-toc-mask.show{
        opacity:1;
        visibility:visible;
    }
    .show_news .sn-side .sn-card.sn-toc{
        position:fixed;
        top:0;
        right:0;
        width:min(86vw,340px);
        height:100vh;
        margin:0;
        border-radius:0;
        border-left:1px solid #dce8f8;
        border-right:none;
        border-top:none;
        border-bottom:none;
        overflow:auto;
        transform:translateX(105%);
        transition:transform .24s ease;
        z-index:1200;
        box-shadow:-12px 0 28px rgba(10,37,64,.18);
        padding:16px 14px 24px;
    }
    .show_news .sn-side .sn-card.sn-toc.open{
        transform:translateX(0);
        background: #ffffff;
    }
    .show_news .sn-side .sn-card.sn-toc h3{
        position:sticky;
        top:0;
        background:#fff;
        margin:0 0 10px;
        padding:6px 2px 10px;
        z-index:1;
    }
}
