
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;
    background:#F4F8FC;
    color:#1F2D3A;
    line-height:1.72;
    overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.site-header{
    position:sticky;
    top:0;
    z-index:9000;
    background:rgba(255,255,255,0.94);
    backdrop-filter:blur(10px);
    box-shadow:0 8px 24px rgba(18,104,216,0.08);
}
.header-inner{
    max-width:1200px;
    margin:0 auto;
    min-height:70px;
    padding:0 18px;
    display:flex;
    align-items:center;
    gap:18px;
}
.site-logo,.footer-logo{
    color:#123B66;
    font-weight:900;
    letter-spacing:1px;
    font-size:28px;
    white-space:nowrap;
}
.nav-core{
    flex:1;
    display:flex;
    justify-content:center;
    gap:10px;
    min-width:0;
}
.nav-core a{
    color:#123B66;
    background:rgba(22,139,255,0.08);
    border-radius:999px;
    padding:8px 16px;
    font-weight:700;
    border:1px solid transparent;
    white-space:nowrap;
    transition:.2s ease;
}
.nav-core a:hover,.nav-core a.active{
    color:#168BFF;
    background:linear-gradient(135deg,rgba(22,139,255,0.12),rgba(255,159,26,0.10));
    border-color:rgba(22,139,255,0.22);
}
.header-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin-left:auto;
}
.overview-toggle{
    border:1px solid rgba(22,139,255,0.22);
    background:#fff;
    color:#123B66;
    border-radius:999px;
    padding:9px 15px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(18,104,216,0.08);
}
.main-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#168BFF 0%,#1268D8 55%,#FF9F1A 100%);
    color:#FFFFFF;
    border-radius:999px;
    box-shadow:0 10px 24px rgba(18,104,216,0.18);
    font-weight:800;
    padding:10px 22px;
    border:0;
    transition:.2s ease;
}
.main-btn:hover{transform:translateY(-1px)}
.header-register{padding:9px 20px}
.mobile-menu-btn{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.mobile-menu-btn span{display:block;width:22px;height:2px;background:#123B66;margin:5px 0;border-radius:99px}

.panel-mask,.drawer-mask{
    position:fixed;
    inset:0;
    background:rgba(16,43,70,.36);
    opacity:0;
    visibility:hidden;
    transition:.25s ease;
    z-index:9998;
}
.panel-mask.show,.drawer-mask.show{opacity:1;visibility:visible}
.category-panel{
    position:fixed;
    top:0;
    right:0;
    width:min(430px,92vw);
    height:100vh;
    background:#FFFFFF;
    box-shadow:0 18px 48px rgba(18,104,216,0.16);
    z-index:10000;
    transform:translateX(105%);
    transition:.28s ease;
    padding:24px;
    overflow-y:auto;
}
.category-panel.open{transform:translateX(0)}
.panel-head,.drawer-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    border-bottom:1px solid rgba(22,139,255,0.12);
    padding-bottom:16px;
    margin-bottom:16px;
}
.panel-head p{margin:0;color:#168BFF;font-weight:800}
.panel-head strong{display:block;color:#123B66;font-size:22px;margin-top:2px}
.panel-head button,.drawer-head button{
    width:38px;height:38px;border-radius:50%;
    border:1px solid rgba(22,139,255,0.18);
    background:#F7FCFF;color:#168BFF;
    font-size:22px;cursor:pointer;
}
.panel-group{margin:18px 0}
.panel-group h3{color:#168BFF;margin:0 0 10px;font-size:17px}
.panel-group a{
    display:block;
    padding:11px 12px;
    border-radius:14px;
    background:#F7FAFD;
    margin:8px 0;
    border:1px solid rgba(22,139,255,0.10);
    transition:.2s ease;
}
.panel-group a:hover{border-color:#168BFF;background:#EAF4FF}
.panel-group span{display:block;color:#123B66;font-weight:800}
.panel-group em{display:block;color:#5D7083;font-style:normal;font-size:13px;margin-top:2px}
.mobile-drawer{
    position:fixed;
    top:0;
    left:0;
    width:84vw;
    max-width:320px;
    height:100vh;
    background:#FFFFFF;
    z-index:10000;
    transform:translateX(-105%);
    transition:.28s ease;
    padding:22px;
    overflow-y:auto;
}
.mobile-drawer.open{transform:translateX(0)}
.drawer-head strong{font-size:26px;color:#123B66}
.drawer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.drawer-links a{
    padding:11px 10px;
    border-radius:14px;
    background:#F7FCFF;
    color:#123B66;
    font-weight:700;
    border:1px solid rgba(22,139,255,0.12);
}
.no-scroll-x,.drawer-open{overflow-x:hidden}

.site-main{padding-top:1px}
.container{max-width:1200px;margin:0 auto;padding:0 18px}
.section{max-width:1200px;margin:0 auto 34px;padding:0 18px}
.section-block{
    background:#FFFFFF;
    border:1px solid rgba(22,139,255,0.14);
    box-shadow:0 14px 36px rgba(18,104,216,0.10);
    border-radius:22px;
    padding:28px;
}
h1,h2,h3,.section-title{color:#123B66;line-height:1.25}
h1{font-size:40px;margin:0 0 16px}
h2{font-size:28px;margin:0 0 14px}
h3{font-size:20px;margin:0 0 10px}
p{margin:0 0 14px}
.section-kicker,.tag,.label,.num,.badge{color:#168BFF;font-weight:800}
.section-kicker{margin-bottom:8px}
.muted{color:#5D7083}
.text-link{
    color:#168BFF;
    font-weight:800;
    display:inline-flex;
    align-items:center;
    gap:4px;
}
.text-link:hover{color:#1268D8}
.banner-slider{
    max-width:1200px;
    margin:28px auto 36px;
    border-radius:22px;
    background:#FFFFFF;
    box-shadow:0 16px 38px rgba(18,104,216,0.12);
    overflow:hidden;
    position:relative;
    z-index:1;
    height:390px;
}
.banner-slider .slide{
    display:none;
    width:100%;
    height:100%;
    background:#FFFFFF;
}
.banner-slider .slide.active{display:block}
.banner-slider img{
    width:100%;
    height:100%;
    object-fit:contain;
    background:#FFFFFF;
}
.slider-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:3;
    border:none;
    border-radius:999px;
    width:42px;
    height:42px;
    background:rgba(255,255,255,0.88);
    color:#168BFF;
    box-shadow:0 8px 20px rgba(18,104,216,0.16);
    font-size:24px;
    cursor:pointer;
}
.slider-arrow.prev{left:16px}
.slider-arrow.next{right:16px}
.slider-dots{
    position:absolute;
    left:50%;
    bottom:14px;
    transform:translateX(-50%);
    display:flex;
    gap:8px;
    z-index:3;
}
.slider-dots button{
    width:9px;
    height:9px;
    border-radius:50%;
    border:none;
    background:rgba(22,139,255,0.26);
    cursor:pointer;
}
.slider-dots button.active{background:#FF9F1A}
.hero-grid,.two-col,.inner-hero{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:26px;
    align-items:center;
}
.inner-hero{
    max-width:1200px;
    margin:28px auto 34px;
    padding:0 18px;
}
.inner-copy,.image-panel,.content-panel{
    background:#FFFFFF;
    border:1px solid rgba(22,139,255,0.14);
    box-shadow:0 14px 36px rgba(18,104,216,0.10);
    border-radius:22px;
    padding:28px;
}
.image-panel{padding:14px;background:#F7FCFF}
.content-img,.zone-card img,.app-section img,.banner-slider img{
    max-width:100%;
    height:auto;
    object-fit:contain;
}
.image-panel img{
    width:100%;
    max-height:310px;
    object-fit:contain;
    border-radius:18px;
    background:#FFFFFF;
}
.quick-capsules{
    display:flex;
    gap:12px;
    overflow-x:auto;
    padding:4px 2px 12px;
}
.quick-capsules a{
    min-width:185px;
    background:#FFFFFF;
    border:1px solid rgba(22,139,255,0.14);
    border-radius:18px;
    padding:15px;
    box-shadow:0 12px 28px rgba(18,104,216,0.08);
}
.quick-capsules strong{display:block;color:#123B66}
.quick-capsules span{display:block;color:#5D7083;font-size:13px;line-height:1.55;margin:4px 0 8px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card,.zone-card,.info-card,.review-card,.faq-card{
    background:#FFFFFF;
    border:1px solid rgba(22,139,255,0.14);
    box-shadow:0 14px 36px rgba(18,104,216,0.10);
    border-radius:20px;
    padding:20px;
}
.zone-card img{
    width:100%;
    height:190px;
    object-fit:contain;
    background:#F7FAFD;
    border-radius:16px;
    margin-bottom:14px;
}
.card .num{
    display:inline-flex;
    width:34px;
    height:34px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#EAF4FF;
    margin-bottom:10px;
}
.point-list{padding:0;margin:14px 0 0;list-style:none}
.point-list li{
    position:relative;
    padding-left:18px;
    margin:8px 0;
    color:#1F2D3A;
}
.point-list li:before{
    content:"";
    position:absolute;
    left:0;
    top:.72em;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#FF9F1A;
}
.notice-strip{
    background:linear-gradient(135deg,#EAF4FF 0%,#FFFFFF 72%);
    border:1px solid rgba(22,139,255,.16);
    border-radius:22px;
    padding:24px;
}
.review-card p{color:#405368}
.faq-list{display:grid;gap:14px}
.faq-card h3{font-size:18px}
.footer-inner{
    max-width:1200px;
    margin:0 auto;
    padding:42px 18px 22px;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:28px;
}
.site-footer{
    background:#102B46;
    color:#EAF4FF;
    margin-top:42px;
}
.footer-brand p{color:#CFE3F8;max-width:680px}
.footer-logo{display:inline-block;color:#FFFFFF;margin-bottom:10px}
.footer-links{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    align-content:start;
}
.footer-links a{
    color:#EAF4FF;
    background:rgba(255,255,255,.08);
    border-radius:14px;
    padding:11px 12px;
}
.footer-note{
    max-width:1200px;
    margin:0 auto;
    padding:16px 18px 30px;
    color:#CFE3F8;
    border-top:1px solid rgba(255,255,255,.1);
}
.mobile-bottom{display:none}
.inner-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.page-cta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
    margin-top:16px;
}
.legal-reminder{
    border-left:4px solid #168BFF;
    background:#F7FCFF;
    padding:18px;
    border-radius:16px;
}
@media (max-width:980px){
    .nav-core{display:none}
    .mobile-menu-btn{display:block}
    .header-inner{justify-content:space-between}
    .site-logo{position:absolute;left:50%;transform:translateX(-50%);font-size:25px}
    .overview-toggle{display:none}
    .header-register{padding:8px 17px}
    .banner-slider{height:300px;margin-top:20px}
    .hero-grid,.two-col,.inner-hero{grid-template-columns:1fr}
    .grid-4{grid-template-columns:repeat(2,1fr)}
    .grid-3{grid-template-columns:repeat(2,1fr)}
    .footer-inner{grid-template-columns:1fr}
}
@media (max-width:640px){
    body{padding-bottom:70px}
    .header-inner{min-height:62px;padding:0 14px}
    h1{font-size:30px}
    h2{font-size:24px}
    .section,.inner-hero{padding:0 14px;margin-bottom:24px}
    .section-block,.inner-copy,.image-panel,.content-panel{border-radius:18px;padding:20px}
    .banner-slider{height:210px;border-radius:18px;margin:16px 14px 24px}
    .slider-arrow{width:34px;height:34px;font-size:20px}
    .slider-arrow.prev{left:8px}
    .slider-arrow.next{right:8px}
    .grid-4,.grid-3,.grid-2,.inner-grid{grid-template-columns:1fr}
    .zone-card img{height:160px}
    .quick-capsules a{min-width:165px}
    .mobile-bottom{
        position:fixed;
        left:12px;
        right:12px;
        bottom:10px;
        z-index:8999;
        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:8px;
        background:rgba(255,255,255,.95);
        border:1px solid rgba(22,139,255,.18);
        box-shadow:0 12px 30px rgba(18,104,216,.16);
        border-radius:20px;
        padding:8px;
        backdrop-filter:blur(10px);
    }
    .mobile-bottom a{
        text-align:center;
        color:#123B66;
        font-weight:800;
        font-size:13px;
        padding:8px 0;
        border-radius:14px;
        background:#F7FCFF;
    }
    .footer-links{grid-template-columns:1fr}
}
