/* CitySite merged stylesheet: base + layouts + chrome + presentation + modules */


.city-template-import{
            --primary: #0D1F35;
            --primary-light: #132D4A;
            --secondary: #1B4A6E;
            --accent: #C8963E;
            --accent-light: #D4A855;
            --blue-mid: #1F5880;
            --blue-soft: #2C6B9E;
            --bg-light: #F5F6F8;
            --bg-white: #FFFFFF;
            --text-dark: #1a1a1a;
            --text-mid: #3D3D3D;
            --text-light: #6B7280;
            --border: #E5E7EB;
            --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
            --shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
            --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.12);
            --radius: 8px;
            --radius-lg: 14px;
            --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            --font-heading: 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', sans-serif;
            --font-body: 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', sans-serif;
        }

        .city-template-import *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        .city-template-import{
            scroll-behavior: smooth;
            font-size: 16px;
        }

        .city-template-import{
            font-family: var(--font-body);
            color: var(--text-dark);
            background: var(--bg-white);
            line-height: 1.7;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            overflow-x: hidden;
        }


        .city-template-import .header{
            position:relative;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
            background: #0d1f35;
            background: rgba(13, 31, 53, 0.96);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            transition: var(--transition);
            padding: 0 24px;
        }
        .city-template-import .header.scrolled{
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
            background: #0b1a2c;
            background: rgba(13, 31, 53, 0.98);
        }
        .city-template-import .header-inner{
            max-width: 1320px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 66px;
        }
        .city-template-import .logo{
            font-family: var(--font-heading);
            font-size: 1.35rem;
            font-weight: 700;
            color: #FFFFFF;
            letter-spacing: 0.5px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            overflow-wrap: normal;
            word-break: keep-all;
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 6px;
            transition: var(--transition);
        }
        .city-template-import .logo:hover{
            color: var(--accent-light);
        }
        .city-template-import .nav-links{
            display: flex;
            list-style: none;
            gap: 8px;
            align-items: center;
        }
        .city-template-import .nav-links a{
            color: rgba(255, 255, 255, 0.88);
            text-decoration: none;
            font-size: 0.95rem;
            font-weight: 500;
            padding: 8px 16px;
            border-radius: 6px;
            transition: var(--transition);
            white-space: nowrap;
            letter-spacing: 0.3px;
        }
        .city-template-import .nav-links a:hover, .city-template-import .nav-links a.active{
            color: #fff;
            background: rgba(255, 255, 255, 0.1);
        }
        .city-template-import .header-phone{
            display: flex;
            align-items: center;
            gap: 8px;
            color: var(--accent-light);
            font-weight: 700;
            font-size: 1.05rem;
            white-space: normal;
            overflow-wrap: anywhere;
            text-decoration: none;
            letter-spacing: 0.5px;
            transition: var(--transition);
            padding: 6px 12px;
            border-radius: 6px;
            border: 1px solid rgba(200, 150, 62, 0.35);
            background: rgba(200, 150, 62, 0.06);
        }
        .city-template-import .header-phone:hover{
            color: #fff;
            border-color: var(--accent);
            background: rgba(200, 150, 62, 0.16);
            box-shadow: 0 0 20px rgba(200, 150, 62, 0.2);
        }
        .city-template-import .header-phone .phone-icon{
            width: 18px;
            height: 18px;
            flex-shrink: 0;
        }
        .city-template-import .mobile-menu-btn{
            display: none;
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
            flex-direction: column;
            gap: 5px;
            z-index: 1001;
        }
        .city-template-import .mobile-menu-btn span{
            display: block;
            width: 26px;
            height: 2.5px;
            background: #fff;
            border-radius: 2px;
            transition: var(--transition);
        }
        .city-template-import .mobile-menu-btn.active span:nth-child(1){
            transform: rotate(45deg) translate(5px, 5px);
        }
        .city-template-import .mobile-menu-btn.active span:nth-child(2){
            opacity: 0;
        }
        .city-template-import .mobile-menu-btn.active span:nth-child(3){
            transform: rotate(-45deg) translate(5px, -5px);
        }


        .city-template-import .mobile-nav{
            display: none;
            position:relative;
            top: 66px;
            left: 0;
            right: 0;
            background: rgba(13, 31, 53, 0.98);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            padding: 16px 24px;
            flex-direction: column;
            gap: 4px;
            z-index: 999;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
        }
        .city-template-import .mobile-nav.active{
            display: flex;
        }
        .city-template-import .mobile-nav a{
            color: rgba(255, 255, 255, 0.9);
            text-decoration: none;
            font-size: 1rem;
            font-weight: 500;
            padding: 12px 16px;
            border-radius: 8px;
            transition: var(--transition);
            display: block;
        }
        .city-template-import .mobile-nav a:hover{
            background: rgba(255, 255, 255, 0.1);
            color: #fff;
        }


        .city-template-import .banner{
            position: relative;
            min-height: 580px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(160deg, #091420 0%, #0D1F35 30%, #122840 55%, #0A1A2E 100%);
            overflow: hidden;
            padding-top: 66px;
        }
        .city-template-import .banner-bg-pattern{
            position: absolute;
            inset: 0;
            pointer-events: none;
            opacity: 0.35;
        }
        .city-template-import .banner-bg-pattern .geo-line{
            position: absolute;
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 2px;
        }
        .city-template-import .banner-bg-pattern .geo-line:nth-child(1){
            width: 600px;
            height: 600px;
            top: -200px;
            right: -150px;
            border-radius: 50%;
            border-color: rgba(200, 150, 62, 0.12);
            animation: geoFloat1 20s ease-in-out infinite;
        }
        .city-template-import .banner-bg-pattern .geo-line:nth-child(2){
            width: 350px;
            height: 350px;
            bottom: -100px;
            left: -80px;
            border-radius: 50%;
            border-color: rgba(200, 150, 62, 0.08);
            animation: geoFloat2 25s ease-in-out infinite;
        }
        .city-template-import .banner-bg-pattern .geo-line:nth-child(3){
            width: 200px;
            height: 200px;
            top: 30%;
            left: 55%;
            border-radius: 50%;
            border-color: rgba(255, 255, 255, 0.05);
            animation: geoFloat3 18s ease-in-out infinite;
        }
        .city-template-import .banner-bg-pattern .geo-line:nth-child(4){
            width: 120px;
            height: 120px;
            top: 15%;
            right: 20%;
            border-radius: 50%;
            border-color: rgba(200, 150, 62, 0.09);
            animation: geoFloat1 22s ease-in-out infinite reverse;
        }
        @keyframes geoFloat1{
            0%,
            100% {
                transform: translate(0, 0);
            }
            25% {
                transform: translate(30px, -20px);
            }
            50% {
                transform: translate(-15px, 25px);
            }
            75% {
                transform: translate(20px, 10px);
            }

}
        @keyframes geoFloat2{
            0%,
            100% {
                transform: translate(0, 0);
            }
            33% {
                transform: translate(-25px, -15px);
            }
            66% {
                transform: translate(18px, 30px);
            }

}
        @keyframes geoFloat3{
            0%,
            100% {
                transform: translate(0, 0);
            }
            50% {
                transform: translate(20px, -25px);
            }

}
        .city-template-import .banner-particles{
            position: absolute;
            inset: 0;
            pointer-events: none;
            opacity: 0.4;
        }
        .city-template-import .banner-particles .dot{
            position: absolute;
            width: 3px;
            height: 3px;
            background: rgba(255, 255, 255, 0.5);
            border-radius: 50%;
            animation: particleFade 3s ease-in-out infinite;
        }
        .city-template-import .banner-particles .dot:nth-child(1){
            top: 15%;
            left: 10%;
            animation-delay: 0s;
            animation-duration: 3.5s;
            width: 2px;
            height: 2px;
        }
        .city-template-import .banner-particles .dot:nth-child(2){
            top: 25%;
            left: 75%;
            animation-delay: 0.8s;
            animation-duration: 4s;
            width: 3px;
            height: 3px;
            background: rgba(200, 150, 62, 0.6);
        }
        .city-template-import .banner-particles .dot:nth-child(3){
            top: 60%;
            left: 20%;
            animation-delay: 1.6s;
            animation-duration: 3.2s;
            width: 2px;
            height: 2px;
        }
        .city-template-import .banner-particles .dot:nth-child(4){
            top: 40%;
            left: 88%;
            animation-delay: 2.1s;
            animation-duration: 3.8s;
            width: 3px;
            height: 3px;
            background: rgba(200, 150, 62, 0.5);
        }
        .city-template-import .banner-particles .dot:nth-child(5){
            top: 75%;
            left: 40%;
            animation-delay: 0.4s;
            animation-duration: 3.6s;
            width: 2px;
            height: 2px;
        }
        .city-template-import .banner-particles .dot:nth-child(6){
            top: 10%;
            left: 50%;
            animation-delay: 1.2s;
            animation-duration: 4.2s;
            width: 3px;
            height: 3px;
            background: rgba(200, 150, 62, 0.55);
        }
        @keyframes particleFade{
            0%,
            100% {
                opacity: 0.2;
                transform: scale(1);
            }
            50% {
                opacity: 0.9;
                transform: scale(1.8);
            }

}
        .city-template-import .banner-content{
            position: relative;
            z-index: 2;
            text-align: center;
            padding: 50px 28px;
            max-width: 800px;
        }
        .city-template-import .banner-badge{
            display: inline-block;
            background: rgba(200, 150, 62, 0.18);
            border: 1px solid rgba(200, 150, 62, 0.4);
            color: var(--accent-light);
            font-size: 0.9rem;
            font-weight: 600;
            padding: 8px 22px;
            border-radius: 50px;
            letter-spacing: 1.5px;
            margin-bottom: 22px;
            animation: fadeInUp 0.8s ease-out forwards;
        }
        .city-template-import .banner-title{
            font-family: var(--font-heading);
            font-size: clamp(1.85rem, 4.5vw, 2.8rem);
            font-weight: 700;
            color: #FFFFFF;
            letter-spacing: 1px;
            line-height: 1.25;
            margin-bottom: 12px;
            overflow-wrap: anywhere;
            animation: fadeInUp 0.8s ease-out 0.15s forwards;
            opacity: 0;
            animation-fill-mode: forwards;
        }
        .city-template-import .banner-title .highlight{
            color: var(--accent-light);
            position: relative;
        }
        .city-template-import .banner-subtitle{
            font-size: 1.15rem;
            color: rgba(255, 255, 255, 0.75);
            margin-bottom: 28px;
            letter-spacing: 0.5px;
            overflow-wrap: anywhere;
            animation: fadeInUp 0.8s ease-out 0.3s forwards;
            opacity: 0;
            animation-fill-mode: forwards;
        }
        .city-template-import .banner-advantages{
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            justify-content: center;
            margin-bottom: 28px;
            animation: fadeInUp 0.8s ease-out 0.45s forwards;
            opacity: 0;
            animation-fill-mode: forwards;
        }
        .city-template-import .banner-advantage-item{
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: rgba(255, 255, 255, 0.9);
            padding: 10px 20px;
            border-radius: 50px;
            font-size: 0.9rem;
            font-weight: 500;
            letter-spacing: 0.4px;
            white-space: normal;
            overflow-wrap: anywhere;
            line-height: 1.35;
            max-width: 100%;
            transition: var(--transition);
        }
        .city-template-import .banner-advantage-item:hover{
            background: rgba(255, 255, 255, 0.12);
            border-color: rgba(255, 255, 255, 0.3);
            transform: translateY(-2px);
        }
        .city-template-import .banner-phone-wrap{
            animation: fadeInUp 0.8s ease-out 0.55s forwards;
            opacity: 0;
            animation-fill-mode: forwards;
        }
        .city-template-import .banner-phone-btn{
            display: inline-flex;
            align-items: center;
            gap: 10px;
            background: var(--accent);
            color: #fff;
            font-size: 1.2rem;
            font-weight: 700;
            padding: 14px 32px;
            border-radius: 50px;
            text-decoration: none;
            letter-spacing: 1px;
            transition: var(--transition);
            box-shadow: 0 8px 28px rgba(200, 150, 62, 0.35);
            border: 2px solid transparent;
        }
        .city-template-import .banner-phone-btn:hover{
            background: #B8862D;
            box-shadow: 0 12px 36px rgba(200, 150, 62, 0.5);
            transform: translateY(-3px);
            border-color: rgba(255, 255, 255, 0.3);
            color: #fff;
        }
        .city-template-import .banner-phone-btn .pulse-dot{
            width: 12px;
            height: 12px;
            background: #fff;
            border-radius: 50%;
            animation: pulse 1.5s ease-in-out infinite;
        }
        @keyframes pulse{
            0%,
            100% {
                box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
            }
            50% {
                box-shadow: 0 0 0 16px rgba(255, 255, 255, 0);
            }

}
        @keyframes fadeInUp{
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }

}


        .city-template-import .section{
            padding: 70px 24px;
        }
        .city-template-import .section-inner{
            max-width: 1320px;
            margin: 0 auto;
        }
        .city-template-import .section-label{
            display: inline-block;
            font-size: 0.85rem;
            font-weight: 600;
            color: var(--blue-mid);
            letter-spacing: 2px;
            text-transform: uppercase;
            margin-bottom: 8px;
        }
        .city-template-import .section-title{
            font-family: var(--font-heading);
            font-size: 2rem;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 10px;
            letter-spacing: 0.5px;
        }
        .city-template-import .section-line{
            width: 50px;
            height: 3px;
            background: var(--accent);
            border-radius: 3px;
            margin-bottom: 28px;
        }


        .city-template-import .about-grid{
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 48px;
            align-items: start;
        }
        .city-template-import .about-text{
            font-size: 0.98rem;
            color: var(--text-mid);
            line-height: 1.85;
            min-width: 0;
            overflow-wrap: anywhere;
        }
        .city-template-import .about-text p{
            margin-bottom: 14px;
            overflow-wrap: anywhere;
        }
        .city-template-import .about-body-list{
            margin: 0 0 14px;
            padding-left: 1.2rem;
            color: var(--text-mid);
        }
        .city-template-import .about-body-list li{
            margin-bottom: 0.45rem;
            overflow-wrap: anywhere;
        }
        .city-template-import .about-text .highlight-phone{
            color: var(--accent);
            font-weight: 700;
            font-size: 1.05rem;
            letter-spacing: 0.5px;
            text-decoration: none;
            display: inline;
        }
        .city-template-import .about-text .highlight-phone:hover{
            text-decoration: underline;
            color: #B8862D;
        }
        .city-template-import .about-image-wrap{
            position: relative;
            border-radius: var(--radius-lg);
            overflow: hidden;
            box-shadow: var(--shadow-lg);
            background: #f0f0f0;
            max-width: 600px;
        }
        .city-template-import .about-image-wrap img{
            width: 100%;
            height: auto;
            max-height: 420px;
            display: block;
            object-fit: contain;
            background: #f9f9f9;
        }
        .city-template-import .about-image-badge{
            position: absolute;
            bottom: 16px;
            right: 16px;
            background: rgba(13, 31, 53, 0.85);
            color: #fff;
            padding: 6px 14px;
            border-radius: 20px;
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: 1px;
        }


        .city-template-import .products-section{
            background: var(--bg-light);
        }
        .city-template-import .product-series{
            margin-bottom: 50px;
        }
        .city-template-import .product-series:last-child{
            margin-bottom: 0;
        }
        .city-template-import .product-series-title{
            font-family: var(--font-heading);
            font-size: 1.45rem;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 6px;
            letter-spacing: 0.5px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .city-template-import .product-series-title .series-icon{
            width: 6px;
            height: 26px;
            background: var(--accent);
            border-radius: 3px;
            flex-shrink: 0;
        }
        .city-template-import .product-series-desc{
            color: var(--text-light);
            font-size: 0.9rem;
            margin-bottom: 22px;
        }
        .city-template-import .product-grid{
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 18px;
        }
        .city-template-import .product-card{
            background: #fff;
            border-radius: var(--radius-lg);
            overflow: hidden;
            box-shadow: var(--shadow-sm);
            transition: var(--transition);
            border: 1px solid var(--border);
            cursor: pointer;
            opacity: 0;
            transform: translateY(24px);
        }
        .city-template-import .product-card.revealed{
            opacity: 1;
            transform: translateY(0);
            transition: opacity 0.55s ease-out, transform 0.55s ease-out;
        }
        .city-template-import .product-card:hover{
            box-shadow: var(--shadow-lg);
            transform: translateY(-4px);
            border-color: #c0c8d2;
        }
        .city-template-import .product-card.revealed:hover{
            transform: translateY(-4px);
        }
        .city-template-import .product-card-image{
            width: 100%;
            aspect-ratio: 1 / 1;
            overflow: hidden;
            background: #f5f5f5;
            position: relative;
        }
        .city-template-import .product-card-image img{
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform 0.45s ease-out;
        }
        .city-template-import .product-card:hover .product-card-image img{
            transform: scale(1.06);
        }
        .city-template-import .product-card-info{
            padding: 14px 16px;
            text-align: center;
        }
        .city-template-import .product-card-name{
            font-weight: 600;
            font-size: 0.9rem;
            color: var(--primary);
            letter-spacing: 0.3px;
            overflow-wrap: anywhere;
        }
        .city-template-import .product-card-tag{
            font-size: 0.75rem;
            color: var(--text-light);
            margin-top: 2px;
        }


        .city-template-import .footer{
            background: #091420;
            color: rgba(255, 255, 255, 0.7);
            padding: 40px 24px 24px;
        }
        .city-template-import .footer-inner{
            max-width: 1320px;
            margin: 0 auto;
            text-align: center;
        }
        .city-template-import .footer-brand{
            font-family: var(--font-heading);
            font-size: 1.3rem;
            font-weight: 700;
            color: #fff;
            letter-spacing: 0.5px;
            margin-bottom: 14px;
        }
        .city-template-import .footer-phone{
            display: inline-block;
            color: var(--accent-light);
            font-weight: 700;
            font-size: 1.1rem;
            text-decoration: none;
            margin-bottom: 14px;
            letter-spacing: 0.5px;
            transition: var(--transition);
        }
        .city-template-import .footer-phone:hover{
            color: #fff;
        }
        .city-template-import .friend-links, .city-template-import .all-links{
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 14px;
            margin-bottom: 14px;
        }
        .city-template-import .friend-links a, .city-template-import .all-links a{
            color: rgba(255, 255, 255, 0.6);
            text-decoration: none;
            font-size: 0.85rem;
            transition: var(--transition);
            padding: 4px 8px;
            border-radius: 4px;
            letter-spacing: 0.3px;
        }
        .city-template-import .friend-links a:hover, .city-template-import .all-links a:hover{
            color: var(--accent-light);
            background: rgba(255, 255, 255, 0.05);
        }
        .city-template-import .footer-divider{
            width: 40px;
            height: 2px;
            background: rgba(255, 255, 255, 0.2);
            margin: 0 auto 14px;
            border-radius: 2px;
        }
        .city-template-import .footer-copy{
            font-size: 0.8rem;
            color: rgba(255, 255, 255, 0.45);
            letter-spacing: 0.3px;
        }


        .city-template-import .floating-call-btn{
            display: none;
            position: fixed;
            right: 16px;
            bottom: calc(16px + env(safe-area-inset-bottom, 0px));
            z-index: 1190;
            width: 56px;
            height: 56px;
            border-radius: 50%;
            background: var(--accent);
            color: #fff;
            box-shadow: 0 6px 24px rgba(200, 150, 62, 0.45);
            text-decoration: none;
            align-items: center;
            justify-content: center;
            transition: var(--transition);
            border: 2px solid rgba(255, 255, 255, 0.3);
        }
        .city-template-import .floating-call-btn:hover{
            background: #B8862D;
            box-shadow: 0 10px 32px rgba(200, 150, 62, 0.6);
            transform: scale(1.06);
        }
        .city-template-import .floating-call-btn svg{
            width: 24px;
            height: 24px;
            fill: #fff;
        }
        .city-template-import .floating-call-pulse{
            position: absolute;
            inset: -6px;
            border-radius: 50%;
            border: 2px solid rgba(200, 150, 62, 0.5);
            animation: floatingPulse 2s ease-in-out infinite;
            pointer-events: none;
        }
        @keyframes floatingPulse{
            0%,
            100% {
                transform: scale(1);
                opacity: 0.6;
            }
            50% {
                transform: scale(1.25);
                opacity: 0;
            }

}


        @media (max-width: 1024px){.city-template-import .product-grid{
                grid-template-columns: repeat(3, 1fr);
                gap: 14px;
            }
            .city-template-import .about-grid{
                gap: 28px;
            }
            .city-template-import .banner-title{
                font-size: 2.2rem;
            }
}
        @media (max-width: 768px){.city-template-import .nav-links{
                display: none;
            }
            .city-template-import .header-phone{
                display: none;
            }
            .city-template-import .mobile-menu-btn{
                display: flex;
            }
            .city-template-import .banner{
                min-height: 480px;
            }
            .city-template-import .banner-title{
                font-size: 1.7rem;
            }
            .city-template-import .banner-subtitle{
                font-size: 0.95rem;
            }
            .city-template-import .banner-advantages{
                gap: 8px;
            }
            .city-template-import .banner-advantage-item{
                font-size: 0.78rem;
                padding: 7px 14px;
            }
            .city-template-import .banner-phone-btn{
                font-size: 1rem;
                padding: 12px 24px;
            }
            .city-template-import .about-grid{
                grid-template-columns: 1fr;
                gap: 24px;
            }
            .city-template-import .about-image-wrap{
                max-width: 100%;
                order: -1;
            }
            .city-template-import .product-grid{
                grid-template-columns: repeat(2, 1fr);
                gap: 12px;
            }
            .city-template-import .product-series-title{
                font-size: 1.2rem;
            }
            .city-template-import .section{
                padding: 44px 16px;
            }
            .city-template-import .section-title{
                font-size: 1.5rem;
            }
            .city-template-import .floating-call-btn{
                display: flex;
                right: 16px;
                bottom: calc(16px + env(safe-area-inset-bottom, 0px));
            }
            .city-template-import .header-inner{
                height: 56px;
            }
            .city-template-import .mobile-nav{
                top: 56px;
            }
            .city-template-import .logo{
                font-size: 1.1rem;
            }
}
        @media (max-width: 480px){.city-template-import .banner{
                min-height: 420px;
            }
            .city-template-import .banner-title{
                font-size: 1.4rem;
            }
            .city-template-import .banner-subtitle{
                font-size: 0.85rem;
            }
            .city-template-import .banner-advantage-item{
                font-size: 0.72rem;
                padding: 6px 10px;
            }
            .city-template-import .banner-phone-btn{
                font-size: 0.9rem;
                padding: 10px 18px;
            }
            .city-template-import .product-grid{
                grid-template-columns: repeat(2, 1fr);
                gap: 8px;
            }
            .city-template-import .product-card-info{
                padding: 10px 8px;
            }
            .city-template-import .product-card-name{
                font-size: 0.78rem;
            }
            .city-template-import .section{
                padding: 32px 12px;
            }
            .city-template-import .section-title{
                font-size: 1.3rem;
            }
            .city-template-import .floating-call-btn{
                width: 48px;
                height: 48px;
                right: 12px;
            }
            .city-template-import .floating-call-btn svg{
                width: 20px;
                height: 20px;
            }
}

﻿/* Layout variants + overflow-safe typography for city page templates */

.city-template-import{
  --layout-max:1240px;
  overflow:hidden;
  background:var(--bg-white);
  color:var(--text-dark);
  word-break:break-word;
  overflow-wrap:anywhere;
}
.city-template-import .header{position:relative;inset:auto;padding-inline:clamp(16px,3vw,40px)}
.city-template-import .header-inner{max-width:var(--layout-max);gap:16px}
.city-template-import .logo{
  white-space:nowrap;
  max-width:min(52%,380px);
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:normal;
  word-break:keep-all;
}
.city-template-import .header-phone{
  white-space:normal;
  max-width:220px;
  text-align:center;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.city-template-import .header-geo{
  display:none;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:.78rem;
  font-weight:650;
  letter-spacing:.04em;
  white-space:nowrap;
}
.city-template-import .banner{
  min-height:clamp(520px,68vh,700px);
  padding:clamp(70px,9vw,120px) clamp(18px,4vw,56px);
}
.city-template-import .banner-title{
  letter-spacing:0;
  overflow-wrap:anywhere;
  max-width:100%;
}
.city-template-import .banner-entity{
  display:block;
  margin-bottom:10px;
  color:var(--accent-light);
  font:700 .92rem/1.4 var(--font-heading);
  letter-spacing:.02em;
}
.city-template-import .banner-product{
  display:block;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  max-width:100%;
}
.city-template-import .banner-message{
  margin:14px 0 0;
  color:rgba(255,255,255,.9);
  font-size:clamp(1rem,2.2vw,1.15rem);
  font-weight:650;
  line-height:1.55;
  letter-spacing:0;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  max-width:42rem;
}
.city-template-import .banner-subtitle{
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
  max-width:40rem;
}
.city-template-import .banner-advantage-item{
  white-space:normal;
  max-width:100%;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.city-template-import .banner-phone-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  max-width:100%;
  padding:12px 22px;
  text-decoration:none;
  white-space:normal;
  text-align:center;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.city-template-import .section{padding:clamp(68px,8vw,112px) clamp(18px,4vw,56px)}
.city-template-import .section-inner{width:min(100%,var(--layout-max));margin-inline:auto}
.city-template-import .section-title{letter-spacing:0;overflow-wrap:anywhere}
.city-template-import .advantages-heading{display:grid;max-width:720px;margin-bottom:42px;gap:8px}
.city-template-import .advantages-heading p{margin:0;color:var(--text-light);line-height:1.65}
.city-template-import :is(.core-advantage-grid,.split-advantage-list,.prestige-advantage-grid,.horizon-advantage-grid,.showcase-advantage-grid,.regional-advantage-grid){
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.city-template-import .core-advantage-card{
  display:grid;
  min-width:0;
  min-height:200px;
  padding:26px;
  align-content:start;
  align-items:start;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--bg-white);
  box-shadow:var(--shadow-sm);
}
.city-template-import .core-advantage-number{
  display:block;
  margin-bottom:28px;
  color:var(--accent);
  font:700 .78rem/1 var(--font-heading);
}
.city-template-import .core-advantage-card h3{
  margin:0 0 10px;
  font-size:1.12rem;
  line-height:1.35;
  letter-spacing:0;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.city-template-import .core-advantage-card p{
  margin:0;
  color:var(--text-light);
  font-size:.94rem;
  line-height:1.7;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
  overflow:hidden;
}
.city-template-import .about-heading{margin-bottom:34px}
.city-template-import .about-text{
  min-width:0;
  max-width:65ch;
}
.city-template-import .about-text p,
.city-template-import .about-lead,
.city-template-import .about-body,
.city-template-import .about-closing{
  margin:0 0 14px;
  overflow-wrap:anywhere;
  line-height:1.8;
}
.city-template-import .about-lead{
  font-size:1.05rem;
  color:var(--text-dark);
  font-weight:600;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
  overflow:hidden;
}
.city-template-import .about-body{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:10;
  overflow:hidden;
}
.city-template-import .about-closing{
  color:var(--text-light);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
.city-template-import .about-fact-list{display:grid;margin-top:28px;border-top:1px solid var(--border)}
.city-template-import .about-fact-list>div{
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  gap:18px;
  padding:14px 0;
  border-bottom:1px solid var(--border);
}
.city-template-import .about-fact-list dt{font-weight:700;color:var(--text-dark)}
.city-template-import .about-fact-list dd{
  margin:0;
  color:var(--text-light);
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.city-template-import .about-fact-list a{color:var(--accent);font-weight:700;text-decoration:none}
.city-template-import .products-heading{text-align:left}
.city-template-import .products-heading .section-line{margin-inline:0}
.city-template-import .product-card{opacity:1;transform:none;min-width:0}
.city-template-import .product-card-name{
  margin:0;
  letter-spacing:0;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.city-template-import .contact-callout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:48px max(20px,calc((100% - var(--layout-max))/2));
  background:var(--accent);
  color:#fff;
}
.city-template-import .contact-callout span{font-size:.8rem;font-weight:700}
.city-template-import .contact-callout h2{
  max-width:760px;
  margin:5px 0 0;
  color:#fff;
  font-size:clamp(1.25rem,2.8vw,2rem);
  line-height:1.3;
  letter-spacing:0;
  overflow-wrap:anywhere;
}
.city-template-import .contact-address{
  margin:10px 0 0;
  max-width:640px;
  color:rgba(255,255,255,.82);
  font-size:.92rem;
  line-height:1.5;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.city-template-import .contact-callout .banner-phone-btn{flex:0 0 auto;background:#fff;color:var(--primary)}
.city-template-import .footer-service,
.city-template-import .footer-geo{
  max-width:720px;
  margin:10px auto 12px;
  color:rgba(255,255,255,.7);
  line-height:1.6;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.city-template-import .footer-geo{margin-bottom:18px;color:rgba(255,255,255,.55);font-size:.88rem}

/* GEO strip */
.city-template-import .geo-strip{
  border-bottom:1px solid var(--border);
  background:var(--bg-light);
}
.city-template-import .geo-strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  width:min(100%,var(--layout-max));
  margin:0 auto;
  padding:12px clamp(18px,4vw,56px);
}
.city-template-import .geo-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:6px 0;
  margin:0;
  padding:0;
  list-style:none;
  font-size:.86rem;
  font-weight:650;
  color:var(--text-dark);
}
.city-template-import .geo-breadcrumb li{display:inline-flex;align-items:center;max-width:100%;}
.city-template-import .geo-breadcrumb li+li::before{
  content:"/";
  margin:0 10px;
  color:var(--text-light);
  font-weight:500;
}
.city-template-import .geo-breadcrumb span{
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  overflow:hidden;
}
.city-template-import .geo-strip-note{
  margin:0;
  color:var(--text-light);
  font-size:.82rem;
  white-space:nowrap;
}

/* Classic — first-version centered hero; keep structure stable */
.city-template-import.layout-classic{--layout-max:1240px}
.city-template-import .banner-classic .banner-content{position:relative;z-index:2}

/* Flagship — split copy + fact cards + trust bar (former enriched classic) */
.city-template-import.layout-flagship{--layout-max:1200px}
.city-template-import .banner-flagship{
  flex-direction:column;
  justify-content:center;
  padding-bottom:0;
}
.city-template-import .flagship-hero-inner{
  position:relative;
  z-index:2;
  display:grid;
  width:min(100%,var(--layout-max));
  margin:0 auto;
  padding:clamp(48px,8vw,88px) 0 36px;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  gap:clamp(28px,5vw,56px);
  align-items:center;
}
.city-template-import .flagship-hero-copy{min-width:0;text-align:left}
.city-template-import .flagship-hero-copy .banner-title,
.city-template-import .flagship-hero-copy .banner-subtitle,
.city-template-import .flagship-hero-copy .banner-advantages{justify-content:flex-start;text-align:left}
.city-template-import .flagship-hero-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  min-width:0;
}
.city-template-import .flagship-hero-card{
  min-width:0;
  padding:20px 18px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}
.city-template-import .flagship-hero-card span{
  display:block;
  margin-bottom:8px;
  color:rgba(255,255,255,.6);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
}
.city-template-import .flagship-hero-card strong{
  display:block;
  color:#fff;
  font-size:1rem;
  line-height:1.4;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.city-template-import .flagship-trust-bar{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(100%,var(--layout-max));
  margin:0 auto;
  border:1px solid rgba(255,255,255,.16);
  border-bottom:0;
  background:rgba(8,18,30,.55);
  backdrop-filter:blur(10px);
}
.city-template-import .flagship-trust-bar>div{
  min-width:0;
  padding:18px 22px;
  border-right:1px solid rgba(255,255,255,.12);
}
.city-template-import .flagship-trust-bar>div:last-child{border-right:0}
.city-template-import .flagship-trust-bar span{
  display:block;
  margin-bottom:6px;
  color:rgba(255,255,255,.55);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.city-template-import .flagship-trust-bar strong{
  display:block;
  color:#fff;
  font-size:clamp(.95rem,1.6vw,1.1rem);
  line-height:1.35;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.city-template-import.layout-flagship .core-advantage-grid .core-advantage-card{
  border-top:3px solid var(--accent);
}

/* Split — asymmetric copy + fact rail */
.city-template-import.layout-split{--layout-max:1320px}
.city-template-import .header-split{
  border-bottom:1px solid var(--border);
  background:#fff!important;
  background:rgba(255,255,255,.96)!important;
}
.city-template-import .header-split .logo{
  letter-spacing:.02em;
  color:var(--text-dark)!important;
}
.city-template-import .header-split .nav-links a{
  border-radius:0;
  border-bottom:2px solid transparent;
  color:var(--text-mid)!important;
}
.city-template-import .header-split .nav-links a:hover{
  border-bottom-color:var(--accent);
  background:transparent;
  color:var(--text-dark)!important;
}
.city-template-import .header-split .header-phone{color:var(--primary)!important}
.city-template-import .header-split .mobile-menu-btn span{background:var(--text-dark)!important}
.city-template-import .split-hero-inner{
  display:grid;
  width:min(100%,var(--layout-max));
  margin:auto;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:clamp(36px,7vw,88px);
  align-items:center;
}
.city-template-import .split-hero-copy{max-width:760px;min-width:0}
.city-template-import .split-hero-copy .banner-title,
.city-template-import .horizon-hero-copy .banner-title,
.city-template-import .showcase-hero-copy .banner-title,
.city-template-import .regional-hero-copy .banner-title{text-align:left}
.city-template-import .split-hero-copy .banner-subtitle,
.city-template-import .horizon-hero-copy .banner-subtitle,
.city-template-import .showcase-hero-copy .banner-subtitle,
.city-template-import .regional-hero-copy .banner-subtitle{
  margin:22px 0 28px;
  text-align:left;
}
.city-template-import .hero-cta-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.city-template-import .hero-ghost-link{
  color:#fff;
  font-weight:700;
  text-underline-offset:5px;
}
.city-template-import .split-hero-facts{
  min-width:0;
  padding:34px;
  border-radius:4px 18px 18px 4px;
  border-left:5px solid var(--accent);
  background:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:0 18px 48px rgba(0,0,0,.22);
}
.city-template-import .split-hero-facts .fact-kicker{
  font-size:.76rem;
  font-weight:700;
  color:var(--accent-light);
  letter-spacing:.06em;
}
.city-template-import .split-hero-facts .fact-product{
  display:block;
  margin:10px 0 16px;
  font-size:clamp(1.35rem,2.8vw,2.3rem);
  line-height:1.2;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.city-template-import .split-hero-facts .fact-desc{
  color:rgba(255,255,255,.78);
  line-height:1.65;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
.city-template-import .split-hero-facts dl{margin-top:24px;border-top:1px solid rgba(255,255,255,.2)}
.city-template-import .split-hero-facts dl>div{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.city-template-import .split-hero-facts dd{
  margin:0;
  text-align:right;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.city-template-import.layout-split .core-advantages-section{background:var(--bg-light)}
.city-template-import .split-advantage-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.city-template-import .split-advantage-list .core-advantage-card{
  grid-template-columns:54px minmax(0,1fr);
  min-height:0;
  align-content:start;
  gap:8px 16px;
  padding:28px;
  border-radius:0;
  border:0;
  border-bottom:2px solid var(--accent);
  box-shadow:none;
  background:transparent;
}
.city-template-import .split-advantage-list .core-advantage-number{margin:4px 0 0;font-size:1.1rem}
.city-template-import.layout-split .about-grid{grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:56px}
.city-template-import.layout-split .products-section{background:var(--bg-white)}
.city-template-import.layout-split .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}

/* Prestige 鈥?spacious premium corporate */
.city-template-import.layout-prestige{--layout-max:1180px;--radius:14px;--radius-lg:22px}
.city-template-import .header-prestige{
  background:#0a101c!important;
  background:rgba(10,16,28,.92)!important;
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(12px);
}
.city-template-import .banner-prestige{
  position:relative;
  display:grid;
  align-items:center;
  min-height:720px;
  overflow:hidden;
  background:linear-gradient(160deg,#0a1220 0%,#14233a 48%,#1a3348 100%);
}
.city-template-import .prestige-hero-atmosphere{
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 70% 55% at 72% 28%,rgba(255,255,255,.12),transparent 60%),
    radial-gradient(ellipse 50% 40% at 18% 78%,color-mix(in srgb,var(--accent) 35%,transparent),transparent 70%);
  pointer-events:none;
}
.city-template-import .prestige-hero-inner{
  position:relative;
  z-index:1;
  width:min(100%,var(--layout-max));
  margin:auto;
  padding:clamp(72px,10vw,120px) 0 clamp(56px,7vw,88px);
  text-align:center;
}
.city-template-import .prestige-brand{
  margin:0 0 28px;
  color:rgba(255,255,255,.78);
  font-size:clamp(1.05rem,2.2vw,1.35rem);
  font-weight:650;
  letter-spacing:.08em;
  overflow-wrap:anywhere;
}
.city-template-import .banner-prestige .banner-title{
  max-width:16ch;
  margin-inline:auto;
  font-size:clamp(2.35rem,5.6vw,4.2rem);
  line-height:1.08;
}
.city-template-import .banner-prestige .banner-subtitle{
  max-width:38rem;
  margin:22px auto 0;
}
.city-template-import .prestige-trust-row{
  display:grid;
  width:min(100%,760px);
  margin:36px auto 28px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(8px);
}
.city-template-import .prestige-trust-row>div{
  padding:16px 14px;
  border-right:1px solid rgba(255,255,255,.12);
  text-align:center;
}
.city-template-import .prestige-trust-row>div:last-child{border-right:0}
.city-template-import .prestige-trust-row span{
  display:block;
  margin-bottom:6px;
  color:rgba(255,255,255,.55);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
}
.city-template-import .prestige-trust-row strong{
  display:block;
  color:#fff;
  font-size:.95rem;
  overflow-wrap:anywhere;
}
.city-template-import .prestige-advantage-grid{gap:20px}
.city-template-import .prestige-advantage-grid .core-advantage-card{
  min-height:220px;
  border:0;
  border-top:3px solid var(--accent);
  box-shadow:0 18px 48px rgba(15,23,42,.08);
}
.city-template-import .about-prestige-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.85fr);
  gap:48px;
  align-items:start;
}
.city-template-import .about-prestige-panel{
  padding:28px;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--bg-light);
}
.city-template-import .about-prestige .about-fact-list{margin-top:0;margin-bottom:22px}
.city-template-import .about-prestige .about-lead{
  font-size:1.15rem;
  line-height:1.75;
  -webkit-line-clamp:5;
}
.city-template-import .products-prestige{background:var(--bg-light)}
.city-template-import .product-grid-prestige{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.city-template-import .product-grid-prestige .product-card:first-child{grid-column:span 2;grid-row:span 2}
.city-template-import .product-card-prestige{
  border:0;
  border-radius:var(--radius-lg);
  box-shadow:0 16px 40px rgba(15,23,42,.08);
  overflow:hidden;
}
.city-template-import .footer-prestige{text-align:left}
.city-template-import .footer-grid-prestige{text-align:left}
.city-template-import .footer-trust{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:22px 0;
  border:1px solid rgba(255,255,255,.16);
}
.city-template-import .footer-trust>div{
  display:grid;
  gap:6px;
  padding:14px 16px;
  border-right:1px solid rgba(255,255,255,.12);
}
.city-template-import .footer-trust>div:last-child{border-right:0}
.city-template-import .footer-trust dt{color:rgba(255,255,255,.55);font-size:.72rem;font-weight:700}
.city-template-import .footer-trust dd{margin:0;color:#fff;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.city-template-import .footer-trust a{color:var(--accent-light);text-decoration:none}
.city-template-import .contact-callout-prestige{
  background:linear-gradient(120deg,#0f172a,color-mix(in srgb,var(--primary) 70%,#0f172a));
}
.city-template-import .contact-callout-aside{
  display:grid;
  gap:14px;
  justify-items:end;
  text-align:right;
}
.city-template-import .contact-callout-meta{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:.9rem;
  font-weight:650;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.city-template-import .contact-callout-stack{
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
}
.city-template-import .contact-callout-showcase{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) auto;
  align-items:center;
  gap:20px 28px;
  background:var(--primary);
}
.city-template-import .contact-callout-split{
  border-top:4px solid #fff;
  background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 75%,var(--accent)));
}
.city-template-import .contact-callout-flagship{
  background:linear-gradient(105deg,var(--primary),color-mix(in srgb,var(--accent) 55%,var(--primary)));
}

/* Horizon 鈥?panoramic corporate with GEO panel */
.city-template-import.layout-horizon{--layout-max:1360px}
.city-template-import .header-horizon{
  background:rgba(255,255,255,.92)!important;
  border-bottom:1px solid var(--border);
  box-shadow:0 8px 28px rgba(15,23,42,.04);
}
.city-template-import .header-horizon .logo{color:var(--text-dark)}
.city-template-import .header-horizon .nav-links a{color:var(--text-mid)}
.city-template-import .header-horizon .nav-links a:hover{
  color:var(--text-dark);
  background:var(--bg-light);
}
.city-template-import .header-horizon .mobile-menu-btn span{background:var(--text-dark)}
.city-template-import .header-horizon .header-phone{color:var(--primary)}
.city-template-import .banner-horizon{
  position:relative;
  min-height:680px;
  overflow:hidden;
  background:linear-gradient(115deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 72%,var(--accent)) 52%,var(--accent) 100%);
}
.city-template-import .horizon-hero-plane{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),transparent 42%),
    radial-gradient(ellipse 80% 60% at 90% 10%,rgba(255,255,255,.18),transparent 55%);
  pointer-events:none;
}
.city-template-import .horizon-hero-inner{
  position:relative;
  z-index:1;
  display:grid;
  width:min(100%,var(--layout-max));
  margin:auto;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:clamp(28px,5vw,64px);
  align-items:center;
}
.city-template-import .horizon-hero-copy{min-width:0;max-width:780px}
.city-template-import .horizon-geo-panel{
  min-width:0;
  padding:32px 28px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(8,18,32,.28);
  backdrop-filter:blur(10px);
  color:#fff;
}
.city-template-import .horizon-geo-kicker{
  display:block;
  margin-bottom:14px;
  color:rgba(255,255,255,.65);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
}
.city-template-import .horizon-geo-city{
  display:block;
  margin:0;
  font-size:clamp(1.8rem,3.5vw,2.6rem);
  line-height:1.1;
  overflow-wrap:anywhere;
}
.city-template-import .horizon-geo-region,
.city-template-import .horizon-geo-coverage{
  margin:10px 0 0;
  color:rgba(255,255,255,.78);
  font-size:.92rem;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.city-template-import .horizon-geo-coverage{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.city-template-import .horizon-geo-panel dl{
  display:grid;
  gap:0;
  margin:22px 0 0;
  border-top:1px solid rgba(255,255,255,.18);
}
.city-template-import .horizon-geo-panel dl>div{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:10px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.city-template-import .horizon-geo-panel dt{color:rgba(255,255,255,.55);font-size:.78rem;font-weight:700}
.city-template-import .horizon-geo-panel dd{margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.city-template-import .horizon-advantage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.city-template-import .horizon-advantage-grid .core-advantage-card{
  grid-template-columns:64px minmax(0,1fr);
  min-height:160px;
  border-radius:0;
  border-left:4px solid var(--accent);
  box-shadow:none;
}
.city-template-import .about-horizon-layout{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);
  gap:48px;
  align-items:start;
}
.city-template-import .about-horizon .about-text{max-width:none}
.city-template-import .products-horizon{background:var(--bg-white)}
.city-template-import .product-grid-horizon{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.city-template-import .product-grid-horizon .product-card:nth-child(1){grid-column:span 2;grid-row:span 2}
.city-template-import .product-card-horizon{
  border-radius:0;
  border-bottom:3px solid var(--accent);
  box-shadow:none;
}
/* Mosaic grids: fill tall cells with the image so side cards do not leave empty bottoms. */
.city-template-import :is(.product-grid-prestige,.product-grid-horizon,.product-grid-showcase,.products-showcase .product-grid){
  align-items:stretch;
}
.city-template-import :is(.product-grid-prestige,.product-grid-horizon,.product-grid-showcase,.products-showcase .product-grid) .product-card{
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.city-template-import :is(.product-grid-prestige,.product-grid-horizon,.product-grid-showcase,.products-showcase .product-grid) .product-card-image{
  flex:1 1 auto;
  aspect-ratio:auto;
  min-height:140px;
}
.city-template-import :is(.product-grid-prestige,.product-grid-horizon,.product-grid-showcase,.products-showcase .product-grid) .product-card-info{
  flex:0 0 auto;
}
.city-template-import .product-grid-flagship{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.city-template-import .footer-horizon{text-align:left}
.city-template-import .footer-grid-horizon{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:28px;
  text-align:left;
}
.city-template-import .footer-grid-horizon .footer-links-row,
.city-template-import .footer-grid-horizon .footer-divider,
.city-template-import .footer-grid-horizon .footer-copy{grid-column:1/-1}
.city-template-import .contact-callout-horizon{
  background:linear-gradient(105deg,var(--primary),var(--accent));
}

/* Showcase 鈥?media / product gallery first */
.city-template-import.layout-showcase{--layout-max:1380px}
.city-template-import .header-showcase{
  background:#0f172a!important;
  background:rgba(15,23,42,.94)!important;
  border-bottom:0;
}
.city-template-import .header-showcase .logo,
.city-template-import .header-showcase .nav-links a,
.city-template-import .header-showcase .header-phone{color:#fff}
.city-template-import .header-showcase .nav-links a:hover{background:rgba(255,255,255,.1)}
.city-template-import .header-showcase .mobile-menu-btn span{background:#fff}
.city-template-import .showcase-hero-inner{
  display:grid;
  width:min(100%,var(--layout-max));
  margin:auto;
  grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);
  gap:clamp(28px,5vw,72px);
  align-items:center;
}
.city-template-import .showcase-hero-copy{min-width:0}
.city-template-import .showcase-hero-copy .banner-advantages{justify-content:flex-start}
.city-template-import .showcase-hero-media{
  position:relative;
  min-height:420px;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  box-shadow:0 24px 64px rgba(0,0,0,.28);
}
.city-template-import .showcase-hero-media img{width:100%;height:420px;object-fit:cover}
.city-template-import .showcase-hero-media figcaption{
  position:absolute;
  right:16px;
  bottom:16px;
  max-width:calc(100% - 32px);
  padding:8px 12px;
  background:#fff;
  color:var(--text-dark);
  font-size:.82rem;
  font-weight:700;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.city-template-import .products-showcase{background:var(--bg-white)}
.city-template-import .products-showcase .product-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.city-template-import .products-showcase .product-card{
  border-radius:2px;
  box-shadow:none;
  border-color:var(--border);
}
.city-template-import .products-showcase .product-card:first-child{
  grid-column:span 2;
  grid-row:span 2;
}
.city-template-import .products-showcase .product-card-image{aspect-ratio:auto;min-height:140px}
.city-template-import .products-showcase .product-card:first-child .product-card-image{min-height:220px}
.city-template-import .about-showcase-inner{max-width:820px}
.city-template-import .about-text-wide{max-width:none}
.city-template-import .showcase-advantage-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.city-template-import .showcase-advantage-grid .core-advantage-card{
  min-height:180px;
  border:0;
  border-top:4px solid var(--accent);
  border-radius:0;
  background:var(--bg-light);
  box-shadow:none;
}

/* Regional 鈥?local portal / GEO heavy */
.city-template-import.layout-regional{--layout-max:1280px}
.city-template-import .header-regional .header-inner{flex-wrap:wrap}
.city-template-import .header-regional .header-geo{
  display:block;
  order:3;
  width:100%;
  padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.city-template-import .banner-regional{min-height:640px}
.city-template-import .regional-hero-inner{
  display:grid;
  width:min(100%,var(--layout-max));
  margin:auto;
  grid-template-columns:minmax(200px,240px) minmax(0,1fr);
  gap:clamp(28px,5vw,72px);
  align-items:center;
}
.city-template-import .regional-location{
  display:grid;
  min-height:340px;
  min-width:0;
  padding:28px;
  align-content:space-between;
  border:1px solid rgba(255,255,255,.24);
  background:linear-gradient(165deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
  color:#fff;
}
.city-template-import .regional-kicker{
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.city-template-import .regional-province{
  font-size:clamp(1.1rem,2.2vw,1.7rem);
  line-height:1.25;
  overflow-wrap:anywhere;
}
.city-template-import .regional-city{
  font-style:normal;
  font-size:clamp(2rem,4.6vw,3.6rem);
  font-weight:800;
  line-height:1.05;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.city-template-import .regional-coverage{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:.86rem;
  line-height:1.55;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.city-template-import .regional-hero-copy{max-width:820px;min-width:0}
.city-template-import .regional-service-grid{
  display:grid;
  margin:40px 0 0;
  grid-column:1/-1;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.24);
  border-bottom:1px solid rgba(255,255,255,.24);
}
.city-template-import .regional-service-grid>div{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:10px;
  padding:16px;
  border-right:1px solid rgba(255,255,255,.18);
  min-width:0;
}
.city-template-import .regional-service-grid>div:last-child{border-right:0}
.city-template-import .regional-service-grid dt{
  color:rgba(255,255,255,.65);
  font-size:.75rem;
  font-weight:700;
}
.city-template-import .regional-service-grid dd{
  margin:0;
  color:#fff;
  font-weight:700;
  text-align:right;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.city-template-import .about-geo-note{
  margin-top:18px;
  padding:14px 16px;
  border-left:3px solid var(--accent);
  background:var(--bg-light);
  color:var(--text-mid);
  font-size:.92rem;
  line-height:1.6;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.city-template-import .regional-advantage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.city-template-import .regional-advantage-grid .core-advantage-card{
  min-height:180px;
  border-left:4px solid var(--accent);
  border-radius:0;
}
.city-template-import .contact-callout-regional{
  background:linear-gradient(120deg,var(--primary),var(--accent));
}

/* Product module diversity */
.city-template-import .products-lead{
  margin:8px 0 0;
  max-width:42rem;
  color:var(--text-light);
  font-size:.95rem;
  line-height:1.65;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.city-template-import .product-series-split{
  display:grid;
  grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);
  gap:28px;
  align-items:start;
}
.city-template-import .product-series-aside{
  position:relative;
  padding:24px;
  border-left:4px solid var(--accent);
  background:var(--bg-light);
}
.city-template-import .product-series-geo{
  margin:12px 0 22px;
  color:var(--text-light);
  font-size:.9rem;
  overflow-wrap:anywhere;
}
.city-template-import .product-series-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
  padding-bottom:12px;
  border-bottom:2px solid var(--accent);
}
.city-template-import .product-series-meta{
  color:var(--text-light);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.06em;
}
.city-template-import .product-series-banner{
  margin-bottom:22px;
  padding:18px 20px;
  border:1px solid var(--border);
  border-left:4px solid var(--accent);
  background:var(--bg-light);
}
.city-template-import .product-series-banner p{
  margin:8px 0 0;
  color:var(--text-light);
  font-size:.9rem;
}
.city-template-import .product-card-index{
  display:inline-block;
  margin-bottom:8px;
  color:var(--accent);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
}
.city-template-import .product-card-prestige .product-card-info{text-align:left}
.city-template-import .product-card-regional .product-card-info{text-align:left}
.city-template-import .product-card-geo{
  display:inline-block;
  margin-bottom:6px;
  padding:2px 8px;
  border:1px solid var(--border);
  color:var(--accent);
  font-size:.72rem;
  font-weight:750;
}
.city-template-import .product-grid-regional{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.city-template-import .product-card-split{border-radius:0;border-bottom:3px solid var(--accent);box-shadow:none}
.city-template-import .product-grid-showcase{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.city-template-import .product-grid-showcase .product-card:first-child{grid-column:span 2;grid-row:span 2}
.city-template-import .product-card-showcase{border-radius:2px;box-shadow:none}

/* Footer module diversity */
.city-template-import .footer-grid-flagship{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:28px;
  text-align:left;
}
.city-template-import .footer-grid-flagship .footer-links-row,
.city-template-import .footer-grid-flagship .footer-divider,
.city-template-import .footer-grid-flagship .footer-copy{grid-column:1/-1}
.city-template-import .footer-grid-split{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  text-align:left;
}
.city-template-import .footer-grid-split .footer-links-row,
.city-template-import .footer-grid-split .footer-divider,
.city-template-import .footer-grid-split .footer-copy{grid-column:1/-1}
.city-template-import .footer-showcase-top{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.city-template-import .footer-grid-regional{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  text-align:left;
}
.city-template-import .footer-grid-regional .footer-col,
.city-template-import .footer-grid-regional .footer-links-row{min-width:0}
.city-template-import .footer-grid-regional .footer-links-row,
.city-template-import .footer-grid-regional .footer-divider,
.city-template-import .footer-grid-regional .footer-copy{grid-column:1/-1}
.city-template-import .footer-links-row{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  margin-top:12px;
  box-sizing:border-box;
}
.city-template-import .footer-col-links,
.city-template-import .footer-col:has(.city-site-links),
.city-template-import .footer-col:has(.friend-links),
.city-template-import .footer-col:has(.customer-friend-links){
  grid-column:1/-1;
  width:100%;
  max-width:100%;
  min-width:0;
}
.city-template-import .footer-links-row .city-site-links,
.city-template-import .footer .city-site-links{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.city-template-import .footer-kicker{
  display:block;
  margin-bottom:8px;
  color:rgba(255,255,255,.55);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

@media(max-width:1100px){
  .city-template-import .geo-strip-note{display:none}
  .city-template-import .header-geo{display:none!important}
  .city-template-import :is(.core-advantage-grid,.prestige-advantage-grid,.showcase-advantage-grid,.horizon-advantage-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
  .city-template-import :is(.split-hero-inner,.horizon-hero-inner,.showcase-hero-inner,.about-prestige-layout,.about-horizon-layout,.product-series-split){grid-template-columns:1fr}
  .city-template-import .split-hero-facts,
  .city-template-import .horizon-geo-panel{width:min(100%,720px)}
  .city-template-import .showcase-hero-media{min-height:340px}
  .city-template-import .showcase-hero-media img{height:340px}
  .city-template-import .products-showcase .product-grid,
  .city-template-import .product-grid-showcase,
  .city-template-import .product-grid-horizon{grid-template-columns:repeat(2,minmax(0,1fr))}
  .city-template-import .products-showcase .product-card:first-child,
  .city-template-import .product-grid-showcase .product-card:first-child,
  .city-template-import .product-grid-prestige .product-card:first-child,
  .city-template-import .product-grid-horizon .product-card:nth-child(1){grid-column:auto;grid-row:auto}
  .city-template-import .flagship-trust-bar,
  .city-template-import .prestige-trust-row{grid-template-columns:1fr}
  .city-template-import .flagship-trust-bar>div,
  .city-template-import .prestige-trust-row>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .city-template-import .flagship-trust-bar>div:last-child,
  .city-template-import .prestige-trust-row>div:last-child{border-bottom:0}
  .city-template-import .regional-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .city-template-import.layout-split .product-grid,
  .city-template-import .product-grid-prestige{grid-template-columns:repeat(2,minmax(0,1fr))}
  .city-template-import .product-grid-regional{grid-template-columns:repeat(2,minmax(0,1fr))}
  .city-template-import .footer-grid-split,
  .city-template-import .footer-grid-regional,
  .city-template-import .footer-grid-horizon,
  .city-template-import .footer-grid-flagship{grid-template-columns:1fr}
  .city-template-import .footer-trust{grid-template-columns:1fr}
  .city-template-import .contact-callout-showcase{grid-template-columns:1fr}
  .city-template-import .contact-callout-aside{justify-items:start;text-align:left}
}

@media(max-width:767px){
  .city-template-import .header-inner{height:auto;min-height:62px;padding-block:10px}
  .city-template-import .header-phone,
  .city-template-import .nav-links{display:none}
  .city-template-import .mobile-menu-btn{display:flex}
  .city-template-import .mobile-nav{top:62px}
  .city-template-import .logo{max-width:78%;}
  .city-template-import .banner{min-height:auto;padding-top:70px;padding-bottom:64px}
  .city-template-import .banner-title{font-size:clamp(1.7rem,8vw,2.6rem)}
  .city-template-import .banner-prestige .banner-title{font-size:clamp(2rem,9vw,3.2rem);max-width:100%;}
  .city-template-import :is(.core-advantage-grid,.split-advantage-list,.prestige-advantage-grid,.horizon-advantage-grid,.showcase-advantage-grid,.regional-advantage-grid){grid-template-columns:1fr}
  .city-template-import .core-advantage-card{min-height:0}
  .city-template-import .split-advantage-list .core-advantage-card,
  .city-template-import .horizon-advantage-grid .core-advantage-card{grid-template-columns:42px minmax(0,1fr)}
  .city-template-import .about-grid,
  .city-template-import .about-prestige-layout,
  .city-template-import .about-horizon-layout{grid-template-columns:1fr}
  .city-template-import .about-fact-list>div{grid-template-columns:1fr;gap:4px}
  .city-template-import .products-showcase .product-grid,
  .city-template-import .product-grid-showcase,
  .city-template-import .product-grid-horizon,
  .city-template-import .product-grid-prestige,
  .city-template-import .product-grid-regional,
  .city-template-import.layout-split .product-grid{grid-template-columns:1fr}
  .city-template-import .contact-callout{display:grid;padding:36px 20px}
  .city-template-import .contact-callout .banner-phone-btn{width:100%;}
  .city-template-import .showcase-hero-media,
  .city-template-import .showcase-hero-media img{height:280px;min-height:280px}
  .city-template-import .regional-hero-inner{grid-template-columns:1fr}
  .city-template-import .regional-location{min-height:180px}
  .city-template-import .regional-service-grid{grid-template-columns:1fr}
  .city-template-import .regional-service-grid>div{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.2);
  }
  .city-template-import .regional-service-grid>div:last-child{border-bottom:0}
  .city-template-import .geo-strip-inner{padding-inline:16px}
  .city-template-import .flagship-hero-inner{grid-template-columns:1fr;padding-inline:0}
  .city-template-import .flagship-hero-cards{grid-template-columns:1fr 1fr}
  .city-template-import .process-steps{grid-template-columns:1fr}
  .city-template-import .lead-strip-inner{grid-template-columns:1fr;text-align:left}
  .city-template-import .lead-strip-btn{width:100%;justify-content:center}
  .city-template-import .showcase-media-fallback,
  .city-template-import .about-media-fallback{min-height:220px}
}

/* Enrichment modules: content-driven blocks without fixed photo backgrounds */
.city-template-import .process-rail{background:var(--bg-light)}
.city-template-import .process-heading{max-width:42rem;margin-bottom:32px}
.city-template-import .process-heading p{margin:10px 0 0;color:var(--text-light);line-height:1.65}
.city-template-import .process-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  border:1px solid var(--border);
  background:var(--bg-white);
}
.city-template-import .process-step{
  display:grid;
  gap:14px;
  min-width:0;
  padding:24px 20px;
  border-right:1px solid var(--border);
  align-content:start;
}
.city-template-import .process-step:last-child{border-right:0}
.city-template-import .process-index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;
  font-size:.82rem;
  font-weight:800;
}
.city-template-import .process-step h3{margin:0 0 8px;font-size:1.05rem}
.city-template-import .process-step p{
  margin:0;
  color:var(--text-mid);
  font-size:.92rem;
  line-height:1.65;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
.city-template-import .process-step a{color:var(--accent);font-weight:700;text-decoration:none}
.city-template-import .process-rail-prestige .process-steps{border-radius:16px;overflow:hidden}
.city-template-import .process-rail-horizon .process-step{border-right:0;border-bottom:1px solid var(--border)}
.city-template-import .process-rail-horizon .process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
.city-template-import .process-rail-horizon .process-step:nth-child(2n){border-left:1px solid var(--border)}
.city-template-import .process-rail-horizon .process-step:nth-last-child(-n+2){border-bottom:0}
.city-template-import .process-rail-regional .process-index{border-radius:0}
.city-template-import .process-rail-showcase .process-steps{gap:14px;border:0;background:transparent}
.city-template-import .process-rail-showcase .process-step{
  border:1px solid var(--border);
  border-top:4px solid var(--accent);
  background:var(--bg-white);
}

.city-template-import .geo-themes{background:var(--bg-white)}
.city-template-import .geo-themes-heading{max-width:44rem;margin-bottom:28px}
.city-template-import .geo-themes-heading p{margin:10px 0 0;color:var(--text-light);line-height:1.65}
.city-template-import .geo-theme-tags{display:flex;flex-wrap:wrap;gap:10px 12px}
.city-template-import .geo-theme-tag{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:40px;
  padding:8px 14px;
  border:1px solid var(--border);
  background:var(--bg-light);
  color:var(--text-dark);
  font-size:.9rem;
  font-weight:650;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.city-template-import .geo-themes-regional .geo-theme-tag{border-left:3px solid var(--accent);border-radius:0}
.city-template-import .geo-themes-prestige .geo-theme-tag{border-radius:999px}
.city-template-import .geo-themes-showcase .geo-theme-tag{border-top:3px solid var(--accent)}
.city-template-import .geo-themes-horizon .geo-theme-tags{gap:12px 18px}
.city-template-import .geo-themes-horizon .geo-theme-tag{border:0;border-bottom:2px solid var(--accent);background:transparent;padding-left:0;padding-right:0;border-radius:0}
.city-template-import .geo-themes-coverage{
  margin:22px 0 0;
  color:var(--text-light);
  font-size:.9rem;
  line-height:1.6;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}

.city-template-import .lead-strip{
  padding:clamp(36px,5vw,56px) clamp(18px,4vw,56px);
  background:linear-gradient(105deg,var(--primary),color-mix(in srgb,var(--primary) 55%,var(--accent)));
  color:#fff;
}
.city-template-import .lead-strip-inner{
  display:grid;
  width:min(100%,var(--layout-max));
  margin:0 auto;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
}
.city-template-import .lead-strip-kicker{
  display:inline-block;
  margin-bottom:10px;
  color:rgba(255,255,255,.75);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
}
.city-template-import .lead-strip h2{
  margin:0;
  font-size:clamp(1.35rem,2.8vw,2rem);
  line-height:1.25;
  overflow-wrap:anywhere;
}
.city-template-import .lead-strip p{
  margin:10px 0 0;
  color:rgba(255,255,255,.82);
  font-size:.92rem;
  line-height:1.55;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.city-template-import .lead-strip-btn{
  white-space:nowrap;
  background:#fff!important;
  color:var(--primary)!important;
}
.city-template-import .lead-strip-prestige{background:linear-gradient(120deg,#0f172a,color-mix(in srgb,var(--primary) 65%,#0f172a))}
.city-template-import .lead-strip-regional{background:linear-gradient(120deg,var(--primary),var(--accent))}
.city-template-import .lead-strip-showcase{background:var(--primary)}

.city-template-import .showcase-media-fallback,
.city-template-import .about-media-fallback{
  display:grid;
  place-content:center;
  gap:10px;
  min-height:360px;
  padding:28px;
  text-align:center;
  background:
    linear-gradient(160deg,color-mix(in srgb,var(--primary) 18%,#fff),color-mix(in srgb,var(--accent) 14%,#f8fafc));
  color:var(--text-dark);
}
.city-template-import .showcase-media-fallback strong,
.city-template-import .about-media-fallback strong{
  font-size:clamp(1.4rem,3vw,2rem);
  overflow-wrap:anywhere;
}
.city-template-import .showcase-media-fallback span,
.city-template-import .about-media-fallback span{
  color:var(--accent);
  font-weight:700;
  overflow-wrap:anywhere;
}
.city-template-import .showcase-media-fallback p,
.city-template-import .about-media-fallback p{
  margin:0;
  color:var(--text-mid);
  overflow-wrap:anywhere;
}

@media(max-width:1100px){
  .city-template-import .flagship-hero-inner{grid-template-columns:1fr}
  .city-template-import .process-steps,
  .city-template-import .process-rail-horizon .process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .city-template-import .process-step{border-right:0;border-bottom:1px solid var(--border)}
  .city-template-import .process-rail-showcase .process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .city-template-import .process-steps,
  .city-template-import .process-rail-horizon .process-steps,
  .city-template-import .process-rail-showcase .process-steps{grid-template-columns:1fr}
  .city-template-import .lead-strip-inner{grid-template-columns:1fr}
  .city-template-import .lead-strip-btn{width:100%;}
  .city-template-import .flagship-hero-cards{grid-template-columns:1fr}
}

body[data-citysite-motion="none"] .city-template-import :is(.banner-badge,.banner-title,.banner-subtitle,.banner-advantages,.banner-phone-wrap){
  opacity:1!important;
  transform:none!important;
  animation:none!important;
}
@media(prefers-reduced-motion:reduce){
  .city-template-import :is(.banner-badge,.banner-title,.banner-subtitle,.banner-advantages,.banner-phone-wrap){
    opacity:1!important;
    transform:none!important;
    animation:none!important;
  }
}

/* Public chrome: sticky navigation, news pages, inquiry popup */

main.citysite-page--template {
  animation:none!important;
  transform:none!important;
}
main.citysite-page--directory {
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.citysite-directory-page {
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.citysite-directory-footer {
  width:100%!important;
  margin:0!important;
  padding:28px 0!important;
  border-top:1px solid rgba(15,23,42,.08)!important;
  background:#0b1522!important;
  color:rgba(245,249,255,.78)!important;
}
.citysite-directory-footer__inner {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 clamp(20px,4vw,72px)!important;
  box-sizing:border-box!important;
}
.citysite-directory-footer p {margin:12px 0 0!important;color:rgba(245,249,255,.62)!important}
.site-header {
  position:sticky!important;
  top:0!important;
  z-index:1100!important;
}
.city-template-import {
  --citysite-sticky-header-height:66px;
  display:flex!important;
  flex-direction:column!important;
  min-height:100vh!important;
}
.city-template-import .header {
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:1100!important;
  box-sizing:border-box!important;
  width:100%!important;
  background:#0d1f35!important;
  background:color-mix(in srgb,var(--primary,#164e73) 90%,#000)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.city-template-import .mobile-nav {
  position:fixed!important;
  top:var(--citysite-sticky-header-height)!important;
  left:0!important;
  right:0!important;
  z-index:1090!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-height:calc(100vh - var(--citysite-sticky-header-height));
  overflow-y:auto;
  background:#0d1f35!important;
  background:color-mix(in srgb,var(--primary,#164e73) 90%,#000)!important;
}
.city-template-import .header .logo,
.city-template-import .header .nav-links a {
  color:#fff!important;
}
.city-template-import .header .nav-links a {
  color:rgba(255,255,255,.88)!important;
}
.city-template-import .header .header-phone {
  color:var(--accent-light,var(--accent,#c98b3c))!important;
}
.city-template-import .header .mobile-menu-btn span {
  background:#fff!important;
}
.city-template-import .header-horizon,
.city-template-import .header-split {
  background:#fff!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--border,#e5e7eb)!important;
}
.city-template-import .header-horizon .logo,
.city-template-import .header-split .logo,
.city-template-import .header-horizon .nav-links a,
.city-template-import .header-split .nav-links a {
  color:var(--text-dark,#163244)!important;
}
.city-template-import .header-horizon .nav-links a,
.city-template-import .header-split .nav-links a {
  color:var(--text-mid,#5f7481)!important;
}
.city-template-import .header-horizon .header-phone,
.city-template-import .header-split .header-phone {
  color:var(--primary,#164e73)!important;
}
.city-template-import .header-horizon .mobile-menu-btn span,
.city-template-import .header-split .mobile-menu-btn span {
  background:var(--text-dark,#163244)!important;
}
.city-template-import > footer {
  margin-top:auto!important;
}
.city-template-import .footer .city-site-links,
.city-template-import .footer-links-row .city-site-links,
.city-template-import .footer-col .city-site-links {
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
.city-template-import .footer-links-row {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.city-template-import .footer-col-links,
.city-template-import .footer-col:has(.city-site-links),
.city-template-import .footer-col:has(.friend-links),
.city-template-import .footer-col:has(.customer-friend-links) {
  grid-column:1/-1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.city-template-import .city-site-links__items {
  display:flex!important;
  flex-wrap:wrap!important;
  width:100%!important;
  min-width:0!important;
}
.city-template-import .links-layout-flagship .city-site-links__items,
.city-template-import .links-layout-regional .city-site-links__items {
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;
}
.city-template-import .logo {
  white-space:nowrap!important;
  max-width:min(52%,380px)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
}
.city-template-import :is(section,article,footer)[id] {
  scroll-margin-top:calc(var(--citysite-sticky-header-height) + 16px);
}
@media (max-width:768px) {
  .city-template-import { --citysite-sticky-header-height:56px; }
  .city-template-import .logo { max-width:min(78%,100%)!important; }
}
@media (max-width:640px) {
  .site-header { position:sticky!important; top:0!important; }
}

.city-template-import .citysite-news-page {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:1120px!important;
  min-height:clamp(420px,56vh,680px)!important;
  margin:0 auto!important;
  padding:calc(var(--citysite-sticky-header-height,66px) + clamp(36px,6vw,72px)) 24px clamp(36px,6vw,72px)!important;
  color:var(--text-dark,#172033)!important;
  font:16px/1.75 system-ui,-apple-system,"Microsoft YaHei",sans-serif!important;
}
.city-template-import .news-breadcrumb {
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0 0 28px!important;
  color:var(--text-light,#667085)!important;
  font-size:14px!important;
}
.city-template-import .news-breadcrumb a {
  color:var(--primary,#1d4ed8)!important;
  text-decoration:none!important;
}
.city-template-import .news-list__header {margin:0 0 30px!important}
.city-template-import .news-list__header h1,
.city-template-import .news-article__header h1 {
  margin:0!important;
  color:var(--primary,#172033)!important;
  font-family:var(--font-heading,inherit)!important;
  font-size:clamp(2rem,4vw,3rem)!important;
  line-height:1.2!important;
  overflow-wrap:anywhere!important;
}
.city-template-import .news-list__items {
  display:grid!important;
  gap:20px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.city-template-import .news-list__items li {margin:0!important;padding:0!important}
.city-template-import .news-list__items article {
  margin:0!important;
  padding:24px 26px!important;
  border:1px solid var(--border,#e5e7eb)!important;
  border-radius:16px!important;
  background:var(--bg-white,#fff)!important;
  box-shadow:0 10px 30px rgba(15,23,42,.06)!important;
}
.city-template-import .news-list__items time,
.city-template-import .news-article-meta {color:var(--text-light,#667085)!important;font-size:14px!important}
.city-template-import .news-list__items h2 {margin:0 0 10px!important;font-size:clamp(1.15rem,2vw,1.45rem)!important;line-height:1.45!important}
.city-template-import .news-list__items h2 a {color:var(--primary,#172033)!important;text-decoration:none!important}
.city-template-import .news-list__items p {margin:0 0 16px!important;color:var(--text-mid,#667085)!important;line-height:1.8!important}
.city-template-import .news-list__footer {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0!important;
}
.city-template-import .news-list__footer time {margin:0!important;white-space:nowrap!important}
.city-template-import .news-list__read {color:var(--primary,#1d4ed8)!important;font-weight:700!important;text-decoration:none!important}
.city-template-import .news-list__empty {
  display:grid!important;
  min-height:240px!important;
  margin:0!important;
  padding:32px!important;
  border:1px dashed var(--border,#d0d5dd)!important;
  border-radius:18px!important;
  background:color-mix(in srgb,var(--bg-light,#f8fafc) 70%,white)!important;
  color:var(--text-light,#667085)!important;
  place-items:center!important;
  text-align:center!important;
}
.city-template-import .news-pagination {display:flex!important;justify-content:center!important;align-items:center!important;gap:20px!important;margin:34px 0 0!important}
.city-template-import .news-pagination a {color:var(--primary,#1d4ed8)!important;font-weight:700!important;text-decoration:none!important}
.city-template-import .news-article {max-width:960px!important}
.city-template-import .news-article__header {margin:0 0 30px!important;padding:0 0 26px!important;border-bottom:1px solid var(--border,#e5e7eb)!important}
.city-template-import .news-article-meta {margin:14px 0 0!important}
.city-template-import .news-article__body {color:var(--text-mid,#344054)!important;font-size:17px!important;line-height:1.9!important}
.city-template-import .news-article__body :is(section,h2,h3,h4,p,ul,ol,blockquote,table) {box-sizing:border-box!important}
.city-template-import .news-article__body section {margin:0 0 32px!important}
.city-template-import .news-article__body h2 {margin:36px 0 14px!important;color:var(--primary,#172033)!important;font-size:1.55rem!important;line-height:1.4!important}
.city-template-import .news-article__body h3 {margin:28px 0 12px!important;color:var(--primary,#172033)!important;font-size:1.25rem!important;line-height:1.45!important}
.city-template-import .news-article__body h4 {margin:24px 0 10px!important;color:var(--primary,#172033)!important;font-size:1.08rem!important}
.city-template-import .news-article__body p {margin:0 0 18px!important;line-height:1.9!important}
.city-template-import .news-article__body :is(ul,ol) {margin:0 0 20px!important;padding-left:1.6em!important}
.city-template-import .news-article__body li {margin:7px 0!important;padding:0!important}
.city-template-import .news-article__body blockquote {margin:24px 0!important;padding:16px 20px!important;border-left:4px solid var(--accent,#38bdf8)!important;background:var(--bg-light,#f8fafc)!important}
.city-template-import .news-article__body table {display:block!important;width:100%!important;margin:24px 0!important;overflow-x:auto!important;border-collapse:collapse!important}
.city-template-import .news-article__body :is(th,td) {padding:10px 12px!important;border:1px solid var(--border,#e5e7eb)!important;text-align:left!important}
.city-template-import .news-article__body a {color:var(--primary,#1d4ed8)!important}
@media(max-width:640px) {
  .city-template-import .citysite-news-page {min-height:360px!important;padding:calc(var(--citysite-sticky-header-height,56px) + 30px) 16px 42px!important}
  .city-template-import .news-list__items article {padding:20px!important}
  .city-template-import .news-article__body {font-size:16px!important}
}

.cs-inquiry-popup {
  position:fixed;right:20px;bottom:20px;z-index:1200;width:min(360px,calc(100vw - 32px));
  color:#111;background:#fff;font:14px/1.45 system-ui,-apple-system,"Microsoft YaHei",sans-serif;
}
.cs-inquiry-popup * {box-sizing:border-box}
.cs-inquiry-popup__panel {overflow:hidden;border:1px solid #d6d6d6;background:#fff;box-shadow:0 12px 32px rgba(0,0,0,.2)}
.cs-inquiry-popup__header {display:flex;align-items:center;justify-content:space-between;height:38px;padding:0 14px;background:#202020;color:#fff}
.cs-inquiry-popup__header strong {font-size:14px}
.cs-inquiry-popup__close {display:grid;width:28px;height:28px;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;place-items:center;font-size:22px;line-height:1}
.cs-inquiry-popup__body {padding:16px}
.cs-inquiry-popup__company {display:block;margin:0 0 2px;color:#050505;font-size:22px;line-height:1.4}
.cs-inquiry-popup__online {margin:0 0 14px;color:#8b8b8b;font-size:13px}
.cs-inquiry-popup__contacts {display:grid;gap:4px;margin-bottom:14px}
.cs-inquiry-popup__contact {margin:0;color:#111;font-size:17px;font-weight:700}
.cs-inquiry-popup__contact span {font-weight:700}
.cs-inquiry-popup__contact a {color:#f20b0b;text-decoration:none;font-size:24px}
.cs-inquiry-popup__prompt {margin:0 0 16px;color:#111;font-size:16px;line-height:1.45}
.cs-inquiry-popup form {display:grid;gap:12px}
.cs-inquiry-popup input,.cs-inquiry-popup textarea {width:100%;margin:0;padding:10px 12px;border:1px solid #d8d8d8;border-radius:0;background:#fff;color:#111;font:inherit;resize:vertical;outline:none}
.cs-inquiry-popup input:focus,.cs-inquiry-popup textarea:focus {border-color:#777;box-shadow:0 0 0 1px #777}
.cs-inquiry-popup textarea {min-height:72px}
.cs-inquiry-popup__submit {width:100%;padding:12px;border:0;border-radius:0;background:#f50909;color:#fff;cursor:pointer;font-size:20px;font-weight:700}
.cs-inquiry-popup__submit:disabled {opacity:.6;cursor:wait}
.cs-inquiry-popup__message {min-height:18px;margin:-4px 0 0;color:#d11;font-size:12px}
.cs-inquiry-popup__message.is-success {color:#16884b}
.cs-inquiry-popup__toggle {display:none;width:150px;padding:11px 16px;border:0;background:#202020;color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.25);font-weight:700}
.cs-inquiry-popup[data-collapsed="true"] {width:auto;background:transparent}
.cs-inquiry-popup[data-collapsed="true"] .cs-inquiry-popup__panel {display:none}
.cs-inquiry-popup[data-collapsed="true"] .cs-inquiry-popup__toggle {display:block}
.cs-inquiry-popup__trap {position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.cs-inquiry-popup__sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cs-inquiry-dock,.cs-inquiry-popup__backdrop {display:none}
@media(max-width:640px) {
  body:has([data-inquiry-popup]) {padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}
  .cs-inquiry-popup {
    inset:auto 0 0 0;right:0;bottom:0;width:100%;max-width:none;background:transparent;pointer-events:none;
  }
  .cs-inquiry-popup__toggle {display:none!important}
  .cs-inquiry-dock {
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:1201;
    height:calc(56px + env(safe-area-inset-bottom,0px));padding:0 0 env(safe-area-inset-bottom,0px);
    border-top:1px solid #e5e7eb;background:#fff;box-shadow:0 -6px 24px rgba(15,23,42,.08);pointer-events:auto;
  }
  .cs-inquiry-dock__item {
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;
    margin:0;padding:6px 4px;border:0;background:transparent;color:#334155;text-decoration:none;
    font:600 12px/1.2 system-ui,-apple-system,"Microsoft YaHei",sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent;
  }
  .cs-inquiry-dock__item:active {color:#0f172a;background:#f8fafc}
  .cs-inquiry-dock__item.is-disabled {opacity:.4;cursor:not-allowed;pointer-events:none}
  .cs-inquiry-dock__icon {display:grid;place-items:center;width:24px;height:24px;color:#0f172a}
  body:has([data-inquiry-dock]) .city-template-import .floating-call-btn {
    bottom:calc(56px + 12px + env(safe-area-inset-bottom,0px));
  }
  .cs-inquiry-popup__backdrop {
    display:block;position:fixed;inset:0;z-index:1202;background:rgba(15,23,42,.45);opacity:0;pointer-events:none;
    transition:opacity .22s ease;
  }
  .cs-inquiry-popup[data-collapsed="false"] .cs-inquiry-popup__backdrop {
    opacity:1;pointer-events:auto;
  }
  .cs-inquiry-popup__panel {
    display:flex!important;flex-direction:column;position:fixed;left:0;right:0;bottom:0;z-index:1203;
    width:100%;max-height:min(88vh,720px);margin:0;border:0;border-radius:16px 16px 0 0;overflow:hidden;
    box-shadow:0 -12px 40px rgba(15,23,42,.18);pointer-events:none;visibility:hidden;
    transform:translateY(110%);transition:transform .28s cubic-bezier(.22,.61,.36,1),visibility 0s linear .28s;
    padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;
  }
  .cs-inquiry-popup[data-collapsed="false"] .cs-inquiry-popup__panel {
    transform:translateY(0);pointer-events:auto;visibility:visible;transition-delay:0s;
  }
  .cs-inquiry-popup[data-collapsed="true"] .cs-inquiry-popup__panel {
    transform:translateY(110%);pointer-events:none;visibility:hidden;
  }
  .cs-inquiry-popup__header {height:48px;padding:0 16px;border-radius:16px 16px 0 0}
  .cs-inquiry-popup__close {width:36px;height:36px;font-size:28px}
  .cs-inquiry-popup__body {padding:16px 16px 20px;overflow:auto;-webkit-overflow-scrolling:touch}
  .cs-inquiry-popup__company {font-size:20px}
  .cs-inquiry-popup__contact a {font-size:22px}
  .cs-inquiry-popup input,.cs-inquiry-popup textarea {padding:12px;border-radius:8px;font-size:16px}
  .cs-inquiry-popup textarea {min-height:96px}
  .cs-inquiry-popup__submit {padding:14px;border-radius:8px;font-size:18px}
}

/* 城市站展示配置：调色板 / 动效 / 终端；由 body data-* 属性驱动，禁止内联 <style> */

body[data-citysite-palette="business_blue"] {
  --citysite-brand: #164e73;
  --citysite-accent: #2b86b8;
  --citysite-surface: #f5f9fc;
  --citysite-text: #163244;
  --citysite-muted: #5f7481;
  --citysite-border: #d7e5ee;
}
body[data-citysite-palette="luxury_orange_gold"] {
  --citysite-brand: #9a4f24;
  --citysite-accent: #c98b3c;
  --citysite-surface: #fff9f2;
  --citysite-text: #422b20;
  --citysite-muted: #80685b;
  --citysite-border: #ead9c5;
}
body[data-citysite-palette="forest_green"] {
  --citysite-brand: #276749;
  --citysite-accent: #4f9d69;
  --citysite-surface: #f3faf5;
  --citysite-text: #1e3b2b;
  --citysite-muted: #607c6b;
  --citysite-border: #d1e5d6;
}
body[data-citysite-palette="tech_purple"] {
  --citysite-brand: #563d9a;
  --citysite-accent: #8a69d4;
  --citysite-surface: #f7f5ff;
  --citysite-text: #2b2347;
  --citysite-muted: #6d6386;
  --citysite-border: #ddd6f0;
}
body[data-citysite-palette="soft_pink"] {
  --citysite-brand: #a14c68;
  --citysite-accent: #d786a1;
  --citysite-surface: #fff7fa;
  --citysite-text: #4d2837;
  --citysite-muted: #84626e;
  --citysite-border: #efd7df;
}
body[data-citysite-palette="high_gray"] {
  --citysite-brand: #3e4650;
  --citysite-accent: #727c88;
  --citysite-surface: #f7f8f9;
  --citysite-text: #252a30;
  --citysite-muted: #68717b;
  --citysite-border: #dfe3e7;
}
body[data-citysite-palette="lake_cyan"] {
  --citysite-brand: #1e6f78;
  --citysite-accent: #4db7b4;
  --citysite-surface: #f2fbfb;
  --citysite-text: #1b3d40;
  --citysite-muted: #5e7e80;
  --citysite-border: #d0e7e7;
}

body[data-citysite-palette] {
  --brand: var(--citysite-brand);
  --accent: var(--citysite-accent);
  --surface: var(--citysite-surface);
  --text: var(--citysite-text);
  --text-light: var(--citysite-muted);
  --border: var(--citysite-border);
  background: var(--surface);
  color: var(--text);
}

body[data-citysite-motion="light"] { --citysite-motion-duration: 220ms; }
body[data-citysite-motion="medium"] { --citysite-motion-duration: 380ms; }
body[data-citysite-motion="heavy"] { --citysite-motion-duration: 620ms; }
body[data-citysite-motion="none"] { --citysite-motion-duration: 0ms; }

body[data-citysite-terminal="desktop"] .citysite-page { min-width: 960px; overflow-x: auto; }
body[data-citysite-terminal="mobile"] .citysite-page { max-width: 768px; margin-inline: auto; width: 100%; min-width: 0; }
@media (max-width: 767px) {
  body[data-citysite-terminal="responsive"] .citysite-page { width: 100%; min-width: 0; }
}

body[data-citysite-palette] .city-template-import {
  --primary: var(--citysite-brand);
  --primary-light: color-mix(in srgb, var(--citysite-brand) 82%, white);
  --secondary: color-mix(in srgb, var(--citysite-brand) 70%, var(--citysite-accent));
  --accent: var(--citysite-accent);
  --accent-light: color-mix(in srgb, var(--citysite-accent) 76%, white);
  --blue-mid: color-mix(in srgb, var(--citysite-brand) 82%, var(--citysite-accent));
  --blue-soft: color-mix(in srgb, var(--citysite-brand) 58%, var(--citysite-accent));
  --bg-light: var(--citysite-surface);
  --bg-white: color-mix(in srgb, var(--citysite-surface) 28%, white);
  --text-dark: var(--citysite-text);
  --text-mid: color-mix(in srgb, var(--citysite-text) 74%, white);
  --text-light: var(--citysite-muted);
  --border: var(--citysite-border);
}

body[data-citysite-palette] .city-template-import .header,
body[data-citysite-palette] .city-template-import .mobile-nav {
  background: #0d1f35;
  background: color-mix(in srgb, var(--citysite-brand) 90%, black);
}
body[data-citysite-palette] .city-template-import .header.scrolled {
  background: #0b1a2c;
  background: color-mix(in srgb, var(--citysite-brand) 94%, black);
}
body[data-citysite-palette] .city-template-import .header-horizon,
body[data-citysite-palette] .city-template-import .header-split {
  background: #fff;
  background: rgba(255, 255, 255, 0.96);
}
body[data-citysite-palette] .city-template-import .banner {
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--citysite-brand) 64%, black) 0%,
    var(--citysite-brand) 48%,
    color-mix(in srgb, var(--citysite-brand) 72%, var(--citysite-accent)) 100%
  );
}
body[data-citysite-palette] .city-template-import .footer {
  background: color-mix(in srgb, var(--citysite-brand) 78%, black);
}
body[data-citysite-palette] .city-template-import :is(.banner-phone-btn, .floating-call-btn) {
  background: linear-gradient(
    135deg,
    var(--citysite-accent),
    color-mix(in srgb, var(--citysite-accent) 72%, black)
  );
}

.citysite-page {
  transition: color var(--citysite-motion-duration), background-color var(--citysite-motion-duration);
}
.citysite-page * { transition-duration: var(--citysite-motion-duration); }

body[data-citysite-motion="light"] .citysite-page { animation: citysite-fade-in 220ms ease both; }
body[data-citysite-motion="medium"] .citysite-page { animation: citysite-fade-in 380ms ease both; }
body[data-citysite-motion="heavy"] .citysite-page { animation: citysite-fade-in 620ms ease both; }
body[data-citysite-motion="none"] .citysite-page { animation: none; }

@keyframes citysite-fade-in {
  from { opacity: 0.01; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .citysite-page,
  .citysite-page * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

.citysite-compliance-reminder {
  margin: 16px 24px;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text-light);
}

/* CitySite runtime modules: links, FAQ, geo topics, product grid helpers */
.city-template-import .city-site-links{display:block!important;visibility:visible!important;width:min(100%,1120px);max-width:100%;margin:26px auto 0;padding:22px 24px;border:1px solid rgba(148,163,184,.24);border-radius:16px;background:rgba(15,23,42,.08);color:inherit;box-sizing:border-box;min-width:0}.city-template-import .city-site-links__title{display:block;margin-bottom:14px;color:inherit;font-size:.92rem;font-weight:750;line-height:1.5}.city-template-import .city-site-links__items{display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;gap:10px 12px;min-width:0;width:100% }.city-template-import .city-site-links__items a{display:inline-flex;align-items:center;max-width:100%;min-height:34px;padding:5px 11px;border:1px solid rgba(148,163,184,.25);border-radius:999px;background:rgba(255,255,255,.07);color:inherit;text-decoration:none;line-height:1.45;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.city-template-import .city-site-links__items a:hover{text-decoration:underline}.city-template-import .links-layout-split{border-radius:0;border-left:4px solid var(--accent);background:rgba(255,255,255,.04)}.city-template-import .links-layout-flagship{border-radius:0;border:0;border-top:1px solid rgba(255,255,255,.18);background:transparent;padding:18px 0 0}.city-template-import .links-layout-flagship .city-site-links__items{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.city-template-import .links-layout-flagship .city-site-links__items a{justify-content:flex-start;border-radius:0;min-height:40px}.city-template-import .links-layout-prestige{border-radius:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06)}.city-template-import .links-layout-prestige .city-site-links__items a{border-radius:10px}.city-template-import .links-layout-horizon{border:0;border-top:1px solid rgba(255,255,255,.18);border-radius:0;background:transparent;padding-left:0;padding-right:0}.city-template-import .links-layout-horizon .city-site-links__items{display:flex;flex-wrap:wrap;gap:8px 24px}.city-template-import .links-layout-horizon .city-site-links__items a{border:0;border-radius:0;background:transparent;padding:4px 0;min-height:0}.city-template-import .links-layout-showcase .city-site-links__items{gap:8px}.city-template-import .links-layout-showcase .city-site-links__items a{border-radius:2px;min-height:40px;padding:8px 14px}.city-template-import .links-layout-regional{width:100%;max-width:none;margin:0;border-left:4px solid var(--accent);border-radius:0}.city-template-import .links-layout-regional .city-site-links__items{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px 10px}.city-template-import .links-layout-regional .city-site-links__items a{justify-content:flex-start;border-radius:0;text-align:left;max-width:none}.city-template-import .footer .city-site-links,.city-template-import .footer-links-row .city-site-links,.city-template-import .footer-col .city-site-links{display:block!important;width:100%!important;max-width:none!important;margin:14px 0 0!important;box-sizing:border-box}.city-template-import .footer-links-row{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.city-template-import .city-site-links + .city-site-links{margin-top:14px}@media(max-width:768px){.city-template-import .city-site-links{width:auto;margin:22px 16px 0;padding:18px 16px}.city-template-import .city-site-links__items{gap:8px 10px}.city-template-import .city-site-links__items a{font-size:.88rem}.city-template-import .links-layout-flagship .city-site-links__items,.city-template-import .links-layout-regional .city-site-links__items{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.city-template-import .footer .city-site-links,.city-template-import .footer-links-row .city-site-links,.city-template-import .footer-col .city-site-links{width:100%!important;margin:12px 0 0!important} }
.city-template-import .faq-list.city-site-faq{padding:72px 24px;background:linear-gradient(180deg,var(--bg-light,#f8fafc) 0%,var(--bg-white,#fff) 100%);color:var(--text-dark,#172033)}.city-template-import .city-site-faq>.faq-list-inner{width:min(100%,1120px);margin:0 auto}.city-template-import .city-site-faq .faq-heading{max-width:720px;margin:0 auto 38px;text-align:center}.city-template-import .city-site-faq .faq-kicker{display:inline-flex;align-items:center;justify-content:center;min-height:28px;margin:0 auto 12px;padding:0 12px;border:1px solid rgba(37,99,235,.16);border-radius:999px;background:rgba(37,99,235,.07);color:var(--primary,#1d4ed8);font-size:.75rem;font-weight:800;letter-spacing:.16em}.city-template-import .city-site-faq .faq-heading h2{margin:0;color:var(--primary,#172033);font-family:var(--font-heading,inherit);font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.2;overflow-wrap:anywhere;text-align:center}.city-template-import .city-site-faq .faq-heading p{margin:14px auto 0;color:var(--text-mid,#64748b);font-size:.98rem;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-align:center}.city-template-import .city-site-faq dl{display:grid;gap:18px;margin:0}.city-template-import .city-site-faq .faq-item{min-width:0;overflow:hidden;background:var(--bg-white,#fff)}.city-template-import .city-site-faq .faq-item dt,.city-template-import .city-site-faq .faq-item dd{display:flex;gap:13px;border:0;background:transparent}.city-template-import .city-site-faq .faq-item dd{margin:0;color:var(--text-mid,#526175);line-height:1.8}.city-template-import .city-site-faq .faq-item dt>span:last-child,.city-template-import .city-site-faq .faq-item dd>span:last-child{min-width:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}.city-template-import .city-site-faq .faq-marker{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--primary,#2563eb),var(--accent,#38bdf8));color:#fff;font-size:.78rem;font-weight:850;line-height:1}.city-template-import .city-site-faq .faq-answer-mark{background:var(--bg-light,#eef2f7);color:var(--primary,#2563eb)}.city-template-import .city-site-faq .faq-index{flex:0 0 42px;color:var(--accent);font-weight:800}.city-template-import .city-site-faq.faq-layout-classic .faq-heading{display:flex;flex-direction:column;align-items:center;width:100%;max-width:none;margin:0 auto 38px;text-align:center}.city-template-import .city-site-faq.faq-layout-classic .faq-heading h2,.city-template-import .city-site-faq.faq-layout-classic .faq-heading p{text-align:center}.city-template-import .city-site-faq.faq-layout-classic .faq-heading p{max-width:40rem;margin-left:auto;margin-right:auto}.city-template-import .faq-layout-classic dl{grid-template-columns:repeat(2,minmax(0,1fr))}.city-template-import .faq-layout-classic .faq-item{border:1px solid rgba(148,163,184,.24);border-radius:18px;box-shadow:0 12px 32px rgba(15,23,42,.07)}.city-template-import .faq-layout-classic .faq-item::before{display:block;height:3px;background:linear-gradient(90deg,var(--primary,#2563eb),var(--accent,#38bdf8));content:""}.city-template-import .faq-layout-classic .faq-item dt{align-items:flex-start;padding:21px 22px 14px;color:var(--primary,#172033);font-size:1.02rem;font-weight:750;line-height:1.55}.city-template-import .faq-layout-classic .faq-item dd{align-items:flex-start;padding:0 22px 22px}.city-template-import .faq-layout-flagship .faq-heading,.city-template-import .faq-layout-split .faq-heading,.city-template-import .faq-layout-prestige .faq-heading,.city-template-import .faq-layout-horizon .faq-heading,.city-template-import .faq-layout-showcase .faq-heading,.city-template-import .faq-layout-regional .faq-heading{margin-left:0;margin-right:0;text-align:left;align-items:flex-start}.city-template-import .faq-layout-flagship .faq-heading h2,.city-template-import .faq-layout-split .faq-heading h2,.city-template-import .faq-layout-prestige .faq-heading h2,.city-template-import .faq-layout-horizon .faq-heading h2,.city-template-import .faq-layout-showcase .faq-heading h2,.city-template-import .faq-layout-regional .faq-heading h2,.city-template-import .faq-layout-flagship .faq-heading p,.city-template-import .faq-layout-split .faq-heading p,.city-template-import .faq-layout-prestige .faq-heading p,.city-template-import .faq-layout-horizon .faq-heading p,.city-template-import .faq-layout-showcase .faq-heading p,.city-template-import .faq-layout-regional .faq-heading p{text-align:left;margin-left:0;margin-right:0}.city-template-import .faq-layout-flagship .faq-kicker,.city-template-import .faq-layout-split .faq-kicker,.city-template-import .faq-layout-prestige .faq-kicker,.city-template-import .faq-layout-horizon .faq-kicker,.city-template-import .faq-layout-showcase .faq-kicker,.city-template-import .faq-layout-regional .faq-kicker{margin-left:0;margin-right:0}.city-template-import .faq-layout-flagship .faq-heading{max-width:40rem}.city-template-import .faq-layout-flagship dl{grid-template-columns:1fr;gap:0;border-top:1px solid var(--border,#e5e7eb)}.city-template-import .faq-layout-flagship .faq-item{border:0;border-bottom:1px solid var(--border,#e5e7eb);border-radius:0;box-shadow:none;background:transparent}.city-template-import .faq-layout-flagship .faq-item::before{display:none}.city-template-import .faq-layout-flagship .faq-item dt{align-items:center;padding:20px 8px 14px 0;color:var(--primary,#172033);font-size:1.05rem;font-weight:750;line-height:1.55}.city-template-import .faq-layout-flagship .faq-item dd{align-items:flex-start;padding:0 8px 22px 0}.city-template-import .faq-layout-flagship .faq-marker{border-radius:999px;width:34px;height:34px;flex-basis:34px}.city-template-import .faq-layout-split dl{grid-template-columns:1fr;gap:14px}.city-template-import .faq-layout-split .faq-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}.city-template-import .faq-layout-split .faq-item dt{padding:18px 24px 18px 0;font-weight:750;color:var(--text-dark)}.city-template-import .faq-layout-split .faq-item dd{padding:18px 0 18px 24px;border-left:1px solid var(--border)}.city-template-import .faq-layout-prestige .faq-heading{max-width:40rem}.city-template-import .faq-layout-prestige dl{grid-template-columns:1fr;gap:16px}.city-template-import .faq-layout-prestige .faq-item{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr);border:1px solid var(--border);border-radius:16px;box-shadow:0 14px 36px rgba(15,23,42,.06)}.city-template-import .faq-layout-prestige .faq-item dt{padding:20px;font-weight:750}.city-template-import .faq-layout-prestige .faq-item dd{padding:20px;background:var(--bg-light)}.city-template-import .faq-layout-prestige .faq-index{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:.78rem}.city-template-import .faq-layout-horizon .faq-heading{max-width:40rem}.city-template-import .faq-layout-horizon dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.city-template-import .faq-layout-horizon .faq-item{padding:0;border:1px solid var(--border);border-radius:0;background:var(--bg-white);box-shadow:none}.city-template-import .faq-layout-horizon .faq-item dt{padding:18px 18px 10px;font-size:1.02rem;font-weight:750}.city-template-import .faq-layout-horizon .faq-item dd{padding:0 18px 18px;font-size:.95rem}.city-template-import .faq-layout-showcase dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.city-template-import .faq-layout-showcase .faq-item{min-height:180px;padding:22px;border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:0;box-shadow:none}.city-template-import .faq-layout-showcase .faq-item dt{padding:0 0 12px;font-weight:750;color:var(--text-dark)}.city-template-import .faq-layout-showcase .faq-item dd{padding:0}.city-template-import .faq-layout-regional dl{grid-template-columns:1fr;gap:14px}.city-template-import .faq-layout-regional .faq-item{padding:0;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:0;box-shadow:none}.city-template-import .faq-layout-regional .faq-item dt{padding:18px 18px 10px;font-weight:750}.city-template-import .faq-layout-regional .faq-item dd{padding:0 18px 18px}@media(max-width:900px){.city-template-import .faq-layout-classic dl,.city-template-import .faq-layout-showcase dl,.city-template-import .faq-layout-horizon dl{grid-template-columns:1fr}.city-template-import .faq-layout-split .faq-item,.city-template-import .faq-layout-prestige .faq-item{grid-template-columns:1fr}.city-template-import .faq-layout-split .faq-item dd{border-left:0;padding-left:0} }@media(max-width:768px){.city-template-import .faq-list.city-site-faq{padding:52px 16px} }
.city-template-import .geo-topic-cluster{padding:64px 24px;background:var(--bg-white,#fff);color:var(--text-dark,#172033)}.city-template-import .geo-topic-cluster__inner{width:min(100%,1120px);margin:0 auto}.city-template-import .geo-topic-cluster__heading{max-width:760px;margin:0 auto 30px;text-align:center}.city-template-import .geo-topic-cluster__kicker{display:inline-flex;align-items:center;min-height:28px;margin-bottom:12px;padding:0 12px;border:1px solid rgba(37,99,235,.16);border-radius:999px;background:rgba(37,99,235,.07);color:var(--primary,#1d4ed8);font-size:.75rem;font-weight:800;letter-spacing:.14em}.city-template-import .geo-topic-cluster__heading h2{margin:0;color:var(--primary,#172033);font-family:var(--font-heading,inherit);font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.25}.city-template-import .geo-topic-cluster__heading p{margin:14px auto 0;color:var(--text-mid,#64748b);font-size:.98rem;line-height:1.75}.city-template-import .geo-topic-cluster__list{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0;padding:0;list-style:none}.city-template-import .geo-topic-cluster__list li{display:flex;align-items:center;min-height:42px;padding:9px 16px;border:1px solid rgba(148,163,184,.28);border-radius:999px;background:var(--bg-light,#f8fafc);color:var(--text-dark,#243047);font-size:.94rem;font-weight:650;line-height:1.45}@media(max-width:768px){.city-template-import .geo-topic-cluster{padding:48px 16px}.city-template-import .geo-topic-cluster__heading{margin-bottom:24px}.city-template-import .geo-topic-cluster__list{justify-content:flex-start;gap:10px}.city-template-import .geo-topic-cluster__list li{min-height:38px;padding:8px 13px;font-size:.9rem}}
.city-template-import .citysite-news,.city-template-import .citysite-news-preview{box-sizing:border-box;padding:clamp(40px,6vw,72px) 20px;background:var(--bg-light,#f7f8fa);color:var(--text-dark,#172033)}.city-template-import .citysite-news *,.city-template-import .citysite-news-preview *{box-sizing:border-box}.city-template-import .citysite-news__inner{width:100%;max-width:1180px;margin:0 auto}.city-template-import .citysite-news__head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 28px}.city-template-import .citysite-news__kicker{display:block;margin:0 0 8px;color:var(--primary,#1d4ed8);font-size:13px;font-weight:800;letter-spacing:.16em}.city-template-import .citysite-news__head h2{margin:0;color:var(--text-dark,#172033);font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2;overflow-wrap:anywhere}.city-template-import .citysite-news__more{color:var(--primary,#1d4ed8);font-weight:700;text-decoration:none}.city-template-import .citysite-news__notice{margin:-14px 0 20px;color:var(--text-light,#667085);font-size:13px}.city-template-import .citysite-news__empty{padding:28px;border:1px dashed var(--border,#d0d5dd);border-radius:14px;text-align:center;color:var(--text-mid,#667085);background:var(--bg-white,#fff)}.city-template-import .citysite-news__list{margin:0;padding:0;list-style:none}.city-template-import .citysite-news__item{display:flex;align-items:center;gap:18px;min-width:0;color:inherit;text-decoration:none}.city-template-import .citysite-news__item h3{margin:0;min-width:0;overflow:hidden;font-size:16px;font-weight:680;line-height:1.55;text-overflow:ellipsis;white-space:nowrap}.city-template-import .citysite-news__item time{flex:0 0 auto;color:var(--text-light,#8490a3);font-size:13px;white-space:nowrap}.city-template-import .news-layout-classic .citysite-news__list{overflow:hidden;border:1px solid var(--border,#e5e7eb);border-radius:16px;background:var(--bg-white,#fff);box-shadow:0 16px 42px rgba(15,23,42,.07)}.city-template-import .news-layout-classic .citysite-news__item{position:relative;min-height:64px;padding:17px 22px 17px 44px;border-bottom:1px solid var(--border,#edf0f3)}.city-template-import .news-layout-classic .citysite-news__row:last-child .citysite-news__item,.city-template-import .news-layout-classic .citysite-news__item:last-child{border-bottom:0}.city-template-import .news-layout-classic .citysite-news__item::before{position:absolute;left:24px;width:7px;height:7px;border-radius:999px;background:var(--accent,#38bdf8);content:""}.city-template-import .news-layout-classic .citysite-news__item h3{flex:1 1 auto}.city-template-import .news-layout-classic .citysite-news__item time{margin-left:auto}.city-template-import .news-layout-flagship .citysite-news__list{display:grid;gap:0;overflow:hidden;border:1px solid var(--border,#e5e7eb);border-radius:16px;background:var(--bg-white,#fff);box-shadow:0 16px 42px rgba(15,23,42,.07)}.city-template-import .news-layout-flagship .citysite-news__item{position:relative;min-height:64px;padding:17px 22px 17px 44px;border-bottom:1px solid var(--border,#edf0f3)}.city-template-import .news-layout-flagship .citysite-news__row:last-child .citysite-news__item,.city-template-import .news-layout-flagship .citysite-news__item:last-child{border-bottom:0}.city-template-import .news-layout-flagship .citysite-news__item::before{position:absolute;left:24px;width:7px;height:7px;border-radius:999px;background:var(--accent,#38bdf8);content:""}.city-template-import .news-layout-flagship .citysite-news__item h3{flex:1 1 auto}.city-template-import .news-layout-flagship .citysite-news__item time{margin-left:auto}.city-template-import .news-layout-flagship .citysite-news__row:first-child .citysite-news__item,.city-template-import .news-layout-flagship .citysite-news__list>article:first-child{padding:26px 24px 26px 44px;background:linear-gradient(90deg,rgba(37,99,235,.06),transparent)}.city-template-import .news-layout-flagship .citysite-news__row:first-child .citysite-news__item h3,.city-template-import .news-layout-flagship .citysite-news__list>article:first-child h3{font-size:clamp(1.05rem,2vw,1.35rem);white-space:normal;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.city-template-import .news-layout-split .citysite-news__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.city-template-import .news-layout-split .citysite-news__item{flex-direction:column;align-items:flex-start;gap:12px;padding:22px;border:1px solid var(--border,#e5e7eb);border-left:4px solid var(--accent);background:var(--bg-white,#fff)}.city-template-import .news-layout-split .citysite-news__item h3{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.city-template-import .news-layout-split .citysite-news__item time{align-self:flex-end;margin-left:auto}.city-template-import .news-layout-prestige{background:var(--bg-white,#fff)}.city-template-import .news-layout-prestige .citysite-news__list{border:1px solid var(--border);border-radius:16px;overflow:hidden}.city-template-import .news-layout-prestige .citysite-news__item{padding:18px 22px;border-bottom:1px solid var(--border)}.city-template-import .news-layout-prestige .citysite-news__row:last-child .citysite-news__item,.city-template-import .news-layout-prestige .citysite-news__item:last-child{border-bottom:0}.city-template-import .news-layout-prestige .citysite-news__index{flex:0 0 42px;color:var(--accent);font-weight:800}.city-template-import .news-layout-prestige .citysite-news__item h3{flex:1 1 auto;white-space:normal;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.city-template-import .news-layout-prestige .citysite-news__item time{margin-left:auto}.city-template-import .news-layout-horizon .citysite-news__list{display:grid;gap:0;border-top:1px solid var(--border)}.city-template-import .news-layout-horizon .citysite-news__item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--border);align-items:start}.city-template-import .news-layout-horizon .is-featured .citysite-news__item,.city-template-import .news-layout-horizon .citysite-news__list>article.is-featured{padding-bottom:34px;margin-bottom:8px;border-bottom-width:2px}.city-template-import .news-layout-horizon .is-featured .citysite-news__item h3,.city-template-import .news-layout-horizon .citysite-news__list>article.is-featured h3{font-size:clamp(1.25rem,2.4vw,1.85rem);white-space:normal;font-weight:750}.city-template-import .news-layout-horizon .citysite-news__item h3{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.city-template-import .news-layout-showcase .citysite-news__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.city-template-import .news-layout-showcase .citysite-news__item{flex-direction:column;align-items:flex-start;gap:14px;min-height:150px;padding:20px;background:var(--bg-white,#fff);border:1px solid var(--border);border-top:4px solid var(--accent)}.city-template-import .news-layout-showcase .citysite-news__item h3{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.city-template-import .news-layout-regional .citysite-news__list{display:grid;gap:12px}.city-template-import .news-layout-regional .citysite-news__item{gap:18px;padding:18px 18px 18px 0;border-bottom:1px solid var(--border)}.city-template-import .news-layout-regional .citysite-news__date{flex:0 0 72px;display:grid;place-items:center;padding:10px 8px;background:var(--bg-white,#fff);border:1px solid var(--border);text-align:center}.city-template-import .news-layout-regional .citysite-news__date strong{font-size:1.45rem;line-height:1;color:var(--accent)}.city-template-import .news-layout-regional .citysite-news__date span{font-size:.72rem;color:var(--text-light)}.city-template-import .news-layout-regional .citysite-news__item h3{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}@media(max-width:900px){.city-template-import .news-layout-split .citysite-news__list,.city-template-import .news-layout-showcase .citysite-news__list{grid-template-columns:repeat(2,minmax(0,1fr))} }@media(max-width:600px){.city-template-import .citysite-news,.city-template-import .citysite-news-preview{padding:40px 16px}.city-template-import .news-layout-split .citysite-news__list,.city-template-import .news-layout-showcase .citysite-news__list{grid-template-columns:1fr}.city-template-import .news-layout-horizon .citysite-news__item{grid-template-columns:1fr;gap:8px}.city-template-import .citysite-news__item h3{font-size:15px}.city-template-import .citysite-news__item time span{display:none} }
.city-template-import .product-card{opacity:1;transform:none}.city-template-import .products-section .product-series{margin-bottom:50px}.city-template-import .products-section .product-series:last-child{margin-bottom:0}.city-template-import .products-section .product-series-title{display:flex;align-items:center;gap:18px;margin-bottom:24px;text-align:center}.city-template-import .products-section .product-series-title::before,.city-template-import .products-section .product-series-title::after{content:"";height:1px;background:var(--border);flex:1}.city-template-import .products-section .product-series-title>span{flex-shrink:0}
